The following makes install-driver behave sanely when GCC_INSTALL_NAME and GCC_TARGET_INSTALL_NAME match (or GCC_INSTALL_NAME and $(target_noncanonical)-gcc-$(version)). We seem to force both $(target_noncanonical)-gcc and $(target_noncanonical)-gcc-$(version) installs, but still apply $program_transform_name to both and thus they can become all equal, for example with --program-prefix=$(target_noncanonical) --program-suffix=$(version).
Tested with that odd(?) combination, ok for trunk? (of course I'd rather get rid of those special cases, but they probably exist for a "reason") Thanks, Richard. 2014-03-31 Richard Biener <rguent...@suse.de> PR bootstrap/60719 * Makefile.in (install-driver): Guard extra installs with special names properly. Index: gcc/Makefile.in =================================================================== *** gcc/Makefile.in (revision 208955) --- gcc/Makefile.in (working copy) *************** install-common: native lang.install-comm *** 3205,3214 **** install-driver: installdirs xgcc$(exeext) -rm -f $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(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 \ rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-tmp$(exeext); \ ( cd $(DESTDIR)$(bindir) && \ $(LN) $(GCC_INSTALL_NAME)$(exeext) $(target_noncanonical)-gcc-tmp$(exeext) && \ --- 3205,3217 ---- install-driver: installdirs xgcc$(exeext) -rm -f $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext) -$(INSTALL_PROGRAM) xgcc$(exeext) $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext) ! -if [ "$(GCC_INSTALL_NAME)" != "$(target_noncanonical)-gcc-$(version)" ]; then \ ! -rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-$(version)$(exeext) \ ! -( cd $(DESTDIR)$(bindir) && \ ! $(LN) $(GCC_INSTALL_NAME)$(exeext) $(target_noncanonical)-gcc-$(version)$(exeext) ) \ ! fi ! -if [ ! -f gcc-cross$(exeext) ] \ ! && [ "$(GCC_INSTALL_NAME)" != "$(GCC_TARGET_INSTALL_NAME)" ]; then \ rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-tmp$(exeext); \ ( cd $(DESTDIR)$(bindir) && \ $(LN) $(GCC_INSTALL_NAME)$(exeext) $(target_noncanonical)-gcc-tmp$(exeext) && \