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