configure: Fix cross-building for RISCV host
While when building on native Linux the host architecture is reported as "riscv32" or "riscv64": Host machine cpu family: riscv64 Host machine cpu: riscv64 Found pkg-config: /usr/bin/pkg-config (0.29.2) Since commitba0e733362
("configure: Merge riscv32 and riscv64 host architectures"), when cross-compiling it is detected as "riscv". Meson handles the cross-detection but displays a warning: WARNING: Unknown CPU family riscv, please report this at https://github.com/mesonbuild/meson/issues/new Host machine cpu family: riscv Host machine cpu: riscv Target machine cpu family: riscv Target machine cpu: riscv Found pkg-config: /usr/bin/riscv64-linux-gnu-pkg-config (1.8.1) Now since commit278c1bcef5
("target/riscv: Only unify 'riscv32/64' -> 'riscv' for host cpu in meson") Meson expects the cpu to be in [riscv32, riscv64]. So when cross-building (for example on our cross-riscv64-system Gitlab-CI job) we get: WARNING: Unknown CPU family riscv, please report this at https://github.com/mesonbuild/meson/issues/new Host machine cpu family: riscv Host machine cpu: riscv Target machine cpu family: riscv Target machine cpu: riscv ../meson.build:684:6: ERROR: Problem encountered: Unsupported CPU riscv, try --enable-tcg-interpreter Fix by partially revert commitba0e733362
so when cross-building the ./configure script passes the proper host architecture to meson. Fixes:ba0e733362
("configure: Merge riscv32 and riscv64 host architectures") Fixes:278c1bcef5
("target/riscv: Only unify 'riscv32/64' -> 'riscv' for host cpu in meson") Reported-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-Id: <20230711110619.56588-1-philmd@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
2bb9d628a7
commit
e3e477c3bc
6
configure
vendored
6
configure
vendored
@ -451,7 +451,11 @@ elif check_define __s390__ ; then
|
|||||||
cpu="s390"
|
cpu="s390"
|
||||||
fi
|
fi
|
||||||
elif check_define __riscv ; then
|
elif check_define __riscv ; then
|
||||||
cpu="riscv"
|
if check_define _LP64 ; then
|
||||||
|
cpu="riscv64"
|
||||||
|
else
|
||||||
|
cpu="riscv32"
|
||||||
|
fi
|
||||||
elif check_define __arm__ ; then
|
elif check_define __arm__ ; then
|
||||||
cpu="arm"
|
cpu="arm"
|
||||||
elif check_define __aarch64__ ; then
|
elif check_define __aarch64__ ; then
|
||||||
|
Loading…
Reference in New Issue
Block a user