1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- From ccb15ee3d7e8c925cb3af9ea805feea2863c4f81 Mon Sep 17 00:00:00 2001
- From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
- Date: Fri, 1 May 2015 12:52:18 +0200
- Subject: [PATCH] Link against libm when needed
- In certain C libraries (e.g uClibc), isnan() and related functions are
- implemented in libm, so json-c needs to link against it. This commit
- therefore adds an AC_TRY_LINK() test to check whether a program
- calling isnan() can be properly linked with no special flags. If not,
- we assume linking against libm is needed.
- The json-c.pc.in file is also adjusted so that in the case of static
- linking against json-c, -lm is also used.
- Submitted upstream: https://github.com/json-c/json-c/pull/182
- Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
- ---
- configure.ac | 4 ++++
- json-c.pc.in | 3 ++-
- 2 files changed, 6 insertions(+), 1 deletion(-)
- diff --git a/configure.ac b/configure.ac
- index 99660a4..2a14ccf 100644
- --- a/configure.ac
- +++ b/configure.ac
- @@ -50,6 +50,10 @@ AC_CHECK_DECLS([isinf], [], [], [[#include <math.h>]])
- AC_CHECK_DECLS([_isnan], [], [], [[#include <float.h>]])
- AC_CHECK_DECLS([_finite], [], [], [[#include <float.h>]])
-
- +if test "$ac_cv_have_decl_isnan" = "yes" ; then
- + AC_TRY_LINK([#include <math.h>], [float f = 0.0; return isnan(f)], [], [LIBS="$LIBS -lm"])
- +fi
- +
- #check if .section.gnu.warning accepts long strings (for __warn_references)
- AC_LANG_PUSH([C])
-
- diff --git a/json-c.pc.in b/json-c.pc.in
- index 037739d..05bfbc8 100644
- --- a/json-c.pc.in
- +++ b/json-c.pc.in
- @@ -6,6 +6,7 @@ includedir=@includedir@
- Name: json-c
- Description: JSON implementation in C
- Version: @VERSION@
- -Requires:
- +Requires:
- +Libs.private: @LIBS@
- Libs: -L${libdir} -ljson-c
- Cflags: -I${includedir}/json-c
- --
- 2.1.0
|