]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
Replace onceonly.m4 with onceonly_2_57.m4 to shrink "configure".
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 21 Mar 2005 20:33:48 +0000 (20:33 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 21 Mar 2005 20:33:48 +0000 (20:33 +0000)
m4/ChangeLog
m4/onceonly_2_57.m4 [moved from m4/onceonly.m4 with 51% similarity]

index fc8b9e38d44faf299bb3fcac34d9293687574b6c..4b898e4d9671c676588d5d0b5ad397c7f5e7c1d4 100644 (file)
@@ -1,5 +1,9 @@
 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
 
+       * onceonly.m4: Remove.
+       * onceonly_2_57.m4: Add.
+       This change shrinks "configure" by over 300 kB.
+
        Another change imported from gnulib.
        * memcasecmp.m4 (gl_MEMCASECMP): Renamed from gl_FUNC_MEMCASECMP.
        All uses changed.  Require AC_HEADER_STDC instead of invoking it.
similarity index 51%
rename from m4/onceonly.m4
rename to m4/onceonly_2_57.m4
index a8a992af4b84f058ac442a8dfa80ef8250a132b0..9fc510e06ee1fcc86163ffdb4c47389b6e7ea7f7 100644 (file)
@@ -1,8 +1,10 @@
-# onceonly.m4 serial 3 (gettext-0.12)
-dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
+# onceonly_2_57.m4 serial 3
+dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License.  As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
 
 dnl This file defines some "once only" variants of standard autoconf macros.
 dnl   AC_CHECK_HEADERS_ONCE         like  AC_CHECK_HEADERS
@@ -19,6 +21,11 @@ dnl inside an AC_DEFUNed function, the gl_CHECK_HEADERS macro call expands to
 dnl empty, and the check will be inserted before the body of the AC_DEFUNed
 dnl function.
 
+dnl This is like onceonly.m4, except that it uses diversions to named sections
+dnl DEFAULTS and INIT_PREPARE in order to check all requested headers at once,
+dnl thus reducing the size of 'configure'. Works with autoconf-2.57. The
+dnl size reduction is ca. 9%.
+
 dnl Autoconf version 2.57 or newer is recommended.
 AC_PREREQ(2.54)
 
@@ -27,14 +34,23 @@ AC_PREREQ(2.54)
 AC_DEFUN([AC_CHECK_HEADERS_ONCE], [
   :
   AC_FOREACH([gl_HEADER_NAME], [$1], [
-    AC_DEFUN([gl_CHECK_HEADER_]m4_quote(translit(m4_defn([gl_HEADER_NAME]),
-                                                 [-./], [___])), [
-      AC_CHECK_HEADERS(gl_HEADER_NAME)
+    AC_DEFUN([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME,
+                                                 [./-], [___])), [
+      m4_divert_text([INIT_PREPARE],
+        [gl_header_list="$gl_header_list gl_HEADER_NAME"])
+      gl_HEADERS_EXPANSION
+      AH_TEMPLATE(AS_TR_CPP([HAVE_]m4_defn([gl_HEADER_NAME])),
+        [Define to 1 if you have the <]m4_defn([gl_HEADER_NAME])[> header file.])
     ])
     AC_REQUIRE([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME,
-                                                   [-./], [___])))
+                                                   [./-], [___])))
   ])
 ])
+m4_define([gl_HEADERS_EXPANSION], [
+  m4_divert_text([DEFAULTS], [gl_header_list=])
+  AC_CHECK_HEADERS([$gl_header_list])
+  m4_define([gl_HEADERS_EXPANSION], [])
+])
 
 # AC_CHECK_FUNCS_ONCE(FUNC1 FUNC2 ...) is a once-only variant of
 # AC_CHECK_FUNCS(FUNC1 FUNC2 ...).
@@ -42,11 +58,20 @@ AC_DEFUN([AC_CHECK_FUNCS_ONCE], [
   :
   AC_FOREACH([gl_FUNC_NAME], [$1], [
     AC_DEFUN([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME]), [
-      AC_CHECK_FUNCS(m4_defn([gl_FUNC_NAME]))
+      m4_divert_text([INIT_PREPARE],
+        [gl_func_list="$gl_func_list gl_FUNC_NAME"])
+      gl_FUNCS_EXPANSION
+      AH_TEMPLATE(AS_TR_CPP([HAVE_]m4_defn([gl_FUNC_NAME])),
+        [Define to 1 if you have the `]m4_defn([gl_FUNC_NAME])[' function.])
     ])
     AC_REQUIRE([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME]))
   ])
 ])
+m4_define([gl_FUNCS_EXPANSION], [
+  m4_divert_text([DEFAULTS], [gl_func_list=])
+  AC_CHECK_FUNCS([$gl_func_list])
+  m4_define([gl_FUNCS_EXPANSION], [])
+])
 
 # AC_CHECK_DECLS_ONCE(DECL1 DECL2 ...) is a once-only variant of
 # AC_CHECK_DECLS(DECL1, DECL2, ...).