[xiph-commits] r13873 - in trunk/theora: . lib

giles at svn.xiph.org giles at svn.xiph.org
Fri Sep 21 16:37:47 PDT 2007


Author: giles
Date: 2007-09-21 16:37:47 -0700 (Fri, 21 Sep 2007)
New Revision: 13873

Added:
   trunk/theora/lib/Version_script
Removed:
   trunk/theora/lib/Version_script.in
Modified:
   trunk/theora/configure.ac
   trunk/theora/lib/Makefile.am
Log:
Or maybe I was the lame one. Use fixed version tags in the GNU ld 
version-script instead of substituting values from the configure
script.

The VERSION field in the GNU ld version-script is an arbitrary string 
that is picked into the library, and bears no relation to the soname.
Therefore not only should the version not depend on the libtool version
numbers, it also shouldn't depend on the PACKAGE name.


Modified: trunk/theora/configure.ac
===================================================================
--- trunk/theora/configure.ac	2007-09-21 23:15:02 UTC (rev 13872)
+++ trunk/theora/configure.ac	2007-09-21 23:37:47 UTC (rev 13873)
@@ -331,7 +331,6 @@
   examples/Makefile
   doc/Makefile doc/Doxyfile
   tests/Makefile
-  lib/Version_script
   m4/Makefile
   libtheora.spec
   theora.pc

Modified: trunk/theora/lib/Makefile.am
===================================================================
--- trunk/theora/lib/Makefile.am	2007-09-21 23:15:02 UTC (rev 13872)
+++ trunk/theora/lib/Makefile.am	2007-09-21 23:37:47 UTC (rev 13873)
@@ -1,6 +1,6 @@
 INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/lib -I$(top_srcdir)/lib/dec -I$(top_srcdir)/lib/enc
 
-EXTRA_DIST = Version_script.in \
+EXTRA_DIST = Version_script \
         enc/x86_32/dct_decode_mmx.c \
         enc/x86_32/dsp_mmx.c \
         enc/x86_32/dsp_mmxext.c \

Copied: trunk/theora/lib/Version_script (from rev 13872, trunk/theora/lib/Version_script.in)
===================================================================
--- trunk/theora/lib/Version_script	                        (rev 0)
+++ trunk/theora/lib/Version_script	2007-09-21 23:37:47 UTC (rev 13873)
@@ -0,0 +1,90 @@
+#
+# Export file for libtheora
+#
+# Only the symbols listed in the global section will be callable from
+# applications linking to the libraries.
+#
+
+# We use something that looks like an versioned so filename here 
+# to define the 1.0 API because of a historical confusion. This
+# label must be kept to maintain ABI compatibility.
+
+libtheora.so.1.0
+{
+	global:
+		theora_version_string;
+		theora_version_number;
+
+		theora_encode_init;
+		theora_encode_YUVin;
+		theora_encode_packetout;
+		theora_encode_header;
+		theora_encode_comment;
+		theora_encode_tables;
+
+		theora_decode_header;
+		theora_decode_init;
+		theora_decode_packetin;
+		theora_decode_YUVout;
+
+		theora_control;
+
+		theora_packet_isheader;
+		theora_packet_iskeyframe;
+
+		theora_granule_shift;
+		theora_granule_frame;
+		theora_granule_time;
+
+		theora_info_init;
+		theora_info_clear;
+
+		theora_clear;
+
+		theora_comment_init;
+		theora_comment_add;
+		theora_comment_add_tag;
+		theora_comment_query;
+		theora_comment_query_count;
+		theora_comment_clear;
+
+	local:
+		*;
+};
+
+
+# This version set defines the (better) revised API.
+
+libtheora-2.0
+{
+	global:
+		th_version_string;
+		th_version_number;
+
+		th_decode_headerin;
+		th_decode_alloc;
+		th_setup_free;
+		th_decode_ctl;
+		th_decode_packetin;
+		th_decode_ycbcr_out;
+		th_decode_free;
+
+		th_packet_isheader;
+		th_packet_iskeyframe;
+
+		th_granule_frame;
+		th_granule_time;
+
+		th_info_init;
+		th_info_clear;
+
+		th_comment_init;
+		th_comment_add;
+		th_comment_add_tag;
+		th_comment_query;
+		th_comment_query_count;
+		th_comment_clear;
+
+	local:
+		*;
+} libtheora.so.1.0;

Deleted: trunk/theora/lib/Version_script.in
===================================================================
--- trunk/theora/lib/Version_script.in	2007-09-21 23:15:02 UTC (rev 13872)
+++ trunk/theora/lib/Version_script.in	2007-09-21 23:37:47 UTC (rev 13873)
@@ -1,83 +0,0 @@
-#
-# Export file for libtheora
-#
-# Only the symbols listed in the global section will be callable from
-# applications linking to libtheora.
-#
-
- at PACKAGE@.so.1.0
-{
-	global:
-		theora_version_string;
-		theora_version_number;
-
-		theora_encode_init;
-		theora_encode_YUVin;
-		theora_encode_packetout;
-		theora_encode_header;
-		theora_encode_comment;
-		theora_encode_tables;
-
-		theora_decode_header;
-		theora_decode_init;
-		theora_decode_packetin;
-		theora_decode_YUVout;
-
-		theora_control;
-
-		theora_packet_isheader;
-		theora_packet_iskeyframe;
-
-		theora_granule_shift;
-		theora_granule_frame;
-		theora_granule_time;
-
-		theora_info_init;
-		theora_info_clear;
-
-		theora_clear;
-
-		theora_comment_init;
-		theora_comment_add;
-		theora_comment_add_tag;
-		theora_comment_query;
-		theora_comment_query_count;
-		theora_comment_clear;
-
-	local:
-		*;
-};
-
- at PACKAGE@.so.2.0
-{
-	global:
-		th_version_string;
-		th_version_number;
-
-		th_decode_headerin;
-		th_decode_alloc;
-		th_setup_free;
-		th_decode_ctl;
-		th_decode_packetin;
-		th_decode_ycbcr_out;
-		th_decode_free;
-
-		th_packet_isheader;
-		th_packet_iskeyframe;
-
-		th_granule_frame;
-		th_granule_time;
-
-		th_info_init;
-		th_info_clear;
-
-		th_comment_init;
-		th_comment_add;
-		th_comment_add_tag;
-		th_comment_query;
-		th_comment_query_count;
-		th_comment_clear;
-
-	local:
-		*;
-} @PACKAGE at .so.1.0;



More information about the commits mailing list