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>
This commit is contained in:
Adhemerval Zanella 2022-12-06 13:02:41 -03:00
parent 30546ac2d1
commit 2d2d7e1a8f
3 changed files with 24 additions and 11 deletions

16
aclocal.m4 vendored
View File

@ -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)
])

16
configure vendored
View File

@ -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

View File

@ -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'),