X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=configure;h=959b1a20c1c4d4895f61741629fe45abd7161010;hb=cd9113633fbaf708a2181dfe886b2380874af2bc;hp=96b01a280c55477e446ae0284e2f10c317dccd71;hpb=eb4cb4ed1f62ca01ebb23f5fdf89751a2486c96d;p=qmiga%2Fqemu.git diff --git a/configure b/configure index 96b01a280c..959b1a20c1 100755 --- a/configure +++ b/configure @@ -309,6 +309,7 @@ fi ar="${AR-${cross_prefix}ar}" as="${AS-${cross_prefix}as}" ccas="${CCAS-$cc}" +dlltool="${DLLTOOL-${cross_prefix}dlltool}" objcopy="${OBJCOPY-${cross_prefix}objcopy}" ld="${LD-${cross_prefix}ld}" ranlib="${RANLIB-${cross_prefix}ranlib}" @@ -967,14 +968,14 @@ meson="$(cd pyvenv/bin; pwd)/meson" # Conditionally ensure Sphinx is installed. -mkvenv_flags="" -if test "$download" = "enabled" -a "$docs" = "enabled" ; then - mkvenv_flags="--online" +mkvenv_online_flag="" +if test "$download" = "enabled" ; then + mkvenv_online_flag=" --online" fi if test "$docs" != "disabled" ; then if ! $mkvenv ensuregroup \ - $mkvenv_flags \ + $(test "$docs" = "enabled" && echo "$mkvenv_online_flag") \ ${source_path}/pythondeps.toml docs; then if test "$docs" = "enabled" ; then @@ -1010,9 +1011,9 @@ if test "$targetos" = "bogus"; then fi # test for any invalid configuration combinations -if test "$targetos" = "windows"; then +if test "$targetos" = "windows" && ! has "$dlltool"; then if test "$plugins" = "yes"; then - error_exit "TCG plugins not currently supported on Windows platforms" + error_exit "TCG plugins requires dlltool to build on Windows platforms" fi plugins="no" fi @@ -1300,14 +1301,24 @@ probe_target_compiler() { container_cross_prefix=hexagon-unknown-linux-musl- container_cross_cc=${container_cross_prefix}clang ;; + hppa) + container_image=debian-all-test-cross + container_cross_prefix=hppa-linux-gnu- + container_cross_cc=${container_cross_prefix}gcc + ;; i386) - container_image=fedora-i386-cross - container_cross_prefix= + container_image=debian-i686-cross + container_cross_prefix=i686-linux-gnu- ;; loongarch64) container_image=debian-loongarch-cross container_cross_prefix=loongarch64-unknown-linux-gnu- ;; + m68k) + container_image=debian-all-test-cross + container_cross_prefix=m68k-linux-gnu- + container_cross_cc=${container_cross_prefix}gcc + ;; microblaze) container_image=debian-microblaze-cross container_cross_prefix=microblaze-linux-musl- @@ -1317,9 +1328,13 @@ probe_target_compiler() { container_cross_prefix=mips64el-linux-gnuabi64- ;; mips64) - container_image=debian-mips64-cross + container_image=debian-all-test-cross container_cross_prefix=mips64-linux-gnuabi64- ;; + mips) + container_image=debian-all-test-cross + container_cross_prefix=mips-linux-gnu- + ;; nios2) container_image=debian-nios2-cross container_cross_prefix=nios2-linux-gnu- @@ -1333,10 +1348,18 @@ probe_target_compiler() { container_image=debian-all-test-cross container_cross_prefix=powerpc${target_arch#ppc}-linux-gnu- ;; + riscv64) + container_image=debian-all-test-cross + container_cross_prefix=riscv64-linux-gnu- + ;; sh4) container_image=debian-legacy-test-cross container_cross_prefix=sh4-linux-gnu- ;; + sparc64) + container_image=debian-all-test-cross + container_cross_prefix=sparc64-linux-gnu- + ;; tricore) container_image=debian-tricore-cross container_cross_prefix=tricore- @@ -1368,16 +1391,19 @@ probe_target_compiler() { done try=cross - case "$target_arch:$cpu" in - aarch64_be:aarch64 | \ - armeb:arm | \ - i386:x86_64 | \ - mips*:mips64 | \ - ppc*:ppc64 | \ - sparc:sparc64 | \ - "$cpu:$cpu") - try='native cross' ;; - esac + # For softmmu/roms we might be able to use the host compiler + if [ "${1%softmmu}" != "$1" ]; then + case "$target_arch:$cpu" in + aarch64_be:aarch64 | \ + armeb:arm | \ + i386:x86_64 | \ + mips*:mips64 | \ + ppc*:ppc64 | \ + sparc:sparc64 | \ + "$cpu:$cpu") + try='native cross' ;; + esac + fi eval "target_cflags=\${cross_cc_cflags_$target_arch}" for thistry in $try; do case $thistry in @@ -1608,6 +1634,7 @@ if test "$container" != no; then fi echo "SUBDIRS=$subdirs" >> $config_host_mak echo "PYTHON=$python" >> $config_host_mak +echo "MKVENV_ENSUREGROUP=$mkvenv ensuregroup $mkvenv_online_flag" >> $config_host_mak echo "GENISOIMAGE=$genisoimage" >> $config_host_mak echo "MESON=$meson" >> $config_host_mak echo "NINJA=$ninja" >> $config_host_mak @@ -1637,9 +1664,15 @@ echo "SRC_PATH=$source_path/contrib/plugins" >> contrib/plugins/$config_host_mak echo "PKG_CONFIG=${pkg_config}" >> contrib/plugins/$config_host_mak echo "CC=$cc $CPU_CFLAGS" >> contrib/plugins/$config_host_mak echo "CFLAGS=${CFLAGS-$default_cflags} $EXTRA_CFLAGS" >> contrib/plugins/$config_host_mak +if test "$targetos" = windows; then + echo "DLLTOOL=$dlltool" >> contrib/plugins/$config_host_mak +fi if test "$targetos" = darwin; then echo "CONFIG_DARWIN=y" >> contrib/plugins/$config_host_mak fi +if test "$targetos" = windows; then + echo "CONFIG_WIN32=y" >> contrib/plugins/$config_host_mak +fi # tests/tcg configuration (config_host_mak=tests/tcg/config-host.mak @@ -1742,6 +1775,7 @@ if test "$skip_meson" = no; then test -n "$cxx" && echo "cpp = [$(meson_quote $cxx $CPU_CFLAGS)]" >> $cross test -n "$objcc" && echo "objc = [$(meson_quote $objcc $CPU_CFLAGS)]" >> $cross echo "ar = [$(meson_quote $ar)]" >> $cross + echo "dlltool = [$(meson_quote $dlltool)]" >> $cross echo "nm = [$(meson_quote $nm)]" >> $cross echo "pkgconfig = [$(meson_quote $pkg_config)]" >> $cross echo "pkg-config = [$(meson_quote $pkg_config)]" >> $cross @@ -1847,6 +1881,7 @@ preserve_env CC preserve_env CFLAGS preserve_env CXX preserve_env CXXFLAGS +preserve_env DLLTOOL preserve_env LD preserve_env LDFLAGS preserve_env LD_LIBRARY_PATH