OSDN Git Service

contrib/
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / testsuite / Makefile.in
index 71a6bd8..85a2ffd 100644 (file)
@@ -41,6 +41,7 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 subdir = testsuite
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../config/enable.m4 \
+       $(top_srcdir)/../config/futex.m4 \
        $(top_srcdir)/../config/iconv.m4 \
        $(top_srcdir)/../config/lead-dot.m4 \
        $(top_srcdir)/../config/lib-ld.m4 \
@@ -48,8 +49,13 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/enable.m4 \
        $(top_srcdir)/../config/lib-prefix.m4 \
        $(top_srcdir)/../config/multi.m4 \
        $(top_srcdir)/../config/no-executables.m4 \
+       $(top_srcdir)/../config/override.m4 \
+       $(top_srcdir)/../config/proginstall.m4 \
+       $(top_srcdir)/../config/stdint.m4 \
        $(top_srcdir)/../config/unwind_ipinfo.m4 \
-       $(top_srcdir)/../libtool.m4 $(top_srcdir)/crossconfig.m4 \
+       $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
+       $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
+       $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/crossconfig.m4 \
        $(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
        $(top_srcdir)/../config/tls.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
@@ -60,10 +66,6 @@ depcomp =
 am__depfiles_maybe =
 SOURCES =
 DIST_SOURCES =
-DEJATOOL = $(PACKAGE)
-RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
-EXPECT = expect
-RUNTEST = runtest
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@
 ACLOCAL = @ACLOCAL@
@@ -73,6 +75,7 @@ AMTAR = @AMTAR@
 AR = @AR@
 AS = @AS@
 ATOMICITY_SRCDIR = @ATOMICITY_SRCDIR@
+ATOMIC_FLAGS = @ATOMIC_FLAGS@
 ATOMIC_WORD_SRCDIR = @ATOMIC_WORD_SRCDIR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -105,10 +108,14 @@ CYGPATH_W = @CYGPATH_W@
 C_INCLUDE_DIR = @C_INCLUDE_DIR@
 DEBUG_FLAGS = @DEBUG_FLAGS@
 DEFS = @DEFS@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
+ENABLE_PARALLEL_FALSE = @ENABLE_PARALLEL_FALSE@
+ENABLE_PARALLEL_TRUE = @ENABLE_PARALLEL_TRUE@
 ENABLE_SYMVERS_DARWIN_FALSE = @ENABLE_SYMVERS_DARWIN_FALSE@
 ENABLE_SYMVERS_DARWIN_TRUE = @ENABLE_SYMVERS_DARWIN_TRUE@
 ENABLE_SYMVERS_FALSE = @ENABLE_SYMVERS_FALSE@
@@ -119,8 +126,10 @@ ENABLE_SYMVERS_GNU_TRUE = @ENABLE_SYMVERS_GNU_TRUE@
 ENABLE_SYMVERS_TRUE = @ENABLE_SYMVERS_TRUE@
 ENABLE_VISIBILITY_FALSE = @ENABLE_VISIBILITY_FALSE@
 ENABLE_VISIBILITY_TRUE = @ENABLE_VISIBILITY_TRUE@
+ERROR_CONSTANTS_SRCDIR = @ERROR_CONSTANTS_SRCDIR@
 EXEEXT = @EXEEXT@
 EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
+FGREP = @FGREP@
 GLIBCXX_BUILD_DEBUG_FALSE = @GLIBCXX_BUILD_DEBUG_FALSE@
 GLIBCXX_BUILD_DEBUG_TRUE = @GLIBCXX_BUILD_DEBUG_TRUE@
 GLIBCXX_BUILD_PCH_FALSE = @GLIBCXX_BUILD_PCH_FALSE@
@@ -140,16 +149,21 @@ GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
 GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
 GLIBCXX_LDBL_COMPAT_FALSE = @GLIBCXX_LDBL_COMPAT_FALSE@
 GLIBCXX_LDBL_COMPAT_TRUE = @GLIBCXX_LDBL_COMPAT_TRUE@
+GLIBCXX_LIBS = @GLIBCXX_LIBS@
+GREP = @GREP@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
 LIBICONV = @LIBICONV@
 LIBMATHOBJS = @LIBMATHOBJS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBSUPCXX_PICFLAGS = @LIBSUPCXX_PICFLAGS@
 LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBICONV = @LTLIBICONV@
 LTLIBOBJS = @LTLIBOBJS@
@@ -157,10 +171,15 @@ MAINT = @MAINT@
 MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
 MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
 MAKEINFO = @MAKEINFO@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@
 OPT_LDFLAGS = @OPT_LDFLAGS@
 OS_INC_SRCDIR = @OS_INC_SRCDIR@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
@@ -171,6 +190,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
 SECTION_FLAGS = @SECTION_FLAGS@
 SECTION_LDFLAGS = @SECTION_LDFLAGS@
+SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
@@ -184,6 +204,13 @@ ac_ct_AR = @ac_ct_AR@
 ac_ct_AS = @ac_ct_AS@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DSYMUTIL = @ac_ct_DSYMUTIL@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_LIPO = @ac_ct_LIPO@
+ac_ct_NMEDIT = @ac_ct_NMEDIT@
+ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
+ac_ct_OTOOL = @ac_ct_OTOOL@
+ac_ct_OTOOL64 = @ac_ct_OTOOL64@
 ac_ct_RANLIB = @ac_ct_RANLIB@
 ac_ct_STRIP = @ac_ct_STRIP@
 am__leading_dot = @am__leading_dot@
@@ -224,6 +251,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 libtool_VERSION = @libtool_VERSION@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 multi_basedir = @multi_basedir@
@@ -240,7 +268,9 @@ target_cpu = @target_cpu@
 target_os = @target_os@
 target_vendor = @target_vendor@
 toplevel_srcdir = @toplevel_srcdir@
-AUTOMAKE_OPTIONS = dejagnu nostdinc
+AUTOMAKE_OPTIONS = nostdinc
+RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
+EXPECT = expect
 
 # May be used by various substitution variables.
 gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
@@ -262,8 +292,6 @@ WARN_CXXFLAGS = \
 
 # -I/-D flags to pass when compiling.
 AM_CPPFLAGS = $(GLIBCXX_INCLUDES)
-AM_MAKEFLAGS = -j1
-AM_RUNTESTFLAGS = 
 
 # Generated lists of files to run.  All of these names are valid make
 # targets, if you wish to generate a list manually.
@@ -274,6 +302,7 @@ lists_of_files = \
 
 baseline_file = ${baseline_dir}/baseline_symbols.txt
 extract_symvers = $(glibcxx_srcdir)/scripts/extract_symvers
+check_DEJAGNU_normal_targets = $(patsubst %,check-DEJAGNUnormal%,0 1 2 3)
 
 # Runs the testsuite, but in compile only mode.
 # Can be used to test sources with non-GNU FE's at various warning
@@ -288,13 +317,19 @@ compile_script = ${glibcxx_srcdir}/scripts/check_compile
 # XXX Need to add dependency on libtestc++.a
 check_performance_script = ${glibcxx_srcdir}/scripts/check_performance
 
-# Generates the plots and graphs for performance testing.
-doc_performance_script = ${glibcxx_srcdir}/scripts/make_graphs.py
+# Runs the testsuite in parallel mode.
+libgomp_dir = ${glibcxx_builddir}/../libgomp
+libgomp_flags = -B${glibcxx_builddir}/../libgomp \
+              -I${glibcxx_builddir}/../libgomp \
+             -L${glibcxx_builddir}/../libgomp/.libs -lgomp
+
+atomic_flags = $(ATOMIC_FLAGS)
+parallel_flags = "unix/-D_GLIBCXX_PARALLEL/-fopenmp"
 
 # By adding these files here, automake will remove them for 'make clean'
 CLEANFILES = *.txt *.tst *.exe core* filebuf_* tmp* ostream_* *.log *.sum \
             testsuite_* site.exp abi_check baseline_symbols *TEST* *.dat \
-            *.o *.cc *.a *.so *.xml
+            *.s *.o *.cc *.a *.so *.xml 
 
 all: all-am
 
@@ -345,23 +380,6 @@ ctags: CTAGS
 CTAGS:
 
 
-check-DEJAGNU: site.exp
-       srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \
-       EXPECT=$(EXPECT); export EXPECT; \
-       runtest=$(RUNTEST); \
-       if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
-         l='$(DEJATOOL)'; for tool in $$l; do \
-           $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) $(RUNTESTFLAGS); \
-         done; \
-       else echo "WARNING: could not find \`runtest'" 1>&2; :;\
-       fi
-
-distclean-DEJAGNU:
-       -rm -f site.exp site.bak
-       -l='$(DEJATOOL)'; for tool in $$l; do \
-         rm -f $$tool.sum $$tool.log; \
-       done
-
 distdir: $(DISTFILES)
        $(mkdir_p) $(distdir)/..
        @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@@ -391,7 +409,6 @@ distdir: $(DISTFILES)
          fi; \
        done
 check-am: all-am
-       $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU
 check: check-am
 all-am: Makefile
 installdirs:
@@ -422,12 +439,11 @@ maintainer-clean-generic:
        @echo "it deletes files that may require special tools to rebuild."
 clean: clean-am
 
-clean-am: clean-generic clean-libtool mostlyclean-am
+clean-am: clean-generic clean-libtool clean-local mostlyclean-am
 
 distclean: distclean-am
        -rm -f Makefile
-distclean-am: clean-am distclean-DEJAGNU distclean-generic \
-       distclean-libtool
+distclean-am: clean-am distclean-generic distclean-libtool
 
 dvi: dvi-am
 
@@ -467,10 +483,10 @@ ps-am:
 
 uninstall-am: uninstall-info-am
 
-.PHONY: all all-am check check-DEJAGNU check-am clean clean-generic \
-       clean-libtool distclean distclean-DEJAGNU distclean-generic \
-       distclean-libtool distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-exec \
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+       clean-local distclean distclean-generic distclean-libtool \
+       distdir dvi dvi-am html html-am info info-am install \
+       install-am install-data install-data-am install-exec \
        install-exec-am install-info install-info-am install-man \
        install-strip installcheck installcheck-am installdirs \
        maintainer-clean maintainer-clean-generic mostlyclean \
@@ -528,6 +544,78 @@ new-abi-baseline:
          fi; \
          ${extract_symvers} ../src/.libs/libstdc++.so $${output})
 
+%/site.exp: site.exp
+       -test -d $* || mkdir $*
+       @srcdir=`cd $(srcdir); ${PWD_COMMAND}`;
+       objdir=`${PWD_COMMAND}`/$*; \
+       sed -e "s|^set srcdir .*$$|set srcdir $$srcdir|" \
+           -e "s|^set objdir .*$$|set objdir $$objdir|" \
+           site.exp > $*/site.exp.tmp
+       @-rm -f $*/site.bak
+       @test ! -f $*/site.exp || mv $*/site.exp $*/site.bak
+       @mv $*/site.exp.tmp $*/site.exp
+$(check_DEJAGNU_normal_targets): check-DEJAGNUnormal%: normal%/site.exp
+
+# Run the testsuite in normal mode.
+check-DEJAGNU $(check_DEJAGNU_normal_targets): check-DEJAGNU%: site.exp
+       if [ -z "$*$(filter-out --target_board=%, $(RUNTESTFLAGS))" ] \
+           && [ "$(filter -j, $(MFLAGS))" = "-j" ]; then \
+         $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNUnormal0 check-DEJAGNUnormal1 \
+                 check-DEJAGNUnormal2 check-DEJAGNUnormal3; \
+         for idx in 0 1 2 3; do \
+           mv -f normal$$idx/libstdc++.sum normal$$idx/libstdc++.sum.sep; \
+           mv -f normal$$idx/libstdc++.log normal$$idx/libstdc++.log.sep; \
+         done; \
+         mv -f libstdc++.sum libstdc++.sum.sep; \
+         mv -f libstdc++.log libstdc++.log.sep; \
+         $(SHELL) $(srcdir)/../../contrib/dg-extract-results.sh \
+           libstdc++.sum.sep normal0/libstdc++.sum.sep \
+           normal1/libstdc++.sum.sep normal2/libstdc++.sum.sep \
+           normal3/libstdc++.sum.sep > libstdc++.sum; \
+         $(SHELL) $(srcdir)/../../contrib/dg-extract-results.sh -L \
+           libstdc++.log.sep normal0/libstdc++.log.sep \
+           normal1/libstdc++.log.sep normal2/libstdc++.log.sep \
+           normal3/libstdc++.log.sep > libstdc++.log; \
+         exit 0; \
+       fi; \
+       srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \
+       EXPECT=$(EXPECT); export EXPECT; \
+       runtest=$(RUNTEST); \
+       if [ -z "$$runtest" ]; then runtest=runtest; fi; \
+       tool=libstdc++; \
+       dirs=; \
+       case "$*" in \
+         normal0) \
+           if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
+             $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) \
+                       $(RUNTESTFLAGS) abi.exp; \
+           else echo "WARNING: could not find \`runtest'" 1>&2; :;\
+           fi; \
+           dirs="`cd $$srcdir; echo [013-9][0-9]_*/* [abep]*/*`";; \
+         normal1) \
+           dirs="`cd $$srcdir; echo 2[0-2]_*/*`";; \
+         normal2) \
+           dirs="`cd $$srcdir; echo 2[4-9]_*/*`";; \
+         normal3) \
+           dirs="`cd $$srcdir; echo 23_*/* t*/*`";; \
+       esac; \
+       if [ -n "$*" ]; then cd "$*"; fi; \
+       if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
+         if [ -n "$$dirs" ]; then \
+           $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) \
+                   $(RUNTESTFLAGS) \
+                   "conformance.exp=`echo $$dirs | sed 's/ /* /g;s/$$/*/'`"; \
+         else \
+           $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) \
+                   $(RUNTESTFLAGS); \
+         fi; \
+       else echo "WARNING: could not find \`runtest'" 1>&2; :;\
+       fi
+
+check-am:
+       $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU
+.PHONY: check-DEJAGNU
+
 # Use 'new-abi-baseline' to create an initial symbol file.  Then run
 # 'check-abi' to test for changes against that file.
 check-abi: site.exp baseline_symbols 
@@ -538,15 +626,31 @@ check-compile: testsuite_files ${compile_script}
 check-performance: testsuite_files_performance ${performance_script}
        -@(chmod + ${check_performance_script}; \
          ${check_performance_script} ${glibcxx_srcdir} ${glibcxx_builddir})
-doc-performance:
-       -@(chmod + ${doc_performance_script}; \
-       ${doc_performance_script} ${glibcxx_srcdir} \
-       ${glibcxx_builddir}/testsuite \
-       ${glibcxx_srcdir}/testsuite/data/make_graph_htmls.xml \
-       ${glibcxx_srcdir}/testsuite/data/make_graph_test_infos.xml local g++)
+
+check-parallel: site.exp
+       -@(if test ! -d $${libgomp_dir}; then \
+         echo "Testing parallel mode failed as libgomp not present."; \
+         exit 1; \
+       fi; \
+       outputdir=parallel; export outputdir; \
+       if test ! -d $${outputdir}; then \
+         mkdir $${outputdir}; \
+       fi; \
+       srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \
+       EXPECT=$(EXPECT); export EXPECT; \
+       $(MAKE) CXXFLAGS="$(atomic_flags) $(libgomp_flags)" RUNTESTFLAGS="$(RUNTESTFLAGS) conformance.exp --outdir $${outputdir} --objdir $${outputdir} --target_board=$(parallel_flags)" check-DEJAGNU; )
+
+check-performance-parallel: testsuite_files_performance ${performance_script}
+       -@(chmod + ${check_performance_script}; \
+       CXXFLAGS="-D_GLIBCXX_PARALLEL -fopenmp $(atomic_flags) $(libgomp_flags)"; export CXXFLAGS; \
+       ${check_performance_script} ${glibcxx_srcdir} ${glibcxx_builddir})
 
 .PHONY: baseline_symbols new-abi-baseline \
-       check-abi check-compile check-performance
+       check-abi check-compile check-performance check-parallel
+
+# To remove directories.
+clean-local:
+       rm -rf parallel
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT: