mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-15 04:31:49 +08:00
1d01693f55
When building with a primary target that doesn't feature a simulator, one would expect for nothing to be done in sim/. However, a $(top_builddir)/sim/testsuite directory is created, with a Makefile containing a rule like: check-DEJAGNU: site.exp echo "Dejagnu-checking in `pwd` directory ..." rootme=`pwd`; export rootme; echo rootme = $$rootme; \ srcdir=`cd ${srcdir}; pwd`; export srcdir ; echo srcdir = $$srcdir; \ EXPECT=${EXPECT} ; export EXPECT ; echo EXPECT = $$EXPECT; \ if [ -f $$rootme/../../expect/expect ]; then \ TCL_LIBRARY=`cd $$srcdir/../../tcl/library && pwd`; \ export TCL_LIBRARY; \ fi; \ echo TCL_LIBRARY = $$TCL_LIBRARY; \ runtest=$(RUNTEST); echo runtest = $$runtest; \ if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \ $$runtest $(RUNTESTFLAGS); \ else echo "WARNING: could not find \`runtest'" 1>&2; :;\ fi Consequently, when `make check' recurses into sim/testsuite, the above rule is executed. Until now, the desired effect (of doing nothing) was achieved because `runtest --version' fails due to a malformed site.exp being generated in objdir: it is malformed because the primary target doesn't configure a $sim_arch. i.e. this was doing the right thing just by chance. However, the git version of dejagnu seems to have changed in a way runtest doesn't try to load site.exp when it gets --version. The net effect is that the rule above tries to actually run the tests, failing miserably. This little patch makes sim/configure to not recurse into sim/testsuite if the primary target didn't configure a simulator. Tested with: - A simulator target (bpf-unkonwn-none). - A simulator-less target (x86_64-linux-gnu). - A simulator-less target and --build-targets=all. sim/ChangeLog: 2020-09-03 Jose E. Marchesi <jose.marchesi@oracle.com> * configure.ac: Do not configure sim/testsuite nor sim/igen if the primary target doesn't have a simulator. * configure: Regenerate.
57 lines
1.2 KiB
Plaintext
57 lines
1.2 KiB
Plaintext
dnl Process this file with autoconf to produce a configure script.
|
|
m4_include([../config/override.m4])
|
|
AC_INIT(Makefile.in)
|
|
|
|
AC_PROG_CC
|
|
AC_PROG_INSTALL
|
|
AC_CHECK_TOOL(AR, ar)
|
|
AC_CHECK_TOOL(RANLIB, ranlib, :)
|
|
|
|
AC_CANONICAL_SYSTEM
|
|
AC_ARG_PROGRAM
|
|
AC_PROG_CC
|
|
AC_SUBST(CFLAGS)
|
|
AC_SUBST(HDEFINES)
|
|
AR=${AR-ar}
|
|
AC_SUBST(AR)
|
|
AC_PROG_RANLIB
|
|
|
|
# Put a plausible default for CC_FOR_BUILD in Makefile.
|
|
if test -z "$CC_FOR_BUILD"; then
|
|
if test "x$cross_compiling" = "xno"; then
|
|
CC_FOR_BUILD='$(CC)'
|
|
else
|
|
CC_FOR_BUILD=gcc
|
|
fi
|
|
fi
|
|
AC_SUBST(CC_FOR_BUILD)
|
|
CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}}
|
|
AC_SUBST(CFLAGS_FOR_BUILD)
|
|
|
|
# If a cpu ever has more than one simulator to choose from, use
|
|
# --enable-sim=... to choose.
|
|
AC_ARG_ENABLE(sim,
|
|
[AS_HELP_STRING([--enable-sim], [Enable the GNU simulator])],
|
|
[case "${enableval}" in
|
|
yes | no) ;;
|
|
*) AC_MSG_ERROR(bad value ${enableval} given for --enable-sim option) ;;
|
|
esac])
|
|
|
|
m4_define([SIM_ARCH], [
|
|
sim_arch=$1
|
|
AC_CONFIG_SUBDIRS($1)
|
|
])
|
|
if test "${enable_sim}" != no; then
|
|
sinclude(configure.tgt)
|
|
if test x"${sim_arch}" != x; then
|
|
AC_CONFIG_SUBDIRS(testsuite)
|
|
if test "$sim_igen" = yes; then
|
|
AC_CONFIG_SUBDIRS(igen)
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
AC_OUTPUT(Makefile)
|
|
|
|
exit 0
|