summaryrefslogtreecommitdiff
path: root/build-aux/m4/gmp.m4
diff options
context:
space:
mode:
Diffstat (limited to 'build-aux/m4/gmp.m4')
-rw-r--r--build-aux/m4/gmp.m477
1 files changed, 77 insertions, 0 deletions
diff --git a/build-aux/m4/gmp.m4 b/build-aux/m4/gmp.m4
new file mode 100644
index 00000000..36e60516
--- /dev/null
+++ b/build-aux/m4/gmp.m4
@@ -0,0 +1,77 @@
+## -*- Autoconf -*-
+## Copyright (C) 2000-2001, 2003, 2006-2008, 2010, 2013 Free Software
+## Foundation, Inc.
+##
+## This file is part of GNU M4.
+##
+## GNU M4 is free software: you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation, either version 3 of the License, or
+## (at your option) any later version.
+##
+## GNU M4 is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# serial 10
+
+m4_define([_M4_LIB_GMP],
+[AC_ARG_WITH([gmp],
+ [AS_HELP_STRING([--without-gmp],
+ [don't use GNU multiple precision arithmetic library])],
+[use_gmp=$withval], [use_gmp=yes])
+
+case $use_gmp:$LIBADD_GMP:$ac_cv_header_gmp_h in
+ no:*)
+ M4_cv_using_lib_gmp=no
+ ;;
+ *::yes)
+ AC_MSG_WARN([gmp library not found or does not appear to work
+ but `gmp.h' is present])
+ M4_cv_using_lib_gmp=no
+ ;;
+ *:-lgmp:no)
+ AC_MSG_WARN([gmp works but `gmp.h' is missing])
+ M4_cv_using_lib_gmp=no
+ ;;
+ yes:*:yes)
+ M4_cv_using_lib_gmp=yes
+ ;;
+ *)
+ M4_cv_using_lib_gmp=no
+ AC_MSG_WARN([could not detect gmp library])
+ ;;
+esac
+])# _M4_LIB_GMP
+
+
+AC_DEFUN([M4_LIB_GMP],
+[AC_PREREQ([2.56])dnl We use the new compiler based header checking in 2.56
+AC_CHECK_HEADERS([gmp.h], [], [], [AC_INCLUDES_DEFAULT])
+m4_pattern_allow([^M4_gmp_save_LIBS$])
+# Some versions of gmp provide mpq_init as a macro, so we need to
+# include the header file, otherwise the detection will fail.
+M4_gmp_save_LIBS="$LIBS"
+LIBS="$LIBS -lgmp"
+AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if HAVE_GMP_H
+# include <gmp.h>
+#endif]],
+ [[mpq_t n; mpq_init (n);]])],
+ [LIBADD_GMP=-lgmp])
+LIBS=$M4_gmp_save_LIBS
+AC_SUBST([LIBADD_GMP])
+
+_M4_LIB_GMP
+
+# Don't try to link in libgmp if we are not using it after the last call
+if test "$M4_cv_using_lib_gmp" = yes; then
+ AC_DEFINE([USE_GMP], [1],
+ [Define to 1 if using the GNU multiple precision library.])
+fi
+
+AC_SUBST([USE_GMP], [$M4_cv_using_lib_gmp])
+])# M4_LIB_GMP