[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] build: remove use of MAKELEVEL optimization in
From: |
Greg Kurz |
Subject: |
Re: [Qemu-devel] [PATCH] build: remove use of MAKELEVEL optimization in submodule handling |
Date: |
Mon, 6 Nov 2017 13:26:57 +0100 |
On Mon, 6 Nov 2017 11:41:34 +0000
"Daniel P. Berrange" <address@hidden> wrote:
> The Makefile attempts to optimize the handling of submodules by using
> MAKELEVEL
> to only check the submodule status when running from the top level make
> invokation. This causes problems for people who are using a makefile of their
> own to in turn invoke QEMU's makefile, as MAKELEVEL is already set to 1 (or
> more) when QEMU's makefile runs.
>
> This optimization should not really be needed, since the git-submodule.sh
> script is already used to detect if a submodule update is required. This by
> removing the MAKELEVEL check, we at most add an extra 'git-submodule.sh
> status'
> call to each make level, the overhead of which is lost in noise of building
> QEMU.
>
> Signed-off-by: Daniel P. Berrange <address@hidden>
> ---
>
Heh, I had come up with a similar patch based on master and nearly the
same commit message. :)
Reviewed-by: Greg Kurz <address@hidden>
> NB this is on top of
> https://lists.gnu.org/archive/html/qemu-devel/2017-11/msg00449.html
>
I could check that this patch applied on top of the series mentioned above
fixes the issue for me.
Tested-by: Greg Kurz <address@hidden>
> Makefile | 12 +++++-------
> 1 file changed, 5 insertions(+), 7 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index a92d7b8e14..0496c5057a 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -18,12 +18,11 @@ git-submodule-update:
>
> .PHONY: git-submodule-update
>
> -ifeq (0,$(MAKELEVEL))
> - git_module_status := $(shell \
> - cd '$(SRC_PATH)' && \
> - GIT="$(GIT)" ./scripts/git-submodule.sh status $(GIT_SUBMODULES); \
> - echo $$?; \
> - )
> +git_module_status := $(shell \
> + cd '$(SRC_PATH)' && \
> + GIT="$(GIT)" ./scripts/git-submodule.sh status $(GIT_SUBMODULES); \
> + echo $$?; \
> +)
>
> ifeq (1,$(git_module_status))
> ifeq (no,$(GIT_UPDATE))
> @@ -42,7 +41,6 @@ git-submodule-update:
> "GIT","$(GIT_SUBMODULES)")
> endif
> endif
> -endif
>
> .git-submodule-status: git-submodule-update config-host.mak
>