OSDN Git Service

* configure.ac: Add target-libgo to target_libraries. Set
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 Nov 2010 21:47:18 +0000 (21:47 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 Nov 2010 21:47:18 +0000 (21:47 +0000)
and substitute GOC_FOR_BUILD and GOC_FOR_TARGET.
* Makefile.tpl (BUILD_EXPORTS): Add GOC and GOCFLAGS.
(HOST_EXPORTS): Add GOC.
(BASE_TARGET_EXPORTS): Add GOC.
(GOC_FOR_BUILD, GOCFLAGS, GOC_FOR_TARGET): New variables.
(GOCFLAGS_FOR_TARGET): New variable.
(EXTRA_HOST_FLAGS): Add GOC.
(EXTRA_TARGET_FLAGS): Add GOC and GOCFLAGS.
* Makefile.def (target_modules): Add libgo.
(flags_to_pass): Add GOC_FOR_TARGET and GOCFLAGS_FOR_TARGET.
(dependencies): Add dependency from configure-target-libgo to
configure-target-libffi and all-target-libstdc++-v3.  Add
dependencies from all-target-libgo to all-target-libffi.
(languages): Add go.
* configure: Rebuild.
* Makefile.in: Rebuild.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166959 138bc75d-0d04-0410-961f-82ee72b054a4

ChangeLog
Makefile.def
Makefile.in
Makefile.tpl
configure
configure.ac

index ba1855b..318df4b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,25 @@
 2010-11-19  Ian Lance Taylor  <iant@google.com>
+           Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * configure.ac: Add target-libgo to target_libraries.  Set
+       and substitute GOC_FOR_BUILD and GOC_FOR_TARGET.
+       * Makefile.tpl (BUILD_EXPORTS): Add GOC and GOCFLAGS.
+       (HOST_EXPORTS): Add GOC.
+       (BASE_TARGET_EXPORTS): Add GOC.
+       (GOC_FOR_BUILD, GOCFLAGS, GOC_FOR_TARGET): New variables.
+       (GOCFLAGS_FOR_TARGET): New variable.
+       (EXTRA_HOST_FLAGS): Add GOC.
+       (EXTRA_TARGET_FLAGS): Add GOC and GOCFLAGS.
+       * Makefile.def (target_modules): Add libgo.
+       (flags_to_pass): Add GOC_FOR_TARGET and GOCFLAGS_FOR_TARGET.
+       (dependencies): Add dependency from configure-target-libgo to
+       configure-target-libffi and all-target-libstdc++-v3.  Add
+       dependencies from all-target-libgo to all-target-libffi.
+       (languages): Add go.
+       * configure: Rebuild.
+       * Makefile.in: Rebuild.
+
+2010-11-19  Ian Lance Taylor  <iant@google.com>
 
        * config-ml.in: Add Go support: treat GOC and GOCFLAGS like other
        compiler/flag environment variables.
index d7192f2..e5c9586 100644 (file)
@@ -158,6 +158,7 @@ target_modules = { module= libgcc; bootstrap=true; no_check=true; };
 target_modules = { module= libquadmath; };
 target_modules = { module= libgfortran; };
 target_modules = { module= libobjc; };
+target_modules = { module= libgo; };
 target_modules = { module= libtermcap; no_check=true;
                    missing=mostlyclean;
                    missing=clean;
@@ -287,6 +288,8 @@ flags_to_pass = { flag= DLLTOOL_FOR_TARGET ; };
 flags_to_pass = { flag= FLAGS_FOR_TARGET ; };
 flags_to_pass = { flag= GCJ_FOR_TARGET ; };
 flags_to_pass = { flag= GFORTRAN_FOR_TARGET ; };
+flags_to_pass = { flag= GOC_FOR_TARGET ; };
+flags_to_pass = { flag= GOCFLAGS_FOR_TARGET ; };
 flags_to_pass = { flag= LD_FOR_TARGET ; };
 flags_to_pass = { flag= LIPO_FOR_TARGET ; };
 flags_to_pass = { flag= LDFLAGS_FOR_TARGET ; };
@@ -539,6 +542,9 @@ dependencies = { module=configure-target-boehm-gc; on=all-target-libstdc++-v3; }
 dependencies = { module=configure-target-fastjar; on=configure-target-zlib; };
 dependencies = { module=all-target-fastjar; on=all-target-zlib; };
 dependencies = { module=all-target-fastjar; on=all-target-libiberty; };
+dependencies = { module=configure-target-libgo; on=configure-target-libffi; };
+dependencies = { module=configure-target-libgo; on=all-target-libstdc++-v3; };
+dependencies = { module=all-target-libgo; on=all-target-libffi; };
 dependencies = { module=configure-target-libjava; on=configure-target-zlib; };
 dependencies = { module=configure-target-libjava; on=configure-target-boehm-gc; };
 dependencies = { module=configure-target-libjava; on=configure-target-qthreads; };
@@ -587,6 +593,8 @@ languages = { language=ada; gcc-check-target=check-ada;
 languages = { language=objc;   gcc-check-target=check-objc;
                                lib-check-target=check-target-libobjc; };
 languages = { language=obj-c++;        gcc-check-target=check-obj-c++; };
+languages = { language=go;     gcc-check-target=check-go;
+                               lib-check-target=check-target-libgo; };
 
 // Toplevel bootstrap
 bootstrap_stage = { id=1 ; };
index 93e8a5d..85ada56 100644 (file)
@@ -157,6 +157,8 @@ BUILD_EXPORTS = \
        CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
        GCJ="$(GCJ_FOR_BUILD)"; export GCJ; \
        GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
+       GOC="$(GOC_FOR_BUILD)"; export GOC; \
+       GOCFLAGS="$(GOCFLAGS_FOR_BUILD)"; export GOCFLAGS; \
        DLLTOOL="$(DLLTOOL_FOR_BUILD)"; export DLLTOOL; \
        LD="$(LD_FOR_BUILD)"; export LD; \
        LDFLAGS="$(LDFLAGS_FOR_BUILD)"; export LDFLAGS; \
@@ -273,6 +275,7 @@ BASE_TARGET_EXPORTS = \
        CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
        GCJ="$(GCJ_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GCJ; \
        GFORTRAN="$(GFORTRAN_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GFORTRAN; \
+       GOC="$(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GOC; \
        DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
        LD="$(COMPILER_LD_FOR_TARGET)"; export LD; \
        LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
@@ -401,6 +404,7 @@ LDFLAGS = @LDFLAGS@
 LIBCFLAGS = $(CFLAGS)
 CXXFLAGS = @CXXFLAGS@
 LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
+GOCFLAGS = $(CFLAGS)
 
 TFLAGS =
 
@@ -516,6 +520,7 @@ CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @CXX_FOR_TARGET@
 RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@
 GCJ_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCJ_FOR_TARGET@
 GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@
+GOC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GOC_FOR_TARGET@
 DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
 LD_FOR_TARGET=@LD_FOR_TARGET@
 
@@ -537,6 +542,7 @@ CXXFLAGS_FOR_TARGET = @CXXFLAGS_FOR_TARGET@
 LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
 LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
 LDFLAGS_FOR_TARGET = 
+GOCFLAGS_FOR_TARGET = -O2 -g
 
 FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@
 SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
@@ -705,6 +711,8 @@ BASE_FLAGS_TO_PASS = \
        "FLAGS_FOR_TARGET=$(FLAGS_FOR_TARGET)" \
        "GCJ_FOR_TARGET=$(GCJ_FOR_TARGET)" \
        "GFORTRAN_FOR_TARGET=$(GFORTRAN_FOR_TARGET)" \
+       "GOC_FOR_TARGET=$(GOC_FOR_TARGET)" \
+       "GOCFLAGS_FOR_TARGET=$(GOCFLAGS_FOR_TARGET)" \
        "LD_FOR_TARGET=$(LD_FOR_TARGET)" \
        "LIPO_FOR_TARGET=$(LIPO_FOR_TARGET)" \
        "LDFLAGS_FOR_TARGET=$(LDFLAGS_FOR_TARGET)" \
@@ -802,6 +810,8 @@ EXTRA_TARGET_FLAGS = \
        'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
        'GCJ=$$(GCJ_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
        'GFORTRAN=$$(GFORTRAN_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
+       'GOC=$$(GOC_FOR_TARGET)' \
+       'GOCFLAGS=$$(GOCFLAGS_FOR_TARGET)' \
        'LD=$(COMPILER_LD_FOR_TARGET)' \
        'LDFLAGS=$$(LDFLAGS_FOR_TARGET)' \
        'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \
@@ -929,6 +939,7 @@ configure-target:  \
     maybe-configure-target-libquadmath \
     maybe-configure-target-libgfortran \
     maybe-configure-target-libobjc \
+    maybe-configure-target-libgo \
     maybe-configure-target-libtermcap \
     maybe-configure-target-winsup \
     maybe-configure-target-libgloss \
@@ -1112,6 +1123,7 @@ all-target: maybe-all-target-libgcc
 all-target: maybe-all-target-libquadmath
 all-target: maybe-all-target-libgfortran
 all-target: maybe-all-target-libobjc
+all-target: maybe-all-target-libgo
 all-target: maybe-all-target-libtermcap
 all-target: maybe-all-target-winsup
 all-target: maybe-all-target-libgloss
@@ -1234,6 +1246,7 @@ info-target: maybe-info-target-libgcc
 info-target: maybe-info-target-libquadmath
 info-target: maybe-info-target-libgfortran
 info-target: maybe-info-target-libobjc
+info-target: maybe-info-target-libgo
 info-target: maybe-info-target-libtermcap
 info-target: maybe-info-target-winsup
 info-target: maybe-info-target-libgloss
@@ -1349,6 +1362,7 @@ dvi-target: maybe-dvi-target-libgcc
 dvi-target: maybe-dvi-target-libquadmath
 dvi-target: maybe-dvi-target-libgfortran
 dvi-target: maybe-dvi-target-libobjc
+dvi-target: maybe-dvi-target-libgo
 dvi-target: maybe-dvi-target-libtermcap
 dvi-target: maybe-dvi-target-winsup
 dvi-target: maybe-dvi-target-libgloss
@@ -1464,6 +1478,7 @@ pdf-target: maybe-pdf-target-libgcc
 pdf-target: maybe-pdf-target-libquadmath
 pdf-target: maybe-pdf-target-libgfortran
 pdf-target: maybe-pdf-target-libobjc
+pdf-target: maybe-pdf-target-libgo
 pdf-target: maybe-pdf-target-libtermcap
 pdf-target: maybe-pdf-target-winsup
 pdf-target: maybe-pdf-target-libgloss
@@ -1579,6 +1594,7 @@ html-target: maybe-html-target-libgcc
 html-target: maybe-html-target-libquadmath
 html-target: maybe-html-target-libgfortran
 html-target: maybe-html-target-libobjc
+html-target: maybe-html-target-libgo
 html-target: maybe-html-target-libtermcap
 html-target: maybe-html-target-winsup
 html-target: maybe-html-target-libgloss
@@ -1694,6 +1710,7 @@ TAGS-target: maybe-TAGS-target-libgcc
 TAGS-target: maybe-TAGS-target-libquadmath
 TAGS-target: maybe-TAGS-target-libgfortran
 TAGS-target: maybe-TAGS-target-libobjc
+TAGS-target: maybe-TAGS-target-libgo
 TAGS-target: maybe-TAGS-target-libtermcap
 TAGS-target: maybe-TAGS-target-winsup
 TAGS-target: maybe-TAGS-target-libgloss
@@ -1809,6 +1826,7 @@ install-info-target: maybe-install-info-target-libgcc
 install-info-target: maybe-install-info-target-libquadmath
 install-info-target: maybe-install-info-target-libgfortran
 install-info-target: maybe-install-info-target-libobjc
+install-info-target: maybe-install-info-target-libgo
 install-info-target: maybe-install-info-target-libtermcap
 install-info-target: maybe-install-info-target-winsup
 install-info-target: maybe-install-info-target-libgloss
@@ -1924,6 +1942,7 @@ install-pdf-target: maybe-install-pdf-target-libgcc
 install-pdf-target: maybe-install-pdf-target-libquadmath
 install-pdf-target: maybe-install-pdf-target-libgfortran
 install-pdf-target: maybe-install-pdf-target-libobjc
+install-pdf-target: maybe-install-pdf-target-libgo
 install-pdf-target: maybe-install-pdf-target-libtermcap
 install-pdf-target: maybe-install-pdf-target-winsup
 install-pdf-target: maybe-install-pdf-target-libgloss
@@ -2039,6 +2058,7 @@ install-html-target: maybe-install-html-target-libgcc
 install-html-target: maybe-install-html-target-libquadmath
 install-html-target: maybe-install-html-target-libgfortran
 install-html-target: maybe-install-html-target-libobjc
+install-html-target: maybe-install-html-target-libgo
 install-html-target: maybe-install-html-target-libtermcap
 install-html-target: maybe-install-html-target-winsup
 install-html-target: maybe-install-html-target-libgloss
@@ -2154,6 +2174,7 @@ installcheck-target: maybe-installcheck-target-libgcc
 installcheck-target: maybe-installcheck-target-libquadmath
 installcheck-target: maybe-installcheck-target-libgfortran
 installcheck-target: maybe-installcheck-target-libobjc
+installcheck-target: maybe-installcheck-target-libgo
 installcheck-target: maybe-installcheck-target-libtermcap
 installcheck-target: maybe-installcheck-target-winsup
 installcheck-target: maybe-installcheck-target-libgloss
@@ -2269,6 +2290,7 @@ mostlyclean-target: maybe-mostlyclean-target-libgcc
 mostlyclean-target: maybe-mostlyclean-target-libquadmath
 mostlyclean-target: maybe-mostlyclean-target-libgfortran
 mostlyclean-target: maybe-mostlyclean-target-libobjc
+mostlyclean-target: maybe-mostlyclean-target-libgo
 mostlyclean-target: maybe-mostlyclean-target-libtermcap
 mostlyclean-target: maybe-mostlyclean-target-winsup
 mostlyclean-target: maybe-mostlyclean-target-libgloss
@@ -2384,6 +2406,7 @@ clean-target: maybe-clean-target-libgcc
 clean-target: maybe-clean-target-libquadmath
 clean-target: maybe-clean-target-libgfortran
 clean-target: maybe-clean-target-libobjc
+clean-target: maybe-clean-target-libgo
 clean-target: maybe-clean-target-libtermcap
 clean-target: maybe-clean-target-winsup
 clean-target: maybe-clean-target-libgloss
@@ -2499,6 +2522,7 @@ distclean-target: maybe-distclean-target-libgcc
 distclean-target: maybe-distclean-target-libquadmath
 distclean-target: maybe-distclean-target-libgfortran
 distclean-target: maybe-distclean-target-libobjc
+distclean-target: maybe-distclean-target-libgo
 distclean-target: maybe-distclean-target-libtermcap
 distclean-target: maybe-distclean-target-winsup
 distclean-target: maybe-distclean-target-libgloss
@@ -2614,6 +2638,7 @@ maintainer-clean-target: maybe-maintainer-clean-target-libgcc
 maintainer-clean-target: maybe-maintainer-clean-target-libquadmath
 maintainer-clean-target: maybe-maintainer-clean-target-libgfortran
 maintainer-clean-target: maybe-maintainer-clean-target-libobjc
+maintainer-clean-target: maybe-maintainer-clean-target-libgo
 maintainer-clean-target: maybe-maintainer-clean-target-libtermcap
 maintainer-clean-target: maybe-maintainer-clean-target-winsup
 maintainer-clean-target: maybe-maintainer-clean-target-libgloss
@@ -2784,6 +2809,7 @@ check-target:  \
     maybe-check-target-libquadmath \
     maybe-check-target-libgfortran \
     maybe-check-target-libobjc \
+    maybe-check-target-libgo \
     maybe-check-target-libtermcap \
     maybe-check-target-winsup \
     maybe-check-target-libgloss \
@@ -3006,6 +3032,7 @@ install-target:  \
     maybe-install-target-libquadmath \
     maybe-install-target-libgfortran \
     maybe-install-target-libobjc \
+    maybe-install-target-libgo \
     maybe-install-target-libtermcap \
     maybe-install-target-winsup \
     maybe-install-target-libgloss \
@@ -49420,6 +49447,448 @@ maintainer-clean-target-libobjc:
 
 
 
+.PHONY: configure-target-libgo maybe-configure-target-libgo
+maybe-configure-target-libgo:
+@if gcc-bootstrap
+configure-target-libgo: stage_current
+@endif gcc-bootstrap
+@if target-libgo
+maybe-configure-target-libgo: configure-target-libgo
+configure-target-libgo: 
+       @: $(MAKE); $(unstage)
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       echo "Checking multilib configuration for libgo..."; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgo ; \
+       $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libgo/multilib.tmp 2> /dev/null ; \
+       if test -r $(TARGET_SUBDIR)/libgo/multilib.out; then \
+         if cmp -s $(TARGET_SUBDIR)/libgo/multilib.tmp $(TARGET_SUBDIR)/libgo/multilib.out; then \
+           rm -f $(TARGET_SUBDIR)/libgo/multilib.tmp; \
+         else \
+           rm -f $(TARGET_SUBDIR)/libgo/Makefile; \
+           mv $(TARGET_SUBDIR)/libgo/multilib.tmp $(TARGET_SUBDIR)/libgo/multilib.out; \
+         fi; \
+       else \
+         mv $(TARGET_SUBDIR)/libgo/multilib.tmp $(TARGET_SUBDIR)/libgo/multilib.out; \
+       fi; \
+       test ! -f $(TARGET_SUBDIR)/libgo/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgo ; \
+       $(NORMAL_TARGET_EXPORTS)  \
+       echo Configuring in $(TARGET_SUBDIR)/libgo; \
+       cd "$(TARGET_SUBDIR)/libgo" || exit 1; \
+       case $(srcdir) in \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(TARGET_SUBDIR)/libgo/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+       esac; \
+       srcdiroption="--srcdir=$${topdir}/libgo"; \
+       libsrcdir="$$s/libgo"; \
+       rm -f no-such-file || : ; \
+       CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
+         $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+         --target=${target_alias} $${srcdiroption}  \
+         || exit 1
+@endif target-libgo
+
+
+
+
+
+.PHONY: all-target-libgo maybe-all-target-libgo
+maybe-all-target-libgo:
+@if gcc-bootstrap
+all-target-libgo: stage_current
+@endif gcc-bootstrap
+@if target-libgo
+TARGET-target-libgo=all
+maybe-all-target-libgo: all-target-libgo
+all-target-libgo: configure-target-libgo
+       @: $(MAKE); $(unstage)
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS)  \
+       (cd $(TARGET_SUBDIR)/libgo && \
+         $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)  \
+               $(TARGET-target-libgo))
+@endif target-libgo
+
+
+
+
+
+.PHONY: check-target-libgo maybe-check-target-libgo
+maybe-check-target-libgo:
+@if target-libgo
+maybe-check-target-libgo: check-target-libgo
+
+check-target-libgo:
+       @: $(MAKE); $(unstage)
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       (cd $(TARGET_SUBDIR)/libgo && \
+         $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
+
+@endif target-libgo
+
+.PHONY: install-target-libgo maybe-install-target-libgo
+maybe-install-target-libgo:
+@if target-libgo
+maybe-install-target-libgo: install-target-libgo
+
+install-target-libgo: installdirs
+       @: $(MAKE); $(unstage)
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       (cd $(TARGET_SUBDIR)/libgo && \
+         $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
+
+@endif target-libgo
+
+# Other targets (info, dvi, pdf, etc.)
+
+.PHONY: maybe-info-target-libgo info-target-libgo
+maybe-info-target-libgo:
+@if target-libgo
+maybe-info-target-libgo: info-target-libgo
+
+info-target-libgo: \
+    configure-target-libgo 
+       @: $(MAKE); $(unstage)
+       @[ -f $(TARGET_SUBDIR)/libgo/Makefile ] || exit 0 ; \
+       r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       echo "Doing info in $(TARGET_SUBDIR)/libgo" ; \
+       for flag in $(EXTRA_TARGET_FLAGS); do \
+         eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+       done; \
+       (cd $(TARGET_SUBDIR)/libgo && \
+         $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+                 "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+                 "RANLIB=$${RANLIB}" \
+                 "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+                  info) \
+         || exit 1
+
+@endif target-libgo
+
+.PHONY: maybe-dvi-target-libgo dvi-target-libgo
+maybe-dvi-target-libgo:
+@if target-libgo
+maybe-dvi-target-libgo: dvi-target-libgo
+
+dvi-target-libgo: \
+    configure-target-libgo 
+       @: $(MAKE); $(unstage)
+       @[ -f $(TARGET_SUBDIR)/libgo/Makefile ] || exit 0 ; \
+       r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       echo "Doing dvi in $(TARGET_SUBDIR)/libgo" ; \
+       for flag in $(EXTRA_TARGET_FLAGS); do \
+         eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+       done; \
+       (cd $(TARGET_SUBDIR)/libgo && \
+         $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+                 "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+                 "RANLIB=$${RANLIB}" \
+                 "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+                  dvi) \
+         || exit 1
+
+@endif target-libgo
+
+.PHONY: maybe-pdf-target-libgo pdf-target-libgo
+maybe-pdf-target-libgo:
+@if target-libgo
+maybe-pdf-target-libgo: pdf-target-libgo
+
+pdf-target-libgo: \
+    configure-target-libgo 
+       @: $(MAKE); $(unstage)
+       @[ -f $(TARGET_SUBDIR)/libgo/Makefile ] || exit 0 ; \
+       r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       echo "Doing pdf in $(TARGET_SUBDIR)/libgo" ; \
+       for flag in $(EXTRA_TARGET_FLAGS); do \
+         eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+       done; \
+       (cd $(TARGET_SUBDIR)/libgo && \
+         $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+                 "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+                 "RANLIB=$${RANLIB}" \
+                 "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+                  pdf) \
+         || exit 1
+
+@endif target-libgo
+
+.PHONY: maybe-html-target-libgo html-target-libgo
+maybe-html-target-libgo:
+@if target-libgo
+maybe-html-target-libgo: html-target-libgo
+
+html-target-libgo: \
+    configure-target-libgo 
+       @: $(MAKE); $(unstage)
+       @[ -f $(TARGET_SUBDIR)/libgo/Makefile ] || exit 0 ; \
+       r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       echo "Doing html in $(TARGET_SUBDIR)/libgo" ; \
+       for flag in $(EXTRA_TARGET_FLAGS); do \
+         eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+       done; \
+       (cd $(TARGET_SUBDIR)/libgo && \
+         $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+                 "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+                 "RANLIB=$${RANLIB}" \
+                 "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+                  html) \
+         || exit 1
+
+@endif target-libgo
+
+.PHONY: maybe-TAGS-target-libgo TAGS-target-libgo
+maybe-TAGS-target-libgo:
+@if target-libgo
+maybe-TAGS-target-libgo: TAGS-target-libgo
+
+TAGS-target-libgo: \
+    configure-target-libgo 
+       @: $(MAKE); $(unstage)
+       @[ -f $(TARGET_SUBDIR)/libgo/Makefile ] || exit 0 ; \
+       r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       echo "Doing TAGS in $(TARGET_SUBDIR)/libgo" ; \
+       for flag in $(EXTRA_TARGET_FLAGS); do \
+         eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+       done; \
+       (cd $(TARGET_SUBDIR)/libgo && \
+         $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+                 "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+                 "RANLIB=$${RANLIB}" \
+                 "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+                  TAGS) \
+         || exit 1
+
+@endif target-libgo
+
+.PHONY: maybe-install-info-target-libgo install-info-target-libgo
+maybe-install-info-target-libgo:
+@if target-libgo
+maybe-install-info-target-libgo: install-info-target-libgo
+
+install-info-target-libgo: \
+    configure-target-libgo \
+    info-target-libgo 
+       @: $(MAKE); $(unstage)
+       @[ -f $(TARGET_SUBDIR)/libgo/Makefile ] || exit 0 ; \
+       r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       echo "Doing install-info in $(TARGET_SUBDIR)/libgo" ; \
+       for flag in $(EXTRA_TARGET_FLAGS); do \
+         eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+       done; \
+       (cd $(TARGET_SUBDIR)/libgo && \
+         $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+                 "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+                 "RANLIB=$${RANLIB}" \
+                 "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+                  install-info) \
+         || exit 1
+
+@endif target-libgo
+
+.PHONY: maybe-install-pdf-target-libgo install-pdf-target-libgo
+maybe-install-pdf-target-libgo:
+@if target-libgo
+maybe-install-pdf-target-libgo: install-pdf-target-libgo
+
+install-pdf-target-libgo: \
+    configure-target-libgo \
+    pdf-target-libgo 
+       @: $(MAKE); $(unstage)
+       @[ -f $(TARGET_SUBDIR)/libgo/Makefile ] || exit 0 ; \
+       r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       echo "Doing install-pdf in $(TARGET_SUBDIR)/libgo" ; \
+       for flag in $(EXTRA_TARGET_FLAGS); do \
+         eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+       done; \
+       (cd $(TARGET_SUBDIR)/libgo && \
+         $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+                 "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+                 "RANLIB=$${RANLIB}" \
+                 "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+                  install-pdf) \
+         || exit 1
+
+@endif target-libgo
+
+.PHONY: maybe-install-html-target-libgo install-html-target-libgo
+maybe-install-html-target-libgo:
+@if target-libgo
+maybe-install-html-target-libgo: install-html-target-libgo
+
+install-html-target-libgo: \
+    configure-target-libgo \
+    html-target-libgo 
+       @: $(MAKE); $(unstage)
+       @[ -f $(TARGET_SUBDIR)/libgo/Makefile ] || exit 0 ; \
+       r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       echo "Doing install-html in $(TARGET_SUBDIR)/libgo" ; \
+       for flag in $(EXTRA_TARGET_FLAGS); do \
+         eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+       done; \
+       (cd $(TARGET_SUBDIR)/libgo && \
+         $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+                 "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+                 "RANLIB=$${RANLIB}" \
+                 "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+                  install-html) \
+         || exit 1
+
+@endif target-libgo
+
+.PHONY: maybe-installcheck-target-libgo installcheck-target-libgo
+maybe-installcheck-target-libgo:
+@if target-libgo
+maybe-installcheck-target-libgo: installcheck-target-libgo
+
+installcheck-target-libgo: \
+    configure-target-libgo 
+       @: $(MAKE); $(unstage)
+       @[ -f $(TARGET_SUBDIR)/libgo/Makefile ] || exit 0 ; \
+       r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       echo "Doing installcheck in $(TARGET_SUBDIR)/libgo" ; \
+       for flag in $(EXTRA_TARGET_FLAGS); do \
+         eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+       done; \
+       (cd $(TARGET_SUBDIR)/libgo && \
+         $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+                 "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+                 "RANLIB=$${RANLIB}" \
+                 "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+                  installcheck) \
+         || exit 1
+
+@endif target-libgo
+
+.PHONY: maybe-mostlyclean-target-libgo mostlyclean-target-libgo
+maybe-mostlyclean-target-libgo:
+@if target-libgo
+maybe-mostlyclean-target-libgo: mostlyclean-target-libgo
+
+mostlyclean-target-libgo: 
+       @: $(MAKE); $(unstage)
+       @[ -f $(TARGET_SUBDIR)/libgo/Makefile ] || exit 0 ; \
+       r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       echo "Doing mostlyclean in $(TARGET_SUBDIR)/libgo" ; \
+       for flag in $(EXTRA_TARGET_FLAGS); do \
+         eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+       done; \
+       (cd $(TARGET_SUBDIR)/libgo && \
+         $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+                 "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+                 "RANLIB=$${RANLIB}" \
+                 "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+                  mostlyclean) \
+         || exit 1
+
+@endif target-libgo
+
+.PHONY: maybe-clean-target-libgo clean-target-libgo
+maybe-clean-target-libgo:
+@if target-libgo
+maybe-clean-target-libgo: clean-target-libgo
+
+clean-target-libgo: 
+       @: $(MAKE); $(unstage)
+       @[ -f $(TARGET_SUBDIR)/libgo/Makefile ] || exit 0 ; \
+       r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       echo "Doing clean in $(TARGET_SUBDIR)/libgo" ; \
+       for flag in $(EXTRA_TARGET_FLAGS); do \
+         eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+       done; \
+       (cd $(TARGET_SUBDIR)/libgo && \
+         $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+                 "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+                 "RANLIB=$${RANLIB}" \
+                 "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+                  clean) \
+         || exit 1
+
+@endif target-libgo
+
+.PHONY: maybe-distclean-target-libgo distclean-target-libgo
+maybe-distclean-target-libgo:
+@if target-libgo
+maybe-distclean-target-libgo: distclean-target-libgo
+
+distclean-target-libgo: 
+       @: $(MAKE); $(unstage)
+       @[ -f $(TARGET_SUBDIR)/libgo/Makefile ] || exit 0 ; \
+       r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       echo "Doing distclean in $(TARGET_SUBDIR)/libgo" ; \
+       for flag in $(EXTRA_TARGET_FLAGS); do \
+         eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+       done; \
+       (cd $(TARGET_SUBDIR)/libgo && \
+         $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+                 "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+                 "RANLIB=$${RANLIB}" \
+                 "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+                  distclean) \
+         || exit 1
+
+@endif target-libgo
+
+.PHONY: maybe-maintainer-clean-target-libgo maintainer-clean-target-libgo
+maybe-maintainer-clean-target-libgo:
+@if target-libgo
+maybe-maintainer-clean-target-libgo: maintainer-clean-target-libgo
+
+maintainer-clean-target-libgo: 
+       @: $(MAKE); $(unstage)
+       @[ -f $(TARGET_SUBDIR)/libgo/Makefile ] || exit 0 ; \
+       r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libgo" ; \
+       for flag in $(EXTRA_TARGET_FLAGS); do \
+         eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+       done; \
+       (cd $(TARGET_SUBDIR)/libgo && \
+         $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+                 "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+                 "RANLIB=$${RANLIB}" \
+                 "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+                  maintainer-clean) \
+         || exit 1
+
+@endif target-libgo
+
+
+
+
+
 .PHONY: configure-target-libtermcap maybe-configure-target-libtermcap
 maybe-configure-target-libtermcap:
 @if gcc-bootstrap
@@ -56128,6 +56597,14 @@ check-gcc-obj-c++:
        (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-obj-c++);
 check-obj-c++: check-gcc-obj-c++
 
+.PHONY: check-gcc-go check-go
+check-gcc-go:
+       r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-go);
+check-go: check-gcc-go check-target-libgo
+
 
 # Install the gcc headers files, but not the fixed include files,
 # which Cygnus is not allowed to distribute.  This rule is very
@@ -58112,6 +58589,7 @@ configure-stagefeedback-target-libgcc: maybe-all-stagefeedback-gcc
 configure-target-libquadmath: stage_last
 configure-target-libgfortran: stage_last
 configure-target-libobjc: stage_last
+configure-target-libgo: stage_last
 configure-target-libtermcap: stage_last
 configure-target-winsup: stage_last
 configure-target-libgloss: stage_last
@@ -58142,6 +58620,7 @@ configure-target-libgcc: maybe-all-gcc
 configure-target-libquadmath: maybe-all-gcc
 configure-target-libgfortran: maybe-all-gcc
 configure-target-libobjc: maybe-all-gcc
+configure-target-libgo: maybe-all-gcc
 configure-target-libtermcap: maybe-all-gcc
 configure-target-winsup: maybe-all-gcc
 configure-target-libgloss: maybe-all-gcc
@@ -58891,6 +59370,9 @@ configure-target-boehm-gc: maybe-all-target-libstdc++-v3
 configure-target-fastjar: maybe-configure-target-zlib
 all-target-fastjar: maybe-all-target-zlib
 all-target-fastjar: maybe-all-target-libiberty
+configure-target-libgo: maybe-configure-target-libffi
+configure-target-libgo: maybe-all-target-libstdc++-v3
+all-target-libgo: maybe-all-target-libffi
 configure-target-libjava: maybe-configure-target-zlib
 configure-target-libjava: maybe-configure-target-boehm-gc
 configure-target-libjava: maybe-configure-target-qthreads
@@ -58958,6 +59440,7 @@ configure-target-newlib: maybe-all-target-libgcc
 configure-target-libquadmath: maybe-all-target-libgcc
 configure-target-libgfortran: maybe-all-target-libgcc
 configure-target-libobjc: maybe-all-target-libgcc
+configure-target-libgo: maybe-all-target-libgcc
 configure-target-libtermcap: maybe-all-target-libgcc
 configure-target-winsup: maybe-all-target-libgcc
 configure-target-libgloss: maybe-all-target-libgcc
@@ -58989,6 +59472,8 @@ configure-target-libgfortran: maybe-all-target-newlib maybe-all-target-libgloss
 
 configure-target-libobjc: maybe-all-target-newlib maybe-all-target-libgloss
 
+configure-target-libgo: maybe-all-target-newlib maybe-all-target-libgloss
+
 configure-target-libtermcap: maybe-all-target-newlib maybe-all-target-libgloss
 
 configure-target-winsup: maybe-all-target-newlib maybe-all-target-libgloss
index 27a92a0..37e7e09 100644 (file)
@@ -160,6 +160,8 @@ BUILD_EXPORTS = \
        CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
        GCJ="$(GCJ_FOR_BUILD)"; export GCJ; \
        GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
+       GOC="$(GOC_FOR_BUILD)"; export GOC; \
+       GOCFLAGS="$(GOCFLAGS_FOR_BUILD)"; export GOCFLAGS; \
        DLLTOOL="$(DLLTOOL_FOR_BUILD)"; export DLLTOOL; \
        LD="$(LD_FOR_BUILD)"; export LD; \
        LDFLAGS="$(LDFLAGS_FOR_BUILD)"; export LDFLAGS; \
@@ -196,6 +198,7 @@ HOST_EXPORTS = \
        CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
        GCJ="$(GCJ)"; export GCJ; \
        GFORTRAN="$(GFORTRAN)"; export GFORTRAN; \
+       GOC="$(GOC)"; export GOC; \
        AR="$(AR)"; export AR; \
        AS="$(AS)"; export AS; \
        CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
@@ -276,6 +279,7 @@ BASE_TARGET_EXPORTS = \
        CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
        GCJ="$(GCJ_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GCJ; \
        GFORTRAN="$(GFORTRAN_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GFORTRAN; \
+       GOC="$(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GOC; \
        DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
        LD="$(COMPILER_LD_FOR_TARGET)"; export LD; \
        LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
@@ -342,6 +346,7 @@ CXX_FOR_BUILD = @CXX_FOR_BUILD@
 DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@
 GCJ_FOR_BUILD = @GCJ_FOR_BUILD@
 GFORTRAN_FOR_BUILD = @GFORTRAN_FOR_BUILD@
+GOC_FOR_BUILD = @GOC_FOR_BUILD@
 LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@
 LD_FOR_BUILD = @LD_FOR_BUILD@
 NM_FOR_BUILD = @NM_FOR_BUILD@
@@ -404,6 +409,7 @@ LDFLAGS = @LDFLAGS@
 LIBCFLAGS = $(CFLAGS)
 CXXFLAGS = @CXXFLAGS@
 LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
+GOCFLAGS = $(CFLAGS)
 
 TFLAGS =
 
@@ -469,6 +475,7 @@ CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @CXX_FOR_TARGET@
 RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@
 GCJ_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCJ_FOR_TARGET@
 GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@
+GOC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GOC_FOR_TARGET@
 DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
 LD_FOR_TARGET=@LD_FOR_TARGET@
 
@@ -490,6 +497,7 @@ CXXFLAGS_FOR_TARGET = @CXXFLAGS_FOR_TARGET@
 LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
 LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
 LDFLAGS_FOR_TARGET = 
+GOCFLAGS_FOR_TARGET = -O2 -g
 
 FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@
 SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
@@ -567,6 +575,7 @@ EXTRA_HOST_FLAGS = \
        'DLLTOOL=$(DLLTOOL)' \
        'GCJ=$(GCJ)' \
        'GFORTRAN=$(GFORTRAN)' \
+       'GOC=$(GOC)' \
        'LD=$(LD)' \
        'LIPO=$(LIPO)' \
        'NM=$(NM)' \
@@ -615,6 +624,8 @@ EXTRA_TARGET_FLAGS = \
        'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
        'GCJ=$$(GCJ_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
        'GFORTRAN=$$(GFORTRAN_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
+       'GOC=$$(GOC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
+       'GOCFLAGS=$$(GOCFLAGS_FOR_TARGET)' \
        'LD=$(COMPILER_LD_FOR_TARGET)' \
        'LDFLAGS=$$(LDFLAGS_FOR_TARGET)' \
        'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \
index b1235c2..f224ab6 100755 (executable)
--- a/configure
+++ b/configure
@@ -578,6 +578,7 @@ LD_FOR_TARGET
 DLLTOOL_FOR_TARGET
 AS_FOR_TARGET
 AR_FOR_TARGET
+GOC_FOR_TARGET
 GFORTRAN_FOR_TARGET
 GCJ_FOR_TARGET
 GCC_FOR_TARGET
@@ -610,6 +611,7 @@ RANLIB_FOR_BUILD
 NM_FOR_BUILD
 LD_FOR_BUILD
 LDFLAGS_FOR_BUILD
+GOC_FOR_BUILD
 GFORTRAN_FOR_BUILD
 GCJ_FOR_BUILD
 DLLTOOL_FOR_BUILD
@@ -811,6 +813,7 @@ CXX_FOR_TARGET
 GCC_FOR_TARGET
 GCJ_FOR_TARGET
 GFORTRAN_FOR_TARGET
+GOC_FOR_TARGET
 AR_FOR_TARGET
 AS_FOR_TARGET
 DLLTOOL_FOR_TARGET
@@ -1563,6 +1566,8 @@ Some influential environment variables:
               GCJ for the target
   GFORTRAN_FOR_TARGET
               GFORTRAN for the target
+  GOC_FOR_TARGET
+              GOC for the target
   AR_FOR_TARGET
               AR for the target
   AS_FOR_TARGET
@@ -2701,7 +2706,8 @@ target_libraries="target-libgcc \
                target-boehm-gc \
                ${libgcj} \
                target-libobjc \
-               target-libada"
+               target-libada \
+               target-libgo"
 
 # these tools are built using the target libraries, and are intended to
 # run only in the target environment
@@ -3758,6 +3764,7 @@ if test "${build}" != "${host}" ; then
   CXX_FOR_BUILD=${CXX_FOR_BUILD-g++}
   GCJ_FOR_BUILD=${GCJ_FOR_BUILD-gcj}
   GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran}
+  GOC_FOR_BUILD=${GOC_FOR_BUILD-gccgo}
   DLLTOOL_FOR_BUILD=${DLLTOOL_FOR_BUILD-dlltool}
   LD_FOR_BUILD=${LD_FOR_BUILD-ld}
   NM_FOR_BUILD=${NM_FOR_BUILD-nm}
@@ -3771,6 +3778,7 @@ else
   CXX_FOR_BUILD="\$(CXX)"
   GCJ_FOR_BUILD="\$(GCJ)"
   GFORTRAN_FOR_BUILD="\$(GFORTRAN)"
+  GOC_FOR_BUILD="\$(GOC)"
   DLLTOOL_FOR_BUILD="\$(DLLTOOL)"
   LD_FOR_BUILD="\$(LD)"
   NM_FOR_BUILD="\$(NM)"
@@ -7527,6 +7535,7 @@ done
 
 
 
+
 # Generate default definitions for YACC, M4, LEX and other programs that run
 # on the build machine.  These are used if the Makefile can't locate these
 # programs in objdir.
 
 
 
+if test -n "$GOC_FOR_TARGET"; then
+  ac_cv_prog_GOC_FOR_TARGET=$GOC_FOR_TARGET
+elif test -n "$ac_cv_prog_GOC_FOR_TARGET"; then
+  GOC_FOR_TARGET=$ac_cv_prog_GOC_FOR_TARGET
+fi
+
+if test -n "$ac_cv_prog_GOC_FOR_TARGET"; then
+  for ncn_progname in gccgo; do
+    # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_progname}; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_GOC_FOR_TARGET+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$GOC_FOR_TARGET"; then
+  ac_cv_prog_GOC_FOR_TARGET="$GOC_FOR_TARGET" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_GOC_FOR_TARGET="${ncn_progname}"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+GOC_FOR_TARGET=$ac_cv_prog_GOC_FOR_TARGET
+if test -n "$GOC_FOR_TARGET"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GOC_FOR_TARGET" >&5
+$as_echo "$GOC_FOR_TARGET" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  done
+fi
+
+if test -z "$ac_cv_prog_GOC_FOR_TARGET" && test -n "$with_build_time_tools"; then
+  for ncn_progname in gccgo; do
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ncn_progname} in $with_build_time_tools" >&5
+$as_echo_n "checking for ${ncn_progname} in $with_build_time_tools... " >&6; }
+    if test -x $with_build_time_tools/${ncn_progname}; then
+      ac_cv_prog_GOC_FOR_TARGET=$with_build_time_tools/${ncn_progname}
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+      break
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+    fi
+  done
+fi
+
+if test -z "$ac_cv_prog_GOC_FOR_TARGET"; then
+  for ncn_progname in gccgo; do
+    if test -n "$ncn_target_tool_prefix"; then
+      # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_GOC_FOR_TARGET+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$GOC_FOR_TARGET"; then
+  ac_cv_prog_GOC_FOR_TARGET="$GOC_FOR_TARGET" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_GOC_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+GOC_FOR_TARGET=$ac_cv_prog_GOC_FOR_TARGET
+if test -n "$GOC_FOR_TARGET"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GOC_FOR_TARGET" >&5
+$as_echo "$GOC_FOR_TARGET" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    fi
+    if test -z "$ac_cv_prog_GOC_FOR_TARGET" && test $build = $target ; then
+      # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_progname}; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_GOC_FOR_TARGET+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$GOC_FOR_TARGET"; then
+  ac_cv_prog_GOC_FOR_TARGET="$GOC_FOR_TARGET" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_GOC_FOR_TARGET="${ncn_progname}"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+GOC_FOR_TARGET=$ac_cv_prog_GOC_FOR_TARGET
+if test -n "$GOC_FOR_TARGET"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GOC_FOR_TARGET" >&5
+$as_echo "$GOC_FOR_TARGET" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    fi
+    test -n "$ac_cv_prog_GOC_FOR_TARGET" && break
+  done
+fi
+
+if test -z "$ac_cv_prog_GOC_FOR_TARGET" ; then
+  set dummy gccgo
+  if test $build = $target ; then
+    GOC_FOR_TARGET="$2"
+  else
+    GOC_FOR_TARGET="${ncn_target_tool_prefix}$2"
+  fi
+else
+  GOC_FOR_TARGET="$ac_cv_prog_GOC_FOR_TARGET"
+fi
+
+
+
 cat > conftest.c << \EOF
 #ifdef __GNUC__
   gcc_yay;
@@ -13377,6 +13547,51 @@ $as_echo "pre-installed" >&6; }
   fi
 fi
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the target gccgo" >&5
+$as_echo_n "checking where to find the target gccgo... " >&6; }
+if test "x${build}" != "x${host}" ; then
+  if expr "x$GOC_FOR_TARGET" : "x/" > /dev/null; then
+    # We already found the complete path
+    ac_dir=`dirname $GOC_FOR_TARGET`
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed in $ac_dir" >&5
+$as_echo "pre-installed in $ac_dir" >&6; }
+  else
+    # Canadian cross, just use what we found
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed" >&5
+$as_echo "pre-installed" >&6; }
+  fi
+else
+  ok=yes
+  case " ${configdirs} " in
+    *" gcc "*) ;;
+    *) ok=no ;;
+  esac
+  case ,${enable_languages}, in
+    *,go,*) ;;
+    *) ok=no ;;
+  esac
+  if test $ok = yes; then
+    # An in-tree tool is available and we can use it
+    GOC_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/gccgo -B$$r/$(HOST_SUBDIR)/gcc/'
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: just compiled" >&5
+$as_echo "just compiled" >&6; }
+  elif expr "x$GOC_FOR_TARGET" : "x/" > /dev/null; then
+    # We already found the complete path
+    ac_dir=`dirname $GOC_FOR_TARGET`
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed in $ac_dir" >&5
+$as_echo "pre-installed in $ac_dir" >&6; }
+  elif test "x$target" = "x$host"; then
+    # We can use an host tool
+    GOC_FOR_TARGET='$(GOC)'
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: host tool" >&5
+$as_echo "host tool" >&6; }
+  else
+    # We need a cross tool
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed" >&5
+$as_echo "pre-installed" >&6; }
+  fi
+fi
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the target ld" >&5
 $as_echo_n "checking where to find the target ld... " >&6; }
 if test "x${build}" != "x${host}" ; then
index 7d023c8..eac635a 100644 (file)
@@ -200,7 +200,8 @@ target_libraries="target-libgcc \
                target-boehm-gc \
                ${libgcj} \
                target-libobjc \
-               target-libada"
+               target-libada \
+               target-libgo"
 
 # these tools are built using the target libraries, and are intended to
 # run only in the target environment
@@ -1209,6 +1210,7 @@ if test "${build}" != "${host}" ; then
   CXX_FOR_BUILD=${CXX_FOR_BUILD-g++}
   GCJ_FOR_BUILD=${GCJ_FOR_BUILD-gcj}
   GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran}
+  GOC_FOR_BUILD=${GOC_FOR_BUILD-gccgo}
   DLLTOOL_FOR_BUILD=${DLLTOOL_FOR_BUILD-dlltool}
   LD_FOR_BUILD=${LD_FOR_BUILD-ld}
   NM_FOR_BUILD=${NM_FOR_BUILD-nm}
@@ -1222,6 +1224,7 @@ else
   CXX_FOR_BUILD="\$(CXX)"
   GCJ_FOR_BUILD="\$(GCJ)"
   GFORTRAN_FOR_BUILD="\$(GFORTRAN)"
+  GOC_FOR_BUILD="\$(GOC)"
   DLLTOOL_FOR_BUILD="\$(DLLTOOL)"
   LD_FOR_BUILD="\$(LD)"
   NM_FOR_BUILD="\$(NM)"
@@ -3052,6 +3055,7 @@ AC_SUBST(CXX_FOR_BUILD)
 AC_SUBST(DLLTOOL_FOR_BUILD)
 AC_SUBST(GCJ_FOR_BUILD)
 AC_SUBST(GFORTRAN_FOR_BUILD)
+AC_SUBST(GOC_FOR_BUILD)
 AC_SUBST(LDFLAGS_FOR_BUILD)
 AC_SUBST(LD_FOR_BUILD)
 AC_SUBST(NM_FOR_BUILD)
@@ -3162,6 +3166,7 @@ NCN_STRICT_CHECK_TARGET_TOOLS(CXX_FOR_TARGET, c++ g++ cxx gxx)
 NCN_STRICT_CHECK_TARGET_TOOLS(GCC_FOR_TARGET, gcc, ${CC_FOR_TARGET})
 NCN_STRICT_CHECK_TARGET_TOOLS(GCJ_FOR_TARGET, gcj)
 NCN_STRICT_CHECK_TARGET_TOOLS(GFORTRAN_FOR_TARGET, gfortran)
+NCN_STRICT_CHECK_TARGET_TOOLS(GOC_FOR_TARGET, gccgo)
 
 ACX_CHECK_INSTALLED_TARGET_TOOL(AR_FOR_TARGET, ar)
 ACX_CHECK_INSTALLED_TARGET_TOOL(AS_FOR_TARGET, as)
@@ -3192,6 +3197,8 @@ GCC_TARGET_TOOL(gcj, GCJ_FOR_TARGET, GCJ,
                [gcc/gcj -B$$r/$(HOST_SUBDIR)/gcc/], java)
 GCC_TARGET_TOOL(gfortran, GFORTRAN_FOR_TARGET, GFORTRAN,
                [gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc/], fortran)
+GCC_TARGET_TOOL(gccgo, GOC_FOR_TARGET, GOC,
+               [gcc/gccgo -B$$r/$(HOST_SUBDIR)/gcc/], go)
 GCC_TARGET_TOOL(ld, LD_FOR_TARGET, LD, [ld/ld-new])
 GCC_TARGET_TOOL(lipo, LIPO_FOR_TARGET, LIPO)
 GCC_TARGET_TOOL(nm, NM_FOR_TARGET, NM, [binutils/nm-new])