mbox series

[00/20] Cross compilation changes for 7.2

Message ID 20220825222745.38779-1-pbonzini@redhat.com (mailing list archive)
Headers show
Series Cross compilation changes for 7.2 | expand

Message

Paolo Bonzini Aug. 25, 2022, 10:27 p.m. UTC
This is a bunch of related changes leading up to building ROMs
with container-based cross compilers:

- detect pc-bios/ CC options just once instead of using make's $(shell)
  function

- move CC option detection to tests/tcg Makefiles from QEMU's root
  configure

- put all configuration of tests/tcg in config files instead of using
  $(MAKE) VAR=value

- mostly unrelated, change pc-bios/ Make output to look like Meson's
  "Compiling foo.o".

Paolo Bonzini (20):
  configure: do not invoke as/ld directly for pc-bios/optionrom
  pc-bios/optionrom: detect CC options just once
  pc-bios/s390-ccw: detect CC options just once
  vof: add distclean target
  build: add recursive distclean rules
  configure: return status code from probe_target_compiler
  configure: store container engine in config-host.mak
  tests: simplify Makefile invocation for tests/tcg
  tests/tcg: remove -f from Makefile invocation
  tests/tcg: add distclean rule
  tests/tcg: unify ppc64 and ppc64le Makefiles
  tests/tcg: clean up calls to run-test
  tests/tcg: move compiler tests to Makefiles
  configure: move tests/tcg/Makefile.prereqs to root build directory
  configure: unify creation of cross-compilation Makefiles
  configure: cleanup creation of tests/tcg target config
  configure: build ROMs with container-based cross compilers
  pc-bios/optionrom: Adopt meson style Make output
  pc-bios/s390-ccw: Adopt meson style Make output
  pc-bios/vof: Adopt meson style Make output

 Makefile                                      |  12 +-
 configure                                     | 251 +++++++-----------
 meson.build                                   |   2 +-
 pc-bios/optionrom/Makefile                    |  51 ++--
 pc-bios/s390-ccw/Makefile                     |  43 ++-
 pc-bios/s390-ccw/netboot.mak                  |  27 +-
 pc-bios/vof/Makefile                          |  19 +-
 tests/Makefile.include                        |  24 +-
 tests/docker/Makefile.include                 |   2 +-
 tests/tcg/Makefile.target                     |  34 ++-
 tests/tcg/aarch64/Makefile.softmmu-target     |  11 +-
 tests/tcg/aarch64/Makefile.target             |  15 +-
 tests/tcg/arm/Makefile.target                 |   9 +-
 tests/tcg/cris/Makefile.target                |   2 +-
 tests/tcg/i386/Makefile.softmmu-target        |   3 +-
 tests/tcg/i386/Makefile.target                |  11 +-
 tests/tcg/multiarch/Makefile.target           |  18 +-
 .../multiarch/system/Makefile.softmmu-target  |   2 +-
 tests/tcg/ppc64/Makefile.target               |   8 +-
 tests/tcg/{ppc64le => ppc64}/bcdsub.c         |   0
 tests/tcg/{ppc64le => ppc64}/byte_reverse.c   |   0
 tests/tcg/{ppc64le => ppc64}/mffsce.c         |   0
 tests/tcg/{ppc64le => ppc64}/mtfsf.c          |   0
 .../{ppc64le => ppc64}/non_signalling_xscv.c  |   0
 .../signal_save_restore_xer.c                 |   0
 tests/tcg/{ppc64le => ppc64}/xxspltw.c        |   0
 tests/tcg/ppc64le/Makefile.target             |  26 +-
 tests/tcg/s390x/Makefile.target               |   2 +-
 tests/tcg/x86_64/Makefile.softmmu-target      |   3 +-
 29 files changed, 275 insertions(+), 300 deletions(-)
 rename tests/tcg/{ppc64le => ppc64}/bcdsub.c (100%)
 rename tests/tcg/{ppc64le => ppc64}/byte_reverse.c (100%)
 rename tests/tcg/{ppc64le => ppc64}/mffsce.c (100%)
 rename tests/tcg/{ppc64le => ppc64}/mtfsf.c (100%)
 rename tests/tcg/{ppc64le => ppc64}/non_signalling_xscv.c (100%)
 rename tests/tcg/{ppc64le => ppc64}/signal_save_restore_xer.c (100%)
 rename tests/tcg/{ppc64le => ppc64}/xxspltw.c (100%)

Comments

Paolo Bonzini Sept. 26, 2022, 11:22 a.m. UTC | #1
Ping (I can also include it in my next pull request if desirable).

Paolo

On Fri, Aug 26, 2022 at 12:27 AM Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> This is a bunch of related changes leading up to building ROMs
> with container-based cross compilers:
>
> - detect pc-bios/ CC options just once instead of using make's $(shell)
>   function
>
> - move CC option detection to tests/tcg Makefiles from QEMU's root
>   configure
>
> - put all configuration of tests/tcg in config files instead of using
>   $(MAKE) VAR=value
>
> - mostly unrelated, change pc-bios/ Make output to look like Meson's
>   "Compiling foo.o".
>
> Paolo Bonzini (20):
>   configure: do not invoke as/ld directly for pc-bios/optionrom
>   pc-bios/optionrom: detect CC options just once
>   pc-bios/s390-ccw: detect CC options just once
>   vof: add distclean target
>   build: add recursive distclean rules
>   configure: return status code from probe_target_compiler
>   configure: store container engine in config-host.mak
>   tests: simplify Makefile invocation for tests/tcg
>   tests/tcg: remove -f from Makefile invocation
>   tests/tcg: add distclean rule
>   tests/tcg: unify ppc64 and ppc64le Makefiles
>   tests/tcg: clean up calls to run-test
>   tests/tcg: move compiler tests to Makefiles
>   configure: move tests/tcg/Makefile.prereqs to root build directory
>   configure: unify creation of cross-compilation Makefiles
>   configure: cleanup creation of tests/tcg target config
>   configure: build ROMs with container-based cross compilers
>   pc-bios/optionrom: Adopt meson style Make output
>   pc-bios/s390-ccw: Adopt meson style Make output
>   pc-bios/vof: Adopt meson style Make output
>
>  Makefile                                      |  12 +-
>  configure                                     | 251 +++++++-----------
>  meson.build                                   |   2 +-
>  pc-bios/optionrom/Makefile                    |  51 ++--
>  pc-bios/s390-ccw/Makefile                     |  43 ++-
>  pc-bios/s390-ccw/netboot.mak                  |  27 +-
>  pc-bios/vof/Makefile                          |  19 +-
>  tests/Makefile.include                        |  24 +-
>  tests/docker/Makefile.include                 |   2 +-
>  tests/tcg/Makefile.target                     |  34 ++-
>  tests/tcg/aarch64/Makefile.softmmu-target     |  11 +-
>  tests/tcg/aarch64/Makefile.target             |  15 +-
>  tests/tcg/arm/Makefile.target                 |   9 +-
>  tests/tcg/cris/Makefile.target                |   2 +-
>  tests/tcg/i386/Makefile.softmmu-target        |   3 +-
>  tests/tcg/i386/Makefile.target                |  11 +-
>  tests/tcg/multiarch/Makefile.target           |  18 +-
>  .../multiarch/system/Makefile.softmmu-target  |   2 +-
>  tests/tcg/ppc64/Makefile.target               |   8 +-
>  tests/tcg/{ppc64le => ppc64}/bcdsub.c         |   0
>  tests/tcg/{ppc64le => ppc64}/byte_reverse.c   |   0
>  tests/tcg/{ppc64le => ppc64}/mffsce.c         |   0
>  tests/tcg/{ppc64le => ppc64}/mtfsf.c          |   0
>  .../{ppc64le => ppc64}/non_signalling_xscv.c  |   0
>  .../signal_save_restore_xer.c                 |   0
>  tests/tcg/{ppc64le => ppc64}/xxspltw.c        |   0
>  tests/tcg/ppc64le/Makefile.target             |  26 +-
>  tests/tcg/s390x/Makefile.target               |   2 +-
>  tests/tcg/x86_64/Makefile.softmmu-target      |   3 +-
>  29 files changed, 275 insertions(+), 300 deletions(-)
>  rename tests/tcg/{ppc64le => ppc64}/bcdsub.c (100%)
>  rename tests/tcg/{ppc64le => ppc64}/byte_reverse.c (100%)
>  rename tests/tcg/{ppc64le => ppc64}/mffsce.c (100%)
>  rename tests/tcg/{ppc64le => ppc64}/mtfsf.c (100%)
>  rename tests/tcg/{ppc64le => ppc64}/non_signalling_xscv.c (100%)
>  rename tests/tcg/{ppc64le => ppc64}/signal_save_restore_xer.c (100%)
>  rename tests/tcg/{ppc64le => ppc64}/xxspltw.c (100%)
>
> --
> 2.37.1
>