This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Libtool/Autoconf incompatibility issue


* Eric Blake wrote on Mon, Mar 03, 2008 at 03:09:30AM CET:
> According to Joseph S. Myers on 3/2/2008 3:37 PM:
> |
> | Is it possible to put something in the configure.ac files to make Autoconf
> | give an error if any version other than exactly 2.59 is used, to ensure
> | that a newer version is only used as part of a deliberate coordinated
> | update rather than accidentally in an individual directory?

> m4_if([2.59], m4_defn([m4_PACKAGE_VERSION]), [],
> ~      [m4_fatal([Please use exactly Autoconf 2.59])

Proposed patch for GCC.  Still missing same for src, plus ChangeLog
entries, including all the regenerated aclocal.m4, configure, and
Makefile.in files.  OK for trunk with those included?

Cheers,
Ralf

diff --git a/config/ac-version.m4 b/config/ac-version.m4
new file mode 100644
index 0000000..879de45
--- /dev/null
+++ b/config/ac-version.m4
@@ -0,0 +1,16 @@
+# _GCC_AUTOCONF_VERSION
+# ---------------------
+# GCC and src currently use this Autoconf version.
+m4_define([_GCC_AUTOCONF_VERSION], [2.59])
+
+# GCC_AUTOCONF_VERSION_CHECK([REQUIRED-VERSION])
+# ----------------------------------------------
+# Require that exactly Autoconf REQUIRED-VERSION is used.
+# If REQUIRED-VERSION is not passed, check against
+# _GCC_AUTOCONF_VERSION instead.
+#
+AC_DEFUN([GCC_AUTOCONF_VERSION_CHECK],
+[m4_if(m4_default([$1], [_GCC_AUTOCONF_VERSION]),
+  m4_defn([m4_PACKAGE_VERSION]), [],
+  [m4_fatal([Please use exactly Autoconf ]m4_default([$1], [_GCC_AUTOCONF_VERSION])[ instead of ]m4_defn([m4_PACKAGE_VERSION]))])
+])
diff --git a/boehm-gc/configure.ac b/boehm-gc/configure.ac
index 29331e6..ee968ed 100644
--- a/boehm-gc/configure.ac
+++ b/boehm-gc/configure.ac
@@ -1,4 +1,5 @@
-# Copyright (c) 1999, 2000, 2001, 2002, 2003, 2006 by Red Hat, Inc. All rights reserved.
+# Copyright (c) 1999, 2000, 2001, 2002, 2003, 2006, 2008 by Red Hat, Inc. All
+# rights reserved.
 # Copyright 2004 Nathanael Nerode
 # 
 # THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
@@ -17,6 +18,7 @@ dnl Process this file with autoconf to produce configure.
 
 AC_PREREQ(2.59)
 AC_INIT
+GCC_AUTOCONF_VERSION_CHECK
 AC_CONFIG_SRCDIR(gcj_mlc.c)
 # This works around the fact that libtool configuration may change LD
 # for this particular configuration, but some shells, instead of
diff --git a/configure.ac b/configure.ac
index e81fcdb..6aede82 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,6 @@
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-#   2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+#   2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 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
@@ -19,9 +20,11 @@
 ### WARNING: this file contains embedded tabs.  Do not run untabify on this file.
 
 sinclude(config/acx.m4)
+sinclude(config/ac-version.m4)
 
 AC_INIT(move-if-change)
 AC_PREREQ(2.59)
+GCC_AUTOCONF_VERSION_CHECK
 
 # Find the build, host, and target systems.
 ACX_NONCANONICAL_BUILD
diff --git a/fixincludes/configure.ac b/fixincludes/configure.ac
index 6b03130..ead988b 100644
--- a/fixincludes/configure.ac
+++ b/fixincludes/configure.ac
@@ -1,6 +1,7 @@
 AC_PREREQ(2.59)
 
 AC_INIT(fixincludes, [ ])
+GCC_AUTOCONF_VERSION_CHECK
 AC_CONFIG_SRCDIR(inclhack.def)
 AC_CONFIG_AUX_DIR(..)
 AC_CANONICAL_SYSTEM
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 118d9b2..a2ab455 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -26,6 +26,7 @@
 
 AC_PREREQ(2.59)
 AC_INIT
+GCC_AUTOCONF_VERSION_CHECK
 AC_CONFIG_SRCDIR(tree.c)
 AC_CONFIG_HEADER(auto-host.h:config.in)
 
diff --git a/gnattools/configure.ac b/gnattools/configure.ac
index 25de225..1aab2d9 100644
--- a/gnattools/configure.ac
+++ b/gnattools/configure.ac
@@ -17,6 +17,7 @@
 
 AC_INIT
 AC_PREREQ([2.59])
+GCC_AUTOCONF_VERSION_CHECK
 
 AC_CONFIG_SRCDIR([Makefile.in])
 
diff --git a/intl/configure.ac b/intl/configure.ac
index df79d2f..a12698a 100644
--- a/intl/configure.ac
+++ b/intl/configure.ac
@@ -1,5 +1,6 @@
 AC_PREREQ(2.59)
 AC_INIT
+GCC_AUTOCONF_VERSION_CHECK
 AC_CONFIG_SRCDIR(gettext.c)
 AC_CONFIG_HEADER(config.h)
 AC_CONFIG_MACRO_DIR(../config)
diff --git a/libada/configure.ac b/libada/configure.ac
index 837e083..4d931df 100644
--- a/libada/configure.ac
+++ b/libada/configure.ac
@@ -17,6 +17,7 @@
 
 AC_INIT
 AC_PREREQ([2.59])
+GCC_AUTOCONF_VERSION_CHECK
 
 AC_CONFIG_SRCDIR([Makefile.in])
 
diff --git a/libcpp/configure.ac b/libcpp/configure.ac
index 40f6271..3f4125b 100644
--- a/libcpp/configure.ac
+++ b/libcpp/configure.ac
@@ -3,6 +3,7 @@
 
 AC_PREREQ(2.59)
 AC_INIT(cpplib, [ ], gcc-bugs@gcc.gnu.org, cpplib)
+GCC_AUTOCONF_VERSION_CHECK
 AC_CONFIG_SRCDIR(ucnid.h)
 AC_CONFIG_MACRO_DIR(../config)
 AC_CANONICAL_SYSTEM
diff --git a/libdecnumber/configure.ac b/libdecnumber/configure.ac
index 01eb4ca..def9590 100644
--- a/libdecnumber/configure.ac
+++ b/libdecnumber/configure.ac
@@ -22,6 +22,7 @@
 
 AC_PREREQ(2.59)
 AC_INIT(libdecnumber, [ ], gcc-bugs@gcc.gnu.org, libdecnumber)
+GCC_AUTOCONF_VERSION_CHECK
 AC_CONFIG_SRCDIR(decNumber.h)
 AC_CONFIG_MACRO_DIR(../config)
 
diff --git a/libffi/configure.ac b/libffi/configure.ac
index 5d0830b..4393f3f 100644
--- a/libffi/configure.ac
+++ b/libffi/configure.ac
@@ -3,6 +3,7 @@ dnl Process this with autoconf to create configure
 AC_PREREQ(2.59)
 
 AC_INIT([libffi], [2.1], [http://gcc.gnu.org/bugs.html])
+GCC_AUTOCONF_VERSION_CHECK
 AC_CONFIG_HEADERS([fficonfig.h])
 
 AM_ENABLE_MULTILIB(, ..)
diff --git a/libgcc/configure.ac b/libgcc/configure.ac
index 81bf06e..88cb782 100644
--- a/libgcc/configure.ac
+++ b/libgcc/configure.ac
@@ -4,9 +4,11 @@ sinclude(../config/enable.m4)
 sinclude(../config/tls.m4)
 sinclude(../config/acx.m4)
 sinclude(../config/no-executables.m4)
+sinclude(../config/ac-version.m4)
 
 AC_PREREQ(2.59)
 AC_INIT([GNU C Runtime Library], 1.0,,[libgcc])
+GCC_AUTOCONF_VERSION_CHECK
 AC_CONFIG_SRCDIR([static-object.mk])
 
 AC_ARG_WITH(target-subdir,
diff --git a/libgfortran/configure.ac b/libgfortran/configure.ac
index a1caf3b..a5ac363 100644
--- a/libgfortran/configure.ac
+++ b/libgfortran/configure.ac
@@ -3,6 +3,7 @@
 
 AC_PREREQ(2.59)
 AC_INIT([GNU Fortran Runtime Library], 0.3,,[libgfortran])
+GCC_AUTOCONF_VERSION_CHECK
 AC_CONFIG_HEADER(config.h)
 GCC_TOPLEV_SUBDIRS
 
diff --git a/libgomp/configure.ac b/libgomp/configure.ac
index 0cda749..8a4b96a 100644
--- a/libgomp/configure.ac
+++ b/libgomp/configure.ac
@@ -3,6 +3,7 @@
 
 AC_PREREQ(2.59)
 AC_INIT([GNU OpenMP Runtime Library], 1.0,,[libgomp])
+GCC_AUTOCONF_VERSION_CHECK
 AC_CONFIG_HEADER(config.h)
 
 # -------
diff --git a/libiberty/configure.ac b/libiberty/configure.ac
index 864db17..3de07b7 100644
--- a/libiberty/configure.ac
+++ b/libiberty/configure.ac
@@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script
 
 AC_PREREQ(2.59)
 AC_INIT
+GCC_AUTOCONF_VERSION_CHECK
 AC_CONFIG_SRCDIR([xmalloc.c])
 
 # This works around the fact that libtool configuration may change LD
diff --git a/libjava/configure.ac b/libjava/configure.ac
index 2ef3b72..a173561 100644
--- a/libjava/configure.ac
+++ b/libjava/configure.ac
@@ -2,6 +2,7 @@ dnl # Process this with autoconf to create configure
 AC_PREREQ(2.59)
 # Still use "libjava" here to placate dejagnu.
 AC_INIT([libjava], [version-unused],, [libjava])
+GCC_AUTOCONF_VERSION_CHECK
 
 AC_CONFIG_SRCDIR(java/lang/System.java)
 
diff --git a/libmudflap/configure.ac b/libmudflap/configure.ac
index a22be27..668e191 100644
--- a/libmudflap/configure.ac
+++ b/libmudflap/configure.ac
@@ -3,6 +3,7 @@
 
 AC_PREREQ(2.59)
 AC_INIT(libmudflap, 1.0)
+GCC_AUTOCONF_VERSION_CHECK
 AC_CONFIG_SRCDIR(mf-runtime.c)
 AC_CANONICAL_SYSTEM
 ACX_NONCANONICAL_TARGET
diff --git a/libobjc/configure.ac b/libobjc/configure.ac
index ce47fec..e6f01f2 100644
--- a/libobjc/configure.ac
+++ b/libobjc/configure.ac
@@ -1,6 +1,6 @@
 # Process this file with autoconf to produce a configure script.
 #   Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004
-#   2005, 2006 Free Software Foundation, Inc.
+#   2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 #   Originally contributed by Dave Love (d.love@dl.ac.uk).
 #
 #This file is part of GCC.
@@ -22,6 +22,7 @@
 
 AC_PREREQ(2.59)
 AC_INIT(package-unused, version-unused,, libobjc)
+GCC_AUTOCONF_VERSION_CHECK
 AC_CONFIG_SRCDIR([objc/objc.h])
 GCC_TOPLEV_SUBDIRS
 
diff --git a/libssp/configure.ac b/libssp/configure.ac
index 99b4edf..e0afd6a 100644
--- a/libssp/configure.ac
+++ b/libssp/configure.ac
@@ -4,6 +4,7 @@
 
 AC_PREREQ(2.59)
 AC_INIT(libssp, 1.0)
+GCC_AUTOCONF_VERSION_CHECK
 AC_CONFIG_SRCDIR(ssp.c)
 AC_CANONICAL_SYSTEM
 ACX_NONCANONICAL_TARGET
diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
index 3411b97..7f68ddb 100644
--- a/libstdc++-v3/configure.ac
+++ b/libstdc++-v3/configure.ac
@@ -2,6 +2,7 @@
 
 AC_PREREQ(2.59)
 AC_INIT(package-unused, version-unused,, libstdc++)
+GCC_AUTOCONF_VERSION_CHECK
 AC_CONFIG_SRCDIR(src/ios.cc)
 AC_CONFIG_HEADER(config.h)
 
diff --git a/zlib/configure.ac b/zlib/configure.ac
index c85f4d5..d31e15e 100644
--- a/zlib/configure.ac
+++ b/zlib/configure.ac
@@ -2,6 +2,7 @@ dnl Process this with autoconf to create configure
 
 AC_PREREQ(2.59)
 AC_INIT
+GCC_AUTOCONF_VERSION_CHECK
 AC_CONFIG_SRCDIR([zlib.h])
 
 AM_ENABLE_MULTILIB(, ..)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]