[PATCH] Bug 54030 - make install does not honor --program-prefix/--program-suffix for 'gcc' (AVR build)
Sylvain Leroux
sylvain@chicoree.fr
Thu Jul 19 12:37:00 GMT 2012
Hi,
I cc Nathanael Nerode since according to MAINTENERS he one of the people
in charge of Makefile.in.
I filed a bug against make install which does not honor
--program-prefix/--program-suffix for the driver 'gcc' while building
for target AVR (maybe others too). In a particular case
(--program-prefix='avr-' --program-suffix='-4.7.1'), gcc is not
installed at all in $(DESTDIR)$(bindir).
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54030
By taking a closer look at the output of 'make install' it appears that
gcc is in fact installed with the requested name, but removed just
afterward:
-------8<----------
rm -f /tmp/gcc-4.7.1/bin/avr-gcc-4.7.1
/usr/bin/install -c xgcc /tmp/gcc-4.7.1/bin/avr-gcc-4.7.1 (install)
rm -f /tmp/gcc-4.7.1/bin/avr-gcc-4.7.1 (delete )
-------8<----------
I fixed the problem by swapping the two corresponding lines in the
target 'install-driver' of the file ${GCCSRC}gcc/Makefile.in:
Index: gcc/Makefile.in
===================================================================
--- gcc/Makefile.in (revision 189649)
+++ gcc/Makefile.in (working copy)
@@ -4651,8 +4651,8 @@
# and also as either gcc (if native) or $(gcc_tooldir)/bin/gcc.
install-driver: installdirs xgcc$(exeext)
-rm -f $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext)
+ -rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-$(version)$(exeext)
-$(INSTALL_PROGRAM) xgcc$(exeext)
$(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext)
- -rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-$(version)$(exeext)
-( cd $(DESTDIR)$(bindir) && \
$(LN) $(GCC_INSTALL_NAME)$(exeext)
$(target_noncanonical)-gcc-$(version)$(exeext) )
-if [ -f gcc-cross$(exeext) ] ; then \
With that patch, gcc is installed both with its canonical name
(avr-gcc-4.7.1) and with the requested program -prefix/-suffix like all
other binaries.
- Sylvain
More information about the Gcc-patches
mailing list