mirror of
git://git.sv.gnu.org/autoconf
synced 2025-02-23 14:09:51 +08:00
Avoid some regex uses.
* lib/autoconf/general.m4 (_AC_DEFINE_Q): Use m4_format rather than m4_bpatsubst to grab string prefix. * lib/autoconf/status.m4 (_AC_CONFIG_REGISTER) (_AC_CONFIG_REGISTER_DEST, AC_CONFIG_SUBDIRS): Likewise. (_AC_FILE_DEPENDENCY_TRACE_COLON): Use m4_translit instead of m4_bpatsubst to change bytes. (_AC_CONFIG_DEPENDENCY_DEFAULT): Use m4_index rather than m4_bmatch to find byte. (_AC_CONFIG_COMPUTE_DEST): New helper macro. Signed-off-by: Eric Blake <ebb9@byu.net>
This commit is contained in:
parent
3763dba27e
commit
40f1a994e2
11
ChangeLog
11
ChangeLog
@ -1,5 +1,16 @@
|
|||||||
2008-11-10 Eric Blake <ebb9@byu.net>
|
2008-11-10 Eric Blake <ebb9@byu.net>
|
||||||
|
|
||||||
|
Avoid some regex uses.
|
||||||
|
* lib/autoconf/general.m4 (_AC_DEFINE_Q): Use m4_format rather
|
||||||
|
than m4_bpatsubst to grab string prefix.
|
||||||
|
* lib/autoconf/status.m4 (_AC_CONFIG_REGISTER)
|
||||||
|
(_AC_CONFIG_REGISTER_DEST, AC_CONFIG_SUBDIRS): Likewise.
|
||||||
|
(_AC_FILE_DEPENDENCY_TRACE_COLON): Use m4_translit instead of
|
||||||
|
m4_bpatsubst to change bytes.
|
||||||
|
(_AC_CONFIG_DEPENDENCY_DEFAULT): Use m4_index rather than
|
||||||
|
m4_bmatch to find byte.
|
||||||
|
(_AC_CONFIG_COMPUTE_DEST): New helper macro.
|
||||||
|
|
||||||
Use more efficient macros in AC_CONFIG_SUBDIRS.
|
Use more efficient macros in AC_CONFIG_SUBDIRS.
|
||||||
* lib/autoconf/status.m4 (_AC_CONFIG_FOOS, AC_CONFIG_SUBDIRS): Use
|
* lib/autoconf/status.m4 (_AC_CONFIG_FOOS, AC_CONFIG_SUBDIRS): Use
|
||||||
m4_map_args_w.
|
m4_map_args_w.
|
||||||
|
@ -2073,22 +2073,22 @@ m4_define([AC_DEFINE_UNQUOTED], [_AC_DEFINE_Q([], $@)])
|
|||||||
# -----------------------------------------------------
|
# -----------------------------------------------------
|
||||||
# Internal function that performs common elements of AC_DEFINE{,_UNQUOTED}.
|
# Internal function that performs common elements of AC_DEFINE{,_UNQUOTED}.
|
||||||
#
|
#
|
||||||
# m4_index is roughly 5 to 8 times faster than m4_bpatsubst, so only
|
# m4_index is roughly 5 to 8 times faster than m4_bpatsubst, so we use
|
||||||
# use the regex when necessary. AC_name is defined with over-quotation,
|
# m4_format rather than regex to grab prefix up to first (). AC_name
|
||||||
# so that we can avoid m4_defn.
|
# is defined with over-quotation, so that we can avoid m4_defn; this
|
||||||
|
# is only safe because the name should not contain $.
|
||||||
m4_define([_AC_DEFINE_Q],
|
m4_define([_AC_DEFINE_Q],
|
||||||
[m4_pushdef([AC_name], m4_if(m4_index([$2], [(]), [-1], [[[$2]]],
|
[m4_pushdef([AC_name], m4_format([[[%.*s]]], m4_index([$2], [(]), [$2]))]dnl
|
||||||
[m4_bpatsubst([[[$2]]], [(.*)])]))dnl
|
[AC_DEFINE_TRACE(AC_name)]dnl
|
||||||
AC_DEFINE_TRACE(AC_name)dnl
|
[m4_cond([m4_index([$3], [
|
||||||
m4_cond([m4_index([$3], [
|
|
||||||
])], [-1], [],
|
])], [-1], [],
|
||||||
[AS_LITERAL_IF([$3], [m4_bregexp([[$3]], [[^\\]
|
[AS_LITERAL_IF([$3], [m4_bregexp([[$3]], [[^\\]
|
||||||
], [-])])], [], [],
|
], [-])])], [], [],
|
||||||
[m4_warn([syntax], [AC_DEFINE]m4_ifval([$1], [], [[_UNQUOTED]])dnl
|
[m4_warn([syntax], [AC_DEFINE]m4_ifval([$1], [], [[_UNQUOTED]])dnl
|
||||||
[: `$3' is not a valid preprocessor define value])])dnl
|
[: `$3' is not a valid preprocessor define value])])]dnl
|
||||||
m4_ifval([$4], [AH_TEMPLATE(AC_name, [$4])])dnl
|
[m4_ifval([$4], [AH_TEMPLATE(AC_name, [$4])])]dnl
|
||||||
m4_popdef([AC_name])dnl
|
[_m4_popdef([AC_name])]dnl
|
||||||
cat >>confdefs.h <<$1_ACEOF
|
[cat >>confdefs.h <<$1_ACEOF
|
||||||
[@%:@define] $2 m4_if([$#], 2, 1, [$3], [], [/**/], [$3])
|
[@%:@define] $2 m4_if([$#], 2, 1, [$3], [], [/**/], [$3])
|
||||||
_ACEOF
|
_ACEOF
|
||||||
])
|
])
|
||||||
|
@ -176,8 +176,7 @@ m4_define([AC_FILE_DEPENDENCY_TRACE], [])
|
|||||||
# Declare that DEST depends upon SOURCE1 etc.
|
# Declare that DEST depends upon SOURCE1 etc.
|
||||||
#
|
#
|
||||||
m4_define([_AC_FILE_DEPENDENCY_TRACE_COLON],
|
m4_define([_AC_FILE_DEPENDENCY_TRACE_COLON],
|
||||||
[AC_FILE_DEPENDENCY_TRACE(m4_bpatsubst([$1], [:], [,]))dnl
|
[AC_FILE_DEPENDENCY_TRACE(m4_translit([$1], [:], [,]))])
|
||||||
])
|
|
||||||
|
|
||||||
|
|
||||||
# _AC_CONFIG_DEPENDENCY(MODE, DEST[:SOURCE1...])
|
# _AC_CONFIG_DEPENDENCY(MODE, DEST[:SOURCE1...])
|
||||||
@ -205,12 +204,11 @@ m4_define([_AC_CONFIG_DEPENDENCY],
|
|||||||
# (We get to this case from the obsolete AC_LINK_FILES, for example.)
|
# (We get to this case from the obsolete AC_LINK_FILES, for example.)
|
||||||
#
|
#
|
||||||
m4_define([_AC_CONFIG_DEPENDENCY_DEFAULT],
|
m4_define([_AC_CONFIG_DEPENDENCY_DEFAULT],
|
||||||
[m4_bmatch([$2], [:], [],
|
[m4_if(m4_index([$2], [:]), [-1],
|
||||||
[m4_if([$1], [LINKS],
|
[m4_if([$1], [LINKS],
|
||||||
[AS_LITERAL_IF([$2],
|
[AS_LITERAL_IF([$2],
|
||||||
[m4_fatal([Invalid AC_CONFIG_LINKS tag: `$2'])])],
|
[m4_fatal([Invalid AC_CONFIG_LINKS tag: `$2'])])],
|
||||||
[:$2.in])])dnl
|
[:$2.in])])])
|
||||||
])
|
|
||||||
|
|
||||||
|
|
||||||
# _AC_CONFIG_UNIQUE(MODE, DEST)
|
# _AC_CONFIG_UNIQUE(MODE, DEST)
|
||||||
@ -246,6 +244,12 @@ m4_define([_AC_CONFIG_FOOS],
|
|||||||
[m4_if([$1], [COMMANDS], [$2], [m4_normalize([$2])])"
|
[m4_if([$1], [COMMANDS], [$2], [m4_normalize([$2])])"
|
||||||
])
|
])
|
||||||
|
|
||||||
|
# _AC_CONFIG_COMPUTE_DEST(STRING)
|
||||||
|
# -------------------------------
|
||||||
|
# Compute the DEST from STRING by stripping any : and following
|
||||||
|
# characters.
|
||||||
|
m4_define([_AC_CONFIG_COMPUTE_DEST],
|
||||||
|
[m4_format([[%.*s]], m4_index([$1], [:]), [$1])])
|
||||||
|
|
||||||
# _AC_CONFIG_REGISTER(MODE, TAG, [COMMANDS])
|
# _AC_CONFIG_REGISTER(MODE, TAG, [COMMANDS])
|
||||||
# ------------------------------------------
|
# ------------------------------------------
|
||||||
@ -254,9 +258,9 @@ m4_define([_AC_CONFIG_FOOS],
|
|||||||
m4_define([_AC_CONFIG_REGISTER],
|
m4_define([_AC_CONFIG_REGISTER],
|
||||||
[m4_if([$1], [COMMANDS],
|
[m4_if([$1], [COMMANDS],
|
||||||
[],
|
[],
|
||||||
[_AC_CONFIG_DEPENDENCY([$1], [$2])])dnl
|
[_AC_CONFIG_DEPENDENCY([$1], [$2])])]dnl
|
||||||
_AC_CONFIG_REGISTER_DEST([$1], [$2], m4_bpatsubst([[$2]], [:.*\(.\)$], [\1]), [$3])dnl
|
[_AC_CONFIG_REGISTER_DEST([$1], [$2],
|
||||||
])
|
_AC_CONFIG_COMPUTE_DEST([$2]), [$3])])
|
||||||
|
|
||||||
|
|
||||||
# _AC_CONFIG_REGISTER_DEST(MODE, TAG, DEST, [COMMANDS])
|
# _AC_CONFIG_REGISTER_DEST(MODE, TAG, DEST, [COMMANDS])
|
||||||
@ -281,15 +285,14 @@ dnl Recognize TAG as an argument to config.status:
|
|||||||
dnl
|
dnl
|
||||||
[m4_append([_AC_LIST_TAGS],
|
[m4_append([_AC_LIST_TAGS],
|
||||||
[ "$3") CONFIG_$1="$CONFIG_$1 $2" ;;
|
[ "$3") CONFIG_$1="$CONFIG_$1 $2" ;;
|
||||||
])dnl
|
])]dnl
|
||||||
dnl
|
dnl
|
||||||
dnl Register the associated commands, if any:
|
dnl Register the associated commands, if any:
|
||||||
dnl
|
dnl
|
||||||
m4_ifval([$4],
|
[m4_ifval([$4],
|
||||||
[m4_append([_AC_LIST_TAG_COMMANDS],
|
[m4_append([_AC_LIST_TAG_COMMANDS],
|
||||||
[ "$3":]m4_bpatsubst([$1], [^\(.\).*$], [\1])[) $4 ;;
|
[ "$3":]m4_format([[%.1s]], [$1])[) $4 ;;
|
||||||
])])dnl
|
])])])# _AC_CONFIG_REGISTER_DEST
|
||||||
])# _AC_CONFIG_REGISTER_DEST
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1101,7 +1104,7 @@ AC_DEFUN([AC_CONFIG_SUBDIRS],
|
|||||||
[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])]dnl
|
[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])]dnl
|
||||||
[AC_REQUIRE([AC_DISABLE_OPTION_CHECKING])]dnl
|
[AC_REQUIRE([AC_DISABLE_OPTION_CHECKING])]dnl
|
||||||
[m4_map_args_w([$1], [_AC_CONFIG_UNIQUE([SUBDIRS],
|
[m4_map_args_w([$1], [_AC_CONFIG_UNIQUE([SUBDIRS],
|
||||||
m4_bpatsubst(], [, [:.*]))])]dnl
|
_AC_CONFIG_COMPUTE_DEST(], [))])]dnl
|
||||||
[m4_append([_AC_LIST_SUBDIRS], [$1], [
|
[m4_append([_AC_LIST_SUBDIRS], [$1], [
|
||||||
])]dnl
|
])]dnl
|
||||||
[AS_LITERAL_IF([$1], [],
|
[AS_LITERAL_IF([$1], [],
|
||||||
|
Loading…
Reference in New Issue
Block a user