about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2022-12-06 13:02:41 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2023-01-11 17:51:17 -0300
commit2d2d7e1a8f2e62b442ae8978f0a6c17f385575c4 (patch)
tree4ccfa79de59053783cc5512fab2f2d69afe1137f
parent30546ac2d1d64adff07d317e3041ec0fc6e32f6d (diff)
downloadglibc-2d2d7e1a8f2e62b442ae8978f0a6c17f385575c4.tar.gz
glibc-2d2d7e1a8f2e62b442ae8978f0a6c17f385575c4.tar.xz
glibc-2d2d7e1a8f2e62b442ae8978f0a6c17f385575c4.zip
configure: Allow user override LD, AR, OBJCOPY, and GPROF
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>
-rw-r--r--aclocal.m416
-rwxr-xr-xconfigure16
-rwxr-xr-xscripts/build-many-glibcs.py3
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
+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)
 ])
 
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 f23c2d374b..cb91797e76 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'),
             'OBJDUMP=%s' % glibc.tool_name('objdump'),
             'RANLIB=%s' % glibc.tool_name('ranlib'),
             'READELF=%s' % glibc.tool_name('readelf'),