blob: 3c6bc72a2a42a62ae32ba21e419b16fdcc956937 [file] [log] [blame]
From dea6cfba122439b29cdcb833a59868dd51a4eae4 Mon Sep 17 00:00:00 2001
From: Quentin Armitage <quentin@armitage.org.uk>
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 <quentin@armitage.org.uk>
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[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 <math.h>
- 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>])])