configure.ac: Substitute GOC_FOR_TARGET and GCC_FOR_TARGET.
authorIan Lance Taylor <iant@google.com>
Wed, 30 Aug 2017 18:27:17 +0000 (18:27 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Wed, 30 Aug 2017 18:27:17 +0000 (18:27 +0000)
* configure.ac: Substitute GOC_FOR_TARGET and GCC_FOR_TARGET.
* Makefile.am (MOSTLYCLEANFILES): Add check-gcc.
(check-gccgo): Create via a temporary file.
(check-gcc): New target.
(CHECK_ENV): Set CC.
(ECHO_ENV): Report CC.
(check-go-tool): Depend on check-gcc.
(check-runtime, check-cgo-test, check-carchive-test): Likewise.
* configure, Makefile.in: Rebuild.

From-SVN: r251540

gotools/ChangeLog
gotools/Makefile.am
gotools/Makefile.in
gotools/configure
gotools/configure.ac

index 18cbf119933b146ea541003380f9408b76f31594..1864293f4c60cdf4a71a4faa2f5612bdb3839685 100644 (file)
@@ -1,3 +1,15 @@
+2017-08-30  Ian Lance Taylor  <iant@google.com>
+
+       * configure.ac: Substitute GOC_FOR_TARGET and GCC_FOR_TARGET.
+       * Makefile.am (MOSTLYCLEANFILES): Add check-gcc.
+       (check-gccgo): Create via a temporary file.
+       (check-gcc): New target.
+       (CHECK_ENV): Set CC.
+       (ECHO_ENV): Report CC.
+       (check-go-tool): Depend on check-gcc.
+       (check-runtime, check-cgo-test, check-carchive-test): Likewise.
+       * configure, Makefile.in: Rebuild.
+
 2017-07-26  Ian Lance Taylor  <iant@golang.org>
 
        PR go/81548
index b9dced4a5d761ac3e328cc915117a5308676ed0d..41a2c72dc5b82cd7aa35d0bad2f16cf39379b002 100644 (file)
@@ -109,7 +109,8 @@ s-zdefaultcc: Makefile
 
 MOSTLYCLEANFILES = \
        zdefaultcc.go s-zdefaultcc \
-       check-gccgo gotools.head *-testlog gotools.sum gotools.log *.sent
+       check-gccgo check-gcc gotools.head *-testlog gotools.sum gotools.log \
+       *.sent
 
 mostlyclean-local:
        rm -rf check-go-dir check-runtime-dir cgo-test-dir carchive-test-dir
@@ -155,11 +156,22 @@ check-head:
 # check-gccgo is a little shell script that executes gccgo with the
 # options to pick up the newly built libgo.
 check-gccgo: Makefile
-       rm -f $@
-       echo "#!/bin/sh" > $@
+       rm -f $@ $@.tmp
+       echo "#!/bin/sh" > $@.tmp
        abs_libgodir=`cd $(libgodir) && $(PWD_COMMAND)`; \
-       echo "$(GOCOMPILE)" '"$$@"' "-I $${abs_libgodir} -L $${abs_libgodir} -L $${abs_libgodir}/.libs" >> $@
-       chmod +x $@
+       echo "$(GOCOMPILE)" '"$$@"' "-I $${abs_libgodir} -L $${abs_libgodir} -L $${abs_libgodir}/.libs" >> $@.tmp
+       chmod +x $@.tmp
+       mv -f $@.tmp $@
+
+# check-gcc is a little shell script that executes the newly built gcc
+# with the options to pick up the newly built libgo.
+check-gcc: Makefile
+       rm -f $@ $@.tmp
+       echo "#!/bin/sh" > $@.tmp
+       abs_libgodir=`cd $(libgodir) && $(PWD_COMMAND)`; \
+       echo "$(GCC_FOR_TARGET)" '"$$@"' "-L $${abs_libgodir} -L $${abs_libgodir}/.libs" >> $@.tmp
+       chmod +x $@.tmp
+       mv -f $@.tmp $@
 
 # CHECK_ENV sets up the environment to run the newly built go tool.
 # If you change this, change ECHO_ENV, below.
@@ -168,6 +180,8 @@ CHECK_ENV = \
        export PATH; \
        GCCGO="$(abs_builddir)/check-gccgo"; \
        export GCCGO; \
+       CC="$(abs_builddir)/check-gcc"; \
+       export CC; \
        GCCGOTOOLDIR="$(abs_builddir)"; \
        export GCCGOTOOLDIR; \
        GO_TESTING_GOTOOLS=yes; \
@@ -180,10 +194,10 @@ CHECK_ENV = \
 
 # ECHO_ENV is a variant of CHECK_ENV to put into a testlog file.
 # It assumes that abs_libgodir is set.
-ECHO_ENV = PATH=`echo $(abs_builddir):$${PATH} | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'` GCCGO='$(abs_builddir)/check-gccgo' GCCGOTOOLDIR='$(abs_builddir)' GO_TESTING_GOTOOLS=yes LD_LIBRARY_PATH=`echo $${abs_libgodir}/.libs:$${LD_LIBRARY_PATH} | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'` GOROOT=`echo $${abs_libgodir}`
+ECHO_ENV = PATH=`echo $(abs_builddir):$${PATH} | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'` GCCGO='$(abs_builddir)/check-gccgo' CC='$(abs_builddir)/check-gcc' GCCGOTOOLDIR='$(abs_builddir)' GO_TESTING_GOTOOLS=yes LD_LIBRARY_PATH=`echo $${abs_libgodir}/.libs:$${LD_LIBRARY_PATH} | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'` GOROOT=`echo $${abs_libgodir}`
 
 # check-go-tools runs `go test cmd/go` in our environment.
-check-go-tool: go$(EXEEXT) cgo$(EXEEXT) check-head check-gccgo
+check-go-tool: go$(EXEEXT) cgo$(EXEEXT) check-head check-gccgo check-gcc
        rm -rf check-go-dir cmd_go-testlog
        $(MKDIR_P) check-go-dir/src/cmd/go
        cp $(cmdsrcdir)/go/*.go check-go-dir/src/cmd/go/
@@ -203,7 +217,7 @@ check-go-tool: go$(EXEEXT) cgo$(EXEEXT) check-head check-gccgo
 # The runtime package is also tested as part of libgo,
 # but the runtime tests use the go tool heavily, so testing
 # here too will catch more problems.
-check-runtime: go$(EXEEXT) cgo$(EXEEXT) check-head check-gccgo
+check-runtime: go$(EXEEXT) cgo$(EXEEXT) check-head check-gccgo check-gcc
        rm -rf check-runtime-dir runtime-testlog
        $(MKDIR_P) check-runtime-dir
        @abs_libgodir=`cd $(libgodir) && $(PWD_COMMAND)`; \
@@ -222,7 +236,7 @@ check-runtime: go$(EXEEXT) cgo$(EXEEXT) check-head check-gccgo
        grep '^--- ' runtime-testlog | sed -e 's/^--- \(.*\) ([^)]*)$$/\1/'
 
 # check-cgo-test runs `go test misc/cgo/test` in our environment.
-check-cgo-test: go$(EXEEXT) cgo$(EXEEXT) check-head check-gccgo
+check-cgo-test: go$(EXEEXT) cgo$(EXEEXT) check-head check-gccgo check-gcc
        rm -rf cgo-test-dir cgo-testlog
        $(MKDIR_P) cgo-test-dir/misc/cgo
        cp -r $(libgomiscdir)/cgo/test cgo-test-dir/misc/cgo/
@@ -236,7 +250,7 @@ check-cgo-test: go$(EXEEXT) cgo$(EXEEXT) check-head check-gccgo
 
 # check-carchive-test runs `go test misc/cgo/testcarchive/carchive_test.go`
 # in our environment.
-check-carchive-test: go$(EXEEXT) cgo$(EXEEXT) check-head check-gccgo
+check-carchive-test: go$(EXEEXT) cgo$(EXEEXT) check-head check-gccgo check-gcc
        rm -rf carchive-test-dir carchive-testlog
        $(MKDIR_P) carchive-test-dir/misc/cgo
        cp -r $(libgomiscdir)/cgo/testcarchive carchive-test-dir/misc/cgo/
index 9c0084e2e187ff73caa134c6d0301047cc90d066..148665a46e9f54beee6b015d05715dff66213fee 100644 (file)
@@ -160,8 +160,10 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EXEEXT = @EXEEXT@
+GCC_FOR_TARGET = @GCC_FOR_TARGET@
 GOC = @GOC@
 GOCFLAGS = $(CFLAGS_FOR_TARGET)
+GOC_FOR_TARGET = @GOC_FOR_TARGET@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -316,7 +318,8 @@ GCC_INSTALL_NAME := $(shell echo gcc|sed '$(program_transform_name)')
 GXX_INSTALL_NAME := $(shell echo g++|sed '$(program_transform_name)')
 MOSTLYCLEANFILES = \
        zdefaultcc.go s-zdefaultcc \
-       check-gccgo gotools.head *-testlog gotools.sum gotools.log *.sent
+       check-gccgo check-gcc gotools.head *-testlog gotools.sum gotools.log \
+       *.sent
 
 
 # For a native build we build the programs using the newly built libgo
@@ -332,6 +335,8 @@ MOSTLYCLEANFILES = \
 @NATIVE_TRUE@  export PATH; \
 @NATIVE_TRUE@  GCCGO="$(abs_builddir)/check-gccgo"; \
 @NATIVE_TRUE@  export GCCGO; \
+@NATIVE_TRUE@  CC="$(abs_builddir)/check-gcc"; \
+@NATIVE_TRUE@  export CC; \
 @NATIVE_TRUE@  GCCGOTOOLDIR="$(abs_builddir)"; \
 @NATIVE_TRUE@  export GCCGOTOOLDIR; \
 @NATIVE_TRUE@  GO_TESTING_GOTOOLS=yes; \
@@ -345,7 +350,7 @@ MOSTLYCLEANFILES = \
 
 # ECHO_ENV is a variant of CHECK_ENV to put into a testlog file.
 # It assumes that abs_libgodir is set.
-@NATIVE_TRUE@ECHO_ENV = PATH=`echo $(abs_builddir):$${PATH} | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'` GCCGO='$(abs_builddir)/check-gccgo' GCCGOTOOLDIR='$(abs_builddir)' GO_TESTING_GOTOOLS=yes LD_LIBRARY_PATH=`echo $${abs_libgodir}/.libs:$${LD_LIBRARY_PATH} | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'` GOROOT=`echo $${abs_libgodir}`
+@NATIVE_TRUE@ECHO_ENV = PATH=`echo $(abs_builddir):$${PATH} | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'` GCCGO='$(abs_builddir)/check-gccgo' CC='$(abs_builddir)/check-gcc' GCCGOTOOLDIR='$(abs_builddir)' GO_TESTING_GOTOOLS=yes LD_LIBRARY_PATH=`echo $${abs_libgodir}/.libs:$${LD_LIBRARY_PATH} | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'` GOROOT=`echo $${abs_libgodir}`
 all: all-am
 
 .SUFFIXES:
@@ -734,14 +739,25 @@ mostlyclean-local:
 # check-gccgo is a little shell script that executes gccgo with the
 # options to pick up the newly built libgo.
 @NATIVE_TRUE@check-gccgo: Makefile
-@NATIVE_TRUE@  rm -f $@
-@NATIVE_TRUE@  echo "#!/bin/sh" > $@
+@NATIVE_TRUE@  rm -f $@ $@.tmp
+@NATIVE_TRUE@  echo "#!/bin/sh" > $@.tmp
 @NATIVE_TRUE@  abs_libgodir=`cd $(libgodir) && $(PWD_COMMAND)`; \
-@NATIVE_TRUE@  echo "$(GOCOMPILE)" '"$$@"' "-I $${abs_libgodir} -L $${abs_libgodir} -L $${abs_libgodir}/.libs" >> $@
-@NATIVE_TRUE@  chmod +x $@
+@NATIVE_TRUE@  echo "$(GOCOMPILE)" '"$$@"' "-I $${abs_libgodir} -L $${abs_libgodir} -L $${abs_libgodir}/.libs" >> $@.tmp
+@NATIVE_TRUE@  chmod +x $@.tmp
+@NATIVE_TRUE@  mv -f $@.tmp $@
+
+# check-gcc is a little shell script that executes the newly built gcc
+# with the options to pick up the newly built libgo.
+@NATIVE_TRUE@check-gcc: Makefile
+@NATIVE_TRUE@  rm -f $@ $@.tmp
+@NATIVE_TRUE@  echo "#!/bin/sh" > $@.tmp
+@NATIVE_TRUE@  abs_libgodir=`cd $(libgodir) && $(PWD_COMMAND)`; \
+@NATIVE_TRUE@  echo "$(GCC_FOR_TARGET)" '"$$@"' "-L $${abs_libgodir} -L $${abs_libgodir}/.libs" >> $@.tmp
+@NATIVE_TRUE@  chmod +x $@.tmp
+@NATIVE_TRUE@  mv -f $@.tmp $@
 
 # check-go-tools runs `go test cmd/go` in our environment.
-@NATIVE_TRUE@check-go-tool: go$(EXEEXT) cgo$(EXEEXT) check-head check-gccgo
+@NATIVE_TRUE@check-go-tool: go$(EXEEXT) cgo$(EXEEXT) check-head check-gccgo check-gcc
 @NATIVE_TRUE@  rm -rf check-go-dir cmd_go-testlog
 @NATIVE_TRUE@  $(MKDIR_P) check-go-dir/src/cmd/go
 @NATIVE_TRUE@  cp $(cmdsrcdir)/go/*.go check-go-dir/src/cmd/go/
@@ -761,7 +777,7 @@ mostlyclean-local:
 # The runtime package is also tested as part of libgo,
 # but the runtime tests use the go tool heavily, so testing
 # here too will catch more problems.
-@NATIVE_TRUE@check-runtime: go$(EXEEXT) cgo$(EXEEXT) check-head check-gccgo
+@NATIVE_TRUE@check-runtime: go$(EXEEXT) cgo$(EXEEXT) check-head check-gccgo check-gcc
 @NATIVE_TRUE@  rm -rf check-runtime-dir runtime-testlog
 @NATIVE_TRUE@  $(MKDIR_P) check-runtime-dir
 @NATIVE_TRUE@  @abs_libgodir=`cd $(libgodir) && $(PWD_COMMAND)`; \
@@ -780,7 +796,7 @@ mostlyclean-local:
 @NATIVE_TRUE@  grep '^--- ' runtime-testlog | sed -e 's/^--- \(.*\) ([^)]*)$$/\1/'
 
 # check-cgo-test runs `go test misc/cgo/test` in our environment.
-@NATIVE_TRUE@check-cgo-test: go$(EXEEXT) cgo$(EXEEXT) check-head check-gccgo
+@NATIVE_TRUE@check-cgo-test: go$(EXEEXT) cgo$(EXEEXT) check-head check-gccgo check-gcc
 @NATIVE_TRUE@  rm -rf cgo-test-dir cgo-testlog
 @NATIVE_TRUE@  $(MKDIR_P) cgo-test-dir/misc/cgo
 @NATIVE_TRUE@  cp -r $(libgomiscdir)/cgo/test cgo-test-dir/misc/cgo/
@@ -794,7 +810,7 @@ mostlyclean-local:
 
 # check-carchive-test runs `go test misc/cgo/testcarchive/carchive_test.go`
 # in our environment.
-@NATIVE_TRUE@check-carchive-test: go$(EXEEXT) cgo$(EXEEXT) check-head check-gccgo
+@NATIVE_TRUE@check-carchive-test: go$(EXEEXT) cgo$(EXEEXT) check-head check-gccgo check-gcc
 @NATIVE_TRUE@  rm -rf carchive-test-dir carchive-testlog
 @NATIVE_TRUE@  $(MKDIR_P) carchive-test-dir/misc/cgo
 @NATIVE_TRUE@  cp -r $(libgomiscdir)/cgo/testcarchive carchive-test-dir/misc/cgo/
index a1addc3b6a94b567fd25e8a126b4deb3568929ef..44e25701bd64eb02ad97ff692a29591cd6ebba82 100755 (executable)
@@ -558,6 +558,8 @@ LIBOBJS
 NET_LIBS
 NATIVE_FALSE
 NATIVE_TRUE
+GCC_FOR_TARGET
+GOC_FOR_TARGET
 GOCFLAGS
 GOC
 am__fastdepCC_FALSE
@@ -3783,6 +3785,11 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
+# These should be defined by the top-level configure.
+# Copy them into Makefile.
+
+
+
  if test "$host_alias" = "$target_alias"; then
   NATIVE_TRUE=
   NATIVE_FALSE='#'
index 81afe9ed886165dbf4e929ab433bde958ecb9b65..5b0920448e30921f67580c924ae6091f789ea39c 100644 (file)
@@ -46,6 +46,11 @@ AC_PROG_INSTALL
 AC_PROG_CC
 AC_PROG_GO
 
+# These should be defined by the top-level configure.
+# Copy them into Makefile.
+AC_SUBST(GOC_FOR_TARGET)
+AC_SUBST(GCC_FOR_TARGET)
+
 AM_CONDITIONAL(NATIVE, test "$host_alias" = "$target_alias")
 
 dnl Test for -lsocket and -lnsl.  Copied from libjava/configure.ac.