This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: RFA/RFC: Adding support for gmp and mpfr sources in the build tree
- From: "Kaveh R. GHAZI" <ghazi at caip dot rutgers dot edu>
- To: Paolo Bonzini <paolo dot bonzini at lu dot unisi dot ch>
- Cc: Nick Clifton <nickc at redhat dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 1 Dec 2006 22:46:44 -0500 (EST)
- Subject: Re: RFA/RFC: Adding support for gmp and mpfr sources in the build tree
- References: <m34pstjdk9.fsf@redhat.com> <4562D6E7.4090808@lu.unisi.ch> <456AAC92.70008@redhat.com> <456ABE48.4090204@lu.unisi.ch>
On Mon, 27 Nov 2006, Paolo Bonzini wrote:
> 2006-11-27 Paolo Bonzini <bonzini@gnu.org>
>
> * configure.in (build_configargs, host_configargs, target_configargs):
> Remove build/host/target parameters.
> (host_libs): Add gmp and mpfr.
> (GMP tests): Reorganize to allow in-tree GMP/MPFR.
> * Makefile.def (build fixincludes): Remove useless extra_configure_args.
> (gmp, mpfr): New.
> (gcc): Rename target to all_target.
> * Makefile.tpl (build_os, build_vendor, host_os, host_vendor,
> target_os, target_vendor): New.
> (configure): Add host_alias/target_alias arguments. Adjust invocations.
> * Makefile.in: Regenerate.
>
> Index: configure.in
> ===================================================================
> --- configure.in (revision 119247)
> +++ configure.in (working copy)
> @@ -1052,9 +1052,10 @@ ACX_PROG_GNAT
> -gmplibs="-lmpfr"
> +gmplibs="-lgmp -lmpfr"
Hi Paolo,
I had a couple of comments on your patch. First is I think you need to
swap the order of the libs above. If you build on a platform that only
has static libraries, then mpfr needs to be first so it pulls in the
necessary functions from gmp.
That brings up a second issue, which is I think there should be a way to
say --{enable,disable}-{shared,static}-{gmp,mpfr} to the top level
configure, and this should pass the appropriate
--{enable,disable}-{shared,static} into the gmp and/or mpfr subdirs.
Third, I think you need gmp to finish building before you configure mpfr
because gmp.h gets created on the fly. It probably works for you because
you did a serial make. If you run in parallel, then as I recall it'll
choke. Try this in Makefile.def:
+// mpfr configure depends on gmp being configured and built.
+dependencies = { module=configure-mpfr; on=all-gmp; hard=true; };
I had to add this dependency in my attempt here:
http://gcc.gnu.org/ml/gcc-patches/2006-10/msg00416.html
Thanks,
--Kaveh
--
Kaveh R. Ghazi ghazi@caip.rutgers.edu