Hello,
on OSX10.5/OSX10.5:
I am trying to run several versions of gcc in parallel (and also not
to trample on the vendor-supplied one).
So I am building with --enable-version-specific-runtime-libs and
using fully qualified version numbers (X.Y.Z)
====
When configuring with the following options
VERS=`cat /path/to/gcc-source/gcc/BASE-VER`
....
--enable-version-specific-runtime-libs \
--program-suffix=-$VERS \
I notice that the "target-apple-darwinZ-gcc-VERS" never appears
(although the native gcc-VERS does).
this seems to be due to the following lines in gcc/Makefile.in
install-driver: installdirs xgcc$(exeext)
-rm -f $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext)
-$(INSTALL_PROGRAM) xgcc$(exeext) $(DESTDIR)$(bindir)/$
(GCC_INSTALL_NAME)$(exeext)
aaa> -rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-$
(version)$(exeext)
bbb> -( cd $(DESTDIR)$(bindir) && \
$(LN) $(GCC_INSTALL_NAME)$(exeext) $(target_noncanonical)-
gcc-$(version)$(exeext) )
since:
$(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext) == $(DESTDIR)$
(bindir)/$(target_noncanonical)-gcc-$(version)$(exeext)
line aaaa> deletes the just-installed tool and then bbb> hard links
to a non-existent file?
=== If this is a real bug ( and not a misunderstanding of naming
systems on my part )
.... the following patch fixes it for me:
--- ./gcc/Makefile.in.orig 2008-05-30 19:50:09.000000000 +0100
+++ ./gcc/Makefile.in 2008-05-29 19:50:13.000000000 +0100
@@ -4011,19 +4016,23 @@ install-common: native lang.install-comm
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 [ "$(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) ] ; then \
if [ -d $(DESTDIR)$(gcc_tooldir)/bin/. ] ; then \
rm -f $(DESTDIR)$(gcc_tooldir)/bin/gcc$(exeext); \
$(INSTALL_PROGRAM) gcc-cross$(exeext) $(DESTDIR)$
(gcc_tooldir)/bin/gcc$(exeext); \
else true; fi; \
else \
- rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-tmp$
(exeext); \
- ( cd $(DESTDIR)$(bindir) && \
+ if [ "$(GCC_INSTALL_NAME)" != "$(target_noncanonical)-gcc-$
(version)" ] ; then \
+ rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-tmp$
(exeext); \
+ ( cd $(DESTDIR)$(bindir) && \
$(LN) $(GCC_INSTALL_NAME)$(exeext) $
(target_noncanonical)-gcc-tmp$(exeext) && \
mv -f $(target_noncanonical)-gcc-tmp$(exeext) $
(GCC_TARGET_INSTALL_NAME)$(exeext) ); \
+ fi ; \
fi
# Install the info files.
====
ttfn,
Iain