shithub: sox

Download patch

ref: 5c58413544fd600bf12fdc54fa9648f0bc1ea860
parent: 703bedf7d34bf5dfeda0b81be73d155e1c8772a5
author: Ulrich Klauer <ulrich@chirlu.de>
date: Fri Mar 8 21:23:55 EST 2013

Don't export (most) internal libsox symbols

Ideally, libsox should only export those symbols that are part of the
official API, i.e. those with the sox_ prefix. This isn't easily
possible, though, because certain internal (lsx_) symbols are used by
SoX-the-application and by the plugin modules in case of a modularized
build. As a step in the right direction, this change exposes only the
symbols actually needed, hiding about 300 (90 %) of the lsx_ symbols.

(Relevant tracker item: FR 2214694.)

--- a/ChangeLog
+++ b/ChangeLog
@@ -47,6 +47,7 @@
   o Speed optimization for effects that operate on channels
     independently. (Ulrich Klauer)
   o Fix memory leaks. (Ulrich Klauer)
+  o Most internal symbols (lsx_*) are no longer exported. (Ulrich Klauer)
 
 
 sox-14.4.1	2013-02-01
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -93,7 +93,8 @@
 libsox_la_LIBADD += @GOMP_LIBS@
 
 libsox_la_CFLAGS = @WARN_CFLAGS@
-libsox_la_LDFLAGS = @APP_LDFLAGS@ -version-info @SHLIB_VERSION@
+libsox_la_LDFLAGS = @APP_LDFLAGS@ -version-info @SHLIB_VERSION@ \
+  -export-symbols-regex '^(sox_.*|lsx_(check_read_params|(close|open)_dllibrary|(debug(_more|_most)?|fail|report|warn)_impl|eof|fail_errno|filelength|find_(enum_(text|value)|file_extension)|getopt(_init)?|lpc10_(create_(de|en)coder_state|(de|en)code)|raw(read|write)|read(_b_buf|buf|chars)|realloc|rewind|seeki|sigfigs3p?|strcasecmp|tell|unreadb|write(b|_b_buf|buf|s)))$$'
 
 if HAVE_WIN32_LTDL
   libsox_la_SOURCES += win32-ltdl.c win32-ltdl.h