From c5df21e8dde255778896e512f7b7b037049dbf7e Mon Sep 17 00:00:00 2001 From: Stefano Lattarini Date: Tue, 17 Jan 2012 19:48:06 +0100 Subject: multilib: deprecate, will be moved to contrib As of 2012-01-17, according to Google codesarch, almost no active package is using the 'multilib' feature offered by automake. The only major exception seems to be GCC... But on a closer look, it become clear that GCC basically carries its own version of multilib support. In fact, Automake syncs its 'config-ml.in' and 'symlink-tree' scripts from GCC; and the GCC repository contains a version of the 'multi.m4' file that is *more* updated than the one in the automake repository (the former having being modified the last time in 2008, the latter only in 2006). The 'multilib' feature was anyway hardly documented at all, only being briefly cited in the manual as an "obscure feature", "still experimental", that was only for users "familiar with multilibs" and which "can debug problems they might encounter". We expect such users to be motivated and knowledgeable enough to make the minor adjustments required to start using the contrib version of multilib, if they really need to. * NEWS (Future backward incompatibility): Update. * doc/automake.texi: Deprecate multilib support. State that it will be removed from automake core in the next major release. * m4/multi.m4 (AM_ENABLE_MULTILIB): Deprecate. If called, now gives a proper warning in the 'obsolete' category (while still retaining its former behaviour for the rest). * tests/multilib.test: Update. * contrib/multilib/multi.m4: New, verbatim copy of the earlier version of multi.m4, without the new deprecation warning. * Makefile.am (fetch): Don't sync the 'config-ml.in' file nor the 'symlink-tree' script from GCC SVN repository anymore. (FETCHFILES): Adjust. (WGET_GCC): Remove, it's not needed anymore. --- contrib/multilib/multi.m4 | 65 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 contrib/multilib/multi.m4 (limited to 'contrib') diff --git a/contrib/multilib/multi.m4 b/contrib/multilib/multi.m4 new file mode 100644 index 000000000..98417679f --- /dev/null +++ b/contrib/multilib/multi.m4 @@ -0,0 +1,65 @@ +## -*- Autoconf -*- +# Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006 +# 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 -- cgit v1.2.1 From 91158d7245f194f7fc40d8da8965c59965112601 Mon Sep 17 00:00:00 2001 From: Stefano Lattarini Date: Sat, 21 Jan 2012 19:40:35 +0100 Subject: fixup: distribute 'contrib/multilib/multi.m4' This fix up a blunder in commit v1.11-665-gc5df21e of 2012-01-17, "multilib: deprecate, will be moved to contrib". * contrib/Makefile.am (EXTRA_DIST): Add 'multilib/multi.m4'. --- contrib/Makefile.am | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'contrib') diff --git a/contrib/Makefile.am b/contrib/Makefile.am index b49192317..820b54732 100644 --- a/contrib/Makefile.am +++ b/contrib/Makefile.am @@ -17,4 +17,6 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -EXTRA_DIST = README +EXTRA_DIST = \ + multilib/multi.m4 \ + README -- cgit v1.2.1