]> sigrok.org Git - libsigrok.git/blobdiff - configure.ac
Bindings: Link C++ code with gnustl_shared if it exists (Android)
[libsigrok.git] / configure.ac
index a089c9aaa6d8ef6f73f16d7be054564f8709e6cc..71b7b47c9c30a2aa2d1be9a9279d794d7a21a105 100644 (file)
@@ -94,6 +94,7 @@ SR_PKGLIBS_CXX=
 SR_PKGLIBS_PYTHON=
 SR_PKGLIBS_RUBY=
 SR_EXTRA_LIBS=
+SR_EXTRA_CXX_LIBS=
 
 SR_ARG_OPT_PKG([libserialport], [LIBSERIALPORT], [NEED_SERIAL],
        [libserialport >= 0.1.1])
@@ -174,18 +175,6 @@ 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  ##
 ########################
@@ -223,7 +212,7 @@ m4_define([_SR_DRIVER], [
        sr_driver_summary_append "$2" "$sr_hw_info"
 
        AM_CONDITIONAL([$3], [test "x[$]$3" = xyes])
-       AM_COND_IF([$3], [AC_DEFINE([HAVE_$3], [1], [Whether to support $1 device.])])
+       AM_COND_IF([$3], [AC_DEFINE([HAVE_$3], [1], [Whether to support $1 device.]) AC_DEFINE([HAVE_DRIVERS], [1], [Whether at least one driver is enabled.])])
 ])
 
 ## SR_DRIVER(Device name, driver-name, [dependencies...])
@@ -333,6 +322,9 @@ AC_CHECK_PROG([HAVE_DOXYGEN], [doxygen], [yes], [no])
 AS_IF([test "x$HAVE_DOXYGEN" != xyes],
        [SR_APPEND([sr_cxx_missing], [', '], [Doxygen])])
 
+# Link C++ code with gnustl_shared if it exists (Android)
+SR_SEARCH_LIBS([SR_EXTRA_CXX_LIBS], [__cxa_throw], [gnustl_shared])
+
 # Python is needed for the C++ bindings.
 AM_PATH_PYTHON([2.7],
        [HAVE_PYTHON=yes],