drop usage of obsolete AC_OBJEXT and AC_EXEEXT
Applied to master and branch-1-10. Cheers, Ralf 2008-03-08 Ralf Wildenhues [EMAIL PROTECTED] Drop usage of obsolete macros AC_EXEEXT and AC_OBJEXT. * tests/ansi4.test: Drop AC_OBJEXT and AC_EXEEXT. * tests/ansi6.test: Likewise. * tests/ansi7.test: Likewise. * tests/condlib.test: Likewise. * tests/cygwin32.test: Likewise. * tests/exeext2.test: Likewise. * tests/libobj11.test: Likewise. * tests/library.test: Likewise. * tests/txinfo5.test: Likewise. diff --git a/tests/ansi4.test b/tests/ansi4.test index b53486e..f805eca 100755 --- a/tests/ansi4.test +++ b/tests/ansi4.test @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 1999, 2001, 2002 Free Software Foundation, Inc. +# Copyright (C) 1999, 2001, 2002, 2008 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 @@ -21,8 +21,6 @@ cat configure.in 'END' AC_PROG_CC AM_C_PROTOTYPES -AC_EXEEXT -AC_OBJEXT END cat Makefile.am 'END' diff --git a/tests/ansi6.test b/tests/ansi6.test index 2274559..0ab1d3f 100755 --- a/tests/ansi6.test +++ b/tests/ansi6.test @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 2002, 2006 Free Software Foundation, Inc. +# Copyright (C) 2002, 2006, 2008 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 @@ -26,8 +26,6 @@ AM_INIT_AUTOMAKE AC_PROG_CC AC_PROG_CC_STDC AM_C_PROTOTYPES -AC_EXEEXT -AC_OBJEXT AC_CONFIG_FILES(Makefile) AC_OUTPUT END diff --git a/tests/ansi7.test b/tests/ansi7.test index 9afea75..bf64ebc 100755 --- a/tests/ansi7.test +++ b/tests/ansi7.test @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 2002 Free Software Foundation, Inc. +# Copyright (C) 2002, 2008 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 @@ -28,8 +28,6 @@ AC_PROG_CC AC_PROG_CC_STDC AM_PROG_CC_C_O AM_C_PROTOTYPES -AC_EXEEXT -AC_OBJEXT AC_CONFIG_FILES(Makefile) AC_OUTPUT END diff --git a/tests/condlib.test b/tests/condlib.test index b1d6343..f1afa67 100755 --- a/tests/condlib.test +++ b/tests/condlib.test @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 2001, 2002 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002, 2008 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,7 +22,6 @@ cat configure.in 'END' AC_PROG_RANLIB AM_MAINTAINER_MODE -AC_EXEEXT AC_PROG_CC END diff --git a/tests/cygwin32.test b/tests/cygwin32.test index 3a7f28a..42a9d0e 100755 --- a/tests/cygwin32.test +++ b/tests/cygwin32.test @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 1997, 1999, 2001, 2002 Free Software Foundation, Inc. +# Copyright (C) 1997, 1999, 2001, 2002, 2008 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 @@ -20,7 +20,6 @@ cat configure.in 'END' AC_PROG_CC -AC_EXEEXT END cat Makefile.am 'END' diff --git a/tests/exeext2.test b/tests/exeext2.test index e5e14fc..0909552 100755 --- a/tests/exeext2.test +++ b/tests/exeext2.test @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002, 2003, 2008 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,7 +22,6 @@ set -e cat configure.in 'END' AC_PROG_CC -AC_EXEEXT END cat Makefile.am 'END' diff --git a/tests/libobj11.test b/tests/libobj11.test index 2154856..1611db4 100755 --- a/tests/libobj11.test +++ b/tests/libobj11.test @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 2002 Free Software Foundation, Inc. +# Copyright (C) 2002, 2008 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 @@ -23,7 +23,6 @@ AC_INIT AM_INIT_AUTOMAKE(nonesuch, nonesuch) AC_PROG_CC AC_PROG_RANLIB -AC_EXEEXT AC_LIBOBJ([mountlist]) AC_OUTPUT(Makefile) END diff --git a/tests/library.test b/tests/library.test index 1237136..ef374ad 100755 --- a/tests/library.test +++ b/tests/library.test @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 1998, 2001, 2002 Free Software Foundation, Inc. +# Copyright (C) 1998, 2001, 2002, 2008 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 @@ -21,7 +21,6 @@ cat configure.in 'END' AC_PROG_RANLIB AM_MAINTAINER_MODE
FYI: master now depends on unreleased Autoconf
I'm about to apply the fast install patch. Since it needs the fixed AC_PROG_INSTALL, git master of Automake will depend on an unreleased Autoconf version, which I'm putting in with the patch below (diffs of generated files not shown, as always). With respect to committing generated files, I will try to stick to this policy: Whenever I commit changes that change generated files, I will use an up to date git Autoconf to rebuild it. When the next Autoconf version (alpha, beta, or stable) is released, then that will be used (and sticked to, unless needed otherwise) and the version jumping will stop again. Cheers, and sorry for any inconveniences, Ralf Require unreleased Autoconf for fixed AC_PROG_INSTALL. * m4/init.m4 (AM_INIT_AUTOMAKE): Bump AC_PREREQ to 2.61-341, regenerate files. * configure.ac: Also require Autoconf 2.61-341, to catch failure early and provide a sensible error message. Signed-off-by: Ralf Wildenhues [EMAIL PROTECTED] diff --git a/configure.ac b/configure.ac index 11e989e..5198d9e 100644 --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,7 @@ # Process this file with autoconf to produce a configure script. # Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, -# 2004, 2006, 2007 Free Software Foundation, Inc. +# 2004, 2006, 2007, 2008 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 @@ -100,7 +100,7 @@ fi AC_CACHE_CHECK([whether autoconf is recent enough], [am_cv_autoconf_version], [mkdir conftest -echo 'AC''_PREREQ(2.60)' conftest/conftest.ac +echo 'AC''_PREREQ(2.61a-341)' conftest/conftest.ac if AM_RUN_LOG([cd conftest eval $am_AUTOCONF -o /dev/null conftest.ac]); then am_cv_autoconf_version=yes @@ -109,7 +109,7 @@ else fi rm -rf conftest]) if test $am_cv_autoconf_version = no; then - AC_MSG_ERROR([Autoconf 2.60 or better is required.]) + AC_MSG_ERROR([Autoconf 2.61a-341 or better is required.]) fi # Test for ln. We need use it to install the versioned binaries. diff --git a/m4/init.m4 b/m4/init.m4 index 3e673db..1f5c437 100644 --- a/m4/init.m4 +++ b/m4/init.m4 @@ -7,7 +7,7 @@ # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 13 +# serial 14 # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. @@ -24,7 +24,7 @@ # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_PREREQ([2.60])dnl +[AC_PREREQ([2.61a-341])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
Re: fast make install
* Ralf Wildenhues wrote on Thu, Jan 24, 2008 at 12:13:13AM CET: Here's the proposed patch (generated files not shown), still missing Autoconf version requirement. It does the fast install for HEADERS, DATA, PYTHON, LIBRARIES, and TEXINFOS outputs. Comments, reviews, etc., greatly appreciated. The Autoconf version requirement has just been committed. I have not yet added fast install for any other file types; notrans_*MANS will be simple once Peter's changes are in, but for all the rewriting types I haven't yet found a way to do it that isn't very ugly and quite involved. Applied as shown in http://thread.gmane.org/gmane.comp.sysutils.automake.patches/2945/focus=3088, except that I edited the ChangeLog message a bit as below. Cheers, Ralf 2008-03-08 Ralf Wildenhues [EMAIL PROTECTED] Use `install' with multiple files at once for some primaries. With nobase targets, at most 50 files are installed at once, to avoid quadratic string concatenation and line length limits. This isn't yet done with base targets. One hope is that there, the typical file name length is lower. If this turns out to be a problem, it should be revisited. * lib/am/inst-vars.am (am__nobase_list): New helper macro for installation of multiple nobase files at once: sorts and lists files keyed by their target directory. * lib/am/data.am (%DIR%%PRIMARY%_INSTALL): No need to set it to $(install_sh_DATA) any more, not even for nobase targets. (install-%DIR%%PRIMARY%): Split base and nobase cases. Rewrite to pass lists of files which all go in the same directory to `install'. In the nobase case, make use of $(am__nobase_list) and $(MKDIR_P) each directory before populating it. Take care of files in source and build trees, and avoid creating directories where no files are to be installed. * lib/am/libs.am (%DIR%LIBRARIES_INSTALL): Likewise. (install-%DIR%LIBRARIES): Likewise. * lib/am/python.am (%DIR%PYTHON_INSTALL): Likewise. (install-%DIR%PYTHON): Likewise. Also take care to keep note of a list for byte compilation after installation. * lib/am/texinfos.am (install-dvi-am, install-html-am) (install-info-am, install-pdf-am, install-ps-am): Use file lists to install multiple files at once. * NEWS: Update. Suggested by Akim Demaille.
Project Quagmire
I recently started work on a new automake-like project, called Quagmire. I thought folks interested in Automake would also be interested in this; I hope no one is offended that I am posting this here. For years I've been interested in a few twists on the auto* idea: * Integrate configury into the build. This has some nice benefits, most notably that checking can be on-demand and parallelized. * A minimized, low-expectation libtool-like thing integrated into the Makefiles. * An automake-workalike that uses GNU Make features rather than a preprocessor. This is what Quagmire aims to accomplish. Currently it has functionality equivalent to (and in many cases, taken directly from :-) parts of Automake -- it supports the most common things (C, C++, etc). It also has some rudimentary support for a few configure-like operations (though it still does, and always will, require at least a minimal autoconf-produced configure). The syntax is about as close to Automake's as possible -- primaries, directory prefixes, etc. (FWIW I never considered the syntax among Automake's problems -- I still think it is very reasonable.) Of course, Quagmire is not for everybody. GNU make is an absolute requirement -- in fact, Quagmire currently requires 3.81, the latest release. But, if you don't mind this dependency, you might consider Quagmire. Here's the hosting location: http://code.google.com/p/quagmire/ And the mailing list: http://groups.google.com/group/quagmire-discuss If you are interested in discussing Quagmire, its direction, its pointlessness, whatever -- I would suggest moving to the Quagmire list so as not to disturb this list too much. thanks, Tom