X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=configure;h=9439f1c727661df47bcd8a77370ddc85d5178c81;hb=acbe48013bf1eb9c9a435e76959f409584b35509;hp=73df1814063eb566a6703df8d8e6d293a8a39d81;hpb=c30d1aea1478cd55e8cfdf866afa39cd00bb4ea1;p=qemu.git diff --git a/configure b/configure index 73df18140..9439f1c72 100755 --- a/configure +++ b/configure @@ -123,8 +123,6 @@ interp_prefix="/usr/gnemul/qemu-%M" static="no" cross_prefix="" audio_drv_list="" -audio_card_list="ac97 es1370 sb16 hda" -audio_possible_cards="ac97 es1370 sb16 cs4231a adlib gus hda" block_drv_whitelist="" host_cc="cc" libs_softmmu="" @@ -179,6 +177,7 @@ libattr="" xfs="" vhost_net="no" +vhost_scsi="no" kvm="no" gprof="no" debug_tcg="no" @@ -226,6 +225,7 @@ trace_file="trace" spice="" rbd="" smartcard_nss="" +libusb="" usb_redir="" glx="" zlib="yes" @@ -239,6 +239,7 @@ virtio_blk_data_plane="" gtk="" gtkabi="2.0" tpm="no" +libssh2="" # parse CC options first for opt do @@ -541,9 +542,11 @@ Haiku) usb="linux" kvm="yes" vhost_net="yes" + vhost_scsi="yes" if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then audio_possible_drivers="$audio_possible_drivers fmod" fi + QEMU_INCLUDES="-I\$(SRC_PATH)/linux-headers $QEMU_INCLUDES" ;; esac @@ -571,11 +574,6 @@ if test "$mingw32" = "yes" ; then QEMU_CFLAGS="-DWIN32_LEAN_AND_MEAN -DWINVER=0x501 $QEMU_CFLAGS" # enable C99/POSIX format strings (needs mingw32-runtime 3.15 or later) QEMU_CFLAGS="-D__USE_MINGW_ANSI_STDIO=1 $QEMU_CFLAGS" - if test "$cpu" = "i386"; then - # We need something better than i386 for __sync_val_compare_and_swap - # and can expect that QEMU will only run on i686 or later. - QEMU_CFLAGS="-march=i686 $QEMU_CFLAGS" - fi LIBS="-lwinmm -lws2_32 -liphlpapi $LIBS" cat > $TMPC << EOF int main(void) { return 0; } @@ -704,8 +702,6 @@ for opt do ;; --oss-lib=*) oss_lib="$optarg" ;; - --audio-card-list=*) audio_card_list=`echo "$optarg" | sed -e 's/,/ /g'` - ;; --audio-drv-list=*) audio_drv_list="$optarg" ;; --block-drv-whitelist=*) block_drv_whitelist=`echo "$optarg" | sed -e 's/,/ /g'` @@ -872,6 +868,10 @@ for opt do ;; --enable-vhost-net) vhost_net="yes" ;; + --disable-vhost-scsi) vhost_scsi="no" + ;; + --enable-vhost-scsi) vhost_scsi="yes" + ;; --disable-glx) glx="no" ;; --enable-glx) glx="yes" @@ -888,6 +888,10 @@ for opt do ;; --enable-smartcard-nss) smartcard_nss="yes" ;; + --disable-libusb) libusb="no" + ;; + --enable-libusb) libusb="yes" + ;; --disable-usb-redir) usb_redir="no" ;; --enable-usb-redir) usb_redir="yes" @@ -922,6 +926,10 @@ for opt do ;; --enable-tpm) tpm="yes" ;; + --disable-libssh2) libssh2="no" + ;; + --enable-libssh2) libssh2="yes" + ;; *) echo "ERROR: unknown option $opt"; show_help="yes" ;; esac @@ -930,33 +938,36 @@ done case "$cpu" in sparc) LDFLAGS="-m32 $LDFLAGS" - QEMU_CFLAGS="-m32 -mcpu=ultrasparc $QEMU_CFLAGS" + CPU_CFLAGS="-m32 -mcpu=ultrasparc" ;; sparc64) LDFLAGS="-m64 $LDFLAGS" - QEMU_CFLAGS="-m64 -mcpu=ultrasparc $QEMU_CFLAGS" + CPU_CFLAGS="-m64 -mcpu=ultrasparc" ;; s390) - QEMU_CFLAGS="-m31 -march=z990 $QEMU_CFLAGS" + CPU_CFLAGS="-m31 -march=z990" LDFLAGS="-m31 $LDFLAGS" ;; s390x) - QEMU_CFLAGS="-m64 -march=z990 $QEMU_CFLAGS" + CPU_CFLAGS="-m64 -march=z990" LDFLAGS="-m64 $LDFLAGS" ;; i386) - QEMU_CFLAGS="-m32 $QEMU_CFLAGS" + CPU_CFLAGS="-m32" LDFLAGS="-m32 $LDFLAGS" cc_i386='$(CC) -m32' ;; x86_64) - QEMU_CFLAGS="-m64 $QEMU_CFLAGS" + CPU_CFLAGS="-m64" LDFLAGS="-m64 $LDFLAGS" cc_i386='$(CC) -m32' ;; # No special flags required for other host CPUs esac +QEMU_CFLAGS="$CPU_CFLAGS $QEMU_CFLAGS" +EXTRA_CFLAGS="$CPU_CFLAGS $EXTRA_CFLAGS" + default_target_list="" # these targets are portable @@ -1090,8 +1101,6 @@ echo " --disable-cocoa disable Cocoa (Mac OS X only)" echo " --enable-cocoa enable Cocoa (default on Mac OS X)" echo " --audio-drv-list=LIST set audio drivers list:" echo " Available drivers: $audio_possible_drivers" -echo " --audio-card-list=LIST set list of emulated audio cards [$audio_card_list]" -echo " Available cards: $audio_possible_cards" echo " --block-drv-whitelist=L set block driver whitelist" echo " (affects only QEMU, not qemu-img)" echo " --enable-mixemu enable mixer emulation" @@ -1169,6 +1178,8 @@ echo " --disable-libiscsi disable iscsi support" echo " --enable-libiscsi enable iscsi support" echo " --disable-smartcard-nss disable smartcard nss support" echo " --enable-smartcard-nss enable smartcard nss support" +echo " --disable-libusb disable libusb (for usb passthrough)" +echo " --enable-libusb enable libusb (for usb passthrough)" echo " --disable-usb-redir disable usb network redirection support" echo " --enable-usb-redir enable usb network redirection support" echo " --disable-guest-agent disable building of the QEMU Guest Agent" @@ -1182,6 +1193,8 @@ echo " --disable-glusterfs disable GlusterFS backend" echo " --enable-gcov enable test coverage analysis with gcov" echo " --gcov=GCOV use specified gcov [$gcov_tool]" echo " --enable-tpm enable TPM support" +echo " --disable-libssh2 disable ssh block device support" +echo " --enable-libssh2 enable ssh block device support" echo "" echo "NOTE: The object files are built at the place where configure is launched" exit 1 @@ -1225,7 +1238,7 @@ fi gcc_flags="-Wold-style-declaration -Wold-style-definition -Wtype-limits" gcc_flags="-Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers $gcc_flags" gcc_flags="-Wmissing-include-dirs -Wempty-body -Wnested-externs $gcc_flags" -gcc_flags="-fstack-protector-all -Wendif-labels $gcc_flags" +gcc_flags="-Wendif-labels $gcc_flags" gcc_flags="-Wno-initializer-overrides $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 @@ -1244,6 +1257,11 @@ for flag in $gcc_flags; do fi done +if compile_prog "-Werror -fstack-protector-all" "" ; then + QEMU_CFLAGS="$QEMU_CFLAGS -fstack-protector-all" + LIBTOOLFLAGS="$LIBTOOLFLAGS -Wc,-fstack-protector-all" +fi + # Workaround for http://gcc.gnu.org/PR55489. Happens with -fPIE/-fPIC and # large functions that use global variables. The bug is in all releases of # GCC, but it became particularly acute in 4.6.x and 4.7.x. It is fixed in @@ -1308,9 +1326,33 @@ EOF fi fi -# +########################################## +# __sync_fetch_and_and requires at least -march=i486. Many toolchains +# use i686 as default anyway, but for those that don't, an explicit +# specification is necessary + +if test "$cpu" = "i386"; then + cat > $TMPC << EOF +static int sfaa(int *ptr) +{ + return __sync_fetch_and_and(ptr, 0); +} + +int main(void) +{ + int val = 42; + sfaa(&val); + return val; +} +EOF + if ! compile_prog "" "" ; then + QEMU_CFLAGS="-march=i486 $QEMU_CFLAGS" + fi +fi + +######################################### # Solaris specific configure tool chain decisions -# + if test "$solaris" = "yes" ; then if has $install; then : @@ -1449,6 +1491,7 @@ EOF "Make sure to have the zlib libs and headers installed." fi fi +libs_softmmu="$libs_softmmu -lz" ########################################## # libseccomp check @@ -1456,6 +1499,7 @@ fi if test "$seccomp" != "no" ; then if $pkg_config --atleast-version=1.0.0 libseccomp --modversion >/dev/null 2>&1; then libs_softmmu="$libs_softmmu `$pkg_config --libs libseccomp`" + QEMU_CFLAGS="$QEMU_CFLAGS `$pkg_config --cflags libseccomp`" seccomp="yes" else if test "$seccomp" = "yes"; then @@ -1641,6 +1685,14 @@ if ! has $libtool; then libtool= fi +# MacOSX ships with a libtool which isn't the GNU one; weed this +# out by checking whether libtool supports the --version switch +if test -n "$libtool"; then + if ! "$libtool" --version >/dev/null 2>&1; then + libtool= + fi +fi + ########################################## # Sparse probe if test "$sparse" != "no" ; then @@ -2313,6 +2365,51 @@ EOF fi fi +########################################## +# libssh2 probe +min_libssh2_version=1.2.8 +if test "$libssh2" != "no" ; then + if $pkg_config --atleast-version=$min_libssh2_version libssh2 >/dev/null 2>&1 + then + libssh2_cflags=`$pkg_config libssh2 --cflags` + libssh2_libs=`$pkg_config libssh2 --libs` + libssh2=yes + libs_tools="$libssh2_libs $libs_tools" + libs_softmmu="$libssh2_libs $libs_softmmu" + QEMU_CFLAGS="$QEMU_CFLAGS $libssh2_cflags" + else + if test "$libssh2" = "yes" ; then + error_exit "libssh2 >= $min_libssh2_version required for --enable-libssh2" + fi + libssh2=no + fi +fi + +########################################## +# libssh2_sftp_fsync probe + +if test "$libssh2" = "yes"; then + cat > $TMPC < +#include +#include +int main(void) { + LIBSSH2_SESSION *session; + LIBSSH2_SFTP *sftp; + LIBSSH2_SFTP_HANDLE *sftp_handle; + session = libssh2_session_init (); + sftp = libssh2_sftp_init (session); + sftp_handle = libssh2_sftp_open (sftp, "/", 0, 0); + libssh2_sftp_fsync (sftp_handle); + return 0; +} +EOF + # libssh2_cflags/libssh2_libs defined in previous test. + if compile_prog "$libssh2_cflags" "$libssh2_libs" ; then + QEMU_CFLAGS="-DHAS_LIBSSH2_SFTP_FSYNC $QEMU_CFLAGS" + fi +fi + ########################################## # linux-aio probe @@ -2335,6 +2432,15 @@ EOF fi fi +########################################## +# TPM passthrough is only on x86 Linux + +if test "$targetos" = Linux && test "$cpu" = i386 -o "$cpu" = x86_64; then + tpm_passthrough=$tpm +else + tpm_passthrough=no +fi + ########################################## # adjust virtio-blk-data-plane based on linux-aio @@ -2408,17 +2514,34 @@ if test "$fdt" != "no" ; then int main(void) { return 0; } EOF if compile_prog "" "$fdt_libs" ; then + # system DTC is good - use it fdt=yes - libs_softmmu="$libs_softmmu $fdt_libs" - else - if test "$fdt" = "yes" ; then - feature_not_found "fdt" + elif test -d ${source_path}/dtc/libfdt ; then + # have submodule DTC - use it + fdt=yes + dtc_internal="yes" + mkdir -p dtc + if [ "$source_path" != `pwd` ] ; then + symlink "$source_path/dtc/Makefile" "dtc/Makefile" + symlink "$source_path/dtc/scripts" "dtc/scripts" fi + fdt_cflags="-I\$(SRC_PATH)/dtc/libfdt" + fdt_libs="-L\$(BUILD_DIR)/dtc/libfdt $fdt_libs" + elif test "$fdt" = "yes" ; then + # have neither and want - prompt for system/submodule install + error_exit "ERROR: DTC not present. Your options:" \ + " (1) Preferred: Install the DTC devel package" \ + " (2) Fetch the DTC submodule, using:" \ + " git submodule update --init dtc" + else + # don't have and don't want fdt_libs= fdt=no fi fi +libs_softmmu="$libs_softmmu $fdt_libs" + ########################################## # GLX probe, used by milkymist-tmu2 if test "$glx" != "no" ; then @@ -2927,6 +3050,23 @@ EOF fi fi +# check for libusb +if test "$libusb" != "no" ; then + if $pkg_config --atleast-version=1.0.13 libusb-1.0 >/dev/null 2>&1 ; then + libusb="yes" + usb="libusb" + libusb_cflags=$($pkg_config --cflags libusb-1.0 2>/dev/null) + libusb_libs=$($pkg_config --libs libusb-1.0 2>/dev/null) + QEMU_CFLAGS="$QEMU_CFLAGS $libusb_cflags" + libs_softmmu="$libs_softmmu $libusb_libs" + else + if test "$libusb" = "yes"; then + feature_not_found "libusb" + fi + libusb="no" + fi +fi + # check for usbredirparser for usb network redirection support if test "$usb_redir" != "no" ; then if $pkg_config --atleast-version=0.6 libusbredirparser-0.5 >/dev/null 2>&1 ; then @@ -3045,29 +3185,6 @@ if test "$trace_backend" = "dtrace"; then fi fi -########################################## -# __sync_fetch_and_and requires at least -march=i486. Many toolchains -# use i686 as default anyway, but for those that don't, an explicit -# specification is necessary -if test "$vhost_net" = "yes" && test "$cpu" = "i386"; then - cat > $TMPC << EOF -static int sfaa(int *ptr) -{ - return __sync_fetch_and_and(ptr, 0); -} - -int main(void) -{ - int val = 42; - sfaa(&val); - return val; -} -EOF - if ! compile_prog "" "" ; then - QEMU_CFLAGS="-march=i486 $QEMU_CFLAGS" - fi -fi - ########################################## # check and set a backend for coroutine @@ -3166,8 +3283,10 @@ fi pragma_disable_unused_but_set=no cat > $TMPC << EOF +#pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-but-set-variable" #pragma GCC diagnostic ignored "-Wstrict-prototypes" +#pragma GCC diagnostic pop int main(void) { return 0; @@ -3240,6 +3359,20 @@ if compile_prog "" "" ; then int128=yes fi +######################################## +# check if getauxval is available. + +getauxval=no +cat > $TMPC << EOF +#include +int main(void) { + return getauxval(AT_HWCAP) == 0; +} +EOF +if compile_prog "" "" ; then + getauxval=yes +fi + ########################################## # End of CC checks # After here, no more $cc or $ld runs @@ -3330,8 +3463,12 @@ if test "$cpu" = "ppc64" -a "$targetos" != "Darwin" ; then roms="$roms spapr-rtas" fi +if test "$cpu" = "s390x" ; then + roms="$roms s390-ccw" +fi + # add pixman flags after all config tests are done -QEMU_CFLAGS="$QEMU_CFLAGS $pixman_cflags" +QEMU_CFLAGS="$QEMU_CFLAGS $pixman_cflags $fdt_cflags" libs_softmmu="$libs_softmmu $pixman_libs" echo "Install prefix $prefix" @@ -3379,7 +3516,6 @@ echo "curses support $curses" echo "curl support $curl" echo "mingw32 support $mingw32" echo "Audio drivers $audio_drv_list" -echo "Extra audio cards $audio_card_list" echo "Block whitelist $block_drv_whitelist" echo "Mixer emulation $mixemu" echo "VirtFS support $virtfs" @@ -3418,12 +3554,14 @@ echo "sigev_thread_id $sigev_thread_id" echo "uuid support $uuid" echo "libcap-ng support $cap_ng" echo "vhost-net support $vhost_net" +echo "vhost-scsi support $vhost_scsi" echo "Trace backend $trace_backend" echo "Trace output file $trace_file-" echo "spice support $spice ($spice_protocol_version/$spice_server_version)" echo "rbd support $rbd" echo "xfsctl support $xfs" echo "nss used $smartcard_nss" +echo "libusb $libusb" echo "usb net redir $usb_redir" echo "GLX support $glx" echo "libiscsi support $libiscsi" @@ -3435,6 +3573,8 @@ echo "virtio-blk-data-plane $virtio_blk_data_plane" echo "gcov $gcov_tool" echo "gcov enabled $gcov" echo "TPM support $tpm" +echo "libssh2 support $libssh2" +echo "TPM passthrough $tpm_passthrough" if test "$sdl_too_old" = "yes"; then echo "-> Your SDL version is too old - please upgrade to have SDL support" @@ -3466,8 +3606,18 @@ echo "qemu_helperdir=$libexecdir" >> $config_host_mak echo "extra_cflags=$EXTRA_CFLAGS" >> $config_host_mak echo "extra_ldflags=$EXTRA_LDFLAGS" >> $config_host_mak echo "qemu_localedir=$qemu_localedir" >> $config_host_mak +echo "libs_softmmu=$libs_softmmu" >> $config_host_mak echo "ARCH=$ARCH" >> $config_host_mak + +case "$cpu" in + arm|i386|x86_64|ppc) + # The TCG interpreter currently does not support ld/st optimization. + if test "$tcg_interpreter" = "no" ; then + echo "CONFIG_QEMU_LDST_OPTIMIZATION=y" >> $config_host_mak + fi + ;; +esac if test "$debug_tcg" = "yes" ; then echo "CONFIG_DEBUG_TCG=y" >> $config_host_mak fi @@ -3530,10 +3680,6 @@ fi if test "$cap_ng" = "yes" ; then echo "CONFIG_LIBCAP=y" >> $config_host_mak fi -for card in $audio_card_list; do - def=CONFIG_`echo $card | LC_ALL=C tr '[a-z]' '[A-Z]'` - echo "$def=y" >> $config_host_mak -done echo "CONFIG_AUDIO_DRIVERS=$audio_drv_list" >> $config_host_mak for drv in $audio_drv_list; do def=CONFIG_`echo $drv | LC_ALL=C tr '[a-z]' '[A-Z]'` @@ -3688,6 +3834,9 @@ fi if test "$virtfs" = "yes" ; then echo "CONFIG_VIRTFS=y" >> $config_host_mak fi +if test "$vhost_scsi" = "yes" ; then + echo "CONFIG_VHOST_SCSI=y" >> $config_host_mak +fi if test "$blobs" = "yes" ; then echo "INSTALL_BLOBS=yes" >> $config_host_mak fi @@ -3729,12 +3878,17 @@ if test "$smartcard_nss" = "yes" ; then echo "libcacard_cflags=$libcacard_cflags" >> $config_host_mak fi +if test "$libusb" = "yes" ; then + echo "CONFIG_USB_LIBUSB=y" >> $config_host_mak +fi + if test "$usb_redir" = "yes" ; then echo "CONFIG_USB_REDIR=y" >> $config_host_mak fi if test "$glx" = "yes" ; then echo "CONFIG_GLX=y" >> $config_host_mak + echo "GLX_LIBS=$glx_libs" >> $config_host_mak fi if test "$libiscsi" = "yes" ; then @@ -3789,10 +3943,18 @@ if test "$int128" = "yes" ; then echo "CONFIG_INT128=y" >> $config_host_mak fi +if test "$getauxval" = "yes" ; then + echo "CONFIG_GETAUXVAL=y" >> $config_host_mak +fi + if test "$glusterfs" = "yes" ; then echo "CONFIG_GLUSTERFS=y" >> $config_host_mak fi +if test "$libssh2" = "yes" ; then + echo "CONFIG_LIBSSH2=y" >> $config_host_mak +fi + if test "$virtio_blk_data_plane" = "yes" ; then echo 'CONFIG_VIRTIO_BLK_DATA_PLANE=$(CONFIG_VIRTIO)' >> $config_host_mak fi @@ -3805,11 +3967,26 @@ linux) bsd) echo "HOST_USB=bsd" >> $config_host_mak ;; +libusb) + if test "$linux" = "yes"; then + echo "HOST_USB=libusb linux legacy" >> $config_host_mak + else + echo "HOST_USB=libusb legacy" >> $config_host_mak + fi +;; *) echo "HOST_USB=stub" >> $config_host_mak ;; esac +# TPM passthrough support? +if test "$tpm" = "yes"; then + echo 'CONFIG_TPM=$(CONFIG_SOFTMMU)' >> $config_host_mak + if test "$tpm_passthrough" = "yes"; then + echo "CONFIG_TPM_PASSTHROUGH=y" >> $config_host_mak + fi +fi + # use default implementation for tracing backend-specific routines trace_default=yes echo "TRACE_BACKEND=$trace_backend" >> $config_host_mak @@ -3835,11 +4012,32 @@ if test "$trace_backend" = "dtrace"; then echo "CONFIG_TRACE_SYSTEMTAP=y" >> $config_host_mak fi fi +if test "$trace_backend" = "ftrace"; then + if test "$linux" = "yes" ; then + echo "CONFIG_TRACE_FTRACE=y" >> $config_host_mak + trace_default=no + else + feature_not_found "ftrace(trace backend)" + fi +fi echo "CONFIG_TRACE_FILE=$trace_file" >> $config_host_mak if test "$trace_default" = "yes"; then echo "CONFIG_TRACE_DEFAULT=y" >> $config_host_mak fi +if test "$tcg_interpreter" = "yes"; then + QEMU_INCLUDES="-I\$(SRC_PATH)/tcg/tci $QEMU_INCLUDES" +elif test "$ARCH" = "sparc64" ; then + QEMU_INCLUDES="-I\$(SRC_PATH)/tcg/sparc $QEMU_INCLUDES" +elif test "$ARCH" = "s390x" ; then + QEMU_INCLUDES="-I\$(SRC_PATH)/tcg/s390 $QEMU_INCLUDES" +elif test "$ARCH" = "x86_64" ; then + QEMU_INCLUDES="-I\$(SRC_PATH)/tcg/i386 $QEMU_INCLUDES" +else + QEMU_INCLUDES="-I\$(SRC_PATH)/tcg/\$(ARCH) $QEMU_INCLUDES" +fi +QEMU_INCLUDES="-I\$(SRC_PATH)/tcg $QEMU_INCLUDES" + echo "TOOLS=$tools" >> $config_host_mak echo "ROMS=$roms" >> $config_host_mak echo "MAKE=$make" >> $config_host_mak @@ -3879,6 +4077,7 @@ else echo "AUTOCONF_HOST := " >> $config_host_mak fi echo "LDFLAGS=$LDFLAGS" >> $config_host_mak +echo "LIBTOOLFLAGS=$LIBTOOLFLAGS" >> $config_host_mak echo "LIBS+=$LIBS" >> $config_host_mak echo "LIBS_TOOLS+=$libs_tools" >> $config_host_mak echo "EXESUF=$EXESUF" >> $config_host_mak @@ -3972,11 +4171,6 @@ bflt="no" target_nptl="no" interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_arch2/g"` gdb_xml_files="" -target_short_alignment=2 -target_int_alignment=4 -target_long_alignment=4 -target_llong_alignment=8 -target_libs_softmmu= TARGET_ARCH="$target_arch2" TARGET_BASE_ARCH="" @@ -3987,10 +4181,8 @@ case "$target_arch2" in ;; x86_64) TARGET_BASE_ARCH=i386 - target_long_alignment=8 ;; alpha) - target_long_alignment=8 target_nptl="yes" ;; arm|armeb) @@ -3998,20 +4190,15 @@ case "$target_arch2" in bflt="yes" target_nptl="yes" gdb_xml_files="arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml" - target_llong_alignment=4 ;; cris) target_nptl="yes" ;; lm32) - target_libs_softmmu="$glx_libs" ;; m68k) bflt="yes" gdb_xml_files="cf-core.xml cf-fp.xml" - target_int_alignment=2 - target_long_alignment=2 - target_llong_alignment=2 ;; microblaze|microblazeel) TARGET_ARCH=microblaze @@ -4033,7 +4220,6 @@ case "$target_arch2" in TARGET_ARCH=mips64 TARGET_BASE_ARCH=mips echo "TARGET_ABI_MIPSN64=y" >> $config_target_mak - target_long_alignment=8 ;; moxie) ;; @@ -4055,7 +4241,6 @@ case "$target_arch2" in TARGET_BASE_ARCH=ppc TARGET_ABI_DIR=ppc gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml" - target_long_alignment=8 ;; ppc64abi32) TARGET_ARCH=ppc64 @@ -4073,7 +4258,6 @@ case "$target_arch2" in ;; sparc64) TARGET_BASE_ARCH=sparc - target_long_alignment=8 ;; sparc32plus) TARGET_ARCH=sparc64 @@ -4083,7 +4267,6 @@ case "$target_arch2" in ;; s390x) target_nptl="yes" - target_long_alignment=8 ;; unicore32) ;; @@ -4105,19 +4288,6 @@ upper() { echo "$@"| LC_ALL=C tr '[a-z]' '[A-Z]' } -case "$cpu" in - i386|x86_64|ppc) - # The TCG interpreter currently does not support ld/st optimization. - if test "$tcg_interpreter" = "no" ; then - echo "CONFIG_QEMU_LDST_OPTIMIZATION=y" >> $config_target_mak - fi - ;; -esac - -echo "TARGET_SHORT_ALIGNMENT=$target_short_alignment" >> $config_target_mak -echo "TARGET_INT_ALIGNMENT=$target_int_alignment" >> $config_target_mak -echo "TARGET_LONG_ALIGNMENT=$target_long_alignment" >> $config_target_mak -echo "TARGET_LLONG_ALIGNMENT=$target_llong_alignment" >> $config_target_mak echo "TARGET_ARCH=$TARGET_ARCH" >> $config_target_mak target_arch_name="`upper $TARGET_ARCH`" echo "TARGET_$target_arch_name=y" >> $config_target_mak @@ -4135,12 +4305,9 @@ case "$target_arch2" in if test "$xen_pci_passthrough" = yes; then echo "CONFIG_XEN_PCI_PASSTHROUGH=y" >> "$config_target_mak" fi - else - echo "CONFIG_NO_XEN=y" >> $config_target_mak fi ;; *) - echo "CONFIG_NO_XEN=y" >> $config_target_mak esac case "$target_arch2" in arm|i386|x86_64|ppcemb|ppc|ppc64|s390x) @@ -4168,7 +4335,6 @@ if test "$target_bigendian" = "yes" ; then fi if test "$target_softmmu" = "yes" ; then echo "CONFIG_SOFTMMU=y" >> $config_target_mak - echo "LIBS+=$libs_softmmu $target_libs_softmmu" >> $config_target_mak case "$target_arch2" in i386|x86_64) echo "CONFIG_HAVE_CORE_DUMP=y" >> $config_target_mak @@ -4203,34 +4369,11 @@ if test "$target_bsd_user" = "yes" ; then echo "CONFIG_BSD_USER=y" >> $config_target_mak fi -# the static way of configuring available audio cards requires this workaround -if test "$target_user_only" != "yes" && grep -q CONFIG_PCSPK $source_path/default-configs/$target.mak; then - echo "CONFIG_PCSPK=y" >> $config_target_mak -fi - # generate QEMU_CFLAGS/LDFLAGS for targets cflags="" -includes="" ldflags="" -if test "$tcg_interpreter" = "yes"; then - includes="-I\$(SRC_PATH)/tcg/tci $includes" -elif test "$ARCH" = "sparc64" ; then - includes="-I\$(SRC_PATH)/tcg/sparc $includes" -elif test "$ARCH" = "s390x" ; then - includes="-I\$(SRC_PATH)/tcg/s390 $includes" -elif test "$ARCH" = "x86_64" ; then - includes="-I\$(SRC_PATH)/tcg/i386 $includes" -else - includes="-I\$(SRC_PATH)/tcg/\$(ARCH) $includes" -fi -includes="-I\$(SRC_PATH)/tcg $includes" - -if test "$linux" = "yes" ; then - includes="-I\$(SRC_PATH)/linux-headers $includes" -fi - for i in $ARCH $TARGET_BASE_ARCH ; do case "$i" in alpha) @@ -4315,20 +4458,6 @@ alpha) ;; esac -if test "$target_softmmu" = "yes" ; then - case "$TARGET_BASE_ARCH" in - arm) - cflags="-DHAS_AUDIO $cflags" - ;; - lm32) - cflags="-DHAS_AUDIO $cflags" - ;; - i386|mips|ppc) - cflags="-DHAS_AUDIO -DHAS_AUDIO_CHOICE $cflags" - ;; - esac -fi - if test "$gprof" = "yes" ; then echo "TARGET_GPROF=yes" >> $config_target_mak if test "$target_linux_user" = "yes" ; then @@ -4341,12 +4470,6 @@ if test "$gprof" = "yes" ; then fi fi -if test "$tpm" = "yes"; then - if test "$target_softmmu" = "yes" ; then - echo "CONFIG_TPM=y" >> $config_host_mak - fi -fi - if test "$ARCH" = "tci"; then linker_script="" else @@ -4366,7 +4489,6 @@ fi echo "LDFLAGS+=$ldflags" >> $config_target_mak echo "QEMU_CFLAGS+=$cflags" >> $config_target_mak -echo "QEMU_INCLUDES+=$includes" >> $config_target_mak done # for target in $targets @@ -4374,9 +4496,13 @@ if [ "$pixman" = "internal" ]; then echo "config-host.h: subdir-pixman" >> $config_host_mak fi +if [ "$dtc_internal" = "yes" ]; then + echo "config-host.h: subdir-dtc" >> $config_host_mak +fi + # build tree in object directory in case the source is not in the current directory -DIRS="tests tests/tcg tests/tcg/cris tests/tcg/lm32" -DIRS="$DIRS pc-bios/optionrom pc-bios/spapr-rtas" +DIRS="tests tests/tcg tests/tcg/cris tests/tcg/lm32 tests/libqos" +DIRS="$DIRS pc-bios/optionrom pc-bios/spapr-rtas pc-bios/s390-ccw" DIRS="$DIRS roms/seabios roms/vgabios" DIRS="$DIRS qapi-generated" FILES="Makefile tests/tcg/Makefile qdict-test-data.txt" @@ -4384,6 +4510,7 @@ FILES="$FILES tests/tcg/cris/Makefile tests/tcg/cris/.gdbinit" FILES="$FILES tests/tcg/lm32/Makefile po/Makefile" FILES="$FILES pc-bios/optionrom/Makefile pc-bios/keymaps" FILES="$FILES pc-bios/spapr-rtas/Makefile" +FILES="$FILES pc-bios/s390-ccw/Makefile" FILES="$FILES roms/seabios/Makefile roms/vgabios/Makefile" FILES="$FILES pc-bios/qemu-icon.bmp" for bios_file in \ @@ -4391,6 +4518,7 @@ for bios_file in \ $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/palcode-* do