summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorCristian Rodríguez <cristian.rodriguez@opensuse.org>2010-11-15 20:31:25 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2010-11-15 20:31:25 +0100
commit37dac00e2ad6445f496e68fcf815723432ecb5a8 (patch)
tree9c97e3f99a1663970c578ad879903ced82277415 /src
parent485d30a8a89e7500b0df4291fa4dfc33b894998c (diff)
src: implement both GCC visibility support and export script
Read "How to write shared libraries" from Ulrich Drepper for more information on this patch. Specifically section 2.2: Export control and section 3: Maintaining APIs and ABIs. Signed-off-by: Cristian Rodríguez <cristian.rodriguez@opensuse.org> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am5
-rw-r--r--src/libmnl.map58
2 files changed, 61 insertions, 2 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 064ccf5..dd1b1b7 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,6 +1,7 @@
include $(top_srcdir)/Make_global.am
-
+AM_CFLAGS += $(CFLAG_VISIBILITY)
+AM_CPPFLAGS += -DBUILDING_MNL
lib_LTLIBRARIES = libmnl.la
-libmnl_la_LDFLAGS = -version-info $(LIBVERSION)
+libmnl_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libmnl.map -version-info $(LIBVERSION)
libmnl_la_SOURCES = socket.c callback.c nlmsg.c attr.c
diff --git a/src/libmnl.map b/src/libmnl.map
new file mode 100644
index 0000000..804aa0e
--- /dev/null
+++ b/src/libmnl.map
@@ -0,0 +1,58 @@
+LIBMNL_1.0 {
+global:
+ mnl_attr_get_len;
+ mnl_attr_get_payload;
+ mnl_attr_get_payload_len;
+ mnl_attr_get_str;
+ mnl_attr_get_type;
+ mnl_attr_get_u16;
+ mnl_attr_get_u32;
+ mnl_attr_get_u64;
+ mnl_attr_get_u8;
+ mnl_attr_nest_end;
+ mnl_attr_nest_start;
+ mnl_attr_next;
+ mnl_attr_ok;
+ mnl_attr_parse;
+ mnl_attr_parse_nested;
+ mnl_attr_put;
+ mnl_attr_put_str;
+ mnl_attr_put_strz;
+ mnl_attr_put_u16;
+ mnl_attr_put_u32;
+ mnl_attr_put_u64;
+ mnl_attr_put_u8;
+ mnl_attr_type_valid;
+ mnl_attr_validate;
+ mnl_attr_validate2;
+ mnl_cb_run;
+ mnl_cb_run2;
+ mnl_nlmsg_fprintf;
+ mnl_nlmsg_get_payload;
+ mnl_nlmsg_get_payload_len;
+ mnl_nlmsg_get_payload_offset;
+ mnl_nlmsg_get_payload_tail;
+ mnl_nlmsg_next;
+ mnl_nlmsg_ok;
+ mnl_nlmsg_portid_ok;
+ mnl_nlmsg_put_extra_header;
+ mnl_nlmsg_put_header;
+ mnl_nlmsg_seq_ok;
+ mnl_nlmsg_size;
+ mnl_nlmsg_total_size;
+ mnl_socket_bind;
+ mnl_socket_close;
+ mnl_socket_get_fd;
+ mnl_socket_get_portid;
+ mnl_socket_getsockopt;
+ mnl_socket_open;
+ mnl_socket_recvfrom;
+ mnl_socket_sendto;
+ mnl_socket_setsockopt;
+
+local: *;
+};
+
+#LIBMNL_1.1 {
+# mnl_my_new_func;
+#} LIBMNL_1.0;