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}"
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
container_cross_prefix=aarch64-linux-gnu-
container_cross_cc=${container_cross_prefix}gcc
;;
+ alpha)
+ container_image=debian-legacy-test-cross
+ container_cross_prefix=alpha-linux-gnu-
+ container_cross_cc=${container_cross_prefix}gcc
+ ;;
arm)
# We don't have any bigendian build tools so we only use this for ARM
container_image=debian-armhf-cross
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-
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-
;;
ppc)
- container_image=debian-powerpc-test-cross
+ container_image=debian-all-test-cross
container_cross_prefix=powerpc-linux-gnu-
container_cross_cc=${container_cross_prefix}gcc
;;
ppc64|ppc64le)
- container_image=debian-powerpc-test-cross
+ container_image=debian-all-test-cross
container_cross_prefix=powerpc${target_arch#ppc}-linux-gnu-
- container_cross_cc=${container_cross_prefix}gcc-10
+ ;;
+ 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
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
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
preserve_env CFLAGS
preserve_env CXX
preserve_env CXXFLAGS
+preserve_env DLLTOOL
preserve_env LD
preserve_env LDFLAGS
preserve_env LD_LIBRARY_PATH