automake-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Automake-commit] [SCM] GNU Automake branch, maint, updated. v1.11-665-g


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, maint, updated. v1.11-665-gc5df21e
Date: Sat, 21 Jan 2012 10:04:15 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Automake".

http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=c5df21e8dde255778896e512f7b7b037049dbf7e

The branch, maint has been updated
       via  c5df21e8dde255778896e512f7b7b037049dbf7e (commit)
      from  84fbf466f32d0e47291a91d620f7d4831bba34fe (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit c5df21e8dde255778896e512f7b7b037049dbf7e
Author: Stefano Lattarini <address@hidden>
Date:   Tue Jan 17 19:48:06 2012 +0100

    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.

-----------------------------------------------------------------------

Summary of changes:
 Makefile.am                       |    7 +----
 NEWS                              |    4 ++
 {m4 => contrib/multilib}/multi.m4 |    0
 doc/automake.texi                 |   56 +++++++++++++++++++++++--------------
 m4/multi.m4                       |    5 ++-
 tests/multlib.test                |   28 +++++++++++++++---
 6 files changed, 67 insertions(+), 33 deletions(-)
 copy {m4 => contrib/multilib}/multi.m4 (100%)

diff --git a/Makefile.am b/Makefile.am
index 06b3396..ad4d372 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -709,18 +709,15 @@ WGET_SV_CVS = $(WGET) 
http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/
 WGET_SV_GIT_CF = $(WGET) 
'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;hb=HEAD;f='
 WGET_SV_GIT_AC = $(WGET) 
'http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=blob_plain;hb=HEAD;f='
 WGET_SV_GIT_GL = $(WGET) 
'http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob_plain;hb=HEAD;f='
-WGET_GCC = $(WGET) 'http://gcc.gnu.org/viewcvs/*checkout*/trunk/'
 
 ## Files that we fetch and which we compare against.
 ## FIXME should be a lot more here
 FETCHFILES = \
 INSTALL \
-config-ml.in \
 config.guess \
 config.sub \
 gnupload \
 gitlog-to-changelog \
-symlink-tree \
 texinfo.tex
 
 ## Fetch the latest versions of files we care about.
@@ -734,9 +731,7 @@ fetch:
        $(WGET_SV_CVS)texinfo/texinfo/doc/texinfo.tex -O texinfo.tex && \
        $(WGET_SV_GIT_GL)doc/INSTALL -O INSTALL && \
        $(WGET_SV_GIT_GL)build-aux/gnupload -O gnupload && \
-       $(WGET_SV_GIT_GL)build-aux/gitlog-to-changelog -O gitlog-to-changelog 
&& \
-       $(WGET_GCC)config-ml.in -O config-ml.in && \
-       $(WGET_GCC)symlink-tree -O symlink-tree)
+       $(WGET_SV_GIT_GL)build-aux/gitlog-to-changelog -O gitlog-to-changelog)
 ## Don't exit after test because we want to give as many errors as
 ## possible.
        @stat=0; for file in $(FETCHFILES); do \
diff --git a/NEWS b/NEWS
index 172889c..3ae6604 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,10 @@ New in 1.11.0a:
 
 * WARNING: Future backward-incompatibilities!
 
+  - The support for the "obscure" multilib feature has been deprecated,
+    and will be moved out of the automake core in the next major Automake
+    release (1.12).
+
   - The support for ".log -> .html" conversion and the check-html and
     recheck-html targets will be removed in the next major Automake
     release (1.12).
diff --git a/m4/multi.m4 b/contrib/multilib/multi.m4
similarity index 100%
copy from m4/multi.m4
copy to contrib/multilib/multi.m4
diff --git a/doc/automake.texi b/doc/automake.texi
index cb31053..fb0e5e7 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -323,7 +323,7 @@ Miscellaneous Rules
 
 * Tags::                        Interfacing to etags and mkid
 * Suffixes::                    Handling new file extensions
-* Multilibs::                   Support for multilibs.
+* Multilibs::                   Support for multilibs (deprecated, soon to be 
removed).
 
 Conditionals
 
@@ -2270,8 +2270,11 @@ release.
 
 @item config-ml.in
 This file is not a program, it is a @file{configure} fragment used for
-multilib support (@pxref{Multilibs}).  This file is maintained in the
-GCC tree at @url{http://gcc.gnu.org/svn.html}.
+multilib support (@pxref{Multilibs}).  Since the Automake multilib
+support has been @emph{deprecated} and targeted for removal, this
+file is going to be @emph{removed from the Automake core} in the next
+major release.  The master copy of this file is maintained in the GCC
+tree at @url{http://gcc.gnu.org/svn.html}.
 
 @item depcomp
 This program understands how to run a compiler so that it will
@@ -2312,8 +2315,11 @@ This is used to byte-compile Python scripts.
 @item symlink-tree
 This program duplicates a tree of directories, using symbolic links
 instead of copying files.  Such an operation is performed when building
-multilibs (@pxref{Multilibs}).  This file is maintained in the GCC
-tree at @url{http://gcc.gnu.org/svn.html}.
+multilibs (@pxref{Multilibs}).  Since the Automake multilib support has
+been @emph{deprecated} and targeted for removal, this file is going to
+be @emph{removed from the Automake core} in the next major release.
+The master copy of this file is maintained in the GCC tree at
address@hidden://gcc.gnu.org/svn.html}.
 
 @item texinfo.tex
 Not a program, this file is required for @samp{make dvi}, @samp{make
@@ -3904,12 +3910,18 @@ Automake ships with several Autoconf macros that you 
can use from your
 
 @item AM_ENABLE_MULTILIB
 @acindex AM_ENABLE_MULTILIB
-This is used when a ``multilib'' library is being built.  The first
-optional argument is the name of the @file{Makefile} being generated; it
-defaults to @samp{Makefile}.  The second optional argument is used to find
-the top source directory; it defaults to the empty string (generally
-this should not be used unless you are familiar with the internals).
address@hidden
+
+This is used when a ``multilib'' library is being built.  Please be
+aware that multilib support @emph{will be removed} from the Automake
+core in the next major release, and then @emph{this macro will go away
+as well} (even if a ``frozen'' version of will remain available in the
address@hidden/} directory of the Automake distribution).
+
+The first optional argument is the name of the @file{Makefile} being
+generated; it defaults to @samp{Makefile}.  The second optional argument
+is used to find the top source directory; it defaults to the empty
+string (generally this should not be used unless you are familiar with
+the internals).  @xref{Multilibs}.
 
 @item AM_INIT_AUTOMAKE([OPTIONS])
 @itemx AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
@@ -9568,9 +9580,9 @@ the @code{AM_INIT_AUTOMAKE} macro in @file{configure.ac}.
 There are a few rules and variables that didn't fit anywhere else.
 
 @menu
-* Tags::                        Interfacing to etags and mkid
-* Suffixes::                    Handling new file extensions
-* Multilibs::                   Support for multilibs.
+* Tags::        Interfacing to etags and mkid
+* Suffixes::    Handling new file extensions
+* Multilibs::   Support for multilibs (deprecated, soon to be removed).
 @end menu
 
 
@@ -9691,19 +9703,21 @@ Automake generate the suffix list for @code{.SUFFIXES}. 
 Any given
 by Automake generated suffixes not already in the list.
 
 @node Multilibs
address@hidden Support for Multilibs
address@hidden Support for Multilibs (deprecated, soon to be removed).
+
+Automake used to support an obscure feature called multilibs.  @emph{This
+feature is now deprecated, and will be removed in the next major Automake
+version}.  Still, its implementation will remain available in the
address@hidden/} directory of the Automake distribution, so it should be
+very easy for motivated users to continue to use it in their projects,
+if they really need to.
 
-Automake has support for an obscure feature called multilibs.  A
address@hidden is a library that is built for multiple different ABIs
+A @dfn{multilib} is a library that is built for multiple different ABIs
 at a single time; each time the library is built with a different target
 flag combination.  This is only useful when the library is intended to
 be cross-compiled, and it is almost exclusively used for compiler
 support libraries.
 
-The multilib support is still experimental.  Only use it if you are
-familiar with multilibs and can debug problems you might encounter.
-
-
 @node Include
 @chapter Include
 
diff --git a/m4/multi.m4 b/m4/multi.m4
index 9841767..447591f 100644
--- a/m4/multi.m4
+++ b/m4/multi.m4
@@ -1,5 +1,5 @@
 ##                                                          -*- Autoconf -*-
-# Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006
+# Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2012
 # Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
@@ -12,6 +12,9 @@
 # ---------------------------------------------------
 # Add --enable-multilib to configure.
 AC_DEFUN([AM_ENABLE_MULTILIB],
+[m4_warn([obsolete], [$0 will be removed from Automake core soon.
+Files implementing the "multilib" feature are (and will remain) available
+to the 'contrib/' directory in the Automake distribution.])]dnl
 [# Default to --enable-multilib
 AC_ARG_ENABLE(multilib,
 [  --enable-multilib       build many library versions (default)],
diff --git a/tests/multlib.test b/tests/multlib.test
index 3f88be3..75ef952 100755
--- a/tests/multlib.test
+++ b/tests/multlib.test
@@ -1,5 +1,6 @@
 #! /bin/sh
-# Copyright (C) 2003, 2004, 2007, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004, 2007, 2010, 2012 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
@@ -22,6 +23,23 @@ required='gcc GNUmake'
 
 set -e
 
+# Multilib support has been deprecated in the Automake core.
+
+cat >>configure.in <<'END'
+AM_ENABLE_MULTILIB([Makefile], [.])
+END
+
+$ACLOCAL
+$AUTOCONF -Wall -Werror 2>stderr && { cat stderr >&2; Exit 1; }
+cat stderr >&2
+grep '^configure\.in:4:.*AM_ENABLE_MULTILIB.* removed.* soon' stderr
+grep '"multilib".*feature' stderr
+grep 'contrib.* in the Automake distribution' stderr
+
+rm -rf autom4te*.cache aclocal.m4 configure
+
+# Functional tests now.
+
 cat >configure.in <<'END'
 AC_INIT([multlib], [1.0])
 AC_CONFIG_SRCDIR(libfoo/foo.c)
@@ -110,16 +128,16 @@ mkdir libbar/sub
 cp "$testsrcdir/../lib/config-ml.in" .
 cp "$testsrcdir/../lib/symlink-tree" .
 
-$ACLOCAL
-$AUTOCONF
+$ACLOCAL -Wno-obsolete
+$AUTOCONF -Werror -Wall -Wno-obsolete
 $AUTOMAKE --add-missing
 cd libfoo
 $ACLOCAL
-$AUTOCONF
+$AUTOCONF -Werror -Wall -Wno-obsolete
 $AUTOMAKE --add-missing
 cd ../libbar
 $ACLOCAL
-$AUTOCONF
+$AUTOCONF -Werror -Wall -Wno-obsolete
 $AUTOMAKE --add-missing
 cd ..
 


hooks/post-receive
-- 
GNU Automake



reply via email to

[Prev in Thread] Current Thread [Next in Thread]