[PATCH] configure: remove dependencies on gmp and mpfr when gdb is disabled

Clément Chigot chigot@adacore.com
Thu Jan 5 08:04:08 GMT 2023


On Wed, Jan 4, 2023 at 6:50 PM Andrew Pinski <pinskia@gmail.com> wrote:
>
> On Wed, Jan 4, 2023 at 6:50 AM Richard Earnshaw
> <Richard.Earnshaw@foss.arm.com> wrote:
> >
> >
> >
> > On 04/01/2023 07:51, Clément Chigot via Binutils wrote:
> > > Hi Andrew,
> > >
> > > On Tue, Jan 3, 2023 at 6:41 PM Andrew Pinski <pinskia@gmail.com> wrote:
> > >>
> > >> On Tue, Jan 3, 2023 at 5:53 AM Clément Chigot <chigot@adacore.com> wrote:
> > >>>
> > >>> Since 991180627851801f1999d1ebbc0e569a17e47c74, the configure checks
> > >>> about GMP and MPFR for gdb builds have been moved to the toplevel
> > >>> configure.
> > >>> However, it doesn't take into account the --disable-gdb option. Meaning
> > >>> that a build without gdb will require these libraries even if not
> > >>> needed.
> > >>
> > >> I see the conversion of enable_gdb to noconfigdirs is not done until
> > >> later or I would have suggested the patch below.
> > >> Though I wonder if we should rearrange configure.ac but maybe that is
> > >> post GCC 13 branching off.
> > >
> > > That might be a good idea. But for now, I would rather fix the build
> > > of binutils rapidly, if you don't mind.
> > >
> > > For my personal knowledge, why are the GCC directories being
> > > "configurable" with the binutils configure ? I find it weird to have
> > > --enable-libgo in binutils configure.
> >
> > The top-level configure framework supports a 'unified' build tree
> > containing sources for all the GNU toolchain components.  I for one
> > still use that.
>
> I use it too and that was the original reason why I did the original
> GDB GMP/MPFR patch; otherwise I would need to compile GMP/MPFR out of
> tree for a "native" cross build first even though the support was
> there to support it for GCC already.

Ok I wasn't aware of that possibility. Thanks for the clarifications !

Clément

> >
> > R.
> >
> > >
> > > Clément
> > >
> > >> Thanks,
> > >> Andrew Pinski
> > >>
> > >> diff --git a/configure.ac b/configure.ac
> > >> index 3a1eb0357e5..cbfc21eb2e9 100644
> > >> --- a/configure.ac
> > >> +++ b/configure.ac
> > >> @@ -1585,7 +1585,9 @@ if test -d ${srcdir}/gcc ; then
> > >>     require_mpc=yes
> > >>   fi
> > >>   if test -d ${srcdir}/gdb ; then
> > >> -  require_gmp=yes
> > >> +  case "${noconfigdirs}" in
> > >> +    *gdb*) require_gmp=yes ;;
> > >> +  esac
> > >>   fi
> > >>
> > >>   gmplibs="-lmpfr -lgmp"
> > >>
> > >>>
> > >>> ChangeLog:
> > >>>
> > >>>          * configure.ac: Skip GMP and MPFR errors when --disable-gdb is
> > >>>          provided.
> > >>>          * configure: Regenerate.
> > >>> ---
> > >>>   configure    | 4 +++-
> > >>>   configure.ac | 4 +++-
> > >>>   2 files changed, 6 insertions(+), 2 deletions(-)
> > >>>
> > >>> diff --git a/configure b/configure
> > >>> index 417fc5a970c..0fb8279cb8f 100755
> > >>> --- a/configure
> > >>> +++ b/configure
> > >>> @@ -8426,11 +8426,13 @@ you obtained GMP, MPFR and/or MPC from a vendor distribution package,
> > >>>   make sure that you have installed both the libraries and the header
> > >>>   files.  They may be located in separate packages." "$LINENO" 5
> > >>>       else
> > >>> -      as_fn_error $? "Building GDB requires GMP 4.2+, and MPFR 3.1.0+.
> > >>> +      if test "x$enable_gdb" != xno; then
> > >>> +        as_fn_error $? "Building GDB requires GMP 4.2+, and MPFR 3.1.0+.
> > >>>   Try the --with-gmp and/or --with-mpfr options to specify
> > >>>   their locations.  If you obtained GMP and/or MPFR from a vendor
> > >>>   distribution package, make sure that you have installed both the libraries
> > >>>   and the header files.  They may be located in separate packages." "$LINENO" 5
> > >>> +      fi
> > >>>       fi
> > >>>     fi
> > >>>   fi
> > >>> diff --git a/configure.ac b/configure.ac
> > >>> index 3a1eb0357e5..0ec2fffcb56 100644
> > >>> --- a/configure.ac
> > >>> +++ b/configure.ac
> > >>> @@ -1814,11 +1814,13 @@ you obtained GMP, MPFR and/or MPC from a vendor distribution package,
> > >>>   make sure that you have installed both the libraries and the header
> > >>>   files.  They may be located in separate packages.])
> > >>>       else
> > >>> -      AC_MSG_ERROR([Building GDB requires GMP 4.2+, and MPFR 3.1.0+.
> > >>> +      if test "x$enable_gdb" != xno; then
> > >>> +        AC_MSG_ERROR([Building GDB requires GMP 4.2+, and MPFR 3.1.0+.
> > >>>   Try the --with-gmp and/or --with-mpfr options to specify
> > >>>   their locations.  If you obtained GMP and/or MPFR from a vendor
> > >>>   distribution package, make sure that you have installed both the libraries
> > >>>   and the header files.  They may be located in separate packages.])
> > >>> +      fi
> > >>>       fi
> > >>>     fi
> > >>>   fi
> > >>> --
> > >>> 2.25.1
> > >>>


More information about the Binutils mailing list