# default parameters
source_path=$(dirname "$0")
+# make source path absolute
+source_path=$(cd "$source_path"; pwd)
cpu=""
iasl="iasl"
interp_prefix="/usr/gnemul/qemu-%M"
;;
--cxx=*) CXX="$optarg"
;;
- --source-path=*) source_path="$optarg"
- ;;
--cpu=*) cpu="$optarg"
;;
--extra-cflags=*) QEMU_CFLAGS="$QEMU_CFLAGS $optarg"
LDFLAGS="-g $LDFLAGS"
fi
-# make source path absolute
-source_path=$(cd "$source_path"; pwd)
-
# running configure in the source tree?
# we know that's the case if configure is there.
if test -f "./configure"; then
: ${make=${MAKE-make}}
: ${install=${INSTALL-install}}
-: ${python=${PYTHON-python}}
+# We prefer python 3.x. A bare 'python' is traditionally
+# python 2.x, but some distros have it as python 3.x, so
+# we check that before python2
+python=
+for binary in "${PYTHON-python3}" python python2
+do
+ if has "$binary"
+ then
+ python="$binary"
+ break
+ fi
+done
: ${smbd=${SMBD-/usr/sbin/smbd}}
# Default objcc to clang if available, otherwise use CC
;;
--interp-prefix=*) interp_prefix="$optarg"
;;
- --source-path=*)
- ;;
--cross-prefix=*)
;;
--cc=*)
;;
--disable-slirp) slirp="no"
;;
+ --enable-slirp=git) slirp="git"
+ ;;
--enable-slirp=system) slirp="system"
;;
--disable-vde) vde="no"
--target-list-exclude=LIST exclude a set of targets from the default target-list
Advanced options (experts only):
- --source-path=PATH path of source code [$source_path]
--cross-prefix=PREFIX use PREFIX for compile tools [$cross_prefix]
--cc=CC use C compiler CC [$cc]
--iasl=IASL use ACPI compiler IASL [$iasl]
exit 0
fi
-if ! has $python; then
- error_exit "Python not found. Use --python=/path/to/python"
+# Remove old dependency files to make sure that they get properly regenerated
+rm -f *-config-devices.mak.d
+
+if test -z "$python"
+then
+ error_exit "Python not found. Use --python=/path/to/python"
fi
# Note that if the Python conditional here evaluates True we will exit
gcc_flags="-Wno-missing-include-dirs -Wempty-body -Wnested-externs $gcc_flags"
gcc_flags="-Wendif-labels -Wno-shift-negative-value $gcc_flags"
gcc_flags="-Wno-initializer-overrides -Wexpansion-to-defined $gcc_flags"
-gcc_flags="-Wno-string-plus-int $gcc_flags"
+gcc_flags="-Wno-string-plus-int -Wno-typedef-redefinition $gcc_flags"
# Note that we do not add -Werror to gcc_flags here, because that would
# enable it for all configure tests. If a configure test failed due
# to -Werror this would just silently disable some features,
##########################################
# libseccomp check
-libseccomp_minver="2.2.0"
if test "$seccomp" != "no" ; then
- case "$cpu" in
- i386|x86_64|mips)
- ;;
- arm|aarch64)
- libseccomp_minver="2.2.3"
- ;;
- ppc|ppc64|s390x)
- libseccomp_minver="2.3.0"
- ;;
- *)
- libseccomp_minver=""
- ;;
- esac
-
- if test "$libseccomp_minver" != "" &&
- $pkg_config --atleast-version=$libseccomp_minver libseccomp ; then
+ libseccomp_minver="2.3.0"
+ if $pkg_config --atleast-version=$libseccomp_minver libseccomp ; then
seccomp_cflags="$($pkg_config --cflags libseccomp)"
seccomp_libs="$($pkg_config --libs libseccomp)"
seccomp="yes"
else
if test "$seccomp" = "yes" ; then
- if test "$libseccomp_minver" != "" ; then
- feature_not_found "libseccomp" \
- "Install libseccomp devel >= $libseccomp_minver"
- else
- feature_not_found "libseccomp" \
- "libseccomp is not supported for host cpu $cpu"
- fi
+ feature_not_found "libseccomp" \
+ "Install libseccomp devel >= $libseccomp_minver"
fi
seccomp="no"
fi
int main(void) {
const char *service_name = "qemu";
const char *user = "frank";
- const struct pam_conv *pam_conv = NULL;
+ const struct pam_conv pam_conv = { 0 };
pam_handle_t *pamh = NULL;
- pam_start(service_name, user, pam_conv, &pamh);
+ pam_start(service_name, user, &pam_conv, &pamh);
return 0;
}
EOF
"" | yes)
if $pkg_config slirp; then
slirp=system
+ elif test -e "${source_path}/.git" && test $git_update = 'yes' ; then
+ slirp=git
elif test -e "${source_path}/slirp/Makefile" ; then
slirp=internal
elif test -z "$slirp" ; then
esac
case "$slirp" in
- internal)
+ git | internal)
+ if test "$slirp" = git; then
+ git_submodules="${git_submodules} slirp"
+ fi
mkdir -p slirp
slirp_cflags="-I\$(SRC_PATH)/slirp/src -I\$(BUILD_DIR)/slirp/src"
slirp_libs="-L\$(BUILD_DIR)/slirp -lslirp"
echo "SLIRP_CFLAGS=$slirp_cflags" >> $config_host_mak
echo "SLIRP_LIBS=$slirp_libs" >> $config_host_mak
fi
-if [ "$slirp" = "internal" ]; then
+if [ "$slirp" = "git" -o "$slirp" = "internal" ]; then
echo "config-host.h: subdir-slirp" >> $config_host_mak
fi
if test "$vde" = "yes" ; then
for bios_file in \
$source_path/pc-bios/*.bin \
$source_path/pc-bios/*.lid \
- $source_path/pc-bios/*.aml \
$source_path/pc-bios/*.rom \
$source_path/pc-bios/*.dtb \
$source_path/pc-bios/*.img \
$source_path/pc-bios/openbios-* \
$source_path/pc-bios/u-boot.* \
+ $source_path/pc-bios/edk2-*.fd.bz2 \
$source_path/pc-bios/palcode-*
do
LINKS="$LINKS pc-bios/$(basename $bios_file)"