diff options
author | Dario Faggioli <raistlin@linux.it> | 2012-07-06 13:17:45 +0100 |
---|---|---|
committer | Dario Faggioli <raistlin@linux.it> | 2012-07-06 13:17:45 +0100 |
commit | d01089fc667ec8f2c64036882c9e8fb16d6162df (patch) | |
tree | 324273529ba883f4081d29f3f211efd00eca51c3 /tools | |
parent | 8cea5d337f061c39ec2c639f262becd49dafe361 (diff) | |
download | xen-d01089fc667ec8f2c64036882c9e8fb16d6162df.tar.gz xen-d01089fc667ec8f2c64036882c9e8fb16d6162df.tar.bz2 xen-d01089fc667ec8f2c64036882c9e8fb16d6162df.zip |
libxl: explicitly check for libmath in autoconf
As well as explicitly add -lm to libxl's Makefile.
This is because next patch uses floating point arithmetic, and
it is better to state it clearly that we need libmath (just in
case we find a libc that wants that to be explicitly enforced).
Notice that autoconf should be rerun after applying this change.
Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Acked-by: Roger Pau Monne <roger.pau@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
[ ijc -- s/libmath/libm/ in error message ]
Committed-by: Ian Campbell <ian.campbell@citrix.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/config.h.in | 3 | ||||
-rwxr-xr-x | tools/configure | 47 | ||||
-rw-r--r-- | tools/configure.ac | 1 | ||||
-rw-r--r-- | tools/libxl/Makefile | 2 |
4 files changed, 52 insertions, 1 deletions
diff --git a/tools/config.h.in b/tools/config.h.in index bc1ed1057b..87d744b1b5 100644 --- a/tools/config.h.in +++ b/tools/config.h.in @@ -6,6 +6,9 @@ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #undef HAVE_LIBCRYPTO +/* Define to 1 if you have the `m' library (-lm). */ +#undef HAVE_LIBM + /* Define to 1 if you have the `yajl' library (-lyajl). */ #undef HAVE_LIBYAJL diff --git a/tools/configure b/tools/configure index de0327c12b..2ac7e5cf76 100755 --- a/tools/configure +++ b/tools/configure @@ -6253,6 +6253,53 @@ else fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnan in -lm" >&5 +$as_echo_n "checking for isnan in -lm... " >&6; } +if test "${ac_cv_lib_m_isnan+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lm $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char isnan (); +int +main () +{ +return isnan (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_m_isnan=yes +else + ac_cv_lib_m_isnan=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_isnan" >&5 +$as_echo "$ac_cv_lib_m_isnan" >&6; } +if test "x$ac_cv_lib_m_isnan" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBM 1 +_ACEOF + + LIBS="-lm $LIBS" + +else + as_fn_error $? "Could not find libm" "$LINENO" 5 +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MD5 in -lcrypto" >&5 $as_echo_n "checking for MD5 in -lcrypto... " >&6; } if test "${ac_cv_lib_crypto_MD5+set}" = set; then : diff --git a/tools/configure.ac b/tools/configure.ac index 8587eef77f..d3e0c1458e 100644 --- a/tools/configure.ac +++ b/tools/configure.ac @@ -133,6 +133,7 @@ AC_CHECK_LIB([lzo2], [lzo1x_decompress], [zlib="$zlib -DHAVE_LZO1X -llzo2"]) AC_SUBST(zlib) AC_CHECK_LIB([aio], [io_setup], [system_aio="y"], [system_aio="n"]) AC_SUBST(system_aio) +AC_CHECK_LIB([m], [isnan], [], [AC_MSG_ERROR([Could not find libm])]) AC_CHECK_LIB([crypto], [MD5], [], [AC_MSG_ERROR([Could not find libcrypto])]) AC_CHECK_LIB([ext2fs], [ext2fs_open2], [libext2fs="y"], [libext2fs="n"]) AC_SUBST(libext2fs) diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile index 48f352eb4e..313f05c292 100644 --- a/tools/libxl/Makefile +++ b/tools/libxl/Makefile @@ -61,7 +61,7 @@ ifeq ($(BISON),) scanners, please install it an rerun configure) endif -LIBXL_LIBS += -lyajl +LIBXL_LIBS += -lyajl -lm LIBXL_OBJS = flexarray.o libxl.o libxl_create.o libxl_dm.o libxl_pci.o \ libxl_dom.o libxl_exec.o libxl_xshelp.o libxl_device.o \ |