mirror of
git://git.sv.gnu.org/autoconf
synced 2025-01-30 11:01:45 +08:00
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.
This commit is contained in:
parent
7009796166
commit
161112fd78
15
ChangeLog
15
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
|
||||
|
22
acgeneral.m4
22
acgeneral.m4
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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])
|
||||
|
@ -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])
|
||||
|
Loading…
Reference in New Issue
Block a user