diff options
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/README | 14 | ||||
-rw-r--r-- | contrib/check-html.am | 21 | ||||
-rw-r--r-- | contrib/multilib/README | 9 | ||||
-rw-r--r-- | contrib/multilib/config-ml.in | 876 | ||||
-rw-r--r-- | contrib/multilib/multi.m4 | 64 | ||||
-rw-r--r-- | contrib/multilib/multilib.am | 45 | ||||
-rwxr-xr-x | contrib/multilib/symlink-tree | 78 | ||||
-rw-r--r-- | contrib/t/Makefile.inc | 4 | ||||
-rwxr-xr-x | contrib/t/help-multilib.sh | 32 | ||||
-rwxr-xr-x | contrib/t/multilib.sh | 160 | ||||
-rwxr-xr-x | contrib/t/parallel-tests-html-recursive.sh | 4 | ||||
-rwxr-xr-x | contrib/t/parallel-tests-html.sh | 10 | ||||
-rwxr-xr-x | contrib/tap-driver.pl | 6 |
13 files changed, 28 insertions, 1295 deletions
diff --git a/contrib/README b/contrib/README index a4d7eeb8d..0202fc77c 100644 --- a/contrib/README +++ b/contrib/README @@ -1,16 +1,16 @@ -This is the 'contrib' directory of the GNU Automake distribution. +This is the 'contrib' directory of the GNU Automake-NG distribution. -Here you'll find additions to the Automake base distribution, in form of -makefile fragments, m4 macros, scripts, documentation, et cetera. Such +Here you'll find additions to the Automake-NG base distribution, in form +of makefile fragments, m4 macros, scripts, documentation, et cetera. Such addition that might be useful for a significant percentage of its general audience, but (for one reason or another) are not deemed appropriate for -inclusion into the Automake core. +inclusion into the Automake-NG core. There are several reasons for which a feature can be kept in contrib: 1. The long-term usefulness of the feature is debatable and uncertain; - on-field and real-word testing are necessary to prove or disprove - its usefulness, before the feature can be committed into the Automake + on-field and real-word testing are necessary to prove or disprove its + usefulness, before the feature can be committed into the Automake-NG core (as doing so too early would later force us to continue the support for backward-compatibility, even if the features proves flawed or fails to attract widespread use). @@ -21,6 +21,6 @@ There are several reasons for which a feature can be kept in contrib: 3. The feature was an historical one, mostly obsoleted but still used "here and there" in the wild; so we want to to deprecate it and - remove it from the Automake core, but cannot remove it altogether, + remove it from the Automake-NG core, but cannot remove it altogether, for the sake of those still-existing usage. So it gets moved in contrib. diff --git a/contrib/check-html.am b/contrib/check-html.am index 36cace419..b8d6eb987 100644 --- a/contrib/check-html.am +++ b/contrib/check-html.am @@ -21,14 +21,11 @@ TEST_SUITE_HTML = $(TEST_SUITE_LOG:.log=.html) -mostlyclean-local: mostlyclean-check-html -.PHONY: mostlyclean-check-html -mostlyclean-check-html: -## Expand $(TEST_LOGS) only once, to avoid exceeding line length limits. - list='$(TEST_LOGS:.log=.html)'; test -z "$$list" || rm -f $$list - rm -f $(TEST_SUITE_HTML) +## This expects MOSTLYCLEANFILES to be pre-defined by the clients (even +## if just to the empty value). Not ans unreasonable request. +MOSTLYCLEANFILES += $(TEST_SUITE_HTML) $(TEST_LOGS:.log=.html) -.log.html: +%.html: %.log @list='$(RST2HTML) rst2html rst2html.py'; \ while :; do \ for r2h in $$list; do \ @@ -45,13 +42,11 @@ mostlyclean-check-html: # Beware of concurrent executions. Run "check" not "check-TESTS", as # check-SCRIPTS and other dependencies are rebuilt by the former only. # And expect check to fail. -check-html recheck-html: - @target=`echo $@ | sed 's/-html$$//'`; \ - rv=0; $(MAKE) $(AM_MAKEFLAGS) $$target || rv=$$?; \ -## The nullification of $(TEST_LOGS) is required to ensure that +check-html recheck-html: %-html: + @rv=0; $(MAKE) $* || rv=$$?; \ +## The nullification of $(TESTS) is required to ensure that ## "make recheck-html" do not try to uselessly re-run tests. - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_HTML) TEST_LOGS= || exit 4; \ + $(MAKE) $(TEST_SUITE_HTML) TESTS= || exit 4; \ exit $$rv .PHONY: check-html recheck-html -.MAKE: check-html recheck-html diff --git a/contrib/multilib/README b/contrib/multilib/README deleted file mode 100644 index 35c726f84..000000000 --- a/contrib/multilib/README +++ /dev/null @@ -1,9 +0,0 @@ -Minimal support for multilib builds. - -For a little more information, see: -<http://airs.com/ian/configure/configure_8.html> - -The master (and probably more up-to-date) copies of the 'config-ml.in' -and 'symlink-tree' files are maintained in the GCC development tree -at <http://gcc.gnu.org/svn.html>. The same is probably true also for -the 'multi.m4' file. diff --git a/contrib/multilib/config-ml.in b/contrib/multilib/config-ml.in deleted file mode 100644 index 2956217e3..000000000 --- a/contrib/multilib/config-ml.in +++ /dev/null @@ -1,876 +0,0 @@ -# Configure fragment invoked in the post-target section for subdirs -# wanting multilib support. -# -# Copyright (C) 1995-2015 Free Software Foundation, Inc. -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. -# -# Please report bugs to <gcc-bugs@gnu.org> -# and send patches to <gcc-patches@gnu.org>. - -# It is advisable to support a few --enable/--disable options to let the -# user select which libraries s/he really wants. -# -# Subdirectories wishing to use multilib should put the following lines -# in the "post-target" section of configure.in. -# -# if [ "${srcdir}" = "." ] ; then -# if [ "${with_target_subdir}" != "." ] ; then -# . ${with_multisrctop}../../config-ml.in -# else -# . ${with_multisrctop}../config-ml.in -# fi -# else -# . ${srcdir}/../config-ml.in -# fi -# -# -# Things are complicated because 6 separate cases must be handled: -# 2 (native, cross) x 3 (absolute-path, relative-not-dot, dot) = 6. -# -# srcdir=. is special. It must handle make programs that don't handle VPATH. -# To implement this, a symlink tree is built for each library and for each -# multilib subdir. -# -# The build tree is laid out as -# -# ./ -# newlib -# m68020/ -# newlib -# m68881/ -# newlib -# -# The nice feature about this arrangement is that inter-library references -# in the build tree work without having to care where you are. Note that -# inter-library references also work in the source tree because symlink trees -# are built when srcdir=. -# -# Unfortunately, trying to access the libraries in the build tree requires -# the user to manually choose which library to use as GCC won't be able to -# find the right one. This is viewed as the lesser of two evils. -# -# Configure variables: -# ${with_target_subdir} = "." for native, or ${target_alias} for cross. -# Set by top level Makefile. -# ${with_multisrctop} = how many levels of multilibs there are in the source -# tree. It exists to handle the case of configuring in the source tree: -# ${srcdir} is not constant. -# ${with_multisubdir} = name of multilib subdirectory (eg: m68020/m68881). -# -# Makefile variables: -# MULTISRCTOP = number of multilib levels in source tree (+1 if cross) -# (FIXME: note that this is different than ${with_multisrctop}. Check out.). -# MULTIBUILDTOP = number of multilib levels in build tree -# MULTIDIRS = list of multilib subdirs (eg: m68000 m68020 ...) -# (only defined in each library's main Makefile). -# MULTISUBDIR = installed subdirectory name with leading '/' (eg: /m68000) -# (only defined in each multilib subdir). - -# FIXME: Multilib is currently disabled by default for everything other than -# newlib. It is up to each target to turn on multilib support for the other -# libraries as desired. - -# Autoconf incoming variables: -# srcdir, host, ac_configure_args -# -# We *could* figure srcdir and host out, but we'd have to do work that -# our caller has already done to figure them out and requiring these two -# seems reasonable. -# Note that `host' in this case is GCC's `target'. Target libraries are -# configured for a particular host. - -Makefile=${ac_file-Makefile} -ml_config_shell=${CONFIG_SHELL-/bin/sh} -ml_realsrcdir=${srcdir} - -# Scan all the arguments and set all the ones we need. - -ml_verbose=--verbose -for option in ${ac_configure_args} -do - # strip single quotes surrounding individual options - case $option in - \'*\') eval option=$option ;; - esac - - case $option in - --*) ;; - -*) option=-$option ;; - esac - - case $option in - --*=*) - optarg=`echo $option | sed -e 's/^[^=]*=//'` - ;; - esac - - case $option in - --disable-*) - enableopt=`echo ${option} | sed 's:^--disable-:enable_:;s:-:_:g'` - eval $enableopt=no - ;; - --enable-*) - case "$option" in - *=*) ;; - *) optarg=yes ;; - esac - enableopt=`echo ${option} | sed 's:^--::;s:=.*$::;s:-:_:g'` - # enable_shared and enable_static are handled by configure. - # Don't undo its work. - case $enableopt in - enable_shared | enable_static) ;; - *) eval $enableopt="$optarg" ;; - esac - ;; - --norecursion | --no-recursion) - ml_norecursion=yes - ;; - --silent | --sil* | --quiet | --q*) - ml_verbose=--silent - ;; - --verbose | --v | --verb*) - ml_verbose=--verbose - ;; - --with-*) - case "$option" in - *=*) ;; - *) optarg=yes ;; - esac - withopt=`echo ${option} | sed 's:^--::;s:=.*$::;s:-:_:g'` - eval $withopt="$optarg" - ;; - --without-*) - withopt=`echo ${option} | sed 's:^--::;s:out::;s:-:_:g'` - eval $withopt=no - ;; - esac -done - -# Only do this if --enable-multilib. -if [ "${enable_multilib}" = yes ]; then - -# Compute whether this is the library's top level directory -# (ie: not a multilib subdirectory, and not a subdirectory like newlib/src). -# ${with_multisubdir} tells us we're in the right branch, but we could be -# in a subdir of that. -# ??? The previous version could void this test by separating the process into -# two files: one that only the library's toplevel configure.in ran (to -# configure the multilib subdirs), and another that all configure.in's ran to -# update the Makefile. It seemed reasonable to collapse all multilib support -# into one file, but it does leave us with having to perform this test. -ml_toplevel_p=no -if [ -z "${with_multisubdir}" ]; then - if [ "${srcdir}" = "." ]; then - # Use ${ml_realsrcdir} instead of ${srcdir} here to account for ${subdir}. - # ${with_target_subdir} = "." for native, otherwise target alias. - if [ "${with_target_subdir}" = "." ]; then - if [ -f ${ml_realsrcdir}/../config-ml.in ]; then - ml_toplevel_p=yes - fi - else - if [ -f ${ml_realsrcdir}/../../config-ml.in ]; then - ml_toplevel_p=yes - fi - fi - else - # Use ${ml_realsrcdir} instead of ${srcdir} here to account for ${subdir}. - if [ -f ${ml_realsrcdir}/../config-ml.in ]; then - ml_toplevel_p=yes - fi - fi -fi - -# If this is the library's top level directory, set multidirs to the -# multilib subdirs to support. This lives at the top because we need -# `multidirs' set right away. - -if [ "${ml_toplevel_p}" = yes ]; then - -multidirs= -for i in `${CC-gcc} --print-multi-lib 2>/dev/null`; do - dir=`echo $i | sed -e 's/;.*$//'` - if [ "${dir}" = "." ]; then - true - else - if [ -z "${multidirs}" ]; then - multidirs="${dir}" - else - multidirs="${multidirs} ${dir}" - fi - fi -done - -# Target libraries are configured for the host they run on, so we check -# $host here, not $target. - -case "${host}" in -arm-*-*) - if [ x"$enable_fpu" = xno ] - then - old_multidirs=${multidirs} - multidirs="" - for x in ${old_multidirs}; do - case "${x}" in - *fpu*) : ;; - *) multidirs="${multidirs} ${x}" ;; - esac - done - fi - if [ x"$enable_26bit" = xno ] - then - old_multidirs=${multidirs} - multidirs="" - for x in ${old_multidirs}; do - case "${x}" in - *26bit*) : ;; - *) multidirs="${multidirs} ${x}" ;; - esac - done - fi - if [ x"$enable_underscore" = xno ] - then - old_multidirs=${multidirs} - multidirs="" - for x in ${old_multidirs}; do - case "${x}" in - *under*) : ;; - *) multidirs="${multidirs} ${x}" ;; - esac - done - fi - if [ x"$enable_interwork" = xno ] - then - old_multidirs=${multidirs} - multidirs="" - for x in ${old_multidirs}; do - case "${x}" in - *interwork*) : ;; - *) multidirs="${multidirs} ${x}" ;; - esac - done - fi - if [ x$enable_biendian = xno ] - then - old_multidirs="${multidirs}" - multidirs="" - for x in ${old_multidirs}; do - case "$x" in - *le* ) : ;; - *be* ) : ;; - *) multidirs="${multidirs} ${x}" ;; - esac - done - fi - if [ x"$enable_nofmult" = xno ] - then - old_multidirs="${multidirs}" - multidirs="" - for x in ${old_multidirs}; do - case "$x" in - *nofmult* ) : ;; - *) multidirs="${multidirs} ${x}" ;; - esac - done - fi - ;; -m68*-*-*) - if [ x$enable_softfloat = xno ] - then - old_multidirs="${multidirs}" - multidirs="" - for x in ${old_multidirs}; do - case "$x" in - *soft-float* ) : ;; - *) multidirs="${multidirs} ${x}" ;; - esac - done - fi - if [ x$enable_m68881 = xno ] - then - old_multidirs="${multidirs}" - multidirs="" - for x in ${old_multidirs}; do - case "$x" in - *m68881* ) : ;; - *) multidirs="${multidirs} ${x}" ;; - esac - done - fi - if [ x$enable_m68000 = xno ] - then - old_multidirs="${multidirs}" - multidirs="" - for x in ${old_multidirs}; do - case "$x" in - *m68000* ) : ;; - *) multidirs="${multidirs} ${x}" ;; - esac - done - fi - if [ x$enable_m68020 = xno ] - then - old_multidirs="${multidirs}" - multidirs="" - for x in ${old_multidirs}; do - case "$x" in - *m68020* ) : ;; - *) multidirs="${multidirs} ${x}" ;; - esac - done - fi - ;; -mips*-*-*) - if [ x$enable_single_float = xno ] - then - old_multidirs="${multidirs}" - multidirs="" - for x in ${old_multidirs}; do - case "$x" in - *single* ) : ;; - *) multidirs="${multidirs} ${x}" ;; - esac - done - fi - if [ x$enable_biendian = xno ] - then - old_multidirs="${multidirs}" - multidirs="" - for x in ${old_multidirs}; do - case "$x" in - *el* ) : ;; - *eb* ) : ;; - *) multidirs="${multidirs} ${x}" ;; - esac - done - fi - if [ x$enable_softfloat = xno ] - then - old_multidirs="${multidirs}" - multidirs="" - for x in ${old_multidirs}; do - case "$x" in - *soft-float* ) : ;; - *) multidirs="${multidirs} ${x}" ;; - esac - done - fi - ;; -powerpc*-*-* | rs6000*-*-*) - if [ x$enable_aix64 = xno ] - then - old_multidirs="${multidirs}" - multidirs="" - for x in ${old_multidirs}; do - case "$x" in - *ppc64* ) : ;; - *) multidirs="${multidirs} ${x}" ;; - esac - done - fi - if [ x$enable_pthread = xno ] - then - old_multidirs="${multidirs}" - multidirs="" - for x in ${old_multidirs}; do - case "$x" in - *pthread* ) : ;; - *) multidirs="${multidirs} ${x}" ;; - esac - done - fi - if [ x$enable_softfloat = xno ] - then - old_multidirs="${multidirs}" - multidirs="" - for x in ${old_multidirs}; do - case "$x" in - *soft-float* ) : ;; - *) multidirs="${multidirs} ${x}" ;; - esac - done - fi - if [ x$enable_powercpu = xno ] - then - old_multidirs="${multidirs}" - multidirs="" - for x in ${old_multidirs}; do - case "$x" in - power | */power | */power/* ) : ;; - *) multidirs="${multidirs} ${x}" ;; - esac - done - fi - if [ x$enable_powerpccpu = xno ] - then - old_multidirs="${multidirs}" - multidirs="" - for x in ${old_multidirs}; do - case "$x" in - *powerpc* ) : ;; - *) multidirs="${multidirs} ${x}" ;; - esac - done - fi - if [ x$enable_powerpcos = xno ] - then - old_multidirs="${multidirs}" - multidirs="" - for x in ${old_multidirs}; do - case "$x" in - *mcall-linux* | *mcall-solaris* ) : ;; - *) multidirs="${multidirs} ${x}" ;; - esac - done - fi - if [ x$enable_biendian = xno ] - then - old_multidirs="${multidirs}" - multidirs="" - for x in ${old_multidirs}; do - case "$x" in - *mlittle* | *mbig* ) : ;; - *) multidirs="${multidirs} ${x}" ;; - esac - done - fi - if [ x$enable_sysv = xno ] - then - old_multidirs="${multidirs}" - multidirs="" - for x in ${old_multidirs}; do - case "$x" in - *mcall-sysv* ) : ;; - *) multidirs="${multidirs} ${x}" ;; - esac - done - fi - ;; -esac - -# Remove extraneous blanks from multidirs. -# Tests like `if [ -n "$multidirs" ]' require it. -multidirs=`echo "$multidirs" | sed -e 's/^[ ][ ]*//' -e 's/[ ][ ]*$//' -e 's/[ ][ ]*/ /g'` - -# Add code to library's top level makefile to handle building the multilib -# subdirs. - -cat > Multi.tem <<\EOF - -PWD_COMMAND=$${PWDCMD-pwd} - -# FIXME: There should be an @-sign in front of the `if'. -# Leave out until this is tested a bit more. -multi-do: - if [ -z "$(MULTIDIRS)" ]; then \ - true; \ - else \ - rootpre=`${PWD_COMMAND}`/; export rootpre; \ - srcrootpre=`cd $(srcdir); ${PWD_COMMAND}`/; export srcrootpre; \ - lib=`echo "$${rootpre}" | sed -e 's,^.*/\([^/][^/]*\)/$$,\1,'`; \ - compiler="$(CC)"; \ - for i in `$${compiler} --print-multi-lib 2>/dev/null`; do \ - dir=`echo $$i | sed -e 's/;.*$$//'`; \ - if [ "$${dir}" = "." ]; then \ - true; \ - else \ - if [ -d ../$${dir}/$${lib} ]; then \ - flags=`echo $$i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \ - if (cd ../$${dir}/$${lib}; $(MAKE) $(FLAGS_TO_PASS) \ - CFLAGS="$(CFLAGS) $${flags}" \ - CCASFLAGS="$(CCASFLAGS) $${flags}" \ - FCFLAGS="$(FCFLAGS) $${flags}" \ - FFLAGS="$(FFLAGS) $${flags}" \ - ADAFLAGS="$(ADAFLAGS) $${flags}" \ - prefix="$(prefix)" \ - exec_prefix="$(exec_prefix)" \ - GCJFLAGS="$(GCJFLAGS) $${flags}" \ - GOCFLAGS="$(GOCFLAGS) $${flags}" \ - CXXFLAGS="$(CXXFLAGS) $${flags}" \ - LIBCFLAGS="$(LIBCFLAGS) $${flags}" \ - LIBCXXFLAGS="$(LIBCXXFLAGS) $${flags}" \ - LDFLAGS="$(LDFLAGS) $${flags}" \ - MULTIFLAGS="$${flags}" \ - DESTDIR="$(DESTDIR)" \ - INSTALL="$(INSTALL)" \ - INSTALL_DATA="$(INSTALL_DATA)" \ - INSTALL_PROGRAM="$(INSTALL_PROGRAM)" \ - INSTALL_SCRIPT="$(INSTALL_SCRIPT)" \ - $(DO)); then \ - true; \ - else \ - exit 1; \ - fi; \ - else true; \ - fi; \ - fi; \ - done; \ - fi - -# FIXME: There should be an @-sign in front of the `if'. -# Leave out until this is tested a bit more. -multi-clean: - if [ -z "$(MULTIDIRS)" ]; then \ - true; \ - else \ - lib=`${PWD_COMMAND} | sed -e 's,^.*/\([^/][^/]*\)$$,\1,'`; \ - for dir in : $(MULTIDIRS); do \ - test $$dir != : || continue; \ -EOF -cat >>Multi.tem <<EOF - if [ -f ../\$\${dir}/\$\${lib}/${Makefile} ]; then \\ -EOF -cat >>Multi.tem <<\EOF - if (cd ../$${dir}/$${lib}; $(MAKE) $(FLAGS_TO_PASS) $(DO)); \ - then true; \ - else exit 1; \ - fi; \ - else true; \ - fi; \ - done; \ - fi -EOF - -cat ${Makefile} Multi.tem > Makefile.tem -rm -f ${Makefile} Multi.tem -mv Makefile.tem ${Makefile} - -fi # ${ml_toplevel_p} = yes - -if [ "${ml_verbose}" = --verbose ]; then - echo "Adding multilib support to ${Makefile} in ${ml_realsrcdir}" - if [ "${ml_toplevel_p}" = yes ]; then - echo "multidirs=${multidirs}" - fi - echo "with_multisubdir=${with_multisubdir}" -fi - -if [ "${srcdir}" = "." ]; then - if [ "${with_target_subdir}" != "." ]; then - ml_srcdotdot="../" - else - ml_srcdotdot="" - fi -else - ml_srcdotdot="" -fi - -if [ -z "${with_multisubdir}" ]; then - ml_subdir= - ml_builddotdot= - : # ml_srcdotdot= # already set -else - ml_subdir="/${with_multisubdir}" - # The '[^/][^/]*' appears that way to work around a SunOS sed bug. - ml_builddotdot=`echo ${with_multisubdir} | sed -e 's:[^/][^/]*:..:g'`/ - if [ "$srcdir" = "." ]; then - ml_srcdotdot=${ml_srcdotdot}${ml_builddotdot} - else - : # ml_srcdotdot= # already set - fi -fi - -if [ "${ml_toplevel_p}" = yes ]; then - ml_do='$(MAKE)' - ml_clean='$(MAKE)' -else - ml_do=true - ml_clean=true -fi - -# TOP is used by newlib and should not be used elsewhere for this purpose. -# MULTI{SRC,BUILD}TOP are the proper ones to use. MULTISRCTOP is empty -# when srcdir != builddir. MULTIBUILDTOP is always some number of ../'s. -# FIXME: newlib needs to be updated to use MULTI{SRC,BUILD}TOP so we can -# delete TOP. Newlib may wish to continue to use TOP for its own purposes -# of course. -# MULTIDIRS is non-empty for the cpu top level Makefile (eg: newlib/Makefile) -# and lists the subdirectories to recurse into. -# MULTISUBDIR is non-empty in each cpu subdirectory's Makefile -# (eg: newlib/h8300h/Makefile) and is the installed subdirectory name with -# a leading '/'. -# MULTIDO is used for targets like all, install, and check where -# $(FLAGS_TO_PASS) augmented with the subdir's compiler option is needed. -# MULTICLEAN is used for the *clean targets. -# -# ??? It is possible to merge MULTIDO and MULTICLEAN into one. They are -# currently kept separate because we don't want the *clean targets to require -# the existence of the compiler (which MULTIDO currently requires) and -# therefore we'd have to record the directory options as well as names -# (currently we just record the names and use --print-multi-lib to get the -# options). - -sed -e "s:^TOP[ ]*=[ ]*\([./]*\)[ ]*$:TOP = ${ml_builddotdot}\1:" \ - -e "s:^MULTISRCTOP[ ]*=.*$:MULTISRCTOP = ${ml_srcdotdot}:" \ - -e "s:^MULTIBUILDTOP[ ]*=.*$:MULTIBUILDTOP = ${ml_builddotdot}:" \ - -e "s:^MULTIDIRS[ ]*=.*$:MULTIDIRS = ${multidirs}:" \ - -e "s:^MULTISUBDIR[ ]*=.*$:MULTISUBDIR = ${ml_subdir}:" \ - -e "s:^MULTIDO[ ]*=.*$:MULTIDO = $ml_do:" \ - -e "s:^MULTICLEAN[ ]*=.*$:MULTICLEAN = $ml_clean:" \ - ${Makefile} > Makefile.tem -rm -f ${Makefile} -mv Makefile.tem ${Makefile} - -# If this is the library's top level, configure each multilib subdir. -# This is done at the end because this is the loop that runs configure -# in each multilib subdir and it seemed reasonable to finish updating the -# Makefile before going on to configure the subdirs. - -if [ "${ml_toplevel_p}" = yes ]; then - -# We must freshly configure each subdirectory. This bit of code is -# actually partially stolen from the main configure script. FIXME. - -if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then - - if [ "${ml_verbose}" = --verbose ]; then - echo "Running configure in multilib subdirs ${multidirs}" - echo "pwd: `${PWDCMD-pwd}`" - fi - - ml_origdir=`${PWDCMD-pwd}` - ml_libdir=`echo "$ml_origdir" | sed -e 's,^.*/,,'` - # cd to top-level-build-dir/${with_target_subdir} - cd .. - - for ml_dir in ${multidirs}; do - - if [ "${ml_verbose}" = --verbose ]; then - echo "Running configure in multilib subdir ${ml_dir}" - echo "pwd: `${PWDCMD-pwd}`" - fi - - if [ -d ${ml_dir} ]; then true; else - # ``mkdir -p ${ml_dir}'' See also mkinstalldirs. - pathcomp="" - for d in `echo ":${ml_dir}" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`; do - pathcomp="$pathcomp$d" - case "$pathcomp" in - -* ) pathcomp=./$pathcomp ;; - esac - if test ! -d "$pathcomp"; then - echo "mkdir $pathcomp" 1>&2 - mkdir "$pathcomp" > /dev/null 2>&1 || lasterr=$? - fi - if test ! -d "$pathcomp"; then - exit $lasterr - fi - pathcomp="$pathcomp/" - done - fi - if [ -d ${ml_dir}/${ml_libdir} ]; then true; else mkdir ${ml_dir}/${ml_libdir}; fi - - # Eg: if ${ml_dir} = m68000/m68881, dotdot = ../../ - dotdot=../`echo ${ml_dir} | sed -e 's|[^/]||g' -e 's|/|../|g'` - - case ${srcdir} in - ".") - echo "Building symlink tree in `${PWDCMD-pwd}`/${ml_dir}/${ml_libdir}" - if [ "${with_target_subdir}" != "." ]; then - ml_unsubdir="../" - else - ml_unsubdir="" - fi - (cd ${ml_dir}/${ml_libdir}; - ../${dotdot}${ml_unsubdir}symlink-tree ../${dotdot}${ml_unsubdir}${ml_libdir} "") - if [ -f ${ml_dir}/${ml_libdir}/${Makefile} ]; then - if [ x"${MAKE}" = x ]; then - (cd ${ml_dir}/${ml_libdir}; make distclean) - else - (cd ${ml_dir}/${ml_libdir}; ${MAKE} distclean) - fi - fi - ml_newsrcdir="." - ml_srcdiroption= - multisrctop=${dotdot} - ;; - *) - case "${srcdir}" in - /* | [A-Za-z]:[\\/]* ) # absolute path - ml_newsrcdir=${srcdir} - ;; - *) # otherwise relative - ml_newsrcdir=${dotdot}${srcdir} - ;; - esac - ml_srcdiroption="-srcdir=${ml_newsrcdir}" - multisrctop= - ;; - esac - - case "${progname}" in - /* | [A-Za-z]:[\\/]* ) ml_recprog=${progname} ;; - *) ml_recprog=${dotdot}${progname} ;; - esac - - # FIXME: POPDIR=${PWD=`pwd`} doesn't work here. - ML_POPDIR=`${PWDCMD-pwd}` - cd ${ml_dir}/${ml_libdir} - - if [ -f ${ml_newsrcdir}/configure ]; then - ml_recprog="${ml_newsrcdir}/configure" - fi - - # find compiler flag corresponding to ${ml_dir} - for i in `${CC-gcc} --print-multi-lib 2>/dev/null`; do - dir=`echo $i | sed -e 's/;.*$//'` - if [ "${dir}" = "${ml_dir}" ]; then - flags=`echo $i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'` - break - fi - done - ml_config_env='CC="${CC_}$flags" CXX="${CXX_}$flags" F77="${F77_}$flags" GCJ="${GCJ_}$flags" GFORTRAN="${GFORTRAN_}$flags" GOC="${GOC_}$flags"' - - if [ "${with_target_subdir}" = "." ]; then - CC_=$CC' ' - CXX_=$CXX' ' - F77_=$F77' ' - GCJ_=$GCJ' ' - GFORTRAN_=$GFORTRAN' ' - GOC_=$GOC' ' - else - # Create a regular expression that matches any string as long - # as ML_POPDIR. - popdir_rx=`echo "${ML_POPDIR}" | sed 's,.,.,g'` - CC_= - for arg in ${CC}; do - case $arg in - -[BIL]"${ML_POPDIR}"/*) - CC_="${CC_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\1/p"`' ' ;; - "${ML_POPDIR}"/*) - CC_="${CC_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; - *) - CC_="${CC_}${arg} " ;; - esac - done - - CXX_= - for arg in ${CXX}; do - case $arg in - -[BIL]"${ML_POPDIR}"/*) - CXX_="${CXX_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; - "${ML_POPDIR}"/*) - CXX_="${CXX_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; - *) - CXX_="${CXX_}${arg} " ;; - esac - done - - F77_= - for arg in ${F77}; do - case $arg in - -[BIL]"${ML_POPDIR}"/*) - F77_="${F77_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; - "${ML_POPDIR}"/*) - F77_="${F77_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; - *) - F77_="${F77_}${arg} " ;; - esac - done - - GCJ_= - for arg in ${GCJ}; do - case $arg in - -[BIL]"${ML_POPDIR}"/*) - GCJ_="${GCJ_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; - "${ML_POPDIR}"/*) - GCJ_="${GCJ_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; - *) - GCJ_="${GCJ_}${arg} " ;; - esac - done - - GFORTRAN_= - for arg in ${GFORTRAN}; do - case $arg in - -[BIL]"${ML_POPDIR}"/*) - GFORTRAN_="${GFORTRAN_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; - "${ML_POPDIR}"/*) - GFORTRAN_="${GFORTRAN_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; - *) - GFORTRAN_="${GFORTRAN_}${arg} " ;; - esac - done - - GOC_= - for arg in ${GOC}; do - case $arg in - -[BIL]"${ML_POPDIR}"/*) - GOC_="${GOC_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; - "${ML_POPDIR}"/*) - GOC_="${GOC_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; - *) - GOC_="${GOC_}${arg} " ;; - esac - done - - if test "x${LD_LIBRARY_PATH+set}" = xset; then - LD_LIBRARY_PATH_= - for arg in `echo "$LD_LIBRARY_PATH" | tr ':' ' '`; do - case "$arg" in - "${ML_POPDIR}"/*) - arg=`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"` - ;; - esac - if test "x$LD_LIBRARY_PATH_" != x; then - LD_LIBRARY_PATH_=$LD_LIBRARY_PATH_:$arg - else - LD_LIBRARY_PATH_=$arg - fi - done - ml_config_env="$ml_config_env LD_LIBRARY_PATH=$LD_LIBRARY_PATH_" - fi - - if test "x${SHLIB_PATH+set}" = xset; then - SHLIB_PATH_= - for arg in `echo "$SHLIB_PATH" | tr ':' ' '`; do - case "$arg" in - "${ML_POPDIR}"/*) - arg=`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"` - ;; - esac - if test "x$SHLIB_PATH_" != x; then - SHLIB_PATH_=$SHLIB_PATH_:$arg - else - SHLIB_PATH_=$arg - fi - done - ml_config_env="$ml_config_env SHLIB_PATH=$SHLIB_PATH_" - fi - fi - - if eval ${ml_config_env} ${ml_config_shell} ${ml_recprog} \ - --with-multisubdir=${ml_dir} --with-multisrctop=${multisrctop} \ - ${ac_configure_args} ${ml_config_env} ${ml_srcdiroption} ; then - true - else - exit 1 - fi - - cd "${ML_POPDIR}" - - done - - cd "${ml_origdir}" -fi - -fi # ${ml_toplevel_p} = yes -fi # ${enable_multilib} = yes diff --git a/contrib/multilib/multi.m4 b/contrib/multilib/multi.m4 deleted file mode 100644 index 39b05c10b..000000000 --- a/contrib/multilib/multi.m4 +++ /dev/null @@ -1,64 +0,0 @@ -## -*- Autoconf -*- -# Copyright (C) 1998-2015 Free Software Foundation, Inc. -# -# This file 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. - -# serial 6 - -# AM_ENABLE_MULTILIB([MAKEFILE], [REL-TO-TOP-SRCDIR]) -# --------------------------------------------------- -# Add --enable-multilib to configure. -AC_DEFUN([AM_ENABLE_MULTILIB], -[# Default to --enable-multilib -AC_ARG_ENABLE(multilib, -[ --enable-multilib build many library versions (default)], -[case "$enableval" in - yes) multilib=yes ;; - no) multilib=no ;; - *) AC_MSG_ERROR([bad value $enableval for multilib option]) ;; - esac], - [multilib=yes]) - -# We may get other options which we leave undocumented: -# --with-target-subdir, --with-multisrctop, --with-multisubdir -# See config-ml.in if you want the gory details. - -if test "$srcdir" = "."; then - if test "$with_target_subdir" != "."; then - multi_basedir="$srcdir/$with_multisrctop../$2" - else - multi_basedir="$srcdir/$with_multisrctop$2" - fi -else - multi_basedir="$srcdir/$2" -fi -AC_SUBST(multi_basedir) - -# Even if the default multilib is not a cross compilation, -# it may be that some of the other multilibs are. -if test $cross_compiling = no && test $multilib = yes \ - && test "x${with_multisubdir}" != x ; then - cross_compiling=maybe -fi - -AC_OUTPUT_COMMANDS([ -# Only add multilib support code if we just rebuilt the top-level -# Makefile. -case " $CONFIG_FILES " in - *" ]m4_default([$1],Makefile)[ "*) - ac_file=]m4_default([$1],Makefile)[ . ${multi_basedir}/config-ml.in - ;; -esac], - [ -srcdir="$srcdir" -host="$host" -target="$target" -with_multisubdir="$with_multisubdir" -with_multisrctop="$with_multisrctop" -with_target_subdir="$with_target_subdir" -ac_configure_args="${multilib_arg} ${ac_configure_args}" -multi_basedir="$multi_basedir" -CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} -CC="$CC"])])dnl diff --git a/contrib/multilib/multilib.am b/contrib/multilib/multilib.am deleted file mode 100644 index 1781295be..000000000 --- a/contrib/multilib/multilib.am +++ /dev/null @@ -1,45 +0,0 @@ -## automake - create Makefile.in from Makefile.am - -## Copyright (C) 1994-2015 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. - -## This program is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. - -MULTISRCTOP = -MULTIBUILDTOP = -MULTIDIRS = -MULTISUBDIR = -MULTIDO = true -MULTICLEAN = true - -# GNU Make needs to see an explicit $(MAKE) variable in the command it -# runs to enable its job server during parallel builds. Hence the -# comments below. -all-multi: - $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE) -install-multi: - $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do # $(MAKE) -mostlyclean-multi: - $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean # $(MAKE) -clean-multi: - $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean # $(MAKE) -distclean-multi: - $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean # $(MAKE) -maintainer-clean-multi: - $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean # $(MAKE) - -.MAKE .PHONY: all-multi clean-multi distclean-multi install-am \ - install-multi maintainer-clean-multi mostlyclean-multi - -install-exec-local: install-multi - -all-local: all-multi -mostlyclean-local: mostlyclean-multi -clean-local: clean-multi -distclean-local: distclean-multi -maintainer-clean-local: maintainer-clean-multi diff --git a/contrib/multilib/symlink-tree b/contrib/multilib/symlink-tree deleted file mode 100755 index 0529b997a..000000000 --- a/contrib/multilib/symlink-tree +++ /dev/null @@ -1,78 +0,0 @@ -#!/bin/sh -# Create a symlink tree. -# -# Copyright (C) 1995-2015 Free Software Foundation, Inc. -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. -# -# Please report bugs to <gcc-bugs@gnu.org> -# and send patches to <gcc-patches@gnu.org>. - -# Syntax: symlink-tree srcdir "ignore1 ignore2 ..." -# -# where srcdir is the directory to create a symlink tree to, -# and "ignoreN" is a list of files/directories to ignore. - -prog=$0 -srcdir=$1 -ignore="$2" - -if test $# -lt 1; then - echo "symlink-tree error: Usage: symlink-tree srcdir \"ignore1 ignore2 ...\"" - exit 1 -fi - -ignore_additional=". .. CVS" - -# If we were invoked with a relative path name, adjust ${prog} to work -# in subdirs. -case ${prog} in -/* | [A-Za-z]:[\\/]*) ;; -*) prog=../${prog} ;; -esac - -# Set newsrcdir to something subdirectories can use. -case ${srcdir} in -/* | [A-Za-z]:[\\/]*) newsrcdir=${srcdir} ;; -*) newsrcdir=../${srcdir} ;; -esac - -for f in `ls -a ${srcdir}`; do - if [ -d ${srcdir}/$f ]; then - found= - for i in ${ignore} ${ignore_additional}; do - if [ "$f" = "$i" ]; then - found=yes - fi - done - if [ -z "${found}" ]; then - echo "$f ..working in" - if [ -d $f ]; then true; else mkdir $f; fi - (cd $f; ${prog} ${newsrcdir}/$f "${ignore}") - fi - else - echo "$f ..linked" - rm -f $f - ln -s ${srcdir}/$f . - fi -done - -exit 0 diff --git a/contrib/t/Makefile.inc b/contrib/t/Makefile.inc index 51d577941..b33caade9 100644 --- a/contrib/t/Makefile.inc +++ b/contrib/t/Makefile.inc @@ -21,6 +21,4 @@ contrib_TESTS = \ %D%/parallel-tests-html.sh \ - %D%/parallel-tests-html-recursive.sh \ - %D%/help-multilib.sh \ - %D%/multilib.sh + %D%/parallel-tests-html-recursive.sh diff --git a/contrib/t/help-multilib.sh b/contrib/t/help-multilib.sh deleted file mode 100755 index 6e0ab2729..000000000 --- a/contrib/t/help-multilib.sh +++ /dev/null @@ -1,32 +0,0 @@ -#! /bin/sh -# Copyright (C) 2010-2015 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -# Make sure that our macro 'AM_ENABLE_MULTILIB' adds proper text to -# the configure help screen. - -. test-init.sh - -cat > configure.ac <<END -AC_INIT([$me], [1.0]) -AM_ENABLE_MULTILIB -END - -cat "$am_top_srcdir"/contrib/multilib/multi.m4 > aclocal.m4 -$AUTOCONF - -grep_configure_help --enable-multilib ' many library versions \(default\)' - -: diff --git a/contrib/t/multilib.sh b/contrib/t/multilib.sh deleted file mode 100755 index 5a77f0aa2..000000000 --- a/contrib/t/multilib.sh +++ /dev/null @@ -1,160 +0,0 @@ -#! /bin/sh -# Copyright (C) 2003-2015 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -# Check multilib support. -# Based on a test case from Ralf Corsepius. - -required='gcc GNUmake' -. test-init.sh - -mldir=$am_top_srcdir/contrib/multilib -mkdir m4 -cp "$mldir"/config-ml.in "$mldir"/symlink-tree . -cp "$mldir"/multi.m4 m4 - -ACLOCAL_PATH=${ACLOCAL_PATH+"$ACLOCAL_PATH:"}$(pwd)/m4 -export ACLOCAL_PATH - -cat >configure.ac <<'END' -AC_INIT([multlib], [1.0]) -AC_CONFIG_SRCDIR(libfoo/foo.c) -AC_CONFIG_AUX_DIR(.) -AM_INIT_AUTOMAKE -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_SUBDIRS(libfoo) -AC_CONFIG_SUBDIRS(libbar) -AC_OUTPUT -END - -cat >mycc <<'END' -#! /bin/sh -case ${1+"$@"} in - *-print-multi-lib*) - echo ".;" - echo "debug;@g" - exit 0 ;; -esac -gcc ${1+"$@"} -END - -chmod +x mycc -PATH=$(pwd)$PATH_SEPARATOR$PATH; export PATH - -cat >Makefile.am <<'EOF' -SUBDIRS = @subdirs@ -EXTRA_DIST = config-ml.in symlink-tree -check-all: - test -f debug/libfoo/libfoo.a - test -f debug/libbar/libbar.a - test -f libfoo/libfoo.a - test -f libbar/libbar.a -EOF - -# libfoo tests multilib supports when there are no subdirectories -# libbar tests multilib supports when there are subdirectories - -mkdir libfoo -cp "$mldir"/multilib.am libfoo/ - -cat >libfoo/configure.ac <<'END' -AC_PREREQ(2.57) -AC_INIT(libfoo, 0.1, nobody@localhost) -AC_CONFIG_SRCDIR(foo.c) -# Apparently it doesn't work to have auxdir=.. when -# multilib uses symlinked trees. -AC_CONFIG_AUX_DIR(.) -AM_INIT_AUTOMAKE -AC_PROG_CC -AM_PROG_AR -AC_PROG_RANLIB -AM_ENABLE_MULTILIB(Makefile,[..]) -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT -END - -cat >libfoo/Makefile.am <<'END' -noinst_LIBRARIES = libfoo.a -libfoo_a_SOURCES = foo.c -include $(top_srcdir)/multilib.am -END - -: > libfoo/foo.c - -mkdir libbar -cp "$mldir"/multilib.am libbar/ - -cat >libbar/configure.ac <<'END' -AC_PREREQ(2.57) -AC_INIT(libbar, 0.1, nobody@localhost) -# Apparently it doesn't work to have auxdir=.. when -# multilib uses symlinked trees. -AC_CONFIG_AUX_DIR(.) -AM_INIT_AUTOMAKE -AC_PROG_CC -AM_PROG_AR -AC_PROG_RANLIB -AM_ENABLE_MULTILIB(Makefile,[..]) -AC_CONFIG_FILES([Makefile sub/Makefile]) -AC_OUTPUT -END - -cat >libbar/Makefile.am <<'END' -SUBDIRS = sub -noinst_LIBRARIES = libbar.a -libbar_a_SOURCES = bar.c -include $(top_srcdir)/multilib.am -END - -mkdir libbar/sub -echo 'include $(top_srcdir)/multilib.am' >libbar/sub/Makefile.am -: > libbar/bar.c - -$ACLOCAL -$AUTOCONF -$AUTOMAKE --add-missing - -cd libfoo -$ACLOCAL -$AUTOCONF -$AUTOMAKE --add-missing -cd .. - -cd libbar -$ACLOCAL -$AUTOCONF -$AUTOMAKE --add-missing -cd .. - -# Check VPATH builds -mkdir build -cd build -../configure --enable-multilib CC=mycc -$MAKE -test -f debug/libfoo/libfoo.a -test -f debug/libbar/libbar.a -test -f libfoo/libfoo.a -test -f libbar/libbar.a -$MAKE install -$MAKE distcleancheck - -# Check standard builds. -cd .. -# Why to I have to specify --with-target-subdir? -./configure --enable-multilib --with-target-subdir=. CC=mycc -$MAKE check -DISTCHECK_CONFIGURE_FLAGS='--enable-multilib CC=mycc' $MAKE distcheck - -: diff --git a/contrib/t/parallel-tests-html-recursive.sh b/contrib/t/parallel-tests-html-recursive.sh index 4a7c04cd5..4f92ae986 100755 --- a/contrib/t/parallel-tests-html-recursive.sh +++ b/contrib/t/parallel-tests-html-recursive.sh @@ -34,6 +34,9 @@ cp "$am_top_srcdir"/contrib/check-html.am . \ cat >> configure.ac << 'END' AM_EXTRA_RECURSIVE_TARGETS([check-html]) +# This variable must be defined in each Makefile.am that includes +# 'check-html.am'. It's simpler to do this once here. +AC_SUBST([MOSTLYCLEANFILES], []) AC_CONFIG_FILES([sub/Makefile sub/more/Makefile]) AC_OUTPUT END @@ -106,7 +109,6 @@ test ! -f test.log test -f x.txt END - cat > sub/more/mu << 'END' #!/bin/sh exit 99 diff --git a/contrib/t/parallel-tests-html.sh b/contrib/t/parallel-tests-html.sh index eca818da2..5fdd36add 100755 --- a/contrib/t/parallel-tests-html.sh +++ b/contrib/t/parallel-tests-html.sh @@ -45,6 +45,8 @@ check_SCRIPTS = bla bla: echo bla > $@ CLEANFILES = bla +## Initialization of this required by 'check-html.am', below. +MOSTLYCLEANFILES = include $(srcdir)/check-html.am END @@ -87,12 +89,12 @@ test ! -e bla # Always create the HTML output, even if there were no failures. rm -f mylog.html -run_make TESTS=foo.test check-html +$MAKE TESTS=foo.test check-html test -f mylog.html # Create summarizing HTML output also with recheck-html. rm -f mylog.html -run_make TESTS=foo.test recheck-html +$MAKE TESTS=foo.test recheck-html test -f mylog.html # Create HTML output for an individual test. @@ -120,7 +122,7 @@ test ! -e mylog.html $MAKE clean test ! -e mylog.html -run_make TEST_LOGS=foo.log check-html +$MAKE check-html TESTS=foo test -f bla test -f foo.log test ! -e bar.log @@ -128,7 +130,7 @@ test ! -e baz.log test -f mylog.html $MAKE clean -run_make TESTS=foo.test recheck-html +$MAKE recheck-html TESTS=foo.test test -f bla test ! -e foo.log test -f mylog.html diff --git a/contrib/tap-driver.pl b/contrib/tap-driver.pl index ee73b9973..4d76bd905 100755 --- a/contrib/tap-driver.pl +++ b/contrib/tap-driver.pl @@ -19,9 +19,9 @@ # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. -# This file is maintained in Automake, please report +# This file is maintained in Automake-NG, please report # bugs to <bug-automake@gnu.org> or send patches to -# <automake-patches@gnu.org>. +# <automake-ng@gnu.org>. # ---------------------------------- # # Imports, static data, and setup. # @@ -49,7 +49,7 @@ END my $HELP = "$ME: TAP-aware test driver for Automake testsuite harness." . "\n" . $USAGE; -# Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'. +# Keep in sync with 'lib/am/color-tests.am:$(am.test-suite.tty-colors)'. my %COLOR = ( red => "\e[0;31m", grn => "\e[0;32m", |