]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
In order to check that all the CPP symbols which are AC_DEFINE'd
authorAkim Demaille <akim@epita.fr>
Mon, 23 Oct 2000 18:32:17 +0000 (18:32 +0000)
committerAkim Demaille <akim@epita.fr>
Mon, 23 Oct 2000 18:32:17 +0000 (18:32 +0000)
are properly templated, autoheader traces
AC_DEFINE/AC_DEFINE_UNQUOTED.  Only literals can be traced, and
actually tracing non literals produces invalid autoheader input.
Hence, provide a means to trace calls to
AC_DEFINE/AC_DEFINE_UNQUOTED with literals.
* acgeneral.m4 (AC_DEFINE_TRACE, AC_DEFINE_TRACE_LITERAL): New
macros.
(AC_DEFINE, AC_DEFINE_UNQUOTED): Use AC_DEFINE_TRACE.
* autoheader.sh: Trace AC_DEFINE_TRACE_LITERAL, not
AC_DEFINE/AC_DEFINE_UNQUOTED.

ChangeLog
acgeneral.m4
autoheader.in
autoheader.sh
bin/autoheader.in
lib/autoconf/general.m4
tests/syntax.m4
tests/update.m4

index 22ea98ebece600bf1ca3929d57c67977a0f2c7f9..f558dac29f11a80a032d0209cda5384aa491f3dc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2000-10-23  Akim Demaille  <akim@epita.fr>
+
+       In order to check that all the CPP symbols which are AC_DEFINE'd
+       are properly templated, autoheader traces
+       AC_DEFINE/AC_DEFINE_UNQUOTED.  Only literals can be traced, and
+       actually tracing non literals produces invalid autoheader input.
+       Hence, provide a means to trace calls to
+       AC_DEFINE/AC_DEFINE_UNQUOTED with literals.
+
+       * acgeneral.m4 (AC_DEFINE_TRACE, AC_DEFINE_TRACE_LITERAL): New
+       macros.
+       (AC_DEFINE, AC_DEFINE_UNQUOTED): Use AC_DEFINE_TRACE.
+       * autoheader.sh: Trace AC_DEFINE_TRACE_LITERAL, not
+       AC_DEFINE/AC_DEFINE_UNQUOTED.
+
 2000-10-23  Akim Demaille  <akim@epita.fr>
 
        Let autoupdate change AC_PREREQ to require the current version of
index 0fbfd6a43c9c6b1eae2e279e4b891e967b6bb9b4..a9fa77fcd05e3f11e3cfeac0310f9240fc3d3dd6 100644 (file)
@@ -2596,25 +2596,41 @@ AC_MSG_RESULT_UNQUOTED(AC_VAR_GET([$2]))])
 ## ---------------------- ##
 
 
+# AC_DEFINE_TRACE_LITERAL(LITERAL-CPP-SYMBOL)
+# -------------------------------------------
+# This macro is useless, it is used only with --trace to collect the
+# list of *literals* CPP values passed to AC_DEFINE/AC_DEFINE_UNQUOTED.
+define([AC_DEFINE_TRACE_LITERAL])
+
+
+# AC_DEFINE_TRACE(CPP-SYMBOL)
+# ---------------------------
+# This macro is a wrapper around AC_DEFINE_TRACE_LITERAL which filters
+# out non literal symbols.
+define([AC_DEFINE_TRACE],
+[AC_VAR_INDIR_IFELSE([$1], [], [AC_DEFINE_TRACE_LITERAL([$1])])])
+
+
 # AC_DEFINE(VARIABLE, [VALUE], [DESCRIPTION])
 # -------------------------------------------
 # Set VARIABLE to VALUE, verbatim, or 1.  Remember the value
 # and if VARIABLE is affected the same VALUE, do nothing, else
 # die.  The third argument is used by autoheader.
 define([AC_DEFINE],
-[ifval([$3], [AH_TEMPLATE([$1], [$3])])dnl
+[AC_DEFINE_TRACE([$1])dnl
+ifval([$3], [AH_TEMPLATE([$1], [$3])])dnl
 cat >>confdefs.h <<\EOF
 [#define] $1 ifelse($#, 2, [$2], $#, 3, [$2], 1)
 EOF
 ])
 
 
-
 # AC_DEFINE_UNQUOTED(VARIABLE, [VALUE], [DESCRIPTION])
 # ----------------------------------------------------
 # Similar, but perform shell substitutions $ ` \ once on VALUE.
 define([AC_DEFINE_UNQUOTED],
-[ifval([$3], [AH_TEMPLATE([$1], [$3])])dnl
+[AC_DEFINE_TRACE([$1])dnl
+ifval([$3], [AH_TEMPLATE([$1], [$3])])dnl
 cat >>confdefs.h <<EOF
 [#define] $1 ifelse($#, 2, [$2], $#, 3, [$2], 1)
 EOF
index 9996cb8a632c69b4a68380c975d340c20bbfe247..1f83ec0e78e30cdd13aa03f4b44c8852c6389cbf 100644 (file)
@@ -250,8 +250,7 @@ $autoconf  \
   --trace AC_CONFIG_HEADERS:'config_h="$1"' \
   --trace AH_OUTPUT:'ac_verbatim_$1="\
 $2"' \
-  --trace AC_DEFINE:'syms="$$syms $1"' \
-  --trace AC_DEFINE_UNQUOTED:'syms="$$syms $1"' \
+  --trace AC_DEFINE_TRACE_LITERAL:'syms="$$syms $1"' \
   $infile >$tmp/traces.sh || { (exit 1); exit; }
 
 $verbose $me: sourcing $tmp/traces.sh >&2
index 9996cb8a632c69b4a68380c975d340c20bbfe247..1f83ec0e78e30cdd13aa03f4b44c8852c6389cbf 100644 (file)
@@ -250,8 +250,7 @@ $autoconf  \
   --trace AC_CONFIG_HEADERS:'config_h="$1"' \
   --trace AH_OUTPUT:'ac_verbatim_$1="\
 $2"' \
-  --trace AC_DEFINE:'syms="$$syms $1"' \
-  --trace AC_DEFINE_UNQUOTED:'syms="$$syms $1"' \
+  --trace AC_DEFINE_TRACE_LITERAL:'syms="$$syms $1"' \
   $infile >$tmp/traces.sh || { (exit 1); exit; }
 
 $verbose $me: sourcing $tmp/traces.sh >&2
index 9996cb8a632c69b4a68380c975d340c20bbfe247..1f83ec0e78e30cdd13aa03f4b44c8852c6389cbf 100644 (file)
@@ -250,8 +250,7 @@ $autoconf  \
   --trace AC_CONFIG_HEADERS:'config_h="$1"' \
   --trace AH_OUTPUT:'ac_verbatim_$1="\
 $2"' \
-  --trace AC_DEFINE:'syms="$$syms $1"' \
-  --trace AC_DEFINE_UNQUOTED:'syms="$$syms $1"' \
+  --trace AC_DEFINE_TRACE_LITERAL:'syms="$$syms $1"' \
   $infile >$tmp/traces.sh || { (exit 1); exit; }
 
 $verbose $me: sourcing $tmp/traces.sh >&2
index 0fbfd6a43c9c6b1eae2e279e4b891e967b6bb9b4..a9fa77fcd05e3f11e3cfeac0310f9240fc3d3dd6 100644 (file)
@@ -2596,25 +2596,41 @@ AC_MSG_RESULT_UNQUOTED(AC_VAR_GET([$2]))])
 ## ---------------------- ##
 
 
+# AC_DEFINE_TRACE_LITERAL(LITERAL-CPP-SYMBOL)
+# -------------------------------------------
+# This macro is useless, it is used only with --trace to collect the
+# list of *literals* CPP values passed to AC_DEFINE/AC_DEFINE_UNQUOTED.
+define([AC_DEFINE_TRACE_LITERAL])
+
+
+# AC_DEFINE_TRACE(CPP-SYMBOL)
+# ---------------------------
+# This macro is a wrapper around AC_DEFINE_TRACE_LITERAL which filters
+# out non literal symbols.
+define([AC_DEFINE_TRACE],
+[AC_VAR_INDIR_IFELSE([$1], [], [AC_DEFINE_TRACE_LITERAL([$1])])])
+
+
 # AC_DEFINE(VARIABLE, [VALUE], [DESCRIPTION])
 # -------------------------------------------
 # Set VARIABLE to VALUE, verbatim, or 1.  Remember the value
 # and if VARIABLE is affected the same VALUE, do nothing, else
 # die.  The third argument is used by autoheader.
 define([AC_DEFINE],
-[ifval([$3], [AH_TEMPLATE([$1], [$3])])dnl
+[AC_DEFINE_TRACE([$1])dnl
+ifval([$3], [AH_TEMPLATE([$1], [$3])])dnl
 cat >>confdefs.h <<\EOF
 [#define] $1 ifelse($#, 2, [$2], $#, 3, [$2], 1)
 EOF
 ])
 
 
-
 # AC_DEFINE_UNQUOTED(VARIABLE, [VALUE], [DESCRIPTION])
 # ----------------------------------------------------
 # Similar, but perform shell substitutions $ ` \ once on VALUE.
 define([AC_DEFINE_UNQUOTED],
-[ifval([$3], [AH_TEMPLATE([$1], [$3])])dnl
+[AC_DEFINE_TRACE([$1])dnl
+ifval([$3], [AH_TEMPLATE([$1], [$3])])dnl
 cat >>confdefs.h <<EOF
 [#define] $1 ifelse($#, 2, [$2], $#, 3, [$2], 1)
 EOF
index 3ae1c7597c9b07c5db4914a3bd0d660c9a9bf578..a3958c21a4619bf1ae9a290407fab0432a5077cc 100644 (file)
@@ -71,6 +71,7 @@ AT_CHECK_MACRO([AC_NO_EXECUTABLES])
 AT_CHECK_MACRO([AC_OUTPUT_COMMANDS])
 AT_CHECK_MACRO([AC_PATH_XTRA])
 AT_CHECK_MACRO([AC_PREFIX_DEFAULT])
+AT_CHECK_MACRO([AC_PREREQ])
 AT_CHECK_MACRO([AC_PROG_AWK])
 AT_CHECK_MACRO([AC_PROG_CC_C_O])
 AT_CHECK_MACRO([AC_PROG_F77_C_O])
index 7929e629b1c53099e0941fa78c501926c32c9012..e99c76aff793dd245083abeab21bdcac8d1d8223 100644 (file)
@@ -30,6 +30,7 @@ AT_CHECK_UPDATE([AC_LONG_64_BITS])
 AT_CHECK_UPDATE([AC_MEMORY_H])
 AT_CHECK_UPDATE([AC_MINGW32])
 AT_CHECK_UPDATE([AC_OUTPUT_COMMANDS])
+AT_CHECK_UPDATE([AC_PREREQ])
 AT_CHECK_UPDATE([AC_RSH])
 AT_CHECK_UPDATE([AC_SCO_INTL])
 AT_CHECK_UPDATE([AC_STRUCT_ST_BLKSIZE])