aboutsummaryrefslogtreecommitdiff
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
glibc-2d2d7e1a8f2e62b442ae8978f0a6c17f385575c4.tar.gz
glibc-2d2d7e1a8f2e62b442ae8978f0a6c17f385575c4.tar.bz2
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'),