From: "Alex Bennée" <alex.bennee@linaro.org>
To: qemu-devel@nongnu.org
Cc: fam@euphon.net, berrange@redhat.com, f4bug@amsat.org,
aurelien@aurel32.net, pbonzini@redhat.com, stefanha@redhat.com,
crosa@redhat.com,
"Richard Henderson" <richard.henderson@linaro.org>,
"Alex Bennée" <alex.bennee@linaro.org>
Subject: [PATCH v1 22/33] configure: include more binutils in tests/tcg makefile
Date: Fri, 27 May 2022 16:35:52 +0100 [thread overview]
Message-ID: <20220527153603.887929-23-alex.bennee@linaro.org> (raw)
In-Reply-To: <20220527153603.887929-1-alex.bennee@linaro.org>
From: Paolo Bonzini <pbonzini@redhat.com>
Firmware builds require paths to all the binutils; it is not enough to
use only cc, or even as/ld as in the case of tests/tcg/tricore.
Adjust the cross-compiler configurator to detect also ar, nm, objcopy,
ranlib and strip.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20220517092616.1272238-12-pbonzini@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
configure | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
diff --git a/configure b/configure
index c2b16c17b9..b8c21e096c 100755
--- a/configure
+++ b/configure
@@ -1875,11 +1875,21 @@ probe_target_compiler() {
container_image=
container_hosts=
container_cross_cc=
+ container_cross_ar=
container_cross_as=
container_cross_ld=
+ container_cross_nm=
+ container_cross_objcopy=
+ container_cross_ranlib=
+ container_cross_strip=
target_cc=
+ target_ar=
target_as=
target_ld=
+ target_nm=
+ target_objcopy=
+ target_ranlib=
+ target_strip=
case $1 in
aarch64) container_hosts="x86_64 aarch64" ;;
@@ -2018,8 +2028,13 @@ probe_target_compiler() {
;;
esac
: ${container_cross_cc:=${container_cross_prefix}gcc}
+ : ${container_cross_ar:=${container_cross_prefix}ar}
: ${container_cross_as:=${container_cross_prefix}as}
: ${container_cross_ld:=${container_cross_prefix}ld}
+ : ${container_cross_nm:=${container_cross_prefix}nm}
+ : ${container_cross_objcopy:=${container_cross_prefix}objcopy}
+ : ${container_cross_ranlib:=${container_cross_prefix}ranlib}
+ : ${container_cross_strip:=${container_cross_prefix}strip}
done
eval "target_cflags=\${cross_cc_cflags_$1}"
@@ -2030,12 +2045,26 @@ probe_target_compiler() {
else
compute_target_variable $1 target_cc gcc
fi
+ target_ccas=$target_cc
+ compute_target_variable $1 target_ar ar
compute_target_variable $1 target_as as
compute_target_variable $1 target_ld ld
+ compute_target_variable $1 target_nm nm
+ compute_target_variable $1 target_objcopy objcopy
+ compute_target_variable $1 target_ranlib ranlib
+ compute_target_variable $1 target_strip strip
if test "$1" = $cpu; then
: ${target_cc:=$cc}
+ : ${target_ccas:=$ccas}
: ${target_as:=$as}
: ${target_ld:=$ld}
+ : ${target_ar:=$ar}
+ : ${target_as:=$as}
+ : ${target_ld:=$ld}
+ : ${target_nm:=$nm}
+ : ${target_objcopy:=$objcopy}
+ : ${target_ranlib:=$ranlib}
+ : ${target_strip:=$strip}
fi
if test -n "$target_cc"; then
case $1 in
@@ -2051,6 +2080,10 @@ probe_target_compiler() {
write_target_makefile() {
if test -n "$target_cc"; then
echo "CC=$target_cc"
+ echo "CCAS=$target_ccas"
+ fi
+ if test -n "$target_ar"; then
+ echo "AR=$target_ar"
fi
if test -n "$target_as"; then
echo "AS=$target_as"
@@ -2058,14 +2091,32 @@ write_target_makefile() {
if test -n "$target_ld"; then
echo "LD=$target_ld"
fi
+ if test -n "$target_nm"; then
+ echo "NM=$target_nm"
+ fi
+ if test -n "$target_objcopy"; then
+ echo "OBJCOPY=$target_objcopy"
+ fi
+ if test -n "$target_ranlib"; then
+ echo "RANLIB=$target_ranlib"
+ fi
+ if test -n "$target_strip"; then
+ echo "STRIP=$target_strip"
+ fi
}
write_container_target_makefile() {
if test -n "$container_cross_cc"; then
echo "CC=\$(DOCKER_SCRIPT) cc --cc $container_cross_cc -i qemu/$container_image -s $source_path --"
+ echo "CCAS=\$(DOCKER_SCRIPT) cc --cc $container_cross_cc -i qemu/$container_image -s $source_path --"
fi
+ echo "AR=\$(DOCKER_SCRIPT) cc --cc $container_cross_ar -i qemu/$container_image -s $source_path --"
echo "AS=\$(DOCKER_SCRIPT) cc --cc $container_cross_as -i qemu/$container_image -s $source_path --"
echo "LD=\$(DOCKER_SCRIPT) cc --cc $container_cross_ld -i qemu/$container_image -s $source_path --"
+ echo "NM=\$(DOCKER_SCRIPT) cc --cc $container_cross_nm -i qemu/$container_image -s $source_path --"
+ echo "OBJCOPY=\$(DOCKER_SCRIPT) cc --cc $container_cross_objcopy -i qemu/$container_image -s $source_path --"
+ echo "RANLIB=\$(DOCKER_SCRIPT) cc --cc $container_cross_ranlib -i qemu/$container_image -s $source_path --"
+ echo "STRIP=\$(DOCKER_SCRIPT) cc --cc $container_cross_strip -i qemu/$container_image -s $source_path --"
}
--
2.30.2
next prev parent reply other threads:[~2022-05-27 16:09 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-27 15:35 [PATCH v1 00/33] testing/next (gitlab, junit, lcitool, x-compile) Alex Bennée
2022-05-27 15:35 ` [PATCH v1 01/33] .gitlab-ci.d/container-cross: Fix RISC-V container dependencies / stages Alex Bennée
2022-05-31 0:18 ` Alistair Francis
2022-05-27 15:35 ` [PATCH v1 02/33] .gitlab-ci.d/crossbuilds: Fix the dependency of the cross-i386-tci job Alex Bennée
2022-05-27 15:35 ` [PATCH v1 03/33] gitlab-ci: add meson JUnit test result into report Alex Bennée
2022-05-30 9:03 ` Thomas Huth
2022-05-27 15:35 ` [PATCH v1 04/33] meson.build: fix summary display of test compilers Alex Bennée
2022-05-27 17:19 ` Richard Henderson
2022-05-27 15:35 ` [PATCH v1 05/33] tests/lcitool: fix up indentation to correct style Alex Bennée
2022-05-27 15:43 ` Daniel P. Berrangé
2022-05-27 15:35 ` [PATCH v1 06/33] tests/docker: update debian-armhf-cross with lcitool Alex Bennée
2022-05-27 15:44 ` Daniel P. Berrangé
2022-05-27 15:35 ` [PATCH v1 07/33] tests/docker: update debian-armel-cross " Alex Bennée
2022-05-27 15:45 ` Daniel P. Berrangé
2022-05-27 15:35 ` [PATCH v1 08/33] tests/docker: update debian-mipsel-cross " Alex Bennée
2022-05-27 15:45 ` Daniel P. Berrangé
2022-05-27 15:35 ` [PATCH v1 09/33] tests/docker: update debian-mips64el-cross " Alex Bennée
2022-05-27 15:46 ` Daniel P. Berrangé
2022-05-27 15:35 ` [PATCH v1 10/33] tests/docker: update debian-ppc64el-cross " Alex Bennée
2022-05-27 15:46 ` Daniel P. Berrangé
2022-05-27 15:35 ` [PATCH v1 11/33] tests/docker: update debian-amd64 " Alex Bennée
2022-05-27 15:51 ` Daniel P. Berrangé
2022-05-27 15:35 ` [PATCH v1 12/33] configure: do not define or use the CPP variable Alex Bennée
2022-05-27 15:35 ` [PATCH v1 13/33] build: clean up ninja invocation Alex Bennée
2022-05-27 15:35 ` [PATCH v1 14/33] build: add a more generic way to specify make->ninja dependencies Alex Bennée
2022-05-27 15:35 ` [PATCH v1 15/33] build: do a full build before running TCG tests Alex Bennée
2022-05-27 15:35 ` [PATCH v1 16/33] configure, meson: move symlinking of ROMs to meson Alex Bennée
2022-05-27 15:35 ` [PATCH v1 17/33] tests/tcg: correct target CPU for sparc32 Alex Bennée
2022-05-27 15:35 ` [PATCH v1 18/33] tests/tcg: merge configure.sh back into main configure script Alex Bennée
2022-05-27 15:35 ` [PATCH v1 19/33] configure: add missing cross compiler fallbacks Alex Bennée
2022-05-27 15:35 ` [PATCH v1 20/33] configure: handle host compiler in probe_target_compiler Alex Bennée
2022-05-27 15:35 ` [PATCH v1 21/33] configure: introduce --cross-prefix-*= Alex Bennée
2022-05-27 15:35 ` Alex Bennée [this message]
2022-05-27 15:35 ` [PATCH v1 23/33] configure: move symlink configuration earlier Alex Bennée
2022-05-30 8:31 ` Paolo Bonzini
2022-05-27 15:35 ` [PATCH v1 24/33] configure: enable cross-compilation of s390-ccw Alex Bennée
2022-05-30 7:40 ` Thomas Huth
2022-05-27 15:35 ` [PATCH v1 25/33] configure: enable cross-compilation of optionrom Alex Bennée
2022-05-30 8:32 ` Paolo Bonzini
2022-05-27 15:35 ` [PATCH v1 26/33] configure: enable cross compilation of vof Alex Bennée
2022-05-27 15:35 ` [PATCH v1 27/33] configure: remove unused variables from config-host.mak Alex Bennée
2022-05-27 15:35 ` [PATCH v1 28/33] gitlab: introduce a common base job template Alex Bennée
2022-05-30 7:50 ` Thomas Huth
2022-05-27 15:35 ` [PATCH v1 29/33] gitlab: convert Cirrus jobs to .base_job_template Alex Bennée
2022-05-30 7:54 ` Thomas Huth
2022-05-27 15:36 ` [PATCH v1 30/33] gitlab: convert static checks " Alex Bennée
2022-05-30 8:04 ` Thomas Huth
2022-05-27 15:36 ` [PATCH v1 31/33] gitlab: convert build/container jobs " Alex Bennée
2022-05-30 8:53 ` Thomas Huth
2022-06-01 14:43 ` Alex Bennée
2022-05-27 15:36 ` [PATCH v1 32/33] gitlab: don't run CI jobs in forks by default Alex Bennée
2022-05-27 15:57 ` Daniel P. Berrangé
2022-05-30 9:00 ` Thomas Huth
2022-05-27 15:36 ` [PATCH v1 33/33] docs/devel: clean-up the CI links in the docs Alex Bennée
2022-05-27 15:52 ` Daniel P. Berrangé
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220527153603.887929-23-alex.bennee@linaro.org \
--to=alex.bennee@linaro.org \
--cc=aurelien@aurel32.net \
--cc=berrange@redhat.com \
--cc=crosa@redhat.com \
--cc=f4bug@amsat.org \
--cc=fam@euphon.net \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).