[PULL v5 00/46] Next round of Meson bugfixes and cleanups

Paolo Bonzini posted 46 patches 3 years, 7 months ago
Only 0 patches received!
.gitignore                       |   2 -
Makefile                         |  63 +++---
Makefile.objs                    |  34 ----
accel/tcg/meson.build            |   2 +-
chardev/meson.build              |   4 +-
configure                        | 304 ++++------------------------
disas/meson.build                |   4 +-
docs/devel/build-system.rst      | 115 ++---------
hw/arm/meson.build               |   2 +-
hw/mips/meson.build              |   2 +-
hw/riscv/meson.build             |   2 +-
meson.build                      | 127 ++++++++----
monitor/meson.build              |   2 +-
rules.mak                        | 158 ---------------
scripts/grepy.sh                 |   3 -
scripts/mtest2make.py            | 100 +++++-----
scripts/ninjatool.py             |   8 +-
scripts/oss-fuzz/build.sh        |   2 +-
scripts/test-driver.py           |  35 ++++
scripts/undefsym.py              |  49 +++++
scripts/undefsym.sh              |  20 --
tests/Makefile.include           | 416 ++-------------------------------------
tests/benchmark-crypto-cipher.c  |   8 +-
tests/benchmark-crypto-hash.c    |   2 +-
tests/benchmark-crypto-hmac.c    |   8 +-
tests/docker/Makefile.include    |   4 +
tests/include/meson.build        |  16 ++
tests/meson.build                | 253 ++++++++++++++++++++++++
tests/migration/initrd-stress.sh |  10 +
tests/migration/meson.build      |  14 ++
tests/migration/stress.c         |  15 +-
tests/qemu-iotests/meson.build   |   4 -
tests/qtest/fuzz/meson.build     |   7 +-
tests/qtest/libqos/meson.build   |   9 +-
tests/tcg/Makefile.qemu          |   2 -
tests/test-crypto-secret.c       |  10 +-
tests/test-qga.c                 |   2 +-
ui/meson.build                   |   3 +-
38 files changed, 667 insertions(+), 1154 deletions(-)
delete mode 100644 Makefile.objs
delete mode 100644 rules.mak
delete mode 100755 scripts/grepy.sh
create mode 100644 scripts/test-driver.py
create mode 100644 scripts/undefsym.py
delete mode 100755 scripts/undefsym.sh
create mode 100644 tests/include/meson.build
create mode 100755 tests/migration/initrd-stress.sh
create mode 100644 tests/migration/meson.build
[PULL v5 00/46] Next round of Meson bugfixes and cleanups
Posted by Paolo Bonzini 3 years, 7 months ago
The following changes since commit e11bd71f89649da3cff439c030d2ccac0cc914e3:

  Merge remote-tracking branch 'remotes/huth-gitlab/tags/pull-request-2020-09-07' into staging (2020-09-07 16:51:00 +0100)

are available in the Git repository at:

  https://gitlab.com/bonzini/qemu.git tags/for-upstream

for you to fetch changes up to ef6a0d6e3927464de67f70cb13abbfe67361e0c9:

  docs: update build system documentation (2020-09-08 07:21:55 +0200)

----------------------------------------------------------------
meson related:
* convert unit tests
* bugfixes for mtest2make
* miscellaneous bugfixes
* dead code removal and configure cleanups
* oss-fuzz fixes
* msys fixes

----------------------------------------------------------------
Alexander Bulekov (3):
      oss-fuzz: fix rpath
      meson: specify fuzz linker script as a project arg
      fuzz: Add support for custom fuzzing library

Bruce Rogers (1):
      meson: remove linkage of sdl to baum

Marc-André Lureau (12):
      meson: build qapi tests library
      meson: declare tasn1 dependency
      meson: declare keyutils dependency
      meson: convert qht-bench
      meson: move keyutils dependency check
      meson: remove old socket_scm_helper rule
      meson: convert vhost-user-bridge
      meson: convert atomic*-bench
      tests: do not print benchmark output to stdout
      tests/migration/stress: remove unused exit_success
      meson: fix migration/stress compilation with glibc>=2.30
      meson: convert migration/initrd-stress

Paolo Bonzini (26):
      qemu-iotests: move check-block back to Makefiles
      mtest2make: split environment from test command
      mtest2make: split working directory from test command
      mtest2make: hide output of successful tests
      mtest2make: unify tests that appear in multiple suites
      meson: remove b_lundef option
      configure: do not include absolute paths in -I and -L paths
      configure: include cross sdl2-config in meson cross file
      ninjatool: use constant names for stamp files
      meson: fix libqos linking
      meson: convert the speed tests
      configure: remove dead code for in-tree builds
      meson: compute config_all_devices directly
      Makefile: remove dead variables and includes
      Makefile: inline the relevant parts of rules.mak
      configure: move disassembler configuration to meson
      meson: keep all compiler flags detection together
      configure: move -ldl test to meson
      configure: remove unnecessary libm test
      configure: do not look for install(1)
      meson: get glib compilation flags from GLIB_CFLAGS
      meson: get opengl compilation flags from OPENGL_CFLAGS
      configure: do not include dependency flags in QEMU_CFLAGS and LIBS
      configure: drop dead variables and functions
      docs: suggest Meson replacements for various configure functions
      docs: update build system documentation

Thomas Huth (1):
      meson: convert the unit tests

Yonggang Luo (2):
      configure: update dtc submodule
      meson: Convert undefsym.sh to undefsym.py

 .gitignore                       |   2 -
 Makefile                         |  63 +++---
 Makefile.objs                    |  34 ----
 accel/tcg/meson.build            |   2 +-
 chardev/meson.build              |   4 +-
 configure                        | 304 ++++------------------------
 disas/meson.build                |   4 +-
 docs/devel/build-system.rst      | 115 ++---------
 hw/arm/meson.build               |   2 +-
 hw/mips/meson.build              |   2 +-
 hw/riscv/meson.build             |   2 +-
 meson.build                      | 127 ++++++++----
 monitor/meson.build              |   2 +-
 rules.mak                        | 158 ---------------
 scripts/grepy.sh                 |   3 -
 scripts/mtest2make.py            | 100 +++++-----
 scripts/ninjatool.py             |   8 +-
 scripts/oss-fuzz/build.sh        |   2 +-
 scripts/test-driver.py           |  35 ++++
 scripts/undefsym.py              |  49 +++++
 scripts/undefsym.sh              |  20 --
 tests/Makefile.include           | 416 ++-------------------------------------
 tests/benchmark-crypto-cipher.c  |   8 +-
 tests/benchmark-crypto-hash.c    |   2 +-
 tests/benchmark-crypto-hmac.c    |   8 +-
 tests/docker/Makefile.include    |   4 +
 tests/include/meson.build        |  16 ++
 tests/meson.build                | 253 ++++++++++++++++++++++++
 tests/migration/initrd-stress.sh |  10 +
 tests/migration/meson.build      |  14 ++
 tests/migration/stress.c         |  15 +-
 tests/qemu-iotests/meson.build   |   4 -
 tests/qtest/fuzz/meson.build     |   7 +-
 tests/qtest/libqos/meson.build   |   9 +-
 tests/tcg/Makefile.qemu          |   2 -
 tests/test-crypto-secret.c       |  10 +-
 tests/test-qga.c                 |   2 +-
 ui/meson.build                   |   3 +-
 38 files changed, 667 insertions(+), 1154 deletions(-)
 delete mode 100644 Makefile.objs
 delete mode 100644 rules.mak
 delete mode 100755 scripts/grepy.sh
 create mode 100644 scripts/test-driver.py
 create mode 100644 scripts/undefsym.py
 delete mode 100755 scripts/undefsym.sh
 create mode 100644 tests/include/meson.build
 create mode 100755 tests/migration/initrd-stress.sh
 create mode 100644 tests/migration/meson.build
-- 
2.26.2

Re: [PULL v5 00/46] Next round of Meson bugfixes and cleanups
Posted by Peter Maydell 3 years, 7 months ago
On Tue, 8 Sep 2020 at 10:45, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> The following changes since commit e11bd71f89649da3cff439c030d2ccac0cc914e3:
>
>   Merge remote-tracking branch 'remotes/huth-gitlab/tags/pull-request-2020-09-07' into staging (2020-09-07 16:51:00 +0100)
>
> are available in the Git repository at:
>
>   https://gitlab.com/bonzini/qemu.git tags/for-upstream
>
> for you to fetch changes up to ef6a0d6e3927464de67f70cb13abbfe67361e0c9:
>
>   docs: update build system documentation (2020-09-08 07:21:55 +0200)
>
> ----------------------------------------------------------------
> meson related:
> * convert unit tests
> * bugfixes for mtest2make
> * miscellaneous bugfixes
> * dead code removal and configure cleanups
> * oss-fuzz fixes
> * msys fixes


Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/5.2
for any user-visible changes.

-- PMM

Re: [PULL v5 00/46] Next round of Meson bugfixes and cleanups
Posted by Philippe Mathieu-Daudé 3 years, 7 months ago
On 9/8/20 3:26 PM, Peter Maydell wrote:
> On Tue, 8 Sep 2020 at 10:45, Paolo Bonzini <pbonzini@redhat.com> wrote:
>>
>> The following changes since commit e11bd71f89649da3cff439c030d2ccac0cc914e3:
>>
>>   Merge remote-tracking branch 'remotes/huth-gitlab/tags/pull-request-2020-09-07' into staging (2020-09-07 16:51:00 +0100)
>>
>> are available in the Git repository at:
>>
>>   https://gitlab.com/bonzini/qemu.git tags/for-upstream
>>
>> for you to fetch changes up to ef6a0d6e3927464de67f70cb13abbfe67361e0c9:
>>
>>   docs: update build system documentation (2020-09-08 07:21:55 +0200)
>>
>> ----------------------------------------------------------------
>> meson related:
>> * convert unit tests
>> * bugfixes for mtest2make
>> * miscellaneous bugfixes
>> * dead code removal and configure cleanups
>> * oss-fuzz fixes
>> * msys fixes
> 
> 
> Applied, thanks.

Once rebased I got:

Makefile.include:144: warning: overriding recipe for target 'check-block'
Makefile.mtest:1339: warning: ignoring old recipe for target 'check-block'
config-host.mak is out-of-date, running configure

Nothing to worry about as Makefile.mtest is generated.
I wonder if it is possible to avoid such warnings though...


Re: [PULL v5 00/46] Next round of Meson bugfixes and cleanups
Posted by Paolo Bonzini 3 years, 7 months ago
On 08/09/20 16:13, Philippe Mathieu-Daudé wrote:
> 
> Makefile.include:144: warning: overriding recipe for target 'check-block'
> Makefile.mtest:1339: warning: ignoring old recipe for target 'check-block'
> config-host.mak is out-of-date, running configure
> 
> Nothing to worry about as Makefile.mtest is generated.
> I wonder if it is possible to avoid such warnings though...

It's not possible, but it's harmless:

1) it goes away as soon as Makefile.mtest is regenerated (which happens
before any goal specified on the command line is evaluated, so before
any "check-*" rule)

2) it only happens in a very edge case of moving stuff *from* Meson back
to the Makefile, i.e. in case of wrong judgment as for check-block.

Paolo


Re: [PULL v5 00/46] Next round of Meson bugfixes and cleanups
Posted by Philippe Mathieu-Daudé 3 years, 7 months ago
On Tue, Sep 8, 2020 at 3:27 PM Peter Maydell <peter.maydell@linaro.org> wrote:
>
> On Tue, 8 Sep 2020 at 10:45, Paolo Bonzini <pbonzini@redhat.com> wrote:
> >
> > The following changes since commit e11bd71f89649da3cff439c030d2ccac0cc914e3:
> >
> >   Merge remote-tracking branch 'remotes/huth-gitlab/tags/pull-request-2020-09-07' into staging (2020-09-07 16:51:00 +0100)
> >
> > are available in the Git repository at:
> >
> >   https://gitlab.com/bonzini/qemu.git tags/for-upstream
> >
> > for you to fetch changes up to ef6a0d6e3927464de67f70cb13abbfe67361e0c9:
> >
> >   docs: update build system documentation (2020-09-08 07:21:55 +0200)
> >
> > ----------------------------------------------------------------
> > meson related:
> > * convert unit tests
> > * bugfixes for mtest2make
> > * miscellaneous bugfixes
> > * dead code removal and configure cleanups
> > * oss-fuzz fixes
> > * msys fixes
>
>
> Applied, thanks.

Another failure calling 'make' in my 'sanitizer' build dir:

Head of config.log:
'../configure' '--enable-trace-backends=log' '--cc=clang'
'--cxx=clang++' '--disable-user' '--extra-cflags=-ggdb'
'--enable-debug' '--enable-sanitizers' '--skip-meson'

Dependency sdl2 found: YES 2.0.12 (cached)
Found pkg-config: /usr/bin/pkg-config (1.6.3)
Run-time dependency sdl2_image found: NO (tried pkgconfig)

../meson.build:318:2: ERROR: Key OPENGL_CFLAGS is not in dict

A full log can be found at build/meson-logs/meson-log.txt

Tail of log:

Library mpathpersist found: YES
Dependency sdl2 found: YES 2.0.12 (cached)
Pkg-config binary for MachineChoice.HOST is not cached.
Pkg-config binary for MachineChoice.HOST specified from cross file,
native file, or env var as ['pkg-config']
Found pkg-config: /usr/bin/pkg-config (1.6.3)
Determining dependency 'SDL2_image' with pkg-config executable
'/usr/bin/pkg-config'
PKG_CONFIG_PATH:
Called `/usr/bin/pkg-config --modversion SDL2_image` -> 1

Run-time dependency sdl2_image found: NO (tried pkgconfig)

Re-running the 'configure' line without '--skip-meson', then 'make' again is OK.
I ran "dnf upgrade" last week but the "dnf history" doesn't show
anything related to SDL2.