From b72813a68c943643a6241418f27aa8b9d4614647 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Mon, 11 Nov 2019 23:28:54 +0000 Subject: [PATCH] libgo: fix DejaGNU testsuite compiler when using build sysroot Patch by Maciej W. Rozycki. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/206577 From-SVN: r278070 --- libgo/configure | 3 ++- libgo/configure.ac | 2 +- libgo/testsuite/Makefile.am | 2 ++ libgo/testsuite/Makefile.in | 5 ++++- libgo/testsuite/lib/libgo.exp | 13 ++++++++----- libgo/testsuite/libgo-test-support.exp.in | 17 +++++++++++++++++ 6 files changed, 34 insertions(+), 8 deletions(-) create mode 100644 libgo/testsuite/libgo-test-support.exp.in diff --git a/libgo/configure b/libgo/configure index 09c89dfe070..ba80569e26d 100755 --- a/libgo/configure +++ b/libgo/configure @@ -15850,7 +15850,7 @@ else multilib_arg= fi -ac_config_files="$ac_config_files Makefile testsuite/Makefile" +ac_config_files="$ac_config_files Makefile testsuite/Makefile testsuite/libgo-test-support.exp" ac_config_commands="$ac_config_commands default" @@ -17031,6 +17031,7 @@ do "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;; + "testsuite/libgo-test-support.exp") CONFIG_FILES="$CONFIG_FILES testsuite/libgo-test-support.exp" ;; "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; diff --git a/libgo/configure.ac b/libgo/configure.ac index de364afd0fe..00b4054a0ee 100644 --- a/libgo/configure.ac +++ b/libgo/configure.ac @@ -877,7 +877,7 @@ else multilib_arg= fi -AC_CONFIG_FILES(Makefile testsuite/Makefile) +AC_CONFIG_FILES(Makefile testsuite/Makefile testsuite/libgo-test-support.exp) AC_CONFIG_COMMANDS([default], [if test -n "$CONFIG_FILES"; then diff --git a/libgo/testsuite/Makefile.am b/libgo/testsuite/Makefile.am index 8c6249d9d12..892cda770dc 100644 --- a/libgo/testsuite/Makefile.am +++ b/libgo/testsuite/Makefile.am @@ -11,6 +11,8 @@ RUNTEST = `if [ -f $(top_srcdir)/../dejagnu/runtest ] ; then \ echo $(top_srcdir)/../dejagnu/runtest ; \ else echo runtest; fi` +EXTRA_DEJAGNU_SITE_CONFIG = libgo-test-support.exp + # When running the tests we set GCC_EXEC_PREFIX to the install tree so that # files that have already been installed there will be found. The -B option # overrides it, so use of GCC_EXEC_PREFIX will not result in using GCC files diff --git a/libgo/testsuite/Makefile.in b/libgo/testsuite/Makefile.in index 41d81b5684f..7b4b27f0c30 100644 --- a/libgo/testsuite/Makefile.in +++ b/libgo/testsuite/Makefile.in @@ -106,7 +106,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ DIST_COMMON = $(srcdir)/Makefile.am mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = +CONFIG_CLEAN_FILES = libgo-test-support.exp CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) @@ -299,6 +299,7 @@ RUNTEST = `if [ -f $(top_srcdir)/../dejagnu/runtest ] ; then \ echo $(top_srcdir)/../dejagnu/runtest ; \ else echo runtest; fi` +EXTRA_DEJAGNU_SITE_CONFIG = libgo-test-support.exp # When running the tests we set GCC_EXEC_PREFIX to the install tree so that # files that have already been installed there will be found. The -B option @@ -338,6 +339,8 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): +libgo-test-support.exp: $(top_builddir)/config.status $(srcdir)/libgo-test-support.exp.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ mostlyclean-libtool: -rm -f *.lo diff --git a/libgo/testsuite/lib/libgo.exp b/libgo/testsuite/lib/libgo.exp index 1b0f26a6884..b5833bbafe2 100644 --- a/libgo/testsuite/lib/libgo.exp +++ b/libgo/testsuite/lib/libgo.exp @@ -14,13 +14,16 @@ # along with GCC; see the file COPYING3. If not see # . -set gccdir [lookfor_file $tool_root_dir gcc/libgcc.a] -if {$gccdir != ""} { - set gccdir [file dirname $gccdir] -} -set GOC_UNDER_TEST "$gccdir/gccgo -B$gccdir/" set TESTING_IN_BUILD_TREE 1 +if ![info exists GOC_UNDER_TEST] then { + set gccdir [lookfor_file $tool_root_dir gcc/libgcc.a] + if {$gccdir != ""} { + set gccdir [file dirname $gccdir] + } + set GOC_UNDER_TEST "$gccdir/gccgo -B$gccdir/" +} + if [info exists GOTEST_TMPDIR] { set tmpdir $GOTEST_TMPDIR } diff --git a/libgo/testsuite/libgo-test-support.exp.in b/libgo/testsuite/libgo-test-support.exp.in new file mode 100644 index 00000000000..aaa6c5ef91d --- /dev/null +++ b/libgo/testsuite/libgo-test-support.exp.in @@ -0,0 +1,17 @@ +# Copyright (C) 2019 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GCC; see the file COPYING3. If not see +# . + +set GOC_UNDER_TEST {@GOC@}