qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Subject: [PULL 03/14] configure, pc-bios/optionrom: pass cross CFLAGS correctly
Date: Fri, 24 Jun 2022 10:27:19 +0200	[thread overview]
Message-ID: <20220624082730.246924-4-pbonzini@redhat.com> (raw)
In-Reply-To: <20220624082730.246924-1-pbonzini@redhat.com>

The optionrom build is disregarding the flags passed to the configure
script via --cross-cflags-i386.  Pass it down and add it to the Makefile.

This will make it possible to get the -m32 flag from $target_cflags to
force a 32-bit build on 64-bit hosts, instead of supplying manually the
arcane -Wa,-32 and linker emulation options.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 configure                  | 32 ++++++++++++++++++--------------
 pc-bios/optionrom/Makefile |  2 +-
 2 files changed, 19 insertions(+), 15 deletions(-)

diff --git a/configure b/configure
index 76728b31f7..3d00b361d7 100755
--- a/configure
+++ b/configure
@@ -2057,19 +2057,22 @@ probe_target_compiler() {
   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
+  case "$1:$cpu" in
+    i386:x86_64 | \
+    "$cpu:$cpu")
+      : ${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}
+      ;;
+  esac
   if test -n "$target_cc"; then
     case $1 in
       i386|x86_64)
@@ -2238,7 +2241,7 @@ done
 
 # Mac OS X ships with a broken assembler
 roms=
-probe_target_compilers i386 x86_64
+probe_target_compiler i386
 if test -n "$target_cc" &&
         test "$targetos" != "darwin" && test "$targetos" != "sunos" && \
         test "$targetos" != "haiku" && test "$softmmu" = yes ; then
@@ -2257,6 +2260,7 @@ if test -n "$target_cc" &&
         echo "# Automatically generated by configure - do not modify" > $config_mak
         echo "TOPSRC_DIR=$source_path" >> $config_mak
         echo "LD_I386_EMULATION=$ld_i386_emulation" >> $config_mak
+        echo "EXTRA_CFLAGS=$target_cflags" >> $config_mak
         write_target_makefile >> $config_mak
     fi
 fi
diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile
index ea89ce9d59..e90ca2e1c6 100644
--- a/pc-bios/optionrom/Makefile
+++ b/pc-bios/optionrom/Makefile
@@ -11,7 +11,7 @@ CFLAGS = -O2 -g
 quiet-command = $(if $(V),$1,$(if $(2),@printf "  %-7s %s\n" $2 $3 && $1, @$1))
 cc-option = $(if $(shell $(CC) $1 -c -o /dev/null -xc /dev/null >/dev/null 2>&1 && echo OK), $1, $2)
 
-override CFLAGS += -march=i486 -Wall -m16
+override CFLAGS += -march=i486 -Wall $(EXTRA_CFLAGS) -m16
 
 # If -fcf-protection is enabled in flags or compiler defaults that will
 # conflict with -march=i486
-- 
2.36.1




  parent reply	other threads:[~2022-06-24  8:32 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-24  8:27 [PULL 00/14] (Mostly) build system changes for 2022-06-24 Paolo Bonzini
2022-06-24  8:27 ` [PULL 01/14] tests/vm: do not specify -bios option Paolo Bonzini
2022-06-24  8:27 ` [PULL 02/14] pc-bios/optionrom: use -m16 unconditionally Paolo Bonzini
2022-06-24  8:27 ` Paolo Bonzini [this message]
2022-06-24  8:27 ` [PULL 04/14] configure, pc-bios/s390-ccw: pass cross CFLAGS correctly Paolo Bonzini
2022-06-24  8:27 ` [PULL 05/14] configure, pc-bios/vof: " Paolo Bonzini
2022-06-24  8:27 ` [PULL 06/14] configure: allow more host/target combos to use the host compiler Paolo Bonzini
2022-06-24  8:27 ` [PULL 07/14] configure: write EXTRA_CFLAGS for all sub-Makefiles Paolo Bonzini
2022-06-24  8:27 ` [PULL 08/14] tests/tcg: compile system emulation tests as freestanding Paolo Bonzini
2022-06-24  8:27 ` [PULL 09/14] build: try both native and cross compilers for linux-user tests Paolo Bonzini
2022-06-24  8:27 ` [PULL 10/14] build: improve -fsanitize-coverage-allowlist check Paolo Bonzini
2022-06-24  8:27 ` [PULL 11/14] fuzz: only use generic-fuzz targets on oss-fuzz Paolo Bonzini
2022-06-24  8:27 ` [PULL 12/14] audio/dbus: fix building Paolo Bonzini
2022-06-24  8:27 ` [PULL 13/14] meson.build: Require a recent version of libpng Paolo Bonzini
2022-06-24  8:27 ` [PULL 14/14] accel: kvm: Fix memory leak in find_stats_descriptors Paolo Bonzini
2022-06-24 15:57 ` [PULL 00/14] (Mostly) build system changes for 2022-06-24 Richard Henderson
2022-06-30 17:12   ` Paolo Bonzini
2022-06-30 17:32     ` Peter Maydell
2022-07-01  0:26       ` Richard Henderson
2022-07-01  4:11         ` Paolo Bonzini

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=20220624082730.246924-4-pbonzini@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /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).