mirror of
https://github.com/yuzu-emu/unicorn
synced 2024-11-24 06:38:15 +00:00
configure: preserve various environment variables in config.status
The config.status script is auto-generated by configure upon completion. The intention is that config.status can be later invoked by the developer directly, or by make indirectly, to re-detect the same environment that configure originally used. The current config.status script, however, only contains a record of the command line arguments to configure. Various environment variables have an effect on what configure will find. In particular PKG_CONFIG_LIBDIR & PKG_CONFIG_PATH vars will affect what libraries pkg-config finds. The PATH var will affect what toolchain binaries and XXXX-config scripts are found. The LD_LIBRARY_PATH var will affect what libraries are found. Most commands have env variables that will override the name/path of the default version configure finds. All these key env variables should be recorded in the config.status script. Autoconf would also preserve CFLAGS, LDFLAGS, LIBS, CPPFLAGS, but QEMU deals with those differently, expecting extra flags to be set using configure args, rather than env variables. At the end of the script we also don't have the original values of those env vars, as we modify them during configure. Backports commit e811da7fe229cc17d98b230bdfeaf6d0631ea987 from qemu
This commit is contained in:
parent
f3f22c94e1
commit
ea64a4629f
1 changed files with 40 additions and 0 deletions
40
qemu/configure
vendored
40
qemu/configure
vendored
|
@ -1735,6 +1735,46 @@ cat <<EOD >config.status
|
|||
# Compiler output produced by configure, useful for debugging
|
||||
# configure, is in config.log if it exists.
|
||||
EOD
|
||||
|
||||
preserve_env() {
|
||||
envname=$1
|
||||
|
||||
eval envval=\$$envname
|
||||
|
||||
if test -n "$envval"
|
||||
then
|
||||
echo "$envname='$envval'" >> config.status
|
||||
echo "export $envname" >> config.status
|
||||
else
|
||||
echo "unset $envname" >> config.status
|
||||
fi
|
||||
}
|
||||
|
||||
# Preserve various env variables that influence what
|
||||
# features/build target configure will detect
|
||||
preserve_env AR
|
||||
preserve_env AS
|
||||
preserve_env CC
|
||||
preserve_env CPP
|
||||
preserve_env CXX
|
||||
preserve_env INSTALL
|
||||
preserve_env LD
|
||||
preserve_env LD_LIBRARY_PATH
|
||||
preserve_env LIBTOOL
|
||||
preserve_env MAKE
|
||||
preserve_env NM
|
||||
preserve_env OBJCOPY
|
||||
preserve_env PATH
|
||||
preserve_env PKG_CONFIG
|
||||
preserve_env PKG_CONFIG_LIBDIR
|
||||
preserve_env PKG_CONFIG_PATH
|
||||
preserve_env PYTHON
|
||||
preserve_env SDL_CONFIG
|
||||
preserve_env SDL2_CONFIG
|
||||
preserve_env SMBD
|
||||
preserve_env STRIP
|
||||
preserve_env WINDRES
|
||||
|
||||
printf "exec" >>config.status
|
||||
printf " '%s'" "$0" "$@" >>config.status
|
||||
echo ' "$@"' >>config.status
|
||||
|
|
Loading…
Reference in a new issue