]> sigrok.org Git - libsigrok.git/blobdiff - configure.ac
detect the appropriate link flag for retaining all objects of static lib
[libsigrok.git] / configure.ac
index fd1b98da906145ebeef45a97aa6842f926afda96..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  ##
 ########################
@@ -257,6 +269,7 @@ SR_DRIVER([MIC 985xx], [mic-985xx], [libserialport])
 SR_DRIVER([Motech LPS 30x], [motech-lps-30x], [libserialport])
 SR_DRIVER([Norma DMM], [norma-dmm], [libserialport])
 SR_DRIVER([OpenBench Logic Sniffer], [openbench-logic-sniffer], [libserialport])
+SR_DRIVER([PCE PCE-322A], [pce-322a], [libserialport])
 SR_DRIVER([Pipistrello-OLS], [pipistrello-ols], [libftdi])
 SR_DRIVER([Rigol DS], [rigol-ds])
 SR_DRIVER([Saleae Logic16], [saleae-logic16], [libusb])
@@ -394,7 +407,7 @@ AS_IF([test "x$HAVE_PYMOD_NUMPY" != xyes],
 AC_CHECK_PROGS([SWIG], [swig swig3.0 swig2.0])
 AS_IF([test "x$SWIG" != x],
     AC_MSG_CHECKING([for $SWIG version])
-    [SWIG_VERSION=`$SWIG -version 2>&1 | sed -n 's/SWIG Version\s*//p'`]
+    [SWIG_VERSION=`$SWIG -version 2>&1 | sed -n 's/SWIG Version //p'`]
     AC_MSG_RESULT([$SWIG_VERSION]))
 AS_IF([test "x$SWIG" = x],
        [SR_APPEND([sr_python_missing], [', '], [SWIG])])