[v2,1/3] configure: Allow user override LD, AR, OBJCOPY, and GPROF
Checks
Context |
Check |
Description |
dj/TryBot-apply_patch |
success
|
Patch applied to master at the time it was sent
|
Commit Message
The only way to override LD, AR, OBJCOPY, and GPROF is through
--with-binutils (setting the environments variables on configure is
overridden by LIBC_PROG_BINUTILS).
The build-many-glibcs.py (bmg) glibcs option generates a working config,
but not fully concise (some tools will be set from environment variable,
while other will be set from $CC --print-prog-name). So remove the
environment variable set to always use the "$CC --print-prog-name".
---
aclocal.m4 | 16 ++++++++++++----
configure | 16 ++++++++++++----
scripts/build-many-glibcs.py | 3 ---
3 files changed, 24 insertions(+), 11 deletions(-)
Comments
On 12/6/22 11:02, Adhemerval Zanella wrote:
> The only way to override LD, AR, OBJCOPY, and GPROF is through
> --with-binutils (setting the environments variables on configure is
> overridden by LIBC_PROG_BINUTILS).
>
> The build-many-glibcs.py (bmg) glibcs option generates a working config,
> but not fully concise (some tools will be set from environment variable,
> while other will be set from $CC --print-prog-name). So remove the
> environment variable set to always use the "$CC --print-prog-name".
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
> ---
> aclocal.m4 | 16 ++++++++++++----
> configure | 16 ++++++++++++----
> scripts/build-many-glibcs.py | 3 ---
> 3 files changed, 24 insertions(+), 11 deletions(-)
>
> diff --git a/aclocal.m4 b/aclocal.m4
> index 7ab8ac023b..cbe3c4698a 100644
> --- a/aclocal.m4
> +++ b/aclocal.m4
> @@ -118,12 +118,20 @@ case "$CC" in
> *fuse-ld=lld*) LDNAME=ld.lld;;
> *) LDNAME=ld;;
> esac
> -LD=`$CC -print-prog-name=$LDNAME`
> -AR=`$CC -print-prog-name=ar`
> +if test -z "$LD"; then
> + LD=`$CC -print-prog-name=$LDNAME`
> +fi
OK. Override from env first, then use $CC second.
> +if test -z "$AR"; then
> + AR=`$CC -print-prog-name=ar`
> +fi
OK. Likewise.
> AC_SUBST(AR)
> -OBJCOPY=`$CC -print-prog-name=objcopy`
> +if test -z "$OBJCOPY"; then
> + OBJCOPY=`$CC -print-prog-name=objcopy`
> +fi
OK. Likewise.
> AC_SUBST(OBJCOPY)
> -GPROF=`$CC -print-prog-name=gprof`
> +if test -z "$GPROF"; then
> + GPROF=`$CC -print-prog-name=gprof`
OK. Likewise.
> +fi
> AC_SUBST(GPROF)
> ])
>
> diff --git a/configure b/configure
> index 62c2581cb0..8f91bb6e11 100755
> --- a/configure
> +++ b/configure
> @@ -4145,12 +4145,20 @@ case "$CC" in
> *fuse-ld=lld*) LDNAME=ld.lld;;
> *) LDNAME=ld;;
> esac
> -LD=`$CC -print-prog-name=$LDNAME`
> -AR=`$CC -print-prog-name=ar`
> +if test -z "$LD"; then
> + LD=`$CC -print-prog-name=$LDNAME`
> +fi
> +if test -z "$AR"; then
> + AR=`$CC -print-prog-name=ar`
> +fi
>
> -OBJCOPY=`$CC -print-prog-name=objcopy`
> +if test -z "$OBJCOPY"; then
> + OBJCOPY=`$CC -print-prog-name=objcopy`
> +fi
>
> -GPROF=`$CC -print-prog-name=gprof`
> +if test -z "$GPROF"; then
> + GPROF=`$CC -print-prog-name=gprof`
> +fi
>
>
>
> diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py
> index 9292a0d3ff..887ef7b6d5 100755
> --- a/scripts/build-many-glibcs.py
> +++ b/scripts/build-many-glibcs.py
> @@ -1521,10 +1521,7 @@ class GlibcPolicyDefault(object):
> '--host=%s' % glibc.triplet,
> 'CC=%s' % glibc.tool_name('gcc'),
> 'CXX=%s' % glibc.tool_name('g++'),
> - 'AR=%s' % glibc.tool_name('ar'),
> - 'LD=%s' % glibc.tool_name('ld'),
> 'NM=%s' % glibc.tool_name('nm'),
> - 'OBJCOPY=%s' % glibc.tool_name('objcopy'),
OK. Cleanup bmg usage to use $CC provided tools.
> 'OBJDUMP=%s' % glibc.tool_name('objdump'),
> 'RANLIB=%s' % glibc.tool_name('ranlib'),
> 'READELF=%s' % glibc.tool_name('readelf'),
@@ -118,12 +118,20 @@ case "$CC" in
*fuse-ld=lld*) LDNAME=ld.lld;;
*) LDNAME=ld;;
esac
-LD=`$CC -print-prog-name=$LDNAME`
-AR=`$CC -print-prog-name=ar`
+if test -z "$LD"; then
+ LD=`$CC -print-prog-name=$LDNAME`
+fi
+if test -z "$AR"; then
+ AR=`$CC -print-prog-name=ar`
+fi
AC_SUBST(AR)
-OBJCOPY=`$CC -print-prog-name=objcopy`
+if test -z "$OBJCOPY"; then
+ OBJCOPY=`$CC -print-prog-name=objcopy`
+fi
AC_SUBST(OBJCOPY)
-GPROF=`$CC -print-prog-name=gprof`
+if test -z "$GPROF"; then
+ GPROF=`$CC -print-prog-name=gprof`
+fi
AC_SUBST(GPROF)
])
@@ -4145,12 +4145,20 @@ case "$CC" in
*fuse-ld=lld*) LDNAME=ld.lld;;
*) LDNAME=ld;;
esac
-LD=`$CC -print-prog-name=$LDNAME`
-AR=`$CC -print-prog-name=ar`
+if test -z "$LD"; then
+ LD=`$CC -print-prog-name=$LDNAME`
+fi
+if test -z "$AR"; then
+ AR=`$CC -print-prog-name=ar`
+fi
-OBJCOPY=`$CC -print-prog-name=objcopy`
+if test -z "$OBJCOPY"; then
+ OBJCOPY=`$CC -print-prog-name=objcopy`
+fi
-GPROF=`$CC -print-prog-name=gprof`
+if test -z "$GPROF"; then
+ GPROF=`$CC -print-prog-name=gprof`
+fi
@@ -1521,10 +1521,7 @@ class GlibcPolicyDefault(object):
'--host=%s' % glibc.triplet,
'CC=%s' % glibc.tool_name('gcc'),
'CXX=%s' % glibc.tool_name('g++'),
- 'AR=%s' % glibc.tool_name('ar'),
- 'LD=%s' % glibc.tool_name('ld'),
'NM=%s' % glibc.tool_name('nm'),
- 'OBJCOPY=%s' % glibc.tool_name('objcopy'),
'OBJDUMP=%s' % glibc.tool_name('objdump'),
'RANLIB=%s' % glibc.tool_name('ranlib'),
'READELF=%s' % glibc.tool_name('readelf'),