]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
* lib/m4sugar/m4sugar.m4 (m4_re_string, m4_re_word): Revert 2002-03-04.
authorPaul Eggert <eggert@cs.ucla.edu>
Sat, 5 Feb 2005 04:55:08 +0000 (04:55 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Sat, 5 Feb 2005 04:55:08 +0000 (04:55 +0000)
* tests/local.at (AT_CHECK_M4SUGAR): Add `m4sugar' to keywords.
(AT_CHECK_ENV): Ignore LTLIBOBJS, FC variables, EGREP, FGREP, and SED.
* tests/m4sugar.at (AT_CHECK_M4SUGAR_TEXT, AT_CHECK_M4RE): New macros.
(Standard regular expressions): New test.
(m4_warn, m4_require: circular dependencies, m4_text_wrap): Strip
excess test name quoting.
* tests/semantics.at (AC_CHECK_HEADERS_OLD, AC_CHECK_HEADERS_NEW): Pass
CPPFLAGS to `configure' instead of setting it in `configure'.

lib/m4sugar/m4sugar.m4
tests/local.at
tests/m4sugar.at
tests/semantics.at

index 741a333f2e05c15a1dbbf55d4f4ded4b66ff8668..be35011d6947bbbf5dfbdfc30bcc5863bf5db9c5 100644 (file)
@@ -1327,8 +1327,9 @@ m4_define([m4_re_escape],
 # m4_re_string
 # ------------
 # Regexp for `[a-zA-Z_0-9]*'
+# m4_dquote provides literal [] for the character class.
 m4_define([m4_re_string],
-m4_defn([m4_cr_symbols2])dnl
+m4_dquote(m4_defn([m4_cr_symbols2]))dnl
 [*]dnl
 )
 
@@ -1337,7 +1338,7 @@ m4_defn([m4_cr_symbols2])dnl
 # ----------
 # Regexp for `[a-zA-Z_][a-zA-Z_0-9]*'
 m4_define([m4_re_word],
-m4_defn([m4_cr_symbols1])dnl
+m4_dquote(m4_defn([m4_cr_symbols1]))dnl
 m4_defn([m4_re_string])dnl
 )
 
index 674fe37070d14f69ba302ab2bc945aa1c81c3191..b93c18b8865a9c495bf1567ac46ddf4cae9e8de8 100644 (file)
@@ -1,6 +1,7 @@
 # M4 macros used in building Autoconf test suites.        -*- Autotest -*-
 
-# Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 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
@@ -107,7 +108,8 @@ m4_define([AT_DATA_M4SUGAR],
 # AT_CHECK_M4SUGAR(FLAGS, [EXIT-STATUS = 0], STDOUT, STDERR)
 # ----------------------------------------------------------
 m4_define([AT_CHECK_M4SUGAR],
-[AT_CHECK_AUTOM4TE([--language=m4sugar script.4s -o script $1],
+[AT_KEYWORDS([m4sugar])
+AT_CHECK_AUTOM4TE([--language=m4sugar script.4s -o script $1],
                   [$2], [$3], [$4])])
 
 
@@ -202,7 +204,7 @@ m4_defun([AC_STATE_SAVE],
       [^a[cs]_],
       [^((exec_)?prefix|DEFS|CONFIG_STATUS)=],
       [^(CC|CFLAGS|CPP|GCC|CXX|CXXFLAGS|CXXCPP|GXX|F77|FFLAGS|FLIBS|G77)=],
-      [^(LIBS|LIB@&t@OBJS|LDFLAGS)=],
+      [^(LIBS|LIB@&t@OBJS|LTLIBOBJS|LDFLAGS)=],
       [^INSTALL(_(DATA|PROGRAM|SCRIPT))?=],
       [^(CYGWIN|ISC|MINGW32|MINIX|EMXOS2|XENIX|EXEEXT|OBJEXT)=],
       [^(X_(CFLAGS|(EXTRA_|PRE_)?LIBS)|x_(includes|libraries)|(have|no)_x)=],
@@ -210,8 +212,10 @@ m4_defun([AC_STATE_SAVE],
       [^(cross_compiling)=],
       [^(interpval|PATH_SEPARATOR)=],
       [^(F77_DUMMY_MAIN|f77_(case|underscore))=],
+      [^(FC_DUMMY_MAIN|FC|FCFLAGS|FCLIBS|FCFLAGS_f)=],
       [^(ALLOCA|GETLOADAVG_LIBS|KMEM_GROUP|NEED_SETGID|POW_LIB)=],
       [^(AWK|LEX|LEXLIB|LEX_OUTPUT_ROOT|LN_S|M4|RANLIB|SET_MAKE|YACC)=],
+      [^(EGREP|FGREP|SED)=],
       [^(_|@|.[*#?].|LINENO|OLDPWD|PIPESTATUS|RANDOM|SECONDS)=])' 2>/dev/null |
   # There maybe variables spread on several lines, eg IFS, remove the dead
   # lines.
index 534bcadaf0a49f66d874240a158d49749377dd9a..a696de526eafb4128f6bd6fe62bcc41f56d908e3 100644 (file)
@@ -20,6 +20,22 @@ AT_BANNER([M4sugar.])
 # 02111-1307, USA.
 
 
+# AT_CHECK_M4SUGAR_TEXT(CODE, STDOUT, STDER)
+# ------------------------------------------
+# Check that m4sugar CODE expands to STDOUT and emits STDERR.
+m4_define([AT_CHECK_M4SUGAR_TEXT],
+[
+AT_DATA_M4SUGAR([script.4s],
+[[m4_init
+m4_divert_push(0)[]dnl
+]$1[[]dnl
+m4_divert_pop(0)
+]])
+
+AT_CHECK_M4SUGAR([-o-],, [$2], [$3])
+])# AT_CHECK_M4SUGAR_TEXT
+
+
 # Order of the tests:
 # - m4_warn
 #
@@ -32,7 +48,7 @@ AT_BANNER([M4sugar.])
 ## m4_warn.  ##
 ## --------- ##
 
-AT_SETUP([[m4@&t@_warn]])
+AT_SETUP([m4@&t@_warn])
 
 # m4_text_wrap is used to display the help strings.  Also, check that
 # commas are not swallowed.  This can easily happen because of
@@ -83,7 +99,7 @@ AT_CLEANUP
 ## m4_require: circular dependencies.  ##
 ## ----------------------------------- ##
 
-AT_SETUP([[m4@&t@_require: circular dependencies]])
+AT_SETUP([m4@&t@_require: circular dependencies])
 
 # m4_text_wrap is used to display the help strings.  Also, check that
 # commas are not swallowed.  This can easily happen because of
@@ -119,7 +135,7 @@ AT_CLEANUP
 ## m4_text_wrap.  ##
 ## -------------- ##
 
-AT_SETUP([[m4@&t@_text_wrap]])
+AT_SETUP([m4@&t@_text_wrap])
 
 # m4_text_wrap is used to display the help strings.  Also, check that
 # commas are not swallowed.  This can easily happen because of
@@ -161,3 +177,30 @@ First, second , third, [,quoted]
 AT_CHECK_M4SUGAR([-o-], 0, [expout])
 
 AT_CLEANUP
+
+## ------------------------------ ##
+## Standard regular expressions.  ##
+## ------------------------------ ##
+
+AT_SETUP([Standard regular expressions])
+
+# AT_CHECK_M4RE(RE-NAME, TEXT, INTENT = `ok' | `')
+# ------------------------------------------------
+# Check whether RE-NAME (a macro whose definition is a regular expression)
+# matches TEXT.  INTENT = `ok' if the match should succeed or else empty.
+m4_define([AT_CHECK_M4RE],
+[AT_CHECK_M4SUGAR_TEXT(
+[[m4_bregexp([$2], ^m4_defn([$1])$, [ok])
+]], [$3
+])])
+
+AT_CHECK_M4RE([m4_re_word], [ab9_c], [ok])
+AT_CHECK_M4RE([m4_re_word], [_9abc], [ok])
+AT_CHECK_M4RE([m4_re_word], [9ab_c])
+
+AT_CHECK_M4RE([m4_re_string], [ab9_c], [ok])
+AT_CHECK_M4RE([m4_re_string], [_9abc], [ok])
+AT_CHECK_M4RE([m4_re_string], [9ab_c], [ok])
+AT_CHECK_M4RE([m4_re_string], [9a@_c])
+
+AT_CLEANUP
index 038bd3cd73397900059aa037d85f7ae54afdb617..e2b576733352b8437ee59d49aec141caff9339f8 100644 (file)
@@ -2,7 +2,7 @@
 
 AT_BANNER([Semantics.])
 
-# Copyright (C) 2000, 2001, 2002, 2004 Free Software Foundation, Inc.
+# Copyright (C) 2000, 2001, 2002, 2004, 2005 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
@@ -177,13 +177,11 @@ AT_DATA([header2.h],
 [typedef foo bar;
 ])
 
-AT_CONFIGURE_AC(
-[CPPFLAGS="$CPPFLAGS -I."
-AC_CHECK_HEADERS(header2.h, [], [], -)])
+AT_CONFIGURE_AC([AC_CHECK_HEADERS(header2.h, [], [], -)])
 
 AT_CHECK_AUTOCONF([-W obsolete])
 AT_CHECK_AUTOHEADER
-AT_CHECK_CONFIGURE
+AT_CHECK_CONFIGURE([CPPFLAGS=-I.])
 AT_CHECK_ENV
 AT_CHECK_DEFINES(
 [#define HAVE_HEADER2_H 1
@@ -211,12 +209,11 @@ AT_DATA([header3.h],
 ])
 
 AT_CONFIGURE_AC(
-[CPPFLAGS="$CPPFLAGS -I."
-AC_CHECK_HEADERS(header2.h header3.h, [], [], [[@%:@include "header1.h"]])])
+[AC_CHECK_HEADERS(header2.h header3.h, [], [], [[@%:@include "header1.h"]])])
 
 AT_CHECK_AUTOCONF([-W obsolete])
 AT_CHECK_AUTOHEADER
-AT_CHECK_CONFIGURE
+AT_CHECK_CONFIGURE([CPPFLAGS=-I.])
 AT_CHECK_ENV
 AT_CHECK_DEFINES(
 [#define HAVE_HEADER2_H 1