]> git.ipfire.org Git - thirdparty/libnl.git/commitdiff
build: add individual linker version scripts for shared libraries
authorThomas Haller <thaller@redhat.com>
Sun, 4 Jan 2015 16:24:36 +0000 (17:24 +0100)
committerThomas Haller <thaller@redhat.com>
Mon, 2 Feb 2015 16:28:06 +0000 (17:28 +0100)
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>
.gitignore
Makefile.am
configure.ac
lib/Makefile.am
libnl-3.sym [moved from libnl.sym.in with 88% similarity]
libnl-genl-3.sym [new file with mode: 0644]
libnl-idiag-3.sym [new file with mode: 0644]
libnl-nf-3.sym [new file with mode: 0644]
libnl-route-3.sym [new file with mode: 0644]
libnl-xfrm-3.sym [new file with mode: 0644]

index 5f5f1ccb2b6e2e9d1fcaf071d9774a0ff0418ece..ad0cbc25f49182b57801f0c44a7195643e2cd162 100644 (file)
@@ -24,4 +24,3 @@ cscope.*
 /configure
 /libtool
 /*.pc
-/libnl.sym
index 6d047a968ba2f1d589a459303fab9ffd26fc55cc..e48f1f8b31d136d238663e0d0bd27f5d4a3f20ab 100644 (file)
@@ -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
index 9c59c055d4be9627f9f0640c7302d9262baed285..097dca8e866b7e6980991949f478285fac43c484 100644 (file)
@@ -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
index f7e5a93231a332d055558ecc943467a25fd9107f..f193c29ec6440db55e7810ea2db7776800ef215f 100644 (file)
@@ -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 \
similarity index 88%
rename from libnl.sym.in
rename to libnl-3.sym
index df8888c699a862b30177688e1241d65b9c97d7dd..b1d72fffa69e1953cb915afec592cc0a47fd27d4 100644 (file)
@@ -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 (file)
index 0000000..3532579
--- /dev/null
@@ -0,0 +1,4 @@
+libnl_3 {
+global:
+       *;
+};
diff --git a/libnl-idiag-3.sym b/libnl-idiag-3.sym
new file mode 100644 (file)
index 0000000..3532579
--- /dev/null
@@ -0,0 +1,4 @@
+libnl_3 {
+global:
+       *;
+};
diff --git a/libnl-nf-3.sym b/libnl-nf-3.sym
new file mode 100644 (file)
index 0000000..3532579
--- /dev/null
@@ -0,0 +1,4 @@
+libnl_3 {
+global:
+       *;
+};
diff --git a/libnl-route-3.sym b/libnl-route-3.sym
new file mode 100644 (file)
index 0000000..3532579
--- /dev/null
@@ -0,0 +1,4 @@
+libnl_3 {
+global:
+       *;
+};
diff --git a/libnl-xfrm-3.sym b/libnl-xfrm-3.sym
new file mode 100644 (file)
index 0000000..3532579
--- /dev/null
@@ -0,0 +1,4 @@
+libnl_3 {
+global:
+       *;
+};