]> git.proxmox.com Git - mirror_kronosnet.git/commitdiff
libtap: fix linking and set exported symbols
authorFabio M. Di Nitto <fdinitto@redhat.com>
Tue, 18 Jan 2011 15:14:16 +0000 (16:14 +0100)
committerFabio M. Di Nitto <fdinitto@redhat.com>
Tue, 18 Jan 2011 15:14:16 +0000 (16:14 +0100)
Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
Makefile.am
libtap/Makefile.am
libtap/libtap_exported_sym [new file with mode: 0644]

index 83e528c05cf6e56c9ad1ee9777ec64f2d7ce66f4..021e9d5af80dd9f929ded3aca30747571a37117e 100644 (file)
@@ -37,7 +37,6 @@ sbin_PROGRAMS         = kronosnetd
 
 kronosnetd_SOURCES     = \
                          cfg.c \
-                         libtap/libtap.c \
                          main.c \
                          netutils.c \
                          utils.c \
@@ -46,8 +45,10 @@ kronosnetd_SOURCES   = \
                          vty_cli.c \
                          vty_cli_cmds.c \
                          vty_utils.c
+
 kronosnetd_LDADD       = \
-                         $(top_builddir)/libknet/libknet.a
+                         $(top_builddir)/libknet/libknet.a \
+                         $(top_builddir)/libtap/libtap.la
 
 install-exec-local:
        $(INSTALL) -d $(DESTDIR)/$(DEFAULT_CONFIG_DIR)
index 79c99d49872f98b33ce33d79e9a2eb1df3ba689b..6d43944a400ab5367b2cc6fbe6983bba3413ecae 100644 (file)
@@ -1,12 +1,14 @@
 MAINTAINERCLEANFILES   = Makefile.in
 
-LIBS                   = -lpthread \
-                         -version-info $(libversion)
-
 sources                        = libtap.c
 
 libversion             = 0:0:0
 
+AM_CFLAGS              = -fPIC
+
+# override global LIBS that pulls in lots of craft we don't need here
+LIBS                   = -lpthread
+
 include_HEADERS                = libtap.h
 
 noinst_HEADERS         = libtap-private.h
@@ -17,10 +19,14 @@ pkgconfig_DATA              = libtap.pc
 
 lib_LTLIBRARIES                = libtap.la
 
+libtap_la_SOURCES      = $(sources)
+
+libtap_la_LDFLAGS      = -Wl,-version-script,libtap_exported_sym \
+                         --export-dynamic \
+                         -version-info $(libversion)
+
 noinst_LTLIBRARIES     = libtap_test.la
 
 libtap_test_la_SOURCES = $(sources)
 
 libtap_test_la_CPPFLAGS        = -DTEST
-
-libtap_la_SOURCES      = $(sources)
diff --git a/libtap/libtap_exported_sym b/libtap/libtap_exported_sym
new file mode 100644 (file)
index 0000000..73074bf
--- /dev/null
@@ -0,0 +1,21 @@
+Base {
+       global:
+               tap_open;
+               tap_close;
+               tap_find;
+               tap_get_fd;
+               tap_get_name;
+               tap_get_mtu;
+               tap_set_mtu;
+               tap_reset_mtu;
+               tap_get_mac;
+               tap_set_mac;
+               tap_reset_mac;
+               tap_set_up;
+               tap_set_down;
+               tap_add_ip;
+               tap_del_ip;
+               tap_get_ips;
+       local:
+               *;
+};