mirror of
https://github.com/netwide-assembler/nasm.git
synced 2024-12-15 09:09:58 +08:00
97ea4adcf0
config/config.h as generated by autoconf has #undef directives commented out, but the autoheader-generated template contains them, and config/unconfig.h should not contain them. Re-introduce config/config.h.in, and postprocess it to generate config/unconfig.h by commenting out all the #undef directives, just as configure does. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
62 lines
2.2 KiB
Bash
Executable File
62 lines
2.2 KiB
Bash
Executable File
#!/bin/sh -x
|
|
#
|
|
# Run this script to regenerate autoconf files
|
|
#
|
|
recheck=false
|
|
if [ x"$1" = x--recheck ]; then
|
|
recheck=true
|
|
config=$(sh config.status --config 2>/dev/null)
|
|
fi
|
|
|
|
# This allows for overriding the default autoconf programs
|
|
AUTOCONF="${AUTOCONF:-${AUTOTOOLS_PREFIX}autoconf}"
|
|
AUTOMAKE="${AUTOMAKE:-${AUTOTOOLS_PREFIX}automake}"
|
|
ACLOCAL="${ACLOCAL:-${AUTOTOOLS_PREFIX}aclocal}"
|
|
AUTOHEADER="${AUTOHEADER:-${AUTOTOOLS_PREFIX}autoheader}"
|
|
|
|
mkdir -p autoconf autoconf/helpers config
|
|
autolib="`"$AUTOMAKE" --print-libdir`"
|
|
if test ! x"$autolib" = x; then
|
|
for prg in install-sh compile config.guess config.sub; do
|
|
# Update autoconf helpers if and only if newer ones are available
|
|
if test -f "$autolib"/"$prg" && \
|
|
( test -f "$autolib"/"$prg" && \
|
|
sed -n -r -e \
|
|
's/^(scriptver(|sion)|timestamp)=['\''"]?([^'\''"]+).*$/\3/p' \
|
|
"$autolib"/"$prg" autoconf/helpers/"$prg" | \
|
|
sort --check=quiet; test $? -ne 0 )
|
|
then
|
|
cp -f "$autolib"/"$prg" autoconf/helpers
|
|
fi
|
|
done
|
|
fi
|
|
mv -f autoconf/aclocal.m4 autoconf/aclocal.m4.old
|
|
mkdir -p autoconf/m4.old autoconf/m4
|
|
mv -f autoconf/m4/*.m4 autoconf/m4.old/ 2>/dev/null || true
|
|
ACLOCAL_PATH="${ACLOCAL_PATH}${ACLOCAL_PATH:+:}`pwd`/autoconf/m4.old"
|
|
export ACLOCAL_PATH
|
|
"$ACLOCAL" --install --output=autoconf/aclocal.m4 -I autoconf/m4
|
|
if test ! -f autoconf/aclocal.m4; then
|
|
# aclocal failed, revert to previous files
|
|
mv -f autoconf/m4.old/*.m4 autoconf/m4/
|
|
mv -f autoconf/aclocal.m4.old autoconf/aclocal.m4
|
|
fi
|
|
rm -rf autoconf/*m4.old
|
|
"$AUTOHEADER" -B autoconf
|
|
if [ config/config.h.in -nt config/unconfig.h ]; then
|
|
# Create a file corresponding to a completely empty configure
|
|
# instance, commenting out the #undef directives from the template
|
|
# just like configure would do.
|
|
perl -np < config/config.h.in > config/unconfig.h \
|
|
-e 's:^(\#\s*undef\s.*)$:/* $1 */:;' \
|
|
-e 's:config/config.h.in:config/unconfig.h:;' \
|
|
-e 's:autoheader:autogen.sh:;'
|
|
fi
|
|
"$AUTOCONF" -B autoconf
|
|
rm -rf autom4te.cache config.log config.status config/config.h Makefile
|
|
|
|
if $recheck; then
|
|
# This bizarre statement has to do with how config.status quotes its output
|
|
echo exec sh configure $config | sh -
|
|
fi
|