From dea6cfba122439b29cdcb833a59868dd51a4eae4 Mon Sep 17 00:00:00 2001 From: Quentin Armitage Date: Mon, 13 May 2019 14:25:26 +0100 Subject: [PATCH] Ensure that -lm linker library flag is always set configure was testing whether it was necessary to add the -lm option, but for some reason gcc adds it itself if -Os is not specified, but does not add it if -Os is specified. Consequently if configure was run without -Os, and make was run with -Os the link failed. The commit ensures that -lm is always used. Signed-off-by: Quentin Armitage Signed-off-by: Fabrice Fontaine [Retrieved from: https://github.com/acassen/keepalived/commit/dea6cfba122439b29cdcb833a59868dd51a4eae4] --- configure.ac | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/configure.ac b/configure.ac index 5023900f4..ae420d5a6 100644 --- a/configure.ac +++ b/configure.ac @@ -340,6 +340,9 @@ WARNINGS_EXTRA="aggregate-return conversion padded pedantic sign-conversion stri # We want _GNU_SOURCE defined always add_to_var([CFLAGS], [-D_GNU_SOURCE]) +# fpclassify() needs -lm +add_to_var([KA_LIBS], [-lm]) + # Some sanity checks on configure options AS_IF([test .$enable_vrrp = .no], [ @@ -779,27 +782,6 @@ AC_LINK_IFELSE([AC_LANG_SOURCE([[ LDFLAGS=$SAV_LDFLAGS ]) -# Check if fpclassify() requires -lm -CFLAGS= -LDFLAGS= -AC_MSG_CHECKING([whether fpclassify() requires -lm]) -AC_LINK_IFELSE([AC_LANG_SOURCE([[ - # include - int main(int argc, char **argv) - { - double zero = 0.0; - if (fpclassify(zero) == FP_ZERO) - return 0; - return 1; - } - ]])], - AC_MSG_RESULT([no]), - AC_MSG_RESULT([yes]) - add_to_var([KA_LIBS], [-lm]) - ) -CFLAGS=$SAV_CFLAGS -LDFLAGS=$SAV_LDFLAGS - # Checks for header files. AC_CHECK_HEADERS([arpa/inet.h fcntl.h limits.h netdb.h netinet/in.h stdint.h stdlib.h string.h sys/ioctl.h sys/param.h sys/prctl.h sys/socket.h sys/time.h syslog.h unistd.h], [], [AC_MSG_ERROR([Missing/unusable system header file <$ac_header>])])