summaryrefslogtreecommitdiff
path: root/libgomp/testsuite/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'libgomp/testsuite/Makefile.am')
-rw-r--r--libgomp/testsuite/Makefile.am66
1 files changed, 63 insertions, 3 deletions
diff --git a/libgomp/testsuite/Makefile.am b/libgomp/testsuite/Makefile.am
index 3e536c43ec1..2100f49e53b 100644
--- a/libgomp/testsuite/Makefile.am
+++ b/libgomp/testsuite/Makefile.am
@@ -1,6 +1,6 @@
## Process this file with automake to produce Makefile.in.
-AUTOMAKE_OPTIONS = foreign dejagnu
+AUTOMAKE_OPTIONS = foreign
# May be used by various substitution variables.
gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
@@ -10,8 +10,7 @@ EXPECT = $(shell if test -f $(top_builddir)/../expect/expect; then \
_RUNTEST = $(shell if test -f $(top_srcdir)/../dejagnu/runtest; then \
echo $(top_srcdir)/../dejagnu/runtest; else echo runtest; fi)
-RUNTEST = $(_RUNTEST) $(AM_RUNTESTFLAGS)
-
+RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
# Instead of directly in ../testsuite/libgomp-test-support.exp.in, the
# following variables have to be "routed through" this Makefile, for expansion
@@ -24,4 +23,65 @@ libgomp-test-support.exp: libgomp-test-support.pt.exp Makefile
'set offload_additional_lib_paths "$(offload_additional_lib_paths)"'
mv $@.tmp $@
+check-DEJAGNU: site.exp
+ srcdir='$(srcdir)'; export srcdir; \
+ EXPECT=$(EXPECT); export EXPECT; \
+ if $(SHELL) -c "$(_RUNTEST) --version" > /dev/null 2>&1; then \
+ exit_status=0; l='$(PACKAGE)'; for tool in $$l; do \
+ if $(_RUNTEST) $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) $(RUNTESTFLAGS); \
+ then :; else exit_status=1; fi; \
+ done; \
+ else echo "WARNING: could not find '$(_RUNTEST)'" 1>&2; :;\
+ fi; \
+ exit $$exit_status
+site.exp: Makefile $(EXTRA_DEJAGNU_SITE_CONFIG)
+ @echo 'Making a new site.exp file ...'
+ @echo '## these variables are automatically generated by make ##' >site.tmp
+ @echo '# Do not edit here. If you wish to override these values' >>site.tmp
+ @echo '# edit the last section' >>site.tmp
+ @echo 'set srcdir "$(srcdir)"' >>site.tmp
+ @echo "set objdir `pwd`" >>site.tmp
+ @echo 'set build_alias "$(build_alias)"' >>site.tmp
+ @echo 'set build_triplet $(build_triplet)' >>site.tmp
+ @echo 'set host_alias "$(host_alias)"' >>site.tmp
+ @echo 'set host_triplet $(host_triplet)' >>site.tmp
+ @echo 'set target_alias "$(target_alias)"' >>site.tmp
+ @echo 'set target_triplet $(target_triplet)' >>site.tmp
+ @list='$(EXTRA_DEJAGNU_SITE_CONFIG)'; for f in $$list; do \
+ echo "## Begin content included from file $$f. Do not modify. ##" \
+ && cat `test -f "$$f" || echo '$(srcdir)/'`$$f \
+ && echo "## End content included from file $$f. ##" \
+ || exit 1; \
+ done >> site.tmp
+ @echo "## End of auto-generated content; you can edit from here. ##" >> site.tmp
+ @if test -f site.exp; then \
+ sed -e '1,/^## End of auto-generated content.*##/d' site.exp >> site.tmp; \
+ fi
+ @-rm -f site.bak
+ @test ! -f site.exp || mv site.exp site.bak
+ @mv site.tmp site.exp
+
+distclean-DEJAGNU:
+ -rm -f site.exp site.bak
+ -l='$(PACKAGE)'; for tool in $$l; do \
+ rm -f $$tool.sum $$tool.log; \
+ done
+distclean-am: distclean-DEJAGNU
+check-am:
+ @if test -n "$(filter -j%, $(MFLAGS))"; then \
+ num_cpus=1; \
+ if type -p getconf 2>/dev/null >/dev/null; then \
+ num_cpus=`getconf _NPROCESSORS_ONLN 2>/dev/null`; \
+ case "$$num_cpus" in \
+ '' | 0* | *[!0-9]*) num_cpus=1;; \
+ esac; \
+ fi; \
+ if test $$num_cpus -gt 8 && test -z "$$OMP_NUM_THREADS"; then \
+ OMP_NUM_THREADS=8; export OMP_NUM_THREADS; \
+ echo @@@ libgomp OMP_NUM_THREADS adjusted to 8 because of parallel make check and too many CPUs; \
+ fi; \
+ fi; \
+ $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU
all-local: libgomp-test-support.exp
+
+.PHONY: check-DEJAGNU distclean-DEJAGNU