diff options
author | Thomas Haller <thaller@redhat.com> | 2015-01-04 17:24:36 +0100 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2015-02-02 17:28:06 +0100 |
commit | e7d57da0ddad9097962ebfec4f5202b756ed93c9 (patch) | |
tree | 5cdc9d762d8c84e234276a8228e4fa34af5e8690 | |
parent | c7ae0c7d67d376bb8a3fbbe8e35a25de7e4c8ebd (diff) | |
download | libnl-e7d57da0ddad9097962ebfec4f5202b756ed93c9.tar.gz |
build: add individual linker version scripts for shared libraries
Instead of using a shared version script 'libnl.sym', add individual
linker scripts for all libnl libraries.
For now, the content of the version script is unchanged and this
patch does not have any externally visible changes.
Signed-off-by: Thomas Haller <thaller@redhat.com>
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | Makefile.am | 8 | ||||
-rw-r--r-- | configure.ac | 1 | ||||
-rw-r--r-- | lib/Makefile.am | 33 | ||||
-rw-r--r-- | libnl-3.sym (renamed from libnl.sym.in) | 2 | ||||
-rw-r--r-- | libnl-genl-3.sym | 4 | ||||
-rw-r--r-- | libnl-idiag-3.sym | 4 | ||||
-rw-r--r-- | libnl-nf-3.sym | 4 | ||||
-rw-r--r-- | libnl-route-3.sym | 4 | ||||
-rw-r--r-- | libnl-xfrm-3.sym | 4 |
10 files changed, 59 insertions, 6 deletions
@@ -24,4 +24,3 @@ cscope.* /configure /libtool /*.pc -/libnl.sym diff --git a/Makefile.am b/Makefile.am index 6d047a96..e48f1f8b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -21,4 +21,10 @@ pkgsysconfdir = ${sysconfdir}/libnl pkgsysconf_DATA = etc/pktloc etc/classid EXTRA_DIST = \ - $(pkgsysconf_DATA) + $(pkgsysconf_DATA) \ + libnl-3.sym \ + libnl-genl-3.sym \ + libnl-idiag-3.sym \ + libnl-nf-3.sym \ + libnl-route-3.sym \ + libnl-xfrm-3.sym diff --git a/configure.ac b/configure.ac index 9c59c055..097dca8e 100644 --- a/configure.ac +++ b/configure.ac @@ -121,7 +121,6 @@ AC_CONFIG_SUBDIRS([doc]) AC_CONFIG_FILES([ Makefile -libnl.sym libnl-3.0.pc libnl-route-3.0.pc libnl-genl-3.0.pc diff --git a/lib/Makefile.am b/lib/Makefile.am index f7e5a932..f193c29e 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -11,27 +11,46 @@ AM_CPPFLAGS = \ -DSYSCONFDIR=\"$(sysconfdir)/libnl\" AM_LDFLAGS = \ - -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ - -Wl,--version-script=$(top_builddir)/libnl.sym + -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) lib_LTLIBRARIES = \ libnl-3.la libnl-genl-3.la libnl-route-3.la libnl-nf-3.la libnl-idiag-3.la libnl-xfrm-3.la +libnl_3_la_LDFLAGS = \ + -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ + -Wl,--version-script=$(top_builddir)/libnl-3.sym +libnl_3_la_DEPENDENCIES = \ + $(top_builddir)/libnl-3.sym libnl_3_la_SOURCES = \ addr.c attr.c cache.c cache_mngr.c cache_mngt.c data.c \ error.c handlers.c msg.c nl.c object.c socket.c utils.c \ version.c hash.c hashtable.c libnl_idiag_3_la_LIBADD = libnl-3.la +libnl_idiag_3_la_LDFLAGS = \ + -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ + -Wl,--version-script=$(top_builddir)/libnl-idiag-3.sym +libnl_idiag_3_la_DEPENDENCIES = \ + $(top_builddir)/libnl-idiag-3.sym libnl_idiag_3_la_SOURCES = \ idiag/idiag_meminfo_obj.c idiag/idiag_vegasinfo_obj.c \ idiag/idiag_msg_obj.c idiag/idiag_req_obj.c idiag/idiag.c libnl_genl_3_la_LIBADD = libnl-3.la +libnl_genl_3_la_LDFLAGS = \ + -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ + -Wl,--version-script=$(top_builddir)/libnl-genl-3.sym +libnl_genl_3_la_DEPENDENCIES = \ + $(top_builddir)/libnl-genl-3.sym libnl_genl_3_la_SOURCES = \ genl/ctrl.c genl/family.c genl/genl.c genl/mngt.c libnl_nf_3_la_LIBADD = libnl-route-3.la +libnl_nf_3_la_LDFLAGS = \ + -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ + -Wl,--version-script=$(top_builddir)/libnl-nf-3.sym +libnl_nf_3_la_DEPENDENCIES = \ + $(top_builddir)/libnl-nf-3.sym libnl_nf_3_la_SOURCES = \ netfilter/ct.c netfilter/ct_obj.c netfilter/log.c \ netfilter/log_msg.c netfilter/log_msg_obj.c netfilter/log_obj.c \ @@ -60,6 +79,11 @@ route/cls/ematch_syntax.c: route/cls/ematch_syntax.y $(AM_V_GEN) $(MKDIR_P) route/cls; $(YACC) -d $(YFLAGS) -o $@ $^ libnl_route_3_la_LIBADD = libnl-3.la +libnl_route_3_la_LDFLAGS = \ + -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ + -Wl,--version-script=$(top_builddir)/libnl-route-3.sym +libnl_route_3_la_DEPENDENCIES = \ + $(top_builddir)/libnl-route-3.sym libnl_route_3_la_SOURCES = \ route/addr.c route/class.c route/cls.c route/act.c route/link.c \ route/neigh.c route/neightbl.c route/nexthop.c route/qdisc.c \ @@ -112,6 +136,11 @@ EXTRA_DIST = \ route/cls/ematch_syntax.y libnl_xfrm_3_la_LIBADD = libnl-3.la +libnl_xfrm_3_la_LDFLAGS = \ + -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ + -Wl,--version-script=$(top_builddir)/libnl-xfrm-3.sym +libnl_xfrm_3_la_DEPENDENCIES = \ + $(top_builddir)/libnl-xfrm-3.sym libnl_xfrm_3_la_SOURCES = \ xfrm/ae.c \ xfrm/lifetime.c \ diff --git a/libnl.sym.in b/libnl-3.sym index df8888c6..b1d72fff 100644 --- a/libnl.sym.in +++ b/libnl-3.sym @@ -1,4 +1,4 @@ -libnl_@MAJ_VERSION@ { +libnl_3 { global: *; local: diff --git a/libnl-genl-3.sym b/libnl-genl-3.sym new file mode 100644 index 00000000..35325792 --- /dev/null +++ b/libnl-genl-3.sym @@ -0,0 +1,4 @@ +libnl_3 { +global: + *; +}; diff --git a/libnl-idiag-3.sym b/libnl-idiag-3.sym new file mode 100644 index 00000000..35325792 --- /dev/null +++ b/libnl-idiag-3.sym @@ -0,0 +1,4 @@ +libnl_3 { +global: + *; +}; diff --git a/libnl-nf-3.sym b/libnl-nf-3.sym new file mode 100644 index 00000000..35325792 --- /dev/null +++ b/libnl-nf-3.sym @@ -0,0 +1,4 @@ +libnl_3 { +global: + *; +}; diff --git a/libnl-route-3.sym b/libnl-route-3.sym new file mode 100644 index 00000000..35325792 --- /dev/null +++ b/libnl-route-3.sym @@ -0,0 +1,4 @@ +libnl_3 { +global: + *; +}; diff --git a/libnl-xfrm-3.sym b/libnl-xfrm-3.sym new file mode 100644 index 00000000..35325792 --- /dev/null +++ b/libnl-xfrm-3.sym @@ -0,0 +1,4 @@ +libnl_3 { +global: + *; +}; |