Add --wrap linker option detection

This commit is contained in:
Ondřej Surý
2018-06-14 09:05:08 +02:00
committed by Ondřej Surý
parent bd2ddec58f
commit 10535d1c79
3 changed files with 67 additions and 0 deletions

View File

@@ -566,6 +566,9 @@ int sigwait(const unsigned int *set, int *sig);
/* Define to allow building of objects for dlopen(). */ /* Define to allow building of objects for dlopen(). */
#undef ISC_DLZ_DLOPEN #undef ISC_DLZ_DLOPEN
/* define if the linker supports --wrap option */
#undef LD_WRAP
/* have __attribute__s used in librpz.h */ /* have __attribute__s used in librpz.h */
#undef LIBRPZ_HAVE_ATTR #undef LIBRPZ_HAVE_ATTR

42
configure vendored
View File

@@ -673,6 +673,7 @@ UNITTESTS
ATFLIBS ATFLIBS
ATFBIN ATFBIN
ATFBUILD ATFBUILD
LD_WRAP_TESTS
CMOCKA_LIBS CMOCKA_LIBS
CMOCKA_CFLAGS CMOCKA_CFLAGS
LIBIDN2_LIBS LIBIDN2_LIBS
@@ -22728,6 +22729,47 @@ esac
#
# Check for -Wl,--wrap= support
#
save_LDFLAGS=$LDFLAGS
LDFLAGS="--wrap=printf"
LD_WRAP_TESTS=false
enable_ld_wrap=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for linker support for --wrap option" >&5
$as_echo_n "checking for linker support for --wrap option... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdio.h>
int
main ()
{
__wrap_printf("success"); return (0);
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
enable_ld_wrap=yes
LD_WRAP_TESTS=true
$as_echo "#define LD_WRAP 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
# AM_CONDITIONAL([LD_WRAP], [test $enable_ld_wrap = yes])
LDFLAGS=$save_LDFLAGS
# #
# Check whether to build Automated Test Framework unit tests # Check whether to build Automated Test Framework unit tests
# #

View File

@@ -4579,6 +4579,28 @@ AS_CASE([$with_cmocka],
AC_SUBST([CMOCKA_CFLAGS]) AC_SUBST([CMOCKA_CFLAGS])
AC_SUBST([CMOCKA_LIBS]) AC_SUBST([CMOCKA_LIBS])
#
# Check for -Wl,--wrap= support
#
save_LDFLAGS=$LDFLAGS
LDFLAGS="--wrap=printf"
LD_WRAP_TESTS=false
enable_ld_wrap=no
AC_MSG_CHECKING([for linker support for --wrap option])
AC_LINK_IFELSE(
[AC_LANG_PROGRAM([#include <stdio.h>], [__wrap_printf("success"); return (0);])],
[enable_ld_wrap=yes
LD_WRAP_TESTS=true
AC_DEFINE([LD_WRAP], [1], [define if the linker supports --wrap option])
AC_MSG_RESULT([yes])],
[AC_MSG_RESULT([no])])
# AM_CONDITIONAL([LD_WRAP], [test $enable_ld_wrap = yes])
AC_SUBST([LD_WRAP_TESTS])
LDFLAGS=$save_LDFLAGS
# #
# Check whether to build Automated Test Framework unit tests # Check whether to build Automated Test Framework unit tests
# #