Only export external functions when building daemon
authorMarcel Holtmann <marcel@holtmann.org>
Thu, 3 Jul 2008 01:14:33 +0000 (03:14 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Thu, 3 Jul 2008 01:14:33 +0000 (03:14 +0200)
plugins/Makefile.am
src/Makefile.am

index 68ea95a..37ee862 100644 (file)
@@ -20,7 +20,8 @@ dhclient_la_CFLAGS = @GDBUS_CFLAGS@ -DDHCLIENT=\"@DHCLIENT@\" \
 
 ipv4_la_SOURCES = ipv4.c
 
-AM_LDFLAGS = -module -avoid-version -export-symbols-regex connman_plugin_desc
+AM_LDFLAGS = -no-undefined -module -avoid-version \
+                               -export-symbols-regex connman_plugin_desc
 
 statedir = $(localstatedir)/run/connman
 
index af26d42..a1a7dac 100644 (file)
@@ -15,7 +15,13 @@ connmand_SOURCES = main.c connman.h log.c plugin.c element.c \
                                        storage.c manager.c agent.c
 
 connmand_LDADD = @SQLITE_LIBS@ @GDBUS_LIBS@ @GMODULE_LIBS@ @GTHREAD_LIBS@
+
+connmand_LDFLAGS = -Wl,--version-script=connman.ver
+
+connmand_DEPENDENCIES = connman.ver
+
+CLEANFILES = connman.ver connman.exp
+
 statedir = $(localstatedir)/run/connman
 
 storagedir = $(localstatedir)/lib/connman
@@ -36,3 +42,11 @@ INCLUDES = -I$(top_builddir)/include
 EXTRA_DIST = $(dbus_DATA)
 
 MAINTAINERCLEANFILES = Makefile.in
+
+connman.exp:
+       nm -B *.o | awk '{ print $$3 }' | sort -u | grep -E -e '^connman_' > $@
+
+connman.ver: connman.exp
+       echo "{ global:" > $@
+       cat $< | sed -e "s/\(.*\)/\1;/" >> $@
+       echo "local: *; };" >> $@