[XviD-devel] [PATCH 3/3] Export only public API from shared object on GNU/Linux and Solaris

Edouard Gomez ed.gomez at free.fr
Wed May 11 22:51:37 CEST 2005


This patch has rough edges (i think about xvid_bench not linking
anymore) and the fact i force this export behavior, could be a
configure.in option.

diff -urN xvidcore-1.1.0-beta2.orig/build/generic/Makefile xvidcore-1.1.0-beta2/build/generic/Makefile
--- xvidcore-1.1.0-beta2.orig/build/generic/Makefile	2005-04-03 22:39:44.000000000 +0200
+++ xvidcore-1.1.0-beta2/build/generic/Makefile	2005-05-02 14:35:43.000000000 +0200
@@ -129,6 +129,7 @@
 $(SHARED_LIB): $(BUILD_DIR) $(OBJECTS)
 	@echo "  L: $(@F)"
 	@$(INSTALL) -m 644 libxvidcore.def $(BUILD_DIR)/libxvidcore.def
+	@$(INSTALL) -m 644 libxvidcore.ld $(BUILD_DIR)/libxvidcore.ld
 	@cd $(BUILD_DIR) && $(CC) $(LDFLAGS) $(OBJECTS) -o $(PRE_SHARED_LIB) $(SPECIFIC_LDFLAGS)
 
 #-----------------------------------------------------------------------------
diff -urN xvidcore-1.1.0-beta2.orig/build/generic/configure.in xvidcore-1.1.0-beta2/build/generic/configure.in
--- xvidcore-1.1.0-beta2.orig/build/generic/configure.in	2005-05-02 14:39:33.000000000 +0200
+++ xvidcore-1.1.0-beta2/build/generic/configure.in	2005-05-02 14:38:59.000000000 +0200
@@ -265,7 +265,14 @@
 SPECIFIC_CFLAGS=""
 PRE_SHARED_LIB=""
 case "$target_os" in
-     *bsd*|linux*|irix*|solaris*)
+     linux*|solaris*)
+	AC_MSG_RESULT([ok])
+	STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
+	SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"
+	SPECIFIC_LDFLAGS="-Wl,-soname,libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR) -shared -Wl,--version-script=libxvidcore.ld -lc -lm"
+	SPECIFIC_CFLAGS="-fPIC"
+	;;
+     *bsd*|irix*)
 	AC_MSG_RESULT([ok])
 	STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
 	SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"
diff -urN xvidcore-1.1.0-beta2.orig/build/generic/libxvidcore.ld xvidcore-1.1.0-beta2/build/generic/libxvidcore.ld
--- xvidcore-1.1.0-beta2.orig/build/generic/libxvidcore.ld	1970-01-01 01:00:00.000000000 +0100
+++ xvidcore-1.1.0-beta2/build/generic/libxvidcore.ld	2005-05-02 14:19:17.000000000 +0200
@@ -0,0 +1,13 @@
+{
+	global:
+		xvid_global; 
+		xvid_decore; 
+		xvid_encore; 
+		xvid_plugin_single;
+		xvid_plugin_2pass1;
+		xvid_plugin_2pass2;
+		xvid_plugin_lumimasking; 
+		xvid_plugin_dump; 
+		xvid_plugin_psnr; 
+	local: *;
+};






More information about the XviD-devel mailing list