summaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
authorDiego Elio 'Flameeyes' Pettenò <flameeyes@gmail.com>2009-03-05 13:59:59 +0100
committerDiego Elio 'Flameeyes' Pettenò <flameeyes@gmail.com>2009-03-05 13:59:59 +0100
commit21547d7e1daf4a8c194a14fecae76ca283586662 (patch)
tree034eb7463de2a699aadb90660f5093cde1355145 /configure.ac
parentcad3dd2887db52490149b48e5a108b55ff6d2c4e (diff)
Properly check for versioning flags.
Instead of checking for GNU ld presence, check if the linker knows about the -version-script flag. Non-GNU linkers may export the same interface. It also allows to check for alternative syntax for symbol versioning.
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac20
1 files changed, 11 insertions, 9 deletions
diff --git a/configure.ac b/configure.ac
index 482efa70..214d1902 100644
--- a/configure.ac
+++ b/configure.ac
@@ -96,15 +96,6 @@ if test "x$M4" = xno ; then
AC_MSG_ERROR([m4 missing])
fi
-# Linker
-
-AC_PROG_LD
-AC_PROG_LD_GNU
-
-AC_SUBST(HAVE_GNU_LD)
-AM_CONDITIONAL([HAVE_GNU_LD], [test "x$HAVE_GNU_LD" = x1])
-
-
dnl Compiler flags
DESIRED_FLAGS="-Wall -W -Wextra -pipe -Wno-long-long -Winline -Wvla -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wold-style-definition -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing=2 -Wwrite-strings -Wno-unused-parameter -ffast-math -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option"
@@ -112,6 +103,17 @@ for flag in $DESIRED_FLAGS ; do
CC_CHECK_CFLAGS([$flag], [CFLAGS="$CFLAGS $flag"])
done
+dnl Linker flags.
+dnl Check whether the linker supports the -version-script option.
+
+dnl This variable is used to make sure ${srcdir} is expanded and not
+dnl passed to the CC_CHECK_LDFLAGS macro as a name.
+tmp_ldflag="-Wl,-version-script=${srcdir}/src/map-file"
+
+CC_CHECK_LDFLAGS([${tmp_ldflag}],
+ [VERSIONING_LDFLAGS='-Wl,-version-script=$(srcdir)/map-file'])
+AC_SUBST([VERSIONING_LDFLAGS])
+
dnl Check whether to build tests by default (as compile-test) or not
AC_ARG_ENABLE([default-build-tests],
AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))