We want to keep configuring of the cross compiler within configure so it can be used by the firmware.
This reverts commit 7e1d54da6faf10e1fc70f6b3d8247068b80b1597. Suggested-by: Paolo Bonzini <[email protected]> Signed-off-by: Alex Bennée <[email protected]> --- v3 - declare empty container_command/use_containers to avoid unref var --- configure | 31 ++++++++------- meson_options.txt | 89 ------------------------------------------- tests/tcg/meson.build | 31 +++------------ 3 files changed, 23 insertions(+), 128 deletions(-) diff --git a/configure b/configure index 1973f023b1e..bedde58b8cf 100755 --- a/configure +++ b/configure @@ -172,6 +172,7 @@ fi # some defaults, based on the host environment # default parameters +container_command="" cpu="" cross_compile="no" cross_prefix="" @@ -227,6 +228,19 @@ for opt do ;; --extra-ldflags=*) EXTRA_LDFLAGS="$EXTRA_LDFLAGS $optarg" ;; + --cross-cc-*[!a-zA-Z0-9_-]*=*) error_exit "Passed bad --cross-cc-FOO option" + ;; + --cross-cc-cflags-*) cc_arch=${opt#--cross-cc-cflags-}; cc_arch=${cc_arch%%=*} + eval "cross_cc_cflags_${cc_arch}=\$optarg" + ;; + --cross-cc-*) cc_arch=${opt#--cross-cc-}; cc_arch=${cc_arch%%=*} + eval "cross_cc_${cc_arch}=\$optarg" + ;; + --cross-prefix-*[!a-zA-Z0-9_-]*=*) error_exit "Passed bad --cross-prefix-FOO option" + ;; + --cross-prefix-*) cc_arch=${opt#--cross-prefix-}; cc_arch=${cc_arch%%=*} + eval "cross_prefix_${cc_arch}=\$optarg" + ;; --without-default-features) default_feature="no" ;; --wasm64-32bit-address-limit) wasm64_memory64="2" @@ -246,6 +260,7 @@ ninja="" python= download="enabled" skip_meson=no +use_containers="" rust="disabled" rust_target_triple="" @@ -618,19 +633,9 @@ for opt do ;; --extra-ldflags=*) ;; - --cross-cc-*[!a-zA-Z0-9_-]*=*) error_exit "Passed bad --cross-cc-FOO option" - ;; - --cross-cc-cflags-*) arch=${opt#--cross-cc-cflags-}; arch=${arch%%=*} - meson_option_add "-Dtcg_tests_cross_cflags_${arch}=${optarg}" - ;; - --cross-cc-*) arch=${opt#--cross-cc-}; arch=${arch%%=*} - meson_option_add "-Dtcg_tests_cross_cc_${arch}=${optarg}" - ;; - --cross-prefix-*[!a-zA-Z0-9_-]*=*) error_exit "Passed bad --cross-prefix-FOO option" + --cross-cc-*) ;; - # cross-prefix is just used as a syntactic sugar for -cross-cc. - --cross-prefix-*) arch=${opt#--cross-prefix-}; arch=${arch%%=*} - meson_option_add "-Dtcg_tests_cross_cc_${arch}=${optarg}gcc" + --cross-prefix-*) ;; --enable-docs) docs=enabled ;; @@ -1273,7 +1278,7 @@ if test "$container_command" = ""; then container_command=$($python "$source_path"/tests/docker/docker.py probe) test "$container_command" = "no" && container_command="" fi -if test $use_containers = "yes" && test "$container_command" != ""; then +if test "$use_containers" = "yes" && test "$container_command" != ""; then docker_py="$python $source_path/tests/docker/docker.py --command $container_command" fi diff --git a/meson_options.txt b/meson_options.txt index e3570a418aa..66d3689d14c 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -393,92 +393,3 @@ option('containers', type: 'boolean', value: true, description: 'use containers to cross compile tcg tests') option('container_command', type: 'string', description: 'command to build/run containers') - -option('tcg_tests_cross_cc_aarch64', type: 'string', - description: 'cc for aarch64 tcg tests') -option('tcg_tests_cross_cflags_aarch64', type: 'string', - description: 'cflags for aarch64 tcg tests') -option('tcg_tests_cross_cc_aarch64_be', type: 'string', - description: 'cc for aarch64_be tcg tests') -option('tcg_tests_cross_cflags_aarch64_be', type: 'string', - description: 'cflags for aarch64_be tcg tests') -option('tcg_tests_cross_cc_alpha', type: 'string', - description: 'cc for alpha tcg tests') -option('tcg_tests_cross_cflags_alpha', type: 'string', - description: 'cflags for alpha tcg tests') -option('tcg_tests_cross_cc_arm', type: 'string', - description: 'cc for arm tcg tests') -option('tcg_tests_cross_cflags_arm', type: 'string', - description: 'cflags for arm tcg tests') -option('tcg_tests_cross_cc_hexagon', type: 'string', - description: 'cc for hexagon tcg tests') -option('tcg_tests_cross_cflags_hexagon', type: 'string', - description: 'cflags for hexagon tcg tests') -option('tcg_tests_cross_cc_hppa', type: 'string', - description: 'cc for hppa tcg tests') -option('tcg_tests_cross_cflags_hppa', type: 'string', - description: 'cflags for hppa tcg tests') -option('tcg_tests_cross_cc_i386', type: 'string', - description: 'cc for i386 tcg tests') -option('tcg_tests_cross_cflags_i386', type: 'string', - description: 'cflags for i386 tcg tests') -option('tcg_tests_cross_cc_loongarch64', type: 'string', - description: 'cc for loongarch64 tcg tests') -option('tcg_tests_cross_cflags_loongarch64', type: 'string', - description: 'cflags for loongarch64 tcg tests') -option('tcg_tests_cross_cc_m68k', type: 'string', - description: 'cc for m68k tcg tests') -option('tcg_tests_cross_cflags_m68k', type: 'string', - description: 'cflags for m68k tcg tests') -option('tcg_tests_cross_cc_mips', type: 'string', - description: 'cc for mips tcg tests') -option('tcg_tests_cross_cflags_mips', type: 'string', - description: 'cflags for mips tcg tests') -option('tcg_tests_cross_cc_mips64', type: 'string', - description: 'cc for mips64 tcg tests') -option('tcg_tests_cross_cflags_mips64', type: 'string', - description: 'cflags for mips64 tcg tests') -option('tcg_tests_cross_cc_mips64el', type: 'string', - description: 'cc for mips64el tcg tests') -option('tcg_tests_cross_cflags_mips64el', type: 'string', - description: 'cflags for mips64el tcg tests') -option('tcg_tests_cross_cc_or1k', type: 'string', - description: 'cc for or1k tcg tests') -option('tcg_tests_cross_cflags_or1k', type: 'string', - description: 'cflags for or1k tcg tests') -option('tcg_tests_cross_cc_ppc64', type: 'string', - description: 'cc for ppc64 tcg tests') -option('tcg_tests_cross_cflags_ppc64', type: 'string', - description: 'cflags for ppc64 tcg tests') -option('tcg_tests_cross_cc_ppc64le', type: 'string', - description: 'cc for ppc64le tcg tests') -option('tcg_tests_cross_cflags_ppc64le', type: 'string', - description: 'cflags for ppc64le tcg tests') -option('tcg_tests_cross_cc_riscv64', type: 'string', - description: 'cc for riscv64 tcg tests') -option('tcg_tests_cross_cflags_riscv64', type: 'string', - description: 'cflags for riscv64 tcg tests') -option('tcg_tests_cross_cc_s390x', type: 'string', - description: 'cc for s390x tcg tests') -option('tcg_tests_cross_cflags_s390x', type: 'string', - description: 'cflags for s390x tcg tests') -option('tcg_tests_cross_cc_sh4', type: 'string', - description: 'cc for sh4 tcg tests') -option('tcg_tests_cross_cflags_sh4', type: 'string', - description: 'cflags for sh4 tcg tests') -option('tcg_tests_cross_cc_tricore', type: 'string', - description: 'cc for tricore tcg tests') -option('tcg_tests_cross_cflags_tricore', type: 'string', - description: 'cflags for tricore tcg tests') -option('tcg_tests_cross_cc_x86_64', type: 'string', - description: 'cc for x86_64 tcg tests') -option('tcg_tests_cross_cflags_x86_64', type: 'string', - description: 'cflags for x86_64 tcg tests') -option('tcg_tests_cross_cc_xtensa', type: 'string', - description: 'cc for xtensa tcg tests') -option('tcg_tests_cross_cflags_xtensa', type: 'string', - description: 'cflags for xtensa tcg tests') -option('tcg_tests_cross_cc_xtensaeb', type: 'string', - description: 'cc for xtensaeb tcg tests') -option('tcg_tests_cross_cflags_xtensaeb', type: 'string', - description: 'cflags for xtensaeb tcg tests') diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index d41a228fb3d..ce208e686ff 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -185,8 +185,6 @@ foreach target, plan: tcg_tests continue endif - cc_arch = target.replace('-linux-user', '').replace('-softmmu', '') - # Detect duplicated executables/tests, and report an error to force user to # choose how to deal with it. built_tests = {} @@ -204,35 +202,16 @@ foreach target, plan: tcg_tests endforeach cc = find_program(plan['cc'], required : false) - cc_cflags = [] - - check_flags = [] - check_required = false - cross_cc = get_option('tcg_tests_cross_cc_' + cc_arch) - if cross_cc != '' - # we make sure cross cc exists - cc = find_program(cross_cc, required: true) - check_required = true - endif - cross_cflags = get_option('tcg_tests_cross_cflags_' + cc_arch) - if cross_cflags != '' - cc_cflags = cross_cflags.split() - # and that cross cc can compile programs - check_flags = cc_cflags - check_required = true - endif - cc_from_system = cc.found() has_cc = cc.found() if has_cc + check_flags = ['-static'] if target.endswith('softmmu') - check_flags += ['-nostdlib', '-ffreestanding', '-r'] - else - check_flags += ['-static'] + check_flags = ['-nostdlib', '-ffreestanding', '-r'] endif cmd = run_command([cc, files('test_cc.c'), check_flags, '-o', '/dev/null'], - check: check_required) + check: false) has_cc = cmd.returncode() == 0 cc_from_system = has_cc endif @@ -368,9 +347,9 @@ foreach target, plan: tcg_tests endif endif - cflags = cc_cflags + cflags = [] if 'cflags' in setup - cflags += setup['cflags'] + cflags = setup['cflags'] endif if 'cc_feat' in setup -- 2.47.3
