Make libtool export only symbols listed in *.def files
authorBalint Reczey <balint.reczey@ericsson.com>
Tue, 7 Dec 2010 13:38:15 +0000 (13:38 -0000)
committerBalint Reczey <balint.reczey@ericsson.com>
Tue, 7 Dec 2010 13:38:15 +0000 (13:38 -0000)
svn path=/trunk/; revision=35145

Makefile.am.inc
epan/Makefile.am
wiretap/Makefile.am
wsutil/Makefile.am

index 3c77dba0d8859ee20e92c71eb8423e034f6ba0f5..7af01b3161de265dff90321d38d104af6a7fc4ba 100644 (file)
@@ -23,3 +23,6 @@
 
 .l.c:
        $(RUNLEX) "$(LEX)" -o$@ $<
+
+.def.sym:
+       $(AWK) '/^EXPORTS$$/ {next;}; /^[^;]/ { print $$1;}' < $< > $@
index 5ad26e8a5627de2402464efe78242a24c18ea984..738aa0f896a239615f0a4676f07463c7eb00845e 100644 (file)
@@ -54,7 +54,7 @@ ACLOCAL_AMFLAGS = `../aclocal-flags`
 
 noinst_LTLIBRARIES = libwireshark_generated.la libwireshark_asmopt.la
 lib_LTLIBRARIES = libwireshark.la
-libwireshark_la_LDFLAGS = -version-info 0:1:0 @LDFLAGS_SHAREDLIB@
+libwireshark_la_LDFLAGS = -version-info 0:1:0 -export-symbols libwireshark.sym @LDFLAGS_SHAREDLIB@
 
 include Makefile.common
 
@@ -113,6 +113,7 @@ CLEANFILES = \
        libwireshark_generated.la       \
        libwireshark_asmopt.a           \
        libwireshark_asmopt.la          \
+       libwireshark.sym                \
        *~
 
 DISTCLEANFILES = \
@@ -145,7 +146,8 @@ libwireshark_la_DEPENDENCIES = \
        ftypes/libftypes.la dfilter/libdfilter.la dissectors/libdissectors.la \
        dissectors/libdirtydissectors.la $(wslua_lib) $(wspython_lib) \
        ${top_builddir}/wsutil/libwsutil.la \
-       ${top_builddir}/wiretap/libwiretap.la
+       ${top_builddir}/wiretap/libwiretap.la \
+       libwireshark.sym
 
 #EXTRA_PROGRAMS = reassemble_test
 #reassemble_test_LDADD = $(GLIB_LIBS)
index c25827ec95ae9b05904d5b3d790a4ce8b0a9f332..090cbb933e1d9daab102fda39cdbf53e0c21cb88 100644 (file)
@@ -29,7 +29,7 @@ include Makefile.common
 
 noinst_LTLIBRARIES = libwiretap_generated.la
 lib_LTLIBRARIES = libwiretap.la
-libwiretap_la_LDFLAGS = -version-info 0:1:0 @LDFLAGS_SHAREDLIB@
+libwiretap_la_LDFLAGS = -version-info 0:1:0 -export-symbols wtap.sym @LDFLAGS_SHAREDLIB@
 
 if HAVE_WARNINGS_AS_ERRORS
 AM_NON_GENERATED_CFLAGS = -Werror
@@ -42,6 +42,7 @@ CLEANFILES = \
        libwiretap.la           \
        libwiretap_generated.a  \
        libwiretap_generated.la \
+       wtap.sym                \
        *~
 
 MAINTAINERCLEANFILES = \
@@ -69,6 +70,8 @@ EXTRA_DIST = \
        $(GENERATOR_FILES)      \
        $(GENERATED_FILES)
 
+libwiretap_la_DEPENDENCIES = wtap.sym
+
 libwiretap_la_LIBADD = libwiretap_generated.la ${top_builddir}/wsutil/libwsutil.la $(GLIB_LIBS)
 
 RUNLEX = $(top_srcdir)/tools/runlex.sh
index 9b00cee8d43e9971bc84290491adc2c5a3fe7d23..e17c488e34ec2562da3380177424444b594d6886 100644 (file)
@@ -22,6 +22,8 @@
 
 ACLOCAL_AMFLAGS = `../aclocal-flags`
 
+include ../Makefile.am.inc
+
 include Makefile.common
 
 if HAVE_WARNINGS_AS_ERRORS
@@ -40,7 +42,7 @@ wsutil_optional_objects =     \
        @STRPTIME_LO@
 
 lib_LTLIBRARIES = libwsutil.la
-libwsutil_la_LDFLAGS = -version-info 0:0:0 @LDFLAGS_SHAREDLIB@
+libwsutil_la_LDFLAGS = -version-info 0:0:0 -export-symbols libwsutil.sym @LDFLAGS_SHAREDLIB@
 
 INCLUDES = -I$(srcdir)/..
 
@@ -63,7 +65,8 @@ EXTRA_libwsutil_la_SOURCES=   \
        wsgetopt.h
 
 libwsutil_la_DEPENDENCIES=     \
-       $(wsutil_optional_objects)
+       $(wsutil_optional_objects) \
+       libwsutil.sym
 
 libwsutil_la_LIBADD =          \
        @GLIB_LIBS@             \
@@ -81,6 +84,7 @@ EXTRA_DIST =          \
 CLEANFILES = \
        libwsutil.a     \
        libwsutil.la    \
+       libwsutil.sym   \
        *~
 
 MAINTAINERCLEANFILES = \