# Don't accept a target_list environment variable.
unset target_list
+unset target_list_exclude
# Default value for a variable defining feature "foo".
# * foo="no" feature will only be used if --enable-foo arg is given
--cpu=*)
;;
--target-list=*) target_list="$optarg"
+ if test "$target_list_exclude"; then
+ error_exit "Can't mix --target-list with --target-list-exclude"
+ fi
+ ;;
+ --target-list-exclude=*) target_list_exclude="$optarg"
+ if test "$target_list"; then
+ error_exit "Can't mix --target-list-exclude with --target-list"
+ fi
;;
--enable-trace-backends=*) trace_backends="$optarg"
;;
;;
--disable-slirp) slirp="no"
;;
- --enable-slirp=git) slirp="git"
- ;;
--enable-slirp=system) slirp="system"
;;
--disable-vde) vde="no"
mak_wilds="${mak_wilds} $source_path/default-configs/*-bsd-user.mak"
fi
-for config in $mak_wilds; do
- default_target_list="${default_target_list} $(basename "$config" .mak)"
-done
+if test -z "$target_list_exclude"; then
+ for config in $mak_wilds; do
+ default_target_list="${default_target_list} $(basename "$config" .mak)"
+ done
+else
+ exclude_list=$(echo "$target_list_exclude" | sed -e 's/,/ /g')
+ for config in $mak_wilds; do
+ target="$(basename "$config" .mak)"
+ exclude="no"
+ for excl in $exclude_list; do
+ if test "$excl" = "$target"; then
+ exclude="yes"
+ break;
+ fi
+ done
+ if test "$exclude" = "no"; then
+ default_target_list="${default_target_list} $target"
+ fi
+ done
+fi
# Enumerate public trace backends for --help output
trace_backend_list=$(echo $(grep -le '^PUBLIC = True$' "$source_path"/scripts/tracetool/backend/*.py | sed -e 's/^.*\/\(.*\)\.py$/\1/'))
--target-list=LIST set target list (default: build everything)
$(echo Available targets: $default_target_list | \
fold -s -w 53 | sed -e 's/^/ /')
+ --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]
EOF
if compile_prog "" "" ; then
guest_agent_ntddscsi=yes
- libs_qga="-lsetupapi $libs_qga"
+ libs_qga="-lsetupapi -lcfgmgr32 $libs_qga"
fi
fi
"" | 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
- git | internal)
- if test "$slirp" = git; then
- git_submodules="${git_submodules} slirp"
- fi
+ internal)
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" = "git" -o "$slirp" = "internal" ]; then
+if [ "$slirp" = "internal" ]; then
echo "config-host.h: subdir-slirp" >> $config_host_mak
fi
if test "$vde" = "yes" ; then
TARGET_BASE_ARCH=riscv
TARGET_ABI_DIR=riscv
mttcg=yes
+ gdb_xml_files="riscv-32bit-cpu.xml riscv-32bit-fpu.xml riscv-32bit-csr.xml"
target_compiler=$cross_cc_riscv32
;;
riscv64)
TARGET_BASE_ARCH=riscv
TARGET_ABI_DIR=riscv
mttcg=yes
+ gdb_xml_files="riscv-64bit-cpu.xml riscv-64bit-fpu.xml riscv-64bit-csr.xml"
target_compiler=$cross_cc_riscv64
;;
sh4|sh4eb)