Skip to content

Commit 6a19dc0

Browse files
committed
autotools: Add --no-undefined linker option
1 parent 2e53868 commit 6a19dc0

File tree

3 files changed

+20
-1
lines changed

3 files changed

+20
-1
lines changed

Makefile.am

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ endif
9898
libsecp256k1_la_SOURCES = src/secp256k1.c
9999
libsecp256k1_la_CPPFLAGS = $(SECP_CONFIG_DEFINES)
100100
libsecp256k1_la_LIBADD = $(COMMON_LIB) $(PRECOMPUTED_LIB)
101-
libsecp256k1_la_LDFLAGS = -no-undefined -version-info $(LIB_VERSION_CURRENT):$(LIB_VERSION_REVISION):$(LIB_VERSION_AGE)
101+
libsecp256k1_la_LDFLAGS = -no-undefined -version-info $(LIB_VERSION_CURRENT):$(LIB_VERSION_REVISION):$(LIB_VERSION_AGE) $(SECP_LIB_LDFLAGS)
102102

103103
noinst_PROGRAMS =
104104
if USE_BENCHMARK

build-aux/m4/bitcoin_secp.m4

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,22 @@ AC_DEFUN([SECP_TRY_APPEND_CFLAGS], [
7777
AC_SUBST($2)
7878
])
7979

80+
dnl SECP_TRY_APPEND_LDFLAGS(flags, VAR)
81+
dnl Append flags to VAR if a linker accepts them.
82+
AC_DEFUN([SECP_TRY_APPEND_LDFLAGS], [
83+
AC_MSG_CHECKING([if linker supports $1])
84+
SECP_TRY_APPEND_LDFLAGS_saved_LDFLAGS="$LDFLAGS"
85+
LDFLAGS="$1 $LDFLAGS"
86+
AC_LINK_IFELSE([AC_LANG_PROGRAM()], [flag_works=yes], [flag_works=no])
87+
AC_MSG_RESULT($flag_works)
88+
LDFLAGS="$SECP_TRY_APPEND_LDFLAGS_saved_LDFLAGS"
89+
if test x"$flag_works" = x"yes"; then
90+
$2="$$2 $1"
91+
fi
92+
unset flag_works
93+
AC_SUBST($2)
94+
])
95+
8096
dnl SECP_SET_DEFAULT(VAR, default, default-dev-mode)
8197
dnl Set VAR to default or default-dev-mode, depending on whether dev mode is enabled
8298
AC_DEFUN([SECP_SET_DEFAULT], [

configure.ac

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,8 @@ AC_DEFUN([SECP_TRY_APPEND_DEFAULT_CFLAGS], [
131131
])
132132
SECP_TRY_APPEND_DEFAULT_CFLAGS(SECP_CFLAGS)
133133

134+
SECP_TRY_APPEND_LDFLAGS([-Wl,--no-undefined], [SECP_LIB_LDFLAGS])
135+
134136
###
135137
### Define config arguments
136138
###
@@ -486,6 +488,7 @@ echo " CC = $CC"
486488
echo " CPPFLAGS = $CPPFLAGS"
487489
echo " SECP_CFLAGS = $SECP_CFLAGS"
488490
echo " CFLAGS = $CFLAGS"
491+
echo " SECP_LIB_LDFLAGS = $SECP_LIB_LDFLAGS"
489492
echo " LDFLAGS = $LDFLAGS"
490493

491494
if test x"$print_msan_notice" = x"yes"; then

0 commit comments

Comments
 (0)