mirror of
https://git.tukaani.org/xz.git
synced 2025-11-06 00:13:08 +00:00
Tests: Make the config.h grep patterns Meson compatible
Now the test scripts detect both
#define HAVE_DECODER_ARM
#define HAVE_DECODER_ARM 1
as support for the ARM filter without confusing it with these:
#define HAVE_DECODER_ARM64
#define HAVE_DECODER_ARM64 1
Previously only the ones ending with " 1" were accepted for
the macros where this kind of confusion was possible.
This should help with Meson support because Meson's built-in
features produce config.h entries that are either
#define FOO 1
#define FOO 0
or:
#define FOO
#undef FOO
The former method has a benefit that one can use "#if FOO" and -Wundef
will catch if a #define is missing (for example, it helps catching
typos). But XZ Utils has to use the latter since it has been
convenient with Autoconf's default behavior.[*] While it's easy to
emulate the Autoconf style (#define FOO 1 vs. no #define at all)
in Meson, it results in clumsy code. Thus it's better to change
the few places in the tests where this difference matters.
[*] While most checks in Autoconf default to the second style above,
a few things use the first style (like AC_CHECK_DECLS). The mix
of both styles is the most confusing as one has to remember which
macro needs #ifdef and which #if. Currently HAVE_VISIBILITY is
only such config.h entry that is 1 or 0. It comes unmodified
from Gnulib's visibility.m4.
This commit is contained in:
parent
9d997d6f9d
commit
56f1d5ed68
@ -142,9 +142,9 @@ test_xz -4
|
||||
test_filter()
|
||||
{
|
||||
if test -f ../config.h ; then
|
||||
grep "define HAVE_ENCODER_$1 1" ../config.h > /dev/null \
|
||||
grep "define HAVE_ENCODER_$1[ 1]*\$" ../config.h > /dev/null \
|
||||
|| return
|
||||
grep "define HAVE_DECODER_$1 1" ../config.h > /dev/null \
|
||||
grep "define HAVE_DECODER_$1[ 1]*\$" ../config.h > /dev/null \
|
||||
|| return
|
||||
fi
|
||||
shift
|
||||
|
||||
@ -39,7 +39,7 @@ EXIT_STATUS=0
|
||||
have_feature()
|
||||
{
|
||||
test -f ../config.h || return 0
|
||||
grep "define HAVE_$1 1" ../config.h > /dev/null && return 0
|
||||
grep "define HAVE_$1[ 1]*\$" ../config.h > /dev/null && return 0
|
||||
printf '%s: Skipping because HAVE_%s is not enabled\n' "$2" "$1"
|
||||
EXIT_STATUS=77
|
||||
return 1
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user