From c4dfaa57bc2bfd34d4ea4f4de9148887b10150b6 Mon Sep 17 00:00:00 2001 From: Bernd Edlinger Date: Sun, 15 Nov 2020 15:37:22 +0100 Subject: [PATCH] Enable GDB build with in-tree GMP and MPFR With this patch GDB can be built with in-tree GMP and/or MPFR. This works also for cross-builds. All that is needed, is a sym-link in the source tree, like this: gmp -> ../gmp-6.1.0 mpfr -> ../mpfr-3.1.4 2020-12-10 Bernd Edlinger * Makefile.def: Prepare for GDB build with intree GMP. * Makefile.in: Regenerate. gdb: 2020-12-10 Bernd Edlinger * configure.ac: Add --with-gmp=DIR, --with-gmp-include=DIR and --with-gmp-lib=DIR as well as --with-mpfr-include=DIR and --with-mpfr-lib=DIR for compatibility with top level configure script. * configure: Regenerate. * README: Mention ./contrib/download_prerequisites. contrib: 2020-12-10 Bernd Edlinger * download_prerequisites: New helper script. * prerequisites.md5: checksums. * prerequisites.sha512: checksums. --- Makefile.def | 5 +- Makefile.in | 4 +- contrib/download_prerequisites | 263 ++++++++++ contrib/prerequisites.md5 | 2 + contrib/prerequisites.sha512 | 2 + gdb/README | 23 +- gdb/configure | 1126 ++++++---------------------------------- gdb/configure.ac | 88 +++- 8 files changed, 522 insertions(+), 991 deletions(-) create mode 100755 contrib/download_prerequisites create mode 100644 contrib/prerequisites.md5 create mode 100644 contrib/prerequisites.sha512 diff --git a/Makefile.def b/Makefile.def index 089e70a..1b99b42 100644 --- a/Makefile.def +++ b/Makefile.def @@ -115,7 +115,8 @@ host_modules= { module= zlib; no_install=true; no_check=true; host_modules= { module= gnulib; }; host_modules= { module= gdbsupport; }; host_modules= { module= gdbserver; }; -host_modules= { module= gdb; }; +host_modules= { module= gdb; + extra_configure_flags='@extra_mpfr_configure_flags@ @extra_mpc_mpfr_configure_flags@';}; host_modules= { module= expect; }; host_modules= { module= guile; }; host_modules= { module= tk; }; @@ -391,6 +392,8 @@ dependencies = { module=all-intl; on=all-libiconv; }; // Host modules specific to gdb. dependencies = { module=configure-gdb; on=all-intl; }; +dependencies = { module=configure-gdb; on=all-gmp; }; +dependencies = { module=configure-gdb; on=all-mpfr; }; dependencies = { module=configure-gdb; on=configure-sim; }; dependencies = { module=configure-gdb; on=all-bfd; }; dependencies = { module=configure-gdb; on=all-gnulib; }; diff --git a/Makefile.in b/Makefile.in index fe34132..738fd32 100644 --- a/Makefile.in +++ b/Makefile.in @@ -29491,7 +29491,7 @@ configure-gdb: $$s/$$module_srcdir/configure \ --srcdir=$${topdir}/$$module_srcdir \ $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \ - --target=${target_alias} \ + --target=${target_alias} @extra_mpfr_configure_flags@ @extra_mpc_mpfr_configure_flags@ \ || exit 1 @endif gdb @@ -52449,6 +52449,8 @@ configure-libcc1: maybe-configure-gcc all-libcc1: maybe-all-gcc all-utils: maybe-all-libiberty configure-gdb: maybe-all-intl +configure-gdb: maybe-all-gmp +configure-gdb: maybe-all-mpfr configure-gdb: maybe-all-bfd configure-gdb: maybe-all-libiconv all-gdb: maybe-all-libiberty diff --git a/contrib/download_prerequisites b/contrib/download_prerequisites new file mode 100755 index 0000000..0d04030 --- /dev/null +++ b/contrib/download_prerequisites @@ -0,0 +1,263 @@ +#! /bin/sh +#! -*- coding:utf-8; mode:shell-script; -*- + +# Download some prerequisites needed by GDB. +# Run this from the top level of the GDB source tree and the GDB build will do +# the right thing. Run it with the `--help` option for more information. +# +# (C) 2010-2020 Free Software Foundation +# +# This program 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. +# +# This program 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/. + +program='download_prerequisites' +version='(unversioned)' + +# MAINTAINERS: If you update the package versions below, please +# remember to also update the files `contrib/prerequisites.sha512` and +# `contrib/prerequisites.md5` with the new checksums. + +gmp='gmp-6.1.0.tar.bz2' +mpfr='mpfr-3.1.4.tar.bz2' + +base_url='http://gcc.gnu.org/pub/gcc/infrastructure/' + +echo_archives() { + echo "${gmp}" + echo "${mpfr}" +} + +verify=1 +force=0 +OS=$(uname) + +case $OS in + "Darwin"|"FreeBSD"|"DragonFly"|"AIX") + chksum='shasum -a 512 --check' + ;; + "OpenBSD") + chksum='sha512 -c' + ;; + *) + chksum='sha512sum -c' + ;; +esac + +if type wget > /dev/null ; then + fetch='wget' +else + fetch='curl -LO' +fi +chksum_extension='sha512' +directory='.' + +helptext="usage: ${program} [OPTION...] + +Downloads some prerequisites needed by GDB. Run this from the top level of the +GDB source tree and the GDB build will do the right thing. + +The following options are available: + + --directory=DIR download and unpack packages into DIR instead of '.' + --force download again overwriting existing packages + --no-force do not download existing packages again (default) + --verify verify package integrity after download (default) + --no-verify don't verify package integrity + --sha512 use SHA512 checksum to verify package integrity (default) + --md5 use MD5 checksum to verify package integrity + --help show this text and exit + --version show version information and exit +" + +versiontext="${program} ${version} +Copyright (C) 2020 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +die() { + echo "error: $@" >&2 + exit 1 +} + +for arg in "$@" +do + case "${arg}" in + --help) + echo "${helptext}" + exit + ;; + --version) + echo "${versiontext}" + exit + ;; + esac +done +unset arg + +# Emulate Linux's 'md5 --check' on macOS +md5_check() { + # Store the standard input: a line from contrib/prerequisites.md5: + md5_checksum_line=$(cat -) + # Grab the text before the first space + md5_checksum_expected="${md5_checksum_line%% *}" + # Grab the text after the first space + file_to_check="${md5_checksum_line##* }" + # Calculate the md5 checksum for the downloaded file + md5_checksum_output=$(md5 -r "${file_to_check}") + # Grab the text before the first space + md5_checksum_detected="${md5_checksum_output%% *}" + [ "${md5_checksum_expected}" == "${md5_checksum_detected}" ] \ + || die "Cannot verify integrity of possibly corrupted file ${file_to_check}" + echo "${file_to_check}: OK" +} + + +argnext= +for arg in "$@" +do + if [ "x${argnext}" = x ] + then + case "${arg}" in + --directory) + argnext='directory' + ;; + --directory=*) + directory="${arg#--directory=}" + ;; + --force) + force=1 + ;; + --no-force) + force=0 + ;; + --verify) + verify=1 + ;; + --no-verify) + verify=0 + ;; + --sha512) + case $OS in + "Darwin") + chksum='shasum -a 512 --check' + ;; + *) + chksum='sha512sum --check' + ;; + esac + chksum_extension='sha512' + verify=1 + ;; + --md5) + case $OS in + "Darwin") + chksum='md5_check' + ;; + *) + chksum='md5 --check' + ;; + esac + chksum_extension='md5' + verify=1 + ;; + -*) + die "unknown option: ${arg}" + ;; + *) + die "too many arguments" + ;; + esac + else + case "${arg}" in + -*) + die "Missing argument for option --${argnext}" + ;; + esac + case "${argnext}" in + directory) + directory="${arg}" + ;; + *) + die "The impossible has happened" + ;; + esac + argnext= + fi +done +[ "x${argnext}" = x ] || die "Missing argument for option --${argnext}" +unset arg argnext + +[ -e ./gdb/version.in ] \ + || die "You must run this script in the top-level GDB source directory" + +[ -d "${directory}" ] \ + || die "No such directory: ${directory}" + +for ar in $(echo_archives) +do + if [ ${force} -gt 0 ]; then rm -f "${directory}/${ar}"; fi + [ -e "${directory}/${ar}" ] \ + || ( cd "${directory}" && ${fetch} --no-verbose "${base_url}${ar}" ) \ + || die "Cannot download ${ar} from ${base_url}" +done +unset ar + +if [ ${verify} -gt 0 ] +then + chksumfile="contrib/prerequisites.${chksum_extension}" + [ -r "${chksumfile}" ] || die "No checksums available" + for ar in $(echo_archives) + do + grep "${ar}" "${chksumfile}" \ + | ( cd "${directory}" && ${chksum} ) \ + || die "Cannot verify integrity of possibly corrupted file ${ar}" + done + unset chksumfile +fi +unset ar + +for ar in $(echo_archives) +do + package="${ar%.tar*}" + if [ ${force} -gt 0 ]; then rm -rf "${directory}/${package}"; fi + case $ar in + *.gz) + uncompress='gzip -d' + ;; + *.bz2) + uncompress='bzip2 -d' + ;; + *) + uncompress='cat' + ;; + esac + [ -e "${directory}/${package}" ] \ + || ( cd "${directory}" && $uncompress <"${ar}" | tar -xf - ) \ + || die "Cannot extract package from ${ar}" + unset package +done +unset ar + +for ar in $(echo_archives) +do + target="${directory}/${ar%.tar*}/" + linkname="${ar%-*}" + if [ ${force} -gt 0 ]; then rm -f "${linkname}"; fi + [ -e "${linkname}" ] \ + || ln -s "${target}" "${linkname}" \ + || die "Cannot create symbolic link ${linkname} --> ${target}" + unset target linkname +done +unset ar + +echo "All prerequisites downloaded successfully." diff --git a/contrib/prerequisites.md5 b/contrib/prerequisites.md5 new file mode 100644 index 0000000..cf7be0d --- /dev/null +++ b/contrib/prerequisites.md5 @@ -0,0 +1,2 @@ +86ee6e54ebfc4a90b643a65e402c4048 gmp-6.1.0.tar.bz2 +b8a2f6b0e68bef46e53da2ac439e1cf4 mpfr-3.1.4.tar.bz2 diff --git a/contrib/prerequisites.sha512 b/contrib/prerequisites.sha512 new file mode 100644 index 0000000..8f05aff --- /dev/null +++ b/contrib/prerequisites.sha512 @@ -0,0 +1,2 @@ +3c82aeab9c1596d4da8afac2eec38e429e84f3211e1a572cf8fd2b546493c44c039b922a1133eaaa48bd7f3e11dbe795a384e21ed95cbe3ecc58d7ac02246117 gmp-6.1.0.tar.bz2 +51066066ff2c12ed2198605ecf68846b0c96b548adafa5b80e0c786d0df488411a5e8973358fce7192dc977ad4e68414cf14500e3c39746de62465eb145bb819 mpfr-3.1.4.tar.bz2 diff --git a/gdb/README b/gdb/README index e65c5ea..2146d80 100644 --- a/gdb/README +++ b/gdb/README @@ -484,21 +484,32 @@ more obscure GDB `configure' options are not listed here. not have liblzma installed, you can get the latest version from `https://tukaani.org/xz/'. -`--with-libgmp-prefix=DIR' +`--with-gmp=DIR' Build GDB using the GMP library installed at the directory DIR. If your host does not have GMP installed, you can get the latest version at `https://gmplib.org/'. - -`--with-mpfr' - Build GDB with GNU MPFR, a library for multiple-precision - floating-point computation with correct rounding. (Done by - default if GNU MPFR is installed and found at configure time.) + You can also build GMP in-tree when you use the script + ./contrib/download_prerequisites. + This must be done before configure. No --with-gmp options must + be used when invoking configure in this case. + Note however, that this does only work with a separate build + directory. + +`--with-mpfr=DIR (or auto/yes/no)' + Build GDB with GNU MPFR installed at the directory DIR. + For backward compatibility also DIR=auto/yes/no may be used. This library is used to emulate target floating-point arithmetic during expression evaluation when the target uses different floating-point formats than the host. If GNU MPFR is not available, GDB will fall back to using host floating-point arithmetic. If your host does not have GNU MPFR installed, you can get the latest version from `https://www.mpfr.org/'. + You can also build MPFR in-tree when you use the script + ./contrib/download_prerequisites. + This must be done before configure. No --with-mpfr options must + be used when invoking configure in this case. + Note however, that this does only work with a separate build + directory. `--with-python[=PYTHON]' Build GDB with Python scripting support. (Done by default if diff --git a/gdb/configure b/gdb/configure index 51b4d19..92e4b4d 100755 --- a/gdb/configure +++ b/gdb/configure @@ -729,12 +729,8 @@ PYTHON_LIBS PYTHON_CPPFLAGS PYTHON_CFLAGS python_prog_path -LTLIBMPFR LIBMPFR -HAVE_LIBMPFR -LTLIBGMP LIBGMP -HAVE_LIBGMP LTLIBEXPAT LIBEXPAT HAVE_LIBEXPAT @@ -899,11 +895,13 @@ with_jit_reader_dir with_expat with_libexpat_prefix with_libexpat_type -with_libgmp_prefix -with_libgmp_type -with_mpfr +with_gmp_include +with_gmp_lib +with_gmp with_libmpfr_prefix -with_libmpfr_type +with_mpfr_include +with_mpfr_lib +with_mpfr with_python with_python_libdir with_guile @@ -1644,13 +1642,14 @@ Optional Packages: --with-libexpat-prefix[=DIR] search for libexpat in DIR/include and DIR/lib --without-libexpat-prefix don't search for libexpat in includedir and libdir --with-libexpat-type=TYPE type of library to search for (auto/static/shared) - --with-libgmp-prefix[=DIR] search for libgmp in DIR/include and DIR/lib - --without-libgmp-prefix don't search for libgmp in includedir and libdir - --with-libgmp-type=TYPE type of library to search for (auto/static/shared) - --with-mpfr include MPFR support (auto/yes/no) - --with-libmpfr-prefix[=DIR] search for libmpfr in DIR/include and DIR/lib - --without-libmpfr-prefix don't search for libmpfr in includedir and libdir - --with-libmpfr-type=TYPE type of library to search for (auto/static/shared) + --with-gmp-include=DIR GMP include directory + --with-gmp-lib=DIR GMP lib directory + --with-gmp=DIR GMP install directory + --with-libmpfr-prefix=DIR + this option has been DEPRECATED + --with-mpfr-include=DIR MPFR include directory + --with-mpfr-lib=DIR MPFR lib directory + --with-mpfr=DIR MFPR install directory (or auto/yes/no) --with-python[=PYTHON] include python support (auto/yes/no/) --with-python-libdir[=DIR] @@ -9990,994 +9989,175 @@ done fi fi -# Verify that we have a usable GMP library. +# Check whether --with-gmp_include was given. +if test "${with_gmp_include+set}" = set; then : + withval=$with_gmp_include; CPPFLAGS="$CPPFLAGS -I$withval" +fi +# Check whether --with-gmp_lib was given. +if test "${with_gmp_lib+set}" = set; then : + withval=$with_gmp_lib; LIBGMP="-L$withval" +fi +# Check whether --with-gmp was given. +if test "${with_gmp+set}" = set; then : + withval=$with_gmp; + if test -z "$with_gmp_lib" && test -z "$with_gmp_include" ; then + CPPFLAGS="$CPPFLAGS -I$withval/include" + LIBGMP="-L$withval/lib" + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "Do not use --with-gmp and --with-gmp-include/--with-gmp-lib options simultaneously. +See \`config.log' for more details" "$LINENO" 5; } + fi +fi - use_additional=yes +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GMP" >&5 +$as_echo_n "checking for GMP... " >&6; } +# Verify that we have a usable GMP library. +save_LIBS=$LIBS +LIBS="$LIBS $LIBGMP -lgmp" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +mpz_t n; + mpz_init (n); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + HAVE_LIBGMP=yes +else + HAVE_LIBGMP=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$save_LIBS +if test "$HAVE_LIBGMP" != yes; then + as_fn_error $? "GMP is missing or unusable" "$LINENO" 5 +fi +LIBGMP="$LIBGMP -lgmp" - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" +$as_echo "#define HAVE_LIBGMP 1" >>confdefs.h - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $HAVE_LIBGMP" >&5 +$as_echo "$HAVE_LIBGMP" >&6; } -# Check whether --with-libgmp-prefix was given. -if test "${with_libgmp_prefix+set}" = set; then : - withval=$with_libgmp_prefix; - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then +# Check whether --with-libmpfr_prefix was given. +if test "${with_libmpfr_prefix+set}" = set; then : + withval=$with_libmpfr_prefix; + if test -z "$with_mpfr" ; then + with_mpfr="auto" + fi + if test x"$with_mpfr" != xauto && test x"$with_mpfr" != xyes && test x"$with_mpfr" != xno ; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "Do not use --with-mpfr=DIR and --with-libmpfr-prefix=DIR options simultaneously. +See \`config.log' for more details" "$LINENO" 5; } + fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" +fi - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" +save_CPPFLAGS=$CPPFLAGS - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" +# Check whether --with-mpfr_include was given. +if test "${with_mpfr_include+set}" = set; then : + withval=$with_mpfr_include; CPPFLAGS="$CPPFLAGS -I$withval" +fi - else - additional_includedir="$withval/include" - additional_libdir="$withval/lib" + +# Check whether --with-mpfr_lib was given. +if test "${with_mpfr_lib+set}" = set; then : + withval=$with_mpfr_lib; LIBMPFR="-L$withval" +fi + + +# Check whether --with-mpfr was given. +if test "${with_mpfr+set}" = set; then : + withval=$with_mpfr; + if test -n "$with_libmpfr_prefix" ; then + withval=$with_libmpfr_prefix + fi + if test -z "$with_mpfr_lib" && test -z "$with_mpfr_include" ; then + if test x"$withval" != xauto && test x"$withval" != xyes && test x"$withval" != xno ; then + CPPFLAGS="$CPPFLAGS -I$withval/include" + LIBMPFR="-L$withval/lib" + if test -z "$with_libmpfr_prefix" ; then + with_mpfr=yes fi fi + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "Do not use --with-mpfr and --with-mpfr-include/--with-mpfr-lib options simultaneously. +See \`config.log' for more details" "$LINENO" 5; } + fi fi -# Check whether --with-libgmp-type was given. -if test "${with_libgmp_type+set}" = set; then : - withval=$with_libgmp_type; with_libgmp_type=$withval +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use MPFR" >&5 +$as_echo_n "checking whether to use MPFR... " >&6; } +if test "${with_mpfr}" = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: MPFR support disabled; some features may be unavailable." >&5 +$as_echo "$as_me: WARNING: MPFR support disabled; some features may be unavailable." >&2;} + HAVE_LIBMPFR=no + LIBMPFR= + CPPFLAGS=$save_CPPFLAGS +else + save_LIBS=$LIBS + LIBS="$LIBS $LIBMPFR -lmpfr $LIBGMP" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +mpfr_exp_t exp; mpfr_t x; + mpfr_frexp (&exp, x, x, MPFR_RNDN); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + HAVE_LIBMPFR=yes else - with_libgmp_type=auto + HAVE_LIBMPFR=no fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$save_LIBS + if test "$HAVE_LIBMPFR" != yes; then + if test "$with_mpfr" = yes; then + as_fn_error $? "MPFR is missing or unusable" "$LINENO" 5 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: MPFR is missing or unusable; some features may be unavailable." >&5 +$as_echo "$as_me: WARNING: MPFR is missing or unusable; some features may be unavailable." >&2;} + fi + LIBMPFR= + CPPFLAGS=$save_CPPFLAGS + else + LIBMPFR="$LIBMPFR -lmpfr" - lib_type=`eval echo \$with_libgmp_type` - - LIBGMP= - LTLIBGMP= - INCGMP= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='gmp ' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIBGMP="${LIBGMP}${LIBGMP:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIBGMP="${LTLIBGMP}${LTLIBGMP:+ }$value" - else - : - fi - else - found_dir= - found_la= - found_so= - found_a= - if test $use_additional = yes; then - if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext" && test x$lib_type != xstatic; then - found_dir="$additional_libdir" - found_so="$additional_libdir/lib$name.$shlibext" - if test -f "$additional_libdir/lib$name.la"; then - found_la="$additional_libdir/lib$name.la" - fi - elif test x$lib_type != xshared; then - if test -f "$additional_libdir/lib$name.$libext"; then - found_dir="$additional_libdir" - found_a="$additional_libdir/lib$name.$libext" - if test -f "$additional_libdir/lib$name.la"; then - found_la="$additional_libdir/lib$name.la" - fi - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIBGMP; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext" && test x$lib_type != xstatic; then - found_dir="$dir" - found_so="$dir/lib$name.$shlibext" - if test -f "$dir/lib$name.la"; then - found_la="$dir/lib$name.la" - fi - elif test x$lib_type != xshared; then - if test -f "$dir/lib$name.$libext"; then - found_dir="$dir" - found_a="$dir/lib$name.$libext" - if test -f "$dir/lib$name.la"; then - found_la="$dir/lib$name.la" - fi - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - LTLIBGMP="${LTLIBGMP}${LTLIBGMP:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then - LIBGMP="${LIBGMP}${LIBGMP:+ }$found_so" - else - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - if test "$hardcode_direct" = yes; then - LIBGMP="${LIBGMP}${LIBGMP:+ }$found_so" - else - if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then - LIBGMP="${LIBGMP}${LIBGMP:+ }$found_so" - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - haveit= - for x in $LDFLAGS $LIBGMP; do - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" +$as_echo "#define HAVE_LIBMPFR 1" >>confdefs.h - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIBGMP="${LIBGMP}${LIBGMP:+ }-L$found_dir" - fi - if test "$hardcode_minus_L" != no; then - LIBGMP="${LIBGMP}${LIBGMP:+ }$found_so" - else - LIBGMP="${LIBGMP}${LIBGMP:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - LIBGMP="${LIBGMP}${LIBGMP:+ }$found_a" - else - LIBGMP="${LIBGMP}${LIBGMP:+ }-L$found_dir -l$name" - fi - fi - additional_includedir= - case "$found_dir" in - */lib | */lib/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux*) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INCGMP; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - INCGMP="${INCGMP}${INCGMP:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - if test -n "$found_la"; then - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/lib"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/lib"; then - if test -n "$GCC"; then - case $host_os in - linux*) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIBGMP; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LIBGMP="${LIBGMP}${LIBGMP:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIBGMP; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LTLIBGMP="${LTLIBGMP}${LTLIBGMP:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - LIBGMP="${LIBGMP}${LIBGMP:+ }$dep" - LTLIBGMP="${LTLIBGMP}${LTLIBGMP:+ }$dep" - ;; - esac - done - fi - else - if test "x$lib_type" = "xauto" || test "x$lib_type" = "xshared"; then - LIBGMP="${LIBGMP}${LIBGMP:+ }-l$name" - LTLIBGMP="${LTLIBGMP}${LTLIBGMP:+ }-l$name" - else - LIBGMP="${LIBGMP}${LIBGMP:+ }-l:lib$name.$libext" - LTLIBGMP="${LTLIBGMP}${LTLIBGMP:+ }-l:lib$name.$libext" - fi - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$hardcode_libdir_separator"; then - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBGMP="${LIBGMP}${LIBGMP:+ }$flag" - else - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBGMP="${LIBGMP}${LIBGMP:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - for found_dir in $ltrpathdirs; do - LTLIBGMP="${LTLIBGMP}${LTLIBGMP:+ }-R$found_dir" - done - fi - - - ac_save_CPPFLAGS="$CPPFLAGS" - - for element in $INCGMP; do - haveit= - for x in $CPPFLAGS; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" - fi - done - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libgmp" >&5 -$as_echo_n "checking for libgmp... " >&6; } -if ${ac_cv_libgmp+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ac_save_LIBS="$LIBS" - LIBS="$LIBS $LIBGMP" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -mpz_t n; - mpz_init (n); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_libgmp=yes -else - ac_cv_libgmp=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$ac_save_LIBS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libgmp" >&5 -$as_echo "$ac_cv_libgmp" >&6; } - if test "$ac_cv_libgmp" = yes; then - HAVE_LIBGMP=yes - -$as_echo "#define HAVE_LIBGMP 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libgmp" >&5 -$as_echo_n "checking how to link with libgmp... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBGMP" >&5 -$as_echo "$LIBGMP" >&6; } - else - HAVE_LIBGMP=no - CPPFLAGS="$ac_save_CPPFLAGS" - LIBGMP= - LTLIBGMP= - fi - - - - - - -if test "$HAVE_LIBGMP" != yes; then - as_fn_error $? "GMP is missing or unusable" "$LINENO" 5 -fi - - -# Check whether --with-mpfr was given. -if test "${with_mpfr+set}" = set; then : - withval=$with_mpfr; -else - with_mpfr=auto -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use MPFR" >&5 -$as_echo_n "checking whether to use MPFR... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_mpfr" >&5 -$as_echo "$with_mpfr" >&6; } - -if test "${with_mpfr}" = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: MPFR support disabled; some features may be unavailable." >&5 -$as_echo "$as_me: WARNING: MPFR support disabled; some features may be unavailable." >&2;} - HAVE_LIBMPFR=no -else - - - - - - - - - use_additional=yes - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - -# Check whether --with-libmpfr-prefix was given. -if test "${with_libmpfr_prefix+set}" = set; then : - withval=$with_libmpfr_prefix; - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - else - additional_includedir="$withval/include" - additional_libdir="$withval/lib" - fi - fi - -fi - - -# Check whether --with-libmpfr-type was given. -if test "${with_libmpfr_type+set}" = set; then : - withval=$with_libmpfr_type; with_libmpfr_type=$withval -else - with_libmpfr_type=auto -fi - - lib_type=`eval echo \$with_libmpfr_type` - - LIBMPFR= - LTLIBMPFR= - INCMPFR= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='mpfr gmp' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIBMPFR="${LIBMPFR}${LIBMPFR:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIBMPFR="${LTLIBMPFR}${LTLIBMPFR:+ }$value" - else - : - fi - else - found_dir= - found_la= - found_so= - found_a= - if test $use_additional = yes; then - if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext" && test x$lib_type != xstatic; then - found_dir="$additional_libdir" - found_so="$additional_libdir/lib$name.$shlibext" - if test -f "$additional_libdir/lib$name.la"; then - found_la="$additional_libdir/lib$name.la" - fi - elif test x$lib_type != xshared; then - if test -f "$additional_libdir/lib$name.$libext"; then - found_dir="$additional_libdir" - found_a="$additional_libdir/lib$name.$libext" - if test -f "$additional_libdir/lib$name.la"; then - found_la="$additional_libdir/lib$name.la" - fi - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIBMPFR; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext" && test x$lib_type != xstatic; then - found_dir="$dir" - found_so="$dir/lib$name.$shlibext" - if test -f "$dir/lib$name.la"; then - found_la="$dir/lib$name.la" - fi - elif test x$lib_type != xshared; then - if test -f "$dir/lib$name.$libext"; then - found_dir="$dir" - found_a="$dir/lib$name.$libext" - if test -f "$dir/lib$name.la"; then - found_la="$dir/lib$name.la" - fi - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - LTLIBMPFR="${LTLIBMPFR}${LTLIBMPFR:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then - LIBMPFR="${LIBMPFR}${LIBMPFR:+ }$found_so" - else - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - if test "$hardcode_direct" = yes; then - LIBMPFR="${LIBMPFR}${LIBMPFR:+ }$found_so" - else - if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then - LIBMPFR="${LIBMPFR}${LIBMPFR:+ }$found_so" - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - haveit= - for x in $LDFLAGS $LIBMPFR; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIBMPFR="${LIBMPFR}${LIBMPFR:+ }-L$found_dir" - fi - if test "$hardcode_minus_L" != no; then - LIBMPFR="${LIBMPFR}${LIBMPFR:+ }$found_so" - else - LIBMPFR="${LIBMPFR}${LIBMPFR:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - LIBMPFR="${LIBMPFR}${LIBMPFR:+ }$found_a" - else - LIBMPFR="${LIBMPFR}${LIBMPFR:+ }-L$found_dir -l$name" - fi - fi - additional_includedir= - case "$found_dir" in - */lib | */lib/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux*) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INCMPFR; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - INCMPFR="${INCMPFR}${INCMPFR:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - if test -n "$found_la"; then - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/lib"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/lib"; then - if test -n "$GCC"; then - case $host_os in - linux*) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIBMPFR; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LIBMPFR="${LIBMPFR}${LIBMPFR:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIBMPFR; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LTLIBMPFR="${LTLIBMPFR}${LTLIBMPFR:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - LIBMPFR="${LIBMPFR}${LIBMPFR:+ }$dep" - LTLIBMPFR="${LTLIBMPFR}${LTLIBMPFR:+ }$dep" - ;; - esac - done - fi - else - if test "x$lib_type" = "xauto" || test "x$lib_type" = "xshared"; then - LIBMPFR="${LIBMPFR}${LIBMPFR:+ }-l$name" - LTLIBMPFR="${LTLIBMPFR}${LTLIBMPFR:+ }-l$name" - else - LIBMPFR="${LIBMPFR}${LIBMPFR:+ }-l:lib$name.$libext" - LTLIBMPFR="${LTLIBMPFR}${LTLIBMPFR:+ }-l:lib$name.$libext" - fi - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$hardcode_libdir_separator"; then - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBMPFR="${LIBMPFR}${LIBMPFR:+ }$flag" - else - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBMPFR="${LIBMPFR}${LIBMPFR:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - for found_dir in $ltrpathdirs; do - LTLIBMPFR="${LTLIBMPFR}${LTLIBMPFR:+ }-R$found_dir" - done - fi - - - ac_save_CPPFLAGS="$CPPFLAGS" - - for element in $INCMPFR; do - haveit= - for x in $CPPFLAGS; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" - fi - done - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libmpfr" >&5 -$as_echo_n "checking for libmpfr... " >&6; } -if ${ac_cv_libmpfr+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ac_save_LIBS="$LIBS" - LIBS="$LIBS $LIBMPFR" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -mpfr_exp_t exp; mpfr_t x; - mpfr_frexp (&exp, x, x, MPFR_RNDN); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_libmpfr=yes -else - ac_cv_libmpfr=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$ac_save_LIBS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libmpfr" >&5 -$as_echo "$ac_cv_libmpfr" >&6; } - if test "$ac_cv_libmpfr" = yes; then - HAVE_LIBMPFR=yes - -$as_echo "#define HAVE_LIBMPFR 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libmpfr" >&5 -$as_echo_n "checking how to link with libmpfr... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBMPFR" >&5 -$as_echo "$LIBMPFR" >&6; } - else - HAVE_LIBMPFR=no - CPPFLAGS="$ac_save_CPPFLAGS" - LIBMPFR= - LTLIBMPFR= - fi - - - - - - - if test "$HAVE_LIBMPFR" != yes; then - if test "$with_mpfr" = yes; then - as_fn_error $? "MPFR is missing or unusable" "$LINENO" 5 - else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: MPFR is missing or unusable; some features may be unavailable." >&5 -$as_echo "$as_me: WARNING: MPFR is missing or unusable; some features may be unavailable." >&2;} - fi fi fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $HAVE_LIBMPFR" >&5 +$as_echo "$HAVE_LIBMPFR" >&6; } # --------------------- # # Check for libpython. # diff --git a/gdb/configure.ac b/gdb/configure.ac index 28703d7..65e44d9 100644 --- a/gdb/configure.ac +++ b/gdb/configure.ac @@ -683,35 +683,103 @@ else fi fi +AC_ARG_WITH(gmp_include, + AS_HELP_STRING([--with-gmp-include=DIR], [GMP include directory]), + [CPPFLAGS="$CPPFLAGS -I$withval"]) +AC_ARG_WITH(gmp_lib, + AS_HELP_STRING([--with-gmp-lib=DIR], [GMP lib directory]), + [LIBGMP="-L$withval"]) +AC_ARG_WITH(gmp, + AS_HELP_STRING([--with-gmp=DIR], [GMP install directory]), [ + if test -z "$with_gmp_lib" && test -z "$with_gmp_include" ; then + CPPFLAGS="$CPPFLAGS -I$withval/include" + LIBGMP="-L$withval/lib" + else + AC_MSG_FAILURE([Do not use --with-gmp and --with-gmp-include/--with-gmp-lib options simultaneously.]) + fi +]) + +AC_MSG_CHECKING([for GMP]) # Verify that we have a usable GMP library. -AC_LIB_HAVE_LINKFLAGS([gmp], [], [#include ], - [mpz_t n; - mpz_init (n);]) +save_LIBS=$LIBS +LIBS="$LIBS $LIBGMP -lgmp" +AC_TRY_LINK([#include ], + [mpz_t n; + mpz_init (n);], + [HAVE_LIBGMP=yes], [HAVE_LIBGMP=no]) +LIBS=$save_LIBS if test "$HAVE_LIBGMP" != yes; then AC_MSG_ERROR([GMP is missing or unusable]) fi +LIBGMP="$LIBGMP -lgmp" +AC_SUBST(LIBGMP) +AC_DEFINE(HAVE_LIBGMP, 1, [Define if you have the GMP library.]) +AC_MSG_RESULT([$HAVE_LIBGMP]) +AC_ARG_WITH(libmpfr_prefix, + AS_HELP_STRING([--with-libmpfr-prefix=DIR], [this option has been DEPRECATED]), [ + if test -z "$with_mpfr" ; then + with_mpfr="auto" + fi + if test x"$with_mpfr" != xauto && test x"$with_mpfr" != xyes && test x"$with_mpfr" != xno ; then + AC_MSG_FAILURE([Do not use --with-mpfr=DIR and --with-libmpfr-prefix=DIR options simultaneously.]) + fi +]) +save_CPPFLAGS=$CPPFLAGS +AC_ARG_WITH(mpfr_include, + AS_HELP_STRING([--with-mpfr-include=DIR], [MPFR include directory]), + [CPPFLAGS="$CPPFLAGS -I$withval"]) +AC_ARG_WITH(mpfr_lib, + AS_HELP_STRING([--with-mpfr-lib=DIR], [MPFR lib directory]), + [LIBMPFR="-L$withval"]) AC_ARG_WITH(mpfr, - AS_HELP_STRING([--with-mpfr], [include MPFR support (auto/yes/no)]), - [], [with_mpfr=auto]) -AC_MSG_CHECKING([whether to use MPFR]) -AC_MSG_RESULT([$with_mpfr]) + AS_HELP_STRING([--with-mpfr=DIR], + [MFPR install directory (or auto/yes/no)]), [ + if test -n "$with_libmpfr_prefix" ; then + withval=$with_libmpfr_prefix + fi + if test -z "$with_mpfr_lib" && test -z "$with_mpfr_include" ; then + if test x"$withval" != xauto && test x"$withval" != xyes && test x"$withval" != xno ; then + CPPFLAGS="$CPPFLAGS -I$withval/include" + LIBMPFR="-L$withval/lib" + if test -z "$with_libmpfr_prefix" ; then + with_mpfr=yes + fi + fi + else + AC_MSG_FAILURE([Do not use --with-mpfr and --with-mpfr-include/--with-mpfr-lib options simultaneously.]) + fi +]) +AC_MSG_CHECKING([whether to use MPFR]) if test "${with_mpfr}" = no; then AC_MSG_WARN([MPFR support disabled; some features may be unavailable.]) HAVE_LIBMPFR=no + LIBMPFR= + CPPFLAGS=$save_CPPFLAGS else - AC_LIB_HAVE_LINKFLAGS([mpfr], [gmp], [#include ], - [mpfr_exp_t exp; mpfr_t x; - mpfr_frexp (&exp, x, x, MPFR_RNDN);]) + save_LIBS=$LIBS + LIBS="$LIBS $LIBMPFR -lmpfr $LIBGMP" + AC_TRY_LINK([#include ], + [mpfr_exp_t exp; mpfr_t x; + mpfr_frexp (&exp, x, x, MPFR_RNDN);], + [HAVE_LIBMPFR=yes], [HAVE_LIBMPFR=no]) + LIBS=$save_LIBS if test "$HAVE_LIBMPFR" != yes; then if test "$with_mpfr" = yes; then AC_MSG_ERROR([MPFR is missing or unusable]) else AC_MSG_WARN([MPFR is missing or unusable; some features may be unavailable.]) fi + LIBMPFR= + CPPFLAGS=$save_CPPFLAGS + else + LIBMPFR="$LIBMPFR -lmpfr" + AC_SUBST(LIBMPFR) + AC_DEFINE(HAVE_LIBMPFR, 1, [Define if you have the MPFR library.]) fi fi +AC_MSG_RESULT([$HAVE_LIBMPFR]) # --------------------- # # Check for libpython. # -- 1.9.1