diff options
author | Ralph Giles <giles@xiph.org> | 2007-07-23 22:35:47 +0000 |
---|---|---|
committer | Ralph Giles <giles@xiph.org> | 2007-07-23 22:35:47 +0000 |
commit | e4241cfb73bf3aa544f010eb1dec46255b298e86 (patch) | |
tree | 5b021dc03ef45820f86ab7420231f68de11016b8 | |
parent | 007453d4bd3bfc1eeb340d309e5680fa56f9877c (diff) | |
download | tremor-e4241cfb73bf3aa544f010eb1dec46255b298e86.tar.gz |
Only export symbols explicitly listed in Version_script.in when the
linker supports it (GNU ld on linux or solaris) to avoid conflicts
from internal symbols, most specifically the ogg implementation.
git-svn-id: https://svn.xiph.org/trunk/Tremor@13291 0101bb08-14d6-0310-b084-bc0e0c8e3800
-rw-r--r-- | Version_script.in | 49 | ||||
-rw-r--r-- | configure.in | 20 |
2 files changed, 68 insertions, 1 deletions
diff --git a/Version_script.in b/Version_script.in new file mode 100644 index 0000000..2eb1d87 --- /dev/null +++ b/Version_script.in @@ -0,0 +1,49 @@ +#
+# Export file for libvorbisidec
+#
+# Only the symbols listed in the global section will be callable from
+# applications linking to libvorbisidec.
+#
+
+@PACKAGE@.so.1
+{
+ global:
+ ov_clear;
+ ov_open;
+ ov_open_callbacks;
+ ov_test;
+ ov_test_callbacks;
+ ov_test_open;
+ ov_bitrate;
+ ov_bitrate_instant;
+ ov_streams;
+ ov_seekable;
+ ov_serialnumber;
+ ov_raw_total;
+ ov_pcm_total;
+ ov_time_total;
+ ov_raw_seek;
+ ov_pcm_seek;
+ ov_pcm_seek_page;
+ ov_time_seek;
+ ov_time_seek_page;
+ ov_raw_tell;
+ ov_pcm_tell;
+ ov_time_tell;
+ ov_info;
+ ov_comment;
+ ov_read;
+
+ vorbis_info_init;
+ vorbis_info_clear;
+ vorbis_info_blocksize;
+ vorbis_comment_init;
+ vorbis_comment_add;
+ vorbis_comment_add_tag;
+ vorbis_comment_query;
+ vorbis_comment_query_count;
+ vorbis_comment_clear;
+
+ local:
+ *;
+};
diff --git a/configure.in b/configure.in index 5e81f99..2b44ee4 100644 --- a/configure.in +++ b/configure.in @@ -71,6 +71,24 @@ fi CFLAGS="$CFLAGS $cflags_save -D_REENTRANT" LDFLAGS="$LDFLAGS $ldflags_save" + +# Test whenever ld supports -version-script +AC_PROG_LD +AC_PROG_LD_GNU +if test "x$lt_cv_prog_gnu_ld" = "xyes"; then + SHLIB_VERSION_ARG="Wl,--version-script=Version_script" + + dnl Set extra linker options + case "$target_os" in + linux* | solaris* ) + SHLIB_VERSION_ARG="-Wl,--version-script=Version_script" + ;; + *) + ;; + esac + LDFLAGS="$LDFLAGS $SHLIB_VERSION_ARG" +fi + dnl -------------------------------------------------- dnl Options dnl -------------------------------------------------- @@ -110,4 +128,4 @@ AC_SUBST(LIBS) AC_SUBST(DEBUG) AC_SUBST(PROFILE) -AC_OUTPUT(Makefile) +AC_OUTPUT(Makefile Version_script) |