From 0a42535975fb5e2fffea7c0267acd7d89a6b74b8 Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Fri, 13 May 2005 00:38:22 +0000 Subject: [PATCH] [multiple changes] 2005-04-04 Mark Mitchell * testsuite/Makefile.am (check-local): Remove. (curent_symbols.txt): Likewise. (check-abi): Do not depend on current_symbols.txt. * testsuite/Makefile.in: Regenerated. * testsuite/libstdc++-abi/abi.exp: Build current_symbols.txt. 2005-04-01 Mark Mitchell * testsuite/Makefile.am (noinst_PROGRAMS): Remove. (site.exp): Write out the path to the baseline file. (check-abi): Use DejaGNU. (check-abi-verbose): Remove. * testsuite/Makefile.in: Regenerated. * testsuite/abi_check.cc (main): Check the return value from compare_symbols. * testsuite/testsuite_abi.cc (compare_symbols): Return a value. * testsuite/testsuite_abi.h (compare_symbols): Adjust prototype. * testsuite/libstdc++-abi/abi.exp: New file. 2004-03-19 Phil Edwards * testsuite/Makefile.am (site.exp): New target, based on that created by automake. Also set libiconv. From-SVN: r99644 --- libstdc++-v3/ChangeLog | 23 ++ libstdc++-v3/testsuite/Makefile.am | 49 ++-- libstdc++-v3/testsuite/Makefile.in | 270 +++++++++---------- libstdc++-v3/testsuite/abi_check.cc | 3 +- libstdc++-v3/testsuite/libstdc++-abi/abi.exp | 4 +- libstdc++-v3/testsuite/testsuite_abi.cc | 4 +- libstdc++-v3/testsuite/testsuite_abi.h | 2 +- 7 files changed, 191 insertions(+), 164 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 8c70ca745011..e97fca10f20d 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,26 @@ +2005-05-12 Mark Mitchell + + 2005-04-04 Mark Mitchell + * testsuite/Makefile.am (check-local): Remove. + (curent_symbols.txt): Likewise. + (check-abi): Do not depend on current_symbols.txt. + * testsuite/Makefile.in: Regenerated. + * testsuite/libstdc++-abi/abi.exp: Build current_symbols.txt. + 2005-04-01 Mark Mitchell + * testsuite/Makefile.am (noinst_PROGRAMS): Remove. + (site.exp): Write out the path to the baseline file. + (check-abi): Use DejaGNU. + (check-abi-verbose): Remove. + * testsuite/Makefile.in: Regenerated. + * testsuite/abi_check.cc (main): Check the return value from + compare_symbols. + * testsuite/testsuite_abi.cc (compare_symbols): Return a value. + * testsuite/testsuite_abi.h (compare_symbols): Adjust prototype. + * testsuite/libstdc++-abi/abi.exp: New file. + 2004-03-19 Phil Edwards + * testsuite/Makefile.am (site.exp): New target, based on that + created by automake. Also set libiconv. + 2005-05-04 Mark Mitchell * testsuite/lib/libstdc++.exp (v3-build_support): Look for diff --git a/libstdc++-v3/testsuite/Makefile.am b/libstdc++-v3/testsuite/Makefile.am index 05e23f1f9e61..d4278ab25233 100644 --- a/libstdc++-v3/testsuite/Makefile.am +++ b/libstdc++-v3/testsuite/Makefile.am @@ -48,15 +48,6 @@ libv3test_a_SOURCES = \ testsuite_allocator.cc \ testsuite_hooks.cc -## Build support utilities. -if GLIBCXX_TEST_ABI -noinst_PROGRAMS = abi_check -else -noinst_PROGRAMS = -endif -abi_check_SOURCES = abi_check.cc -abi_check_DEPENDENCIES = libv3test.a - all-local: stamp_wchar testsuite_files # Enable wchar_t tests if capable. @@ -78,6 +69,33 @@ lists_of_files = \ # This is automatically run after the generated check-DEJAGNU rule. check-local: check-abi +# We need more things in site.exp, but automake completely controls the +# creation of that file; there's no way to append to it without messing up +# the dependancy chains. So we overrule automake. This rule is exactly +# what it would have generated, plus our own additions. +site.exp: Makefile + @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 + @echo 'set target_triplet $(target_triplet)' >>site.tmp + @echo 'set libiconv "$(LIBICONV)"' >>site.tmp + @echo 'set baseline_file "$(baseline_file)"' >> site.tmp + @echo '## All variables above are generated by configure. Do Not Edit ##' >>site.tmp + @test ! -f site.exp || \ + sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp + @-rm -f site.bak + @test ! -f site.exp || mv site.exp site.bak + @mv site.tmp site.exp + baseline_file = ${baseline_dir}/baseline_symbols.txt extract_symvers = $(glibcxx_srcdir)/scripts/extract_symvers @@ -105,19 +123,10 @@ new-abi-baseline: if GLIBCXX_TEST_ABI # Use 'new-abi-baseline' to create an initial symbol file. Then run # 'check-abi' to test for changes against that file. -check-abi: abi_check baseline_symbols current_symbols.txt - -@./abi_check --check ./current_symbols.txt ${baseline_file} \ - 2>&1 | tee libstdc++-abi.sum - -@cp libstdc++-abi.sum libstdc++-abi.log - -check-abi-verbose: abi_check baseline_symbols current_symbols.txt - -@./abi_check --check-verbose ./current_symbols.txt ${baseline_file} \ - 2>&1 | tee libstdc++-abi.sum - -@cp libstdc++-abi.sum libstdc++-abi.log - +check-abi: baseline_symbols site.exp + -@runtest --tool libstdc++ abi.exp else check-abi: -check-abi-verbose: endif diff --git a/libstdc++-v3/testsuite/Makefile.in b/libstdc++-v3/testsuite/Makefile.in index 9725aadd123f..8b6cd51cc3d8 100644 --- a/libstdc++-v3/testsuite/Makefile.in +++ b/libstdc++-v3/testsuite/Makefile.in @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.8 from Makefile.am. +# Makefile.in generated by automake 1.9.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,6 +14,8 @@ @SET_MAKE@ +SOURCES = $(libv3test_a_SOURCES) + srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ @@ -21,7 +23,6 @@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = .. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 @@ -38,6 +39,44 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(top_srcdir)/fragment.am +subdir = testsuite +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/linkage.m4 \ + $(top_srcdir)/../config/no-executables.m4 \ + $(top_srcdir)/../libtool.m4 $(top_srcdir)/crossconfig.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +LIBRARIES = $(noinst_LIBRARIES) +ARFLAGS = cru +libv3test_a_AR = $(AR) $(ARFLAGS) +libv3test_a_LIBADD = +am_libv3test_a_OBJECTS = testsuite_abi.$(OBJEXT) \ + testsuite_allocator.$(OBJEXT) testsuite_hooks.$(OBJEXT) +libv3test_a_OBJECTS = $(am_libv3test_a_OBJECTS) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = +am__depfiles_maybe = +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +SOURCES = $(libv3test_a_SOURCES) +DIST_SOURCES = $(libv3test_a_SOURCES) +ETAGS = etags +CTAGS = ctags +DEJATOOL = $(PACKAGE) +RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir +EXPECT = expect +RUNTEST = runtest +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCATOR_H = @ALLOCATOR_H@ ALLOCATOR_NAME = @ALLOCATOR_NAME@ @@ -147,6 +186,8 @@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__leading_dot = @am__leading_dot@ +am__tar = @am__tar@ +am__untar = @am__untar@ baseline_dir = @baseline_dir@ bindir = @bindir@ build = @build@ @@ -183,6 +224,7 @@ libexecdir = @libexecdir@ libtool_VERSION = @libtool_VERSION@ localstatedir = @localstatedir@ mandir = @mandir@ +mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ oldincludedir = @oldincludedir@ port_specific_symbol_files = @port_specific_symbol_files@ @@ -197,15 +239,11 @@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ toplevel_srcdir = @toplevel_srcdir@ - AUTOMAKE_OPTIONS = dejagnu - MAINT_CHARSET = latin1 - mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs PWD_COMMAND = $${PWDCMD-pwd} STAMP = echo timestamp > - toolexecdir = $(glibcxx_toolexecdir) toolexeclibdir = $(glibcxx_toolexeclibdir) @@ -220,33 +258,23 @@ WARN_CXXFLAGS = \ # -I/-D flags to pass when compiling. AM_CPPFLAGS = $(GLIBCXX_INCLUDES) - AM_MAKEFLAGS = -j1 AM_RUNTESTFLAGS = - testsuite_flags_script = ${glibcxx_builddir}/scripts/testsuite_flags AM_CXXFLAGS = $(shell ${testsuite_flags_script} --cxxflags) - GLIBGCC_DIR = `$(CC) -print-libgcc-file-name | sed 's,/[^/]*$$,,'` GLIBCXX_DIR = ${glibcxx_builddir}/src/.libs - CXXLINK = \ $(LIBTOOL) --tag=CXX --mode=link $(CXX) \ -R $(GLIBGCC_DIR) -R $(GLIBCXX_DIR) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -lv3test -L. -o $@ - noinst_LIBRARIES = libv3test.a libv3test_a_SOURCES = \ testsuite_abi.cc \ testsuite_allocator.cc \ testsuite_hooks.cc -@GLIBCXX_TEST_ABI_FALSE@noinst_PROGRAMS = - -@GLIBCXX_TEST_ABI_TRUE@noinst_PROGRAMS = abi_check -abi_check_SOURCES = abi_check.cc -abi_check_DEPENDENCIES = libv3test.a # Generated lists of files to run. All of these names are valid make # targets, if you wish to generate a list manually. @@ -255,7 +283,6 @@ lists_of_files = \ testsuite_files_interactive \ testsuite_files_performance - baseline_file = ${baseline_dir}/baseline_symbols.txt extract_symvers = $(glibcxx_srcdir)/scripts/extract_symvers @@ -276,49 +303,39 @@ performance_script = ${glibcxx_srcdir}/scripts/check_performance CLEANFILES = *.txt *.tst *.exe core* filebuf_* tmp* ostream_* *.log *.sum \ testsuite_* site.exp abi_check baseline_symbols -subdir = testsuite -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -LIBRARIES = $(noinst_LIBRARIES) - -libv3test_a_AR = $(AR) cru -libv3test_a_LIBADD = -am_libv3test_a_OBJECTS = testsuite_abi.$(OBJEXT) \ - testsuite_allocator.$(OBJEXT) testsuite_hooks.$(OBJEXT) -libv3test_a_OBJECTS = $(am_libv3test_a_OBJECTS) -@GLIBCXX_TEST_ABI_TRUE@noinst_PROGRAMS = abi_check$(EXEEXT) -@GLIBCXX_TEST_ABI_FALSE@noinst_PROGRAMS = -PROGRAMS = $(noinst_PROGRAMS) - -am_abi_check_OBJECTS = abi_check.$(OBJEXT) -abi_check_OBJECTS = $(am_abi_check_OBJECTS) -abi_check_LDADD = $(LDADD) -abi_check_LDFLAGS = - -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -depcomp = -am__depfiles_maybe = -CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CXXFLAGS) $(CXXFLAGS) -CXXLD = $(CXX) -DIST_SOURCES = $(libv3test_a_SOURCES) $(abi_check_SOURCES) -DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/fragment.am \ - Makefile.am -SOURCES = $(libv3test_a_SOURCES) $(abi_check_SOURCES) - all: all-am .SUFFIXES: .SUFFIXES: .cc .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/fragment.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/fragment.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps testsuite/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign testsuite/Makefile -Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) + $(AUTOMAKE) --foreign --ignore-deps testsuite/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) @@ -327,30 +344,20 @@ libv3test.a: $(libv3test_a_OBJECTS) $(libv3test_a_DEPENDENCIES) $(libv3test_a_AR) libv3test.a $(libv3test_a_OBJECTS) $(libv3test_a_LIBADD) $(RANLIB) libv3test.a -clean-noinstPROGRAMS: - @list='$(noinst_PROGRAMS)'; for p in $$list; do \ - f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f $$p $$f"; \ - rm -f $$p $$f ; \ - done -abi_check$(EXEEXT): $(abi_check_OBJECTS) $(abi_check_DEPENDENCIES) - @rm -f abi_check$(EXEEXT) - $(CXXLINK) $(abi_check_LDFLAGS) $(abi_check_OBJECTS) $(abi_check_LDADD) $(LIBS) - mostlyclean-compile: - -rm -f *.$(OBJEXT) core *.core + -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c .cc.o: - $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< + $(CXXCOMPILE) -c -o $@ $< .cc.obj: - $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` + $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cc.lo: - $(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< + $(LTCXXCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo @@ -362,14 +369,6 @@ distclean-libtool: -rm -f libtool uninstall-info-am: -ETAGS = etags -ETAGSFLAGS = - -CTAGS = ctags -CTAGSFLAGS = - -tags: TAGS - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ @@ -378,6 +377,7 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique +tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) @@ -389,10 +389,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique - + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) @@ -415,11 +416,6 @@ GTAGS: distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -RUNTESTFLAGS = -DEJATOOL = $(PACKAGE) -RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir -EXPECT = expect -RUNTEST = runtest check-DEJAGNU: site.exp srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \ @@ -431,38 +427,15 @@ check-DEJAGNU: site.exp done; \ else echo "WARNING: could not find \`runtest'" 1>&2; :;\ fi -site.exp: Makefile - @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 - @echo '## All variables above are generated by configure. Do Not Edit ##' >>site.tmp - @test ! -f site.exp || \ - sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp - @-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='$(DEJATOOL)'; for tool in $$l; do \ rm -f $$tool.sum $$tool.log; \ done -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = .. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - $(mkinstalldirs) $(distdir)/.. + $(mkdir_p) $(distdir)/.. @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ list='$(DISTFILES)'; for file in $$list; do \ @@ -474,7 +447,7 @@ distdir: $(DISTFILES) dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ @@ -492,8 +465,7 @@ distdir: $(DISTFILES) check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU check-local check: check-am -all-am: Makefile $(LIBRARIES) $(PROGRAMS) all-local - +all-am: Makefile $(LIBRARIES) all-local installdirs: install: install-am install-exec: install-exec-am @@ -506,7 +478,7 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -515,7 +487,7 @@ clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -523,7 +495,7 @@ maintainer-clean-generic: clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \ - clean-noinstPROGRAMS mostlyclean-am + mostlyclean-am distclean: distclean-am -rm -f Makefile @@ -534,6 +506,8 @@ dvi: dvi-am dvi-am: +html: html-am + info: info-am info-am: @@ -569,16 +543,16 @@ uninstall-am: uninstall-info-am .PHONY: CTAGS GTAGS all all-am all-local check check-DEJAGNU check-am \ check-local clean clean-generic clean-libtool \ - clean-noinstLIBRARIES clean-noinstPROGRAMS ctags distclean \ - distclean-DEJAGNU distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-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 mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ - uninstall-am uninstall-info-am + clean-noinstLIBRARIES ctags distclean distclean-DEJAGNU \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags 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 \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am tags uninstall uninstall-am \ + uninstall-info-am all-local: stamp_wchar testsuite_files @@ -591,6 +565,33 @@ all-local: stamp_wchar testsuite_files # This is automatically run after the generated check-DEJAGNU rule. check-local: check-abi +# We need more things in site.exp, but automake completely controls the +# creation of that file; there's no way to append to it without messing up +# the dependancy chains. So we overrule automake. This rule is exactly +# what it would have generated, plus our own additions. +site.exp: Makefile + @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 + @echo 'set target_triplet $(target_triplet)' >>site.tmp + @echo 'set libiconv "$(LIBICONV)"' >>site.tmp + @echo 'set baseline_file "$(baseline_file)"' >> site.tmp + @echo '## All variables above are generated by configure. Do Not Edit ##' >>site.tmp + @test ! -f site.exp || \ + sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp + @-rm -f site.bak + @test ! -f site.exp || mv site.exp site.bak + @mv site.tmp site.exp + current_symbols.txt: ${extract_symvers} ../src/.libs/libstdc++.so -@(${extract_symvers} ../src/.libs/libstdc++.so current_symbols.txt) @@ -614,18 +615,9 @@ new-abi-baseline: # Use 'new-abi-baseline' to create an initial symbol file. Then run # 'check-abi' to test for changes against that file. -@GLIBCXX_TEST_ABI_TRUE@check-abi: abi_check baseline_symbols current_symbols.txt -@GLIBCXX_TEST_ABI_TRUE@ -@./abi_check --check ./current_symbols.txt ${baseline_file} \ -@GLIBCXX_TEST_ABI_TRUE@ 2>&1 | tee libstdc++-abi.sum -@GLIBCXX_TEST_ABI_TRUE@ -@cp libstdc++-abi.sum libstdc++-abi.log - -@GLIBCXX_TEST_ABI_TRUE@check-abi-verbose: abi_check baseline_symbols current_symbols.txt -@GLIBCXX_TEST_ABI_TRUE@ -@./abi_check --check-verbose ./current_symbols.txt ${baseline_file} \ -@GLIBCXX_TEST_ABI_TRUE@ 2>&1 | tee libstdc++-abi.sum -@GLIBCXX_TEST_ABI_TRUE@ -@cp libstdc++-abi.sum libstdc++-abi.log - +@GLIBCXX_TEST_ABI_TRUE@check-abi: baseline_symbols site.exp +@GLIBCXX_TEST_ABI_TRUE@ -@runtest --tool libstdc++ abi.exp @GLIBCXX_TEST_ABI_FALSE@check-abi: -@GLIBCXX_TEST_ABI_FALSE@check-abi-verbose: check-script: ${survey_script} -@(chmod + ${survey_script}; \ ${survey_script} 0) diff --git a/libstdc++-v3/testsuite/abi_check.cc b/libstdc++-v3/testsuite/abi_check.cc index e0991e7a4da3..028db89c93e9 100644 --- a/libstdc++-v3/testsuite/abi_check.cc +++ b/libstdc++-v3/testsuite/abi_check.cc @@ -77,7 +77,8 @@ main(int argc, char** argv) cerr << "Cannot read baseline file " << baseline_file << endl; exit(1); } - compare_symbols(baseline_file, test_file, verbose); + if (!compare_symbols(baseline_file, test_file, verbose)) + exit (1); } if (argv1 == "--examine") diff --git a/libstdc++-v3/testsuite/libstdc++-abi/abi.exp b/libstdc++-v3/testsuite/libstdc++-abi/abi.exp index f226e0aaf775..ba774f163d34 100644 --- a/libstdc++-v3/testsuite/libstdc++-abi/abi.exp +++ b/libstdc++-v3/testsuite/libstdc++-abi/abi.exp @@ -30,9 +30,9 @@ remote_exec "build" "$srcdir/../scripts/extract_symvers" \ v3-build_support # Build the abi_check program. -if { [v3_target_compile "$srcdir/testsuite_abi_check.cc" "abi_check" \ +if { [v3_target_compile "$srcdir/abi_check.cc" "abi_check" \ "executable" [list "additional_flags=-w"]] != "" } { - error "could not compile testsuite_abi_check.cc" + error "could not compile abi_check.cc" } remote_download "target" $baseline_file "baseline_symbols.txt" diff --git a/libstdc++-v3/testsuite/testsuite_abi.cc b/libstdc++-v3/testsuite/testsuite_abi.cc index f7b6d08e1d17..7da7ff52c69f 100644 --- a/libstdc++-v3/testsuite/testsuite_abi.cc +++ b/libstdc++-v3/testsuite/testsuite_abi.cc @@ -279,7 +279,7 @@ examine_symbol(const char* name, const char* file) { __throw_exception_again; } } -void +int compare_symbols(const char* baseline_file, const char* test_file, bool verbose) { @@ -391,6 +391,8 @@ compare_symbols(const char* baseline_file, const char* test_file, cout << "# of incompatible symbols:\t " << incompatible.size() << endl; cout << endl; cout << "using: " << baseline_file << endl; + + return !(missing_names.size() || incompatible.size()); } diff --git a/libstdc++-v3/testsuite/testsuite_abi.h b/libstdc++-v3/testsuite/testsuite_abi.h index ebacb6a46e8f..a9d91442e93d 100644 --- a/libstdc++-v3/testsuite/testsuite_abi.h +++ b/libstdc++-v3/testsuite/testsuite_abi.h @@ -100,7 +100,7 @@ get_symbol(const std::string& mangled, const symbols& list); extern "C" void examine_symbol(const char* name, const char* file); -extern "C" void +extern "C" int compare_symbols(const char* baseline_file, const char* test_file, bool verb); -- 2.47.2