detect the appropriate link flag for retaining all objects of static lib

This closes bug #802.
This commit is contained in:
Aurelien Jacobs 2016-05-21 19:46:14 +02:00 committed by Uwe Hermann
parent 176d18cab1
commit d268866d29
2 changed files with 13 additions and 1 deletions

View 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 ##
########################

View 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}