Message ID | 20221206160243.455627-2-adhemerval.zanella@linaro.org |
---|---|
State | New |
Headers | show |
Series | Refactor binutils configure usage | expand |
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'),
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 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'), 'OBJDUMP=%s' % glibc.tool_name('objdump'), 'RANLIB=%s' % glibc.tool_name('ranlib'), 'READELF=%s' % glibc.tool_name('readelf'),