diff options
author | Jose E. Marchesi <jose.marchesi@oracle.com> | 2020-09-03 15:22:05 +0200 |
---|---|---|
committer | Jose E. Marchesi <jose.marchesi@oracle.com> | 2020-09-03 18:21:20 +0200 |
commit | 1d01693f555be09f78cea4e2454c24457777f057 (patch) | |
tree | b2f79a7ef21bed3b0557fe9e0a7b43f3e95bc0c1 /sim/configure | |
parent | dd216e07a156c19e589fc5f481fe13a256262801 (diff) | |
download | gdb-1d01693f555be09f78cea4e2454c24457777f057.zip gdb-1d01693f555be09f78cea4e2454c24457777f057.tar.gz gdb-1d01693f555be09f78cea4e2454c24457777f057.tar.bz2 |
sim: better handle builds of primary targets lacking sims
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.
Diffstat (limited to 'sim/configure')
-rwxr-xr-x | sim/configure | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sim/configure b/sim/configure index 37a86f4..34f1a15 100755 --- a/sim/configure +++ b/sim/configure @@ -3914,11 +3914,13 @@ subdirs="$subdirs aarch64" esac - subdirs="$subdirs testsuite" + if test x"${sim_arch}" != x; then + subdirs="$subdirs testsuite" - if test "$sim_igen" = yes; then - subdirs="$subdirs igen" + if test "$sim_igen" = yes; then + subdirs="$subdirs igen" + fi fi fi |