summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2015-01-04 16:24:36 (GMT)
committerThomas Haller <thaller@redhat.com>2015-02-02 16:28:06 (GMT)
commite7d57da0ddad9097962ebfec4f5202b756ed93c9 (patch)
tree5cdc9d762d8c84e234276a8228e4fa34af5e8690
parentc7ae0c7d67d376bb8a3fbbe8e35a25de7e4c8ebd (diff)
downloadlibnl-e7d57da0ddad9097962ebfec4f5202b756ed93c9.zip
libnl-e7d57da0ddad9097962ebfec4f5202b756ed93c9.tar.gz
libnl-e7d57da0ddad9097962ebfec4f5202b756ed93c9.tar.bz2
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--.gitignore1
-rw-r--r--Makefile.am8
-rw-r--r--configure.ac1
-rw-r--r--lib/Makefile.am33
-rw-r--r--libnl-3.sym (renamed from libnl.sym.in)2
-rw-r--r--libnl-genl-3.sym4
-rw-r--r--libnl-idiag-3.sym4
-rw-r--r--libnl-nf-3.sym4
-rw-r--r--libnl-route-3.sym4
-rw-r--r--libnl-xfrm-3.sym4
10 files changed, 59 insertions, 6 deletions
diff --git a/.gitignore b/.gitignore
index 5f5f1cc..ad0cbc2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -24,4 +24,3 @@ cscope.*
/configure
/libtool
/*.pc
-/libnl.sym
diff --git a/Makefile.am b/Makefile.am
index 6d047a9..e48f1f8 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 9c59c05..097dca8 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 f7e5a93..f193c29 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 df8888c..b1d72ff 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 0000000..3532579
--- /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 0000000..3532579
--- /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 0000000..3532579
--- /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 0000000..3532579
--- /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 0000000..3532579
--- /dev/null
+++ b/libnl-xfrm-3.sym
@@ -0,0 +1,4 @@
+libnl_3 {
+global:
+ *;
+};