diff --git a/gcc/go/ChangeLog b/gcc/go/ChangeLog index 40afb840104..255b3f55424 100644 --- a/gcc/go/ChangeLog +++ b/gcc/go/ChangeLog @@ -1,3 +1,12 @@ +2012-02-14 Ian Lance Taylor + + PR go/48411 + * Make-lang.in (gccgo-cross$(exeext)): New target. + (go.all.cross): Depend on gccgo-cross$(exeext) instead of + gccgo$(exeext). + (go.install-common): Only install GCCGO_TARGET_INSTALL_NAME if + gccgo-cross$(exeext) does not exist. + 2012-02-07 Ian Lance Taylor * gccgo.texi (Function Names): Document //extern instead of diff --git a/gcc/go/Make-lang.in b/gcc/go/Make-lang.in index 08aaafbe045..2994fe185ae 100644 --- a/gcc/go/Make-lang.in +++ b/gcc/go/Make-lang.in @@ -42,6 +42,13 @@ gccgo$(exeext): $(GCCGO_OBJS) $(EXTRA_GCC_OBJS) libcommon-target.a $(LIBDEPS) $(GCCGO_OBJS) $(EXTRA_GCC_OBJS) libcommon-target.a \ $(EXTRA_GCC_LIBS) $(LIBS) +# The cross-compiler version. This is built mainly as a signal to the +# go.install-common target. If this executable exists, it means that +# go.all.cross was run. +gccgo-cross$(exeext): gccgo$(exeext) + -rm -f gccgo-cross$(exeext) + cp gccgo$(exeext) gccgo-cross$(exeext) + # Use strict warnings. go-warn = $(STRICT_WARN) @@ -107,7 +114,7 @@ gccgo.pod: go/gccgo.texi # Build hooks. -go.all.cross: gccgo$(exeext) +go.all.cross: gccgo-cross$(exeext) go.start.encap: gccgo$(exeext) go.rest.encap: go.info: doc/gccgo.info @@ -136,13 +143,15 @@ check_go_parallelize = go-test.exp=*/test/\[0-57-9a-bd-hj-zA-Z\]* \ go.install-common: installdirs -rm -f $(DESTDIR)$(bindir)/$(GCCGO_INSTALL_NAME)$(exeext) - -rm -f $(DESTDIR)$(bindir)/$(GCCGO_TARGET_INSTALL_NAME)$(exeext) $(INSTALL_PROGRAM) gccgo$(exeext) $(DESTDIR)$(bindir)/$(GCCGO_INSTALL_NAME)$(exeext) - if test -f $(DESTDIR)$(bindir)$(GCCGO_TARGET_INSTALL_NAME)$(exeext); then \ - :; \ - else \ - cd $(DESTDIR)$(bindir) && \ - $(LN) $(GCCGO_INSTALL_NAME)$(exeext) $(GCCGO_TARGET_INSTALL_NAME)$(exeext); \ + -if test -f go1$(exeext); then \ + if test -f gccgo-cross$(exeext); then \ + :; \ + else \ + rm -f $(DESTDIR)$(bindir)/$(GCCGO_TARGET_INSTALL_NAME)$(exeext); \ + ( cd $(DESTDIR)$(bindir) && \ + $(LN) $(GCCGO_INSTALL_NAME)$(exeext) $(GCCGO_TARGET_INSTALL_NAME)$(exeext) ); \ + fi; \ fi go.install-plugin: