diff options
author | Cristian RodrÃguez <cristian.rodriguez@opensuse.org> | 2010-11-15 20:31:25 +0100 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2010-11-15 20:31:25 +0100 |
commit | 37dac00e2ad6445f496e68fcf815723432ecb5a8 (patch) | |
tree | 9c97e3f99a1663970c578ad879903ced82277415 /src | |
parent | 485d30a8a89e7500b0df4291fa4dfc33b894998c (diff) | |
download | libmnl-37dac00e2ad6445f496e68fcf815723432ecb5a8.tar.gz libmnl-37dac00e2ad6445f496e68fcf815723432ecb5a8.zip |
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.am | 5 | ||||
-rw-r--r-- | src/libmnl.map | 58 |
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; |