Revision tags: v9.1.0 |
|
#
6fe12bc6 |
| 13-Aug-2024 |
Alex Bennée <alex.bennee@linaro.org> |
Makefile: trigger re-configure on updated pythondeps
If we add additional deps for meson we need to ensure we trigger a reconfigure to make sure everything is set up.
Reviewed-by: Philippe Mathieu-
Makefile: trigger re-configure on updated pythondeps
If we add additional deps for meson we need to ensure we trigger a reconfigure to make sure everything is set up.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20240813202329.1237572-3-alex.bennee@linaro.org>
show more ...
|
#
f9a7c447 |
| 12-Apr-2024 |
Matheus Tavares Bernardino <quic_mathbern@quicinc.com> |
Makefile: fix use of -j without an argument
Our Makefile massages the given make arguments to invoke ninja accordingly. One key difference is that ninja will parallelize by default, whereas make onl
Makefile: fix use of -j without an argument
Our Makefile massages the given make arguments to invoke ninja accordingly. One key difference is that ninja will parallelize by default, whereas make only does so with -j<n> or -j. The make man page says that "if the -j option is given without an argument, make will not limit the number of jobs that can run simultaneously". We use to support that by replacing -j with "" (empty string) when calling ninja, so that it would do its auto-parallelization based on the number of CPU cores.
This was accidentally broken at d1ce2cc95b (Makefile: preserve --jobserver-auth argument when calling ninja, 2024-04-02), causing `make -j` to fail:
$ make -j V=1 /usr/bin/ninja -v -j -d keepdepfile all | cat make -C contrib/plugins/ V="1" TARGET_DIR="contrib/plugins/" all ninja: fatal: invalid -j parameter make: *** [Makefile:161: run-ninja] Error
Let's fix that and indent the touched code for better readability.
Signed-off-by: Matheus Tavares Bernardino <quic_mathbern@quicinc.com> Fixes: d1ce2cc95b ("Makefile: preserve --jobserver-auth argument when calling ninja", 2024-04-02) Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
d1ce2cc9 |
| 02-Apr-2024 |
Martin Hundebøll <martin@geanix.com> |
Makefile: preserve --jobserver-auth argument when calling ninja
Qemu wraps its call to ninja in a Makefile. Since ninja, as opposed to make, utilizes all CPU cores by default, the qemu Makefile tran
Makefile: preserve --jobserver-auth argument when calling ninja
Qemu wraps its call to ninja in a Makefile. Since ninja, as opposed to make, utilizes all CPU cores by default, the qemu Makefile translates the absense of a `-jN` argument into `-j1`. This breaks jobserver functionality, so update the -jN mangling to take the --jobserver-auth argument into considerationa too.
Signed-off-by: Martin Hundebøll <martin@geanix.com> Message-Id: <20240402081738.1051560-1-martin@geanix.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
c7e618d4 |
| 03-Nov-2023 |
Paolo Bonzini <pbonzini@redhat.com> |
Makefile: clean qemu-iotests output
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
#
335b8f70 |
| 29-Sep-2023 |
Richard Henderson <richard.henderson@linaro.org> |
build: Add update-linux-vdso makefile rule
This is not ideal, since it requires all cross-compilers to be present rather than a simple subset. But since it is only run manually, should be good enou
build: Add update-linux-vdso makefile rule
This is not ideal, since it requires all cross-compilers to be present rather than a simple subset. But since it is only run manually, should be good enough for now.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
#
1f2146f7 |
| 30-Aug-2023 |
Paolo Bonzini <pbonzini@redhat.com> |
configure, meson: remove target OS symbols from config-host.mak
Stop applying config-host.mak to the sourcesets, since it does not have any more CONFIG_* symbols coming from the command line.
Signe
configure, meson: remove target OS symbols from config-host.mak
Stop applying config-host.mak to the sourcesets, since it does not have any more CONFIG_* symbols coming from the command line.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
2a5919ab |
| 30-Aug-2023 |
Paolo Bonzini <pbonzini@redhat.com> |
configure: unify recursion into sub-Makefiles
Treat contrib/plugins the same as the firmware.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
#
369dbbe0 |
| 30-Jun-2023 |
Alex Bennée <alex.bennee@linaro.org> |
Makefile: add lcitool-refresh to UNCHECKED_GOALS
This is yet another make target you usually run in the top level of the source directory.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Si
Makefile: add lcitool-refresh to UNCHECKED_GOALS
This is yet another make target you usually run in the top level of the source directory.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20230630180423.558337-11-alex.bennee@linaro.org>
show more ...
|
#
6c5f893d |
| 23-May-2023 |
Paolo Bonzini <pbonzini@redhat.com> |
build: further refine build.ninja rules
In commit b0fcc6fc7fc1 ("build: rebuild build.ninja using "meson setup --reconfigure"", 2023-05-19) I changed the build.ninja rule in the Makefile to use "mes
build: further refine build.ninja rules
In commit b0fcc6fc7fc1 ("build: rebuild build.ninja using "meson setup --reconfigure"", 2023-05-19) I changed the build.ninja rule in the Makefile to use "meson setup" so that the Makefile would pick up a changed path to the meson binary.
However, there was a reason why build.ninja was rebuilt using $(NINJA) itself. Namely, ninja has its own cache of file modification times, and if it does not know about the modification that was done outside its control, it will *also* try to regenerate build.ninja. This can be simply by running "make" on a fresh tree immediately after "configure"; that will trigger an unnecessary meson run.
So, apply a refinement to the rule in order to cover both cases:
- track the meson binary that was used (and that is embedded in build.ninja's reconfigure rules); to do this, write build.ninja.stamp right after executing meson successfully
- if it changed, force usage of "$(MESON) setup --reconfigure" to update the path in the reconfigure rule
- if it didn't change, use "$(NINJA) build.ninja" just like before commit b0fcc6fc7fc1.
Reported-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
1f468152 |
| 19-May-2023 |
Paolo Bonzini <pbonzini@redhat.com> |
build: remove git submodule handling from main makefile
The only remaining user of submodules at build time is roms/SLOF, which is handled in pc-bios/s390-ccw/Makefile. Remove the relevant code fro
build: remove git submodule handling from main makefile
The only remaining user of submodules at build time is roms/SLOF, which is handled in pc-bios/s390-ccw/Makefile. Remove the relevant code from the main makefile.
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
d120116b |
| 30-May-2023 |
Paolo Bonzini <pbonzini@redhat.com> |
build: log submodule update from git-submodule.sh
Print exactly which submodules have been updated, by reusing the logic of "git-submodule.sh validate" after executing "git submodule update --init'.
build: log submodule update from git-submodule.sh
Print exactly which submodules have been updated, by reusing the logic of "git-submodule.sh validate" after executing "git submodule update --init'.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
50cfed80 |
| 25-May-2023 |
Paolo Bonzini <pbonzini@redhat.com> |
configure: remove --with-git= option
The scenario for which --with-git= was introduced was to use a SOCKS proxy such as tsocks. However, this was back in 2017 when QEMU's submodules used the git://
configure: remove --with-git= option
The scenario for which --with-git= was introduced was to use a SOCKS proxy such as tsocks. However, this was back in 2017 when QEMU's submodules used the git:// protocol, and it is not as important when using the "smart HTTP" backend; for example, neither "meson subprojects download" nor scripts/checkpatch.pl obey the GIT environment variable.
So remove the knob, but test for the presence of git in the configure and git-submodule.sh scripts, and suggest using --with-git-submodules=validate + a manual invocation of git-submodule.sh when git does not work. Hopefully in the future the GIT environment variable will be supported by Meson.
Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
b0fcc6fc |
| 19-May-2023 |
Paolo Bonzini <pbonzini@redhat.com> |
build: rebuild build.ninja using "meson setup --reconfigure"
Do not use the rule in build.ninja, because the path to meson is hardcoded in build.ninja and this breaks if meson moves (for example if
build: rebuild build.ninja using "meson setup --reconfigure"
Do not use the rule in build.ninja, because the path to meson is hardcoded in build.ninja and this breaks if meson moves (for example if the distro meson suddenly becomes too old after an update).
Reported-by: Peter Maydell <peter.maydell@linaro.org> Tested-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
Revision tags: v8.0.0 |
|
#
6fd87e74 |
| 19-Apr-2023 |
Steve Sistare <steven.sistare@oracle.com> |
make: clean after distclean deletes source files
Run 'make distclean' in a tree, and GNUmakefile is removed. But, GNUmakefile is where we change directory to build. Run 'make distclean' or 'make cle
make: clean after distclean deletes source files
Run 'make distclean' in a tree, and GNUmakefile is removed. But, GNUmakefile is where we change directory to build. Run 'make distclean' or 'make clean' again, and Makefile applies the clean actions, such as this one, at the top level of the tree. For example, it removes the .d source files in 'meson/test cases/d/*/*.d'.
find . \( -name '*.so' -o -name '*.dll' -o \ -name '*.[oda]' -o -name '*.gcno' \) -type f \ ! -path ./roms/edk2/ArmPkg/Library/GccLto/liblto-aarch64.a \ ! -path ./roms/edk2/ArmPkg/Library/GccLto/liblto-arm.a \ -exec rm {} +
To fix, remove clean and distclean from UNCHECKED_GOALS, so those targets are "checked", meaning that configure must be run before make. However, the check action does not trigger, because clean does not depend on config-host.mak, so change the action to simply throw an error.
Signed-off-by: Steve Sistare <steven.sistare@oracle.com> Message-Id: <1681909700-94095-1-git-send-email-steven.sistare@oracle.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
d31d2404 |
| 01-Mar-2023 |
Juan Quintela <quintela@redhat.com> |
Makefile: qemu-bundle is a directory
So make distclean should remove it with -rf, not -f alone.
It has been that way since it was included.
ommit cf60ccc3306ca4726cbd286a156863863b00ff4f Author: A
Makefile: qemu-bundle is a directory
So make distclean should remove it with -rf, not -f alone.
It has been that way since it was included.
ommit cf60ccc3306ca4726cbd286a156863863b00ff4f Author: Akihiko Odaki <akihiko.odaki@gmail.com> Date: Fri Jun 24 23:50:37 2022 +0900
cutils: Introduce bundle mechanism
Fixes: cf60ccc3306ca4726cbd286a156863863b00ff4f
Signed-off-by: Juan Quintela <quintela@redhat.com> Message-Id: <20230301111910.1660-1-quintela@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
6e6761d8 |
| 10-Jan-2023 |
Peter Maydell <peter.maydell@linaro.org> |
Makefile: allow 'make uninstall'
Meson supports an "uninstall", so we can easily allow it to work by not suppressing the forwarding of it from Make to meson.
We originally suppressed this because M
Makefile: allow 'make uninstall'
Meson supports an "uninstall", so we can easily allow it to work by not suppressing the forwarding of it from Make to meson.
We originally suppressed this because Meson's 'uninstall' has a hole in it: it will remove everything that is installed by a mechanism meson knows about, but not things installed by "custom install scripts", and there is no "custom uninstall script" mechanism.
For QEMU, though, the only thing that was being installed by a custom install script was the LC_MESSAGES files handled by Meson's i18n module, and that code was fixed in Meson commit 487d45c1e5bfff0fbdb4, which is present in Meson 0.60.0 and later. Since we already require a Meson version newer than that, we're now safe to enable 'uninstall', as it will now correctly uninstall everything that was installed.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/109 Message-Id: <20230110151250.24434-1-peter.maydell@linaro.org> Signed-off-by: Thomas Huth <thuth@redhat.com>
show more ...
|
Revision tags: v7.2.0 |
|
#
c7022a70 |
| 29-Sep-2022 |
Paolo Bonzini <pbonzini@redhat.com> |
configure: cleanup creation of tests/tcg target config
Remove the symlink to tests/tcg/config-*.mak, which is possible now that unused target config files are not created either.
Signed-off-by: Pao
configure: cleanup creation of tests/tcg target config
Remove the symlink to tests/tcg/config-*.mak, which is possible now that unused target config files are not created either.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20220929114231.583801-28-alex.bennee@linaro.org>
show more ...
|
#
b898bf28 |
| 29-Sep-2022 |
Paolo Bonzini <pbonzini@redhat.com> |
configure: move tests/tcg/Makefile.prereqs to root build directory
It will not be specific to tests/tcg anymore, since it will be possible to build firmware using container-based cross compilers too
configure: move tests/tcg/Makefile.prereqs to root build directory
It will not be specific to tests/tcg anymore, since it will be possible to build firmware using container-based cross compilers too.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20220929114231.583801-26-alex.bennee@linaro.org>
show more ...
|
#
4a3447e5 |
| 29-Sep-2022 |
Paolo Bonzini <pbonzini@redhat.com> |
build: add recursive distclean rules
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20220929114231.583801-17-alex.bennee@linaro.o
build: add recursive distclean rules
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20220929114231.583801-17-alex.bennee@linaro.org>
show more ...
|
#
9ee37d3b |
| 14-Sep-2022 |
Paolo Bonzini <pbonzini@redhat.com> |
build: remove extra parentheses causing missing rebuilds
Because of two stray parentheses at the end of the definition of ninja-cmd-goals, the test that is last in the .check-TESTSUITENAME.deps vari
build: remove extra parentheses causing missing rebuilds
Because of two stray parentheses at the end of the definition of ninja-cmd-goals, the test that is last in the .check-TESTSUITENAME.deps variable will not be rebuilt. Fix that.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
cf60ccc3 |
| 24-Jun-2022 |
Akihiko Odaki <akihiko.odaki@gmail.com> |
cutils: Introduce bundle mechanism
Developers often run QEMU without installing. The bundle mechanism allows to look up files which should be present in installation even in such a situation.
It is
cutils: Introduce bundle mechanism
Developers often run QEMU without installing. The bundle mechanism allows to look up files which should be present in installation even in such a situation.
It is a general mechanism and can find any files in the installation tree. The build tree will have a new directory, qemu-bundle, to represent what files the installation tree would have for reference by the executables.
Note that it abandons compatibility with Windows older than 8. The extended support for the prior version, 7 ended more than 2 years ago, and it is unlikely that someone would like to run the latest QEMU on such an old system.
Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com> Suggested-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20220624145039.49929-3-akihiko.odaki@gmail.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
7e270af2 |
| 24-Jun-2022 |
Akihiko Odaki <akihiko.odaki@gmail.com> |
build: Do not depend on pc-bios for config-host.mak
Commit 45f1eecdd63f9e4fa93fef01dd826e7706ac6d7b removed the dependency from configure to pc-bios
Signed-off-by: Akihiko Odaki <akihiko.odaki@gmai
build: Do not depend on pc-bios for config-host.mak
Commit 45f1eecdd63f9e4fa93fef01dd826e7706ac6d7b removed the dependency from configure to pc-bios
Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com> Message-Id: <20220624150258.50449-1-akihiko.odaki@gmail.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
Revision tags: v7.0.0 |
|
#
76ca98b0 |
| 13-Apr-2022 |
Paolo Bonzini <pbonzini@redhat.com> |
build: include pc-bios/ part in the ROMS variable
Include the full path in TARGET_DIR, so that messages from sub-Makefiles are clearer. Also, prepare for possibly building firmware outside pc-bios/
build: include pc-bios/ part in the ROMS variable
Include the full path in TARGET_DIR, so that messages from sub-Makefiles are clearer. Also, prepare for possibly building firmware outside pc-bios/ from the Makefile,
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
9b32ba53 |
| 27-May-2022 |
Paolo Bonzini <pbonzini@redhat.com> |
build: add a more generic way to specify make->ninja dependencies
Let any make target specify ninja goals that needs to be built for it (though selecting the goals is _not_ recursive on depending ta
build: add a more generic way to specify make->ninja dependencies
Let any make target specify ninja goals that needs to be built for it (though selecting the goals is _not_ recursive on depending targets) instead of having a custom mechanism only for "make check" and "make bench".
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20220517092616.1272238-4-pbonzini@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20220527153603.887929-15-alex.bennee@linaro.org>
show more ...
|
#
231ca963 |
| 27-May-2022 |
Paolo Bonzini <pbonzini@redhat.com> |
build: clean up ninja invocation
Fix an incorrect "@@:" and move "-d keepdepfile" to the NINJAFLAGS variable.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Richard Henderson <rich
build: clean up ninja invocation
Fix an incorrect "@@:" and move "-d keepdepfile" to the NINJAFLAGS variable.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220517092616.1272238-3-pbonzini@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20220527153603.887929-14-alex.bennee@linaro.org>
show more ...
|