[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Search for gcc-ar, gcc-ranlib respectively
From: |
Sam James |
Subject: |
Re: [PATCH] Search for gcc-ar, gcc-ranlib respectively |
Date: |
Thu, 15 May 2025 12:52:17 +0100 |
User-agent: |
mu4e 1.12.9; emacs 31.0.50 |
Sam James <sam@gentoo.org> writes:
> GCC requires `ar` and `ranlib` to have plugin support when using LTO. While
> the situation has improved as many distributions install the GCC plugin
> to a location that GNU Binutils can automatically find, this isn't required
> and isn't done by default.
>
> By searching for `gcc-ar` and `gcc-ranlib` first, we can make those cases
> work without intervention from the user.
>
> Note that we need to do `gcc-ar` here in autoconf too since AC_PROG_AR
> was added by c48fdb81191c8b7c7c0dde6141b861b178a6a284.
>
> Problem reported by R. Diez in: https://savannah.gnu.org/support/?110475
>
> * lib/autoconf/programs.m4 (AC_PROG_AR): Search for gcc-ar.
> (AC_PROG_RANLIB): Search for gcc-ranlib.
> ---
> I'm still testing this, but how does this look in principle? I've sent a
> corresponding change
> to automake-patches at
> https://lists.libreplanet.org/archive/html/automake-patches/2025-05/msg00001.html.
>
> NEWS | 3 +++
> lib/autoconf/programs.m4 | 6 ++++--
> 2 files changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/NEWS b/NEWS
> index 1e4e513e..89974e7b 100644
> --- a/NEWS
> +++ b/NEWS
> @@ -32,6 +32,9 @@ GNU Autoconf NEWS - User visible changes.
>
> *** AC_USE_SYSTEM_EXTENSIONS now defines _COSMO_SOURCE for Cosmopolitan Libc.
>
> +*** AC_PROG_AR and AC_PROG_RANLIB search for 'gcc-ar' and 'gcc-ranlib'
> + first, respectively.
> +
> ** Notable bug fixes
>
> *** AC_DEFINE_UNQUOTED no longer mishandles double-quotes inside $(...)
> diff --git a/lib/autoconf/programs.m4 b/lib/autoconf/programs.m4
> index d8b8b8b1..9cbe32da 100644
> --- a/lib/autoconf/programs.m4
> +++ b/lib/autoconf/programs.m4
> @@ -346,8 +346,9 @@ fi
> # --------------
> AN_MAKEVAR([AR], [AC_PROG_AR])
> AN_PROGRAM([ar], [AC_PROG_AR])
> +AN_PROGRAM([gcc-ar], [AC_PROG_AR])
> AC_DEFUN([AC_PROG_AR],
> -[AC_CHECK_TOOL(AR, ar, :)])
> +[AC_CHECK_TOOL(AR, gcc-ar ar, :)])
>
>
> # Check for gawk first since it's generally better.
> @@ -962,8 +963,9 @@ AC_SUBST([SET_MAKE])dnl
> # --------------
> AN_MAKEVAR([RANLIB], [AC_PROG_RANLIB])
> AN_PROGRAM([ranlib], [AC_PROG_RANLIB])
> +AN_PROGRAM([gcc-ranlib], [AC_PROG_RANLIB])
> AC_DEFUN([AC_PROG_RANLIB],
> -[AC_CHECK_TOOL(RANLIB, ranlib, :)])
> +[AC_CHECK_TOOL(RANLIB, gcc-ranlib ranlib, :)])
(The AC_CHECK_TOOL changes aren't right, needs to be
called-then-checked, but I won't send a v2 yet as still testing it and want
feedback on the idea of it.)