libxl: explicitly check for libmath in autoconf
authorDario Faggioli <raistlin@linux.it>
Fri, 6 Jul 2012 12:17:45 +0000 (13:17 +0100)
committerDario Faggioli <raistlin@linux.it>
Fri, 6 Jul 2012 12:17:45 +0000 (13:17 +0100)
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>
tools/config.h.in
tools/configure
tools/configure.ac
tools/libxl/Makefile

index bc1ed1057b12db97f830ed48b77bbc8c78878a32..87d744b1b582a0df31ed00e559c98bb860bc8fff 100644 (file)
@@ -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
 
index de0327c12b08b9332e1ba3ecc9466cca47f43eb2..2ac7e5cf76f9017e9b45f5591014857f0d4dae03 100755 (executable)
@@ -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 :
index 8587eef77fbac225ae1649f74328b27846f61d97..d3e0c1458e41b2b277ca69f88801efb92bc1b203 100644 (file)
@@ -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)
index 48f352eb4ede2accdf7de32de06ca0eeb7cf658e..313f05c2921ff1c8cb9f57df633918f07265bf23 100644 (file)
@@ -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 \