]> sigrok.org Git - libsigrok.git/commitdiff
detect the appropriate link flag for retaining all objects of static lib
authorAurelien Jacobs <redacted>
Sat, 21 May 2016 17:46:14 +0000 (19:46 +0200)
committerUwe Hermann <redacted>
Thu, 26 May 2016 15:48:09 +0000 (17:48 +0200)
This closes bug #802.

configure.ac
libsigrok.pc.in

index c5089f1db4ee3132f59f6ca2bcf2e5ffd0e5b181..a089c9aaa6d8ef6f73f16d7be054564f8709e6cc 100644 (file)
@@ -174,6 +174,18 @@ AM_CONDITIONAL([NEED_RPC], [test "x$sr_cv_have_rpc" = xyes])
 # Check for compiler support of 128 bit integers
 AC_CHECK_TYPES([__int128_t, __uint128_t], [], [], [])
 
+# Linker flag to retain the objects of a static lib that are not referenced
+AX_CHECK_LINK_FLAG([-Wl,--whole-archive -Wl,--no-whole-archive],
+                   [SR_LINK_BEFORE_LIB=-Wl,--whole-archive
+                    SR_LINK_AFTER_LIB=-Wl,--no-whole-archive], [
+AX_CHECK_LINK_FLAG([-Wl,-force_load],
+                   [SR_LINK_BEFORE_LIB=-Wl,-force_load
+                    SR_LINK_AFTER_LIB=],
+                   [SR_LINK_BEFORE_LIB=
+                    SR_LINK_AFTER_LIB=])])
+AC_SUBST(SR_LINK_BEFORE_LIB)
+AC_SUBST(SR_LINK_AFTER_LIB)
+
 ########################
 ##  Hardware drivers  ##
 ########################
index eb4b7cf8779c85e932efd3012b2c57dafebd788a..47ac88015a4d031c38fa4b53f80fc8ff8a09cb16 100644 (file)
@@ -9,6 +9,6 @@ URL: http://www.sigrok.org
 Requires: glib-2.0
 Requires.private: @SR_PKGLIBS@
 Version: @SR_PACKAGE_VERSION@
-Libs: -L${libdir} -Wl,--whole-archive -lsigrok -Wl,--no-whole-archive
+Libs: -L${libdir} @SR_LINK_BEFORE_LIB@ -lsigrok @SR_LINK_AFTER_LIB@
 Libs.private: @SR_EXTRA_LIBS@
 Cflags: -I${includedir}