From 10535d1c79d8cdab5f150a618bcd988bfd3ef0bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= Date: Thu, 14 Jun 2018 09:05:08 +0200 Subject: [PATCH] Add --wrap linker option detection --- config.h.in | 3 +++ configure | 42 ++++++++++++++++++++++++++++++++++++++++++ configure.in | 22 ++++++++++++++++++++++ 3 files changed, 67 insertions(+) diff --git a/config.h.in b/config.h.in index e68e3ed1b7..686352be1b 100644 --- a/config.h.in +++ b/config.h.in @@ -566,6 +566,9 @@ int sigwait(const unsigned int *set, int *sig); /* Define to allow building of objects for dlopen(). */ #undef ISC_DLZ_DLOPEN +/* define if the linker supports --wrap option */ +#undef LD_WRAP + /* have __attribute__s used in librpz.h */ #undef LIBRPZ_HAVE_ATTR diff --git a/configure b/configure index f6a5b5e6e4..92a608c1cd 100755 --- a/configure +++ b/configure @@ -673,6 +673,7 @@ UNITTESTS ATFLIBS ATFBIN ATFBUILD +LD_WRAP_TESTS CMOCKA_LIBS CMOCKA_CFLAGS 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 +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 # diff --git a/configure.in b/configure.in index e0b8e87af9..7d5ed67eab 100644 --- a/configure.in +++ b/configure.in @@ -4579,6 +4579,28 @@ AS_CASE([$with_cmocka], AC_SUBST([CMOCKA_CFLAGS]) 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 ], [__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 #