[Qemu-devel] [PATCH RESEND] Makefile: Remove qemu-version.h and qemu-options.def during 'make distclean'

Philippe Mathieu-Daudé posted 1 patch 5 years, 10 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20180608190145.10872-1-f4bug@amsat.org
Test checkpatch passed
Test docker-mingw@fedora passed
Test docker-quick@centos7 passed
Test s390x passed
Makefile | 1 +
1 file changed, 1 insertion(+)
[Qemu-devel] [PATCH RESEND] Makefile: Remove qemu-version.h and qemu-options.def during 'make distclean'
Posted by Philippe Mathieu-Daudé 5 years, 10 months ago
qemu-version.h and qemu-options.def are generated files
that should be deleted during 'make distclean'.

This solves building issues with out-of-tree builds from
a source tree that has been built in (see d1bd2423a90):

- /qemu-version.h existing in source tree:

    /source/qemu/qemu-nbd.c: In function ‘version’:
    /source/qemu/qemu-nbd.c:133:6: error: expected ‘)’ before
    ‘QEMU_FULL_VERSION’
     "%s " QEMU_FULL_VERSION "\n"
          ^~~~~~~~~~~~~~~~~~
          )
    /source/qemu/qemu-nbd.c:133:3: error: format ‘%s’ expects a matching
    ‘char *’ argument [-Werror=format=]
     "%s " QEMU_FULL_VERSION "\n"
      ~^
    cc1: all warnings being treated as errors

- /qemu-options.def existing in source tree:

    /source/qemu/vl.c: In function ‘main’:
    /source/qemu/vl.c:3052:18: error: ‘QEMU_OPTION_blockdev’ undeclared
    (first use in this function); did you mean ‘QEMU_OPTION_clock’?
                 case QEMU_OPTION_blockdev:
                      ^~~~~~~~~~~~~~~~~~~~
                      QEMU_OPTION_clock
    /source/qemu/vl.c:3052:18: note: each undeclared identifier is reported
    only once for each function it appears in

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
resend: Cc Peter, removed dup line in comment

 Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Makefile b/Makefile
index 023b3437ec..7ae453ffa2 100644
--- a/Makefile
+++ b/Makefile
@@ -757,6 +757,7 @@ qemu-%.tar.bz2:
 distclean: clean
 	rm -f config-host.mak config-host.h* config-host.ld $(DOCS) qemu-options.texi qemu-img-cmds.texi qemu-monitor.texi qemu-monitor-info.texi
 	rm -f config-all-devices.mak config-all-disas.mak config.status
+	rm -f qemu-version.h qemu-options.def
 	rm -f po/*.mo tests/qemu-iotests/common.env
 	rm -f roms/seabios/config.mak roms/vgabios/config.mak
 	rm -f qemu-doc.info qemu-doc.aux qemu-doc.cp qemu-doc.cps
-- 
2.17.1


Re: [Qemu-devel] [PATCH RESEND] Makefile: Remove qemu-version.h and qemu-options.def during 'make distclean'
Posted by Eric Blake 5 years, 10 months ago
On 06/08/2018 02:01 PM, Philippe Mathieu-Daudé wrote:
> qemu-version.h and qemu-options.def are generated files
> that should be deleted during 'make distclean'.
> 
> This solves building issues with out-of-tree builds from
> a source tree that has been built in (see d1bd2423a90):

Well, it prevents future repeats of the problem. It does not "fix" 
existing incremental builds that already have the problem.  But I'm 
still in favor of this change.


> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> resend: Cc Peter, removed dup line in comment
> 
>   Makefile | 1 +
>   1 file changed, 1 insertion(+)
> 

Reviewed-by: Eric Blake <eblake@redhat.com>

> diff --git a/Makefile b/Makefile
> index 023b3437ec..7ae453ffa2 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -757,6 +757,7 @@ qemu-%.tar.bz2:
>   distclean: clean
>   	rm -f config-host.mak config-host.h* config-host.ld $(DOCS) qemu-options.texi qemu-img-cmds.texi qemu-monitor.texi qemu-monitor-info.texi
>   	rm -f config-all-devices.mak config-all-disas.mak config.status
> +	rm -f qemu-version.h qemu-options.def
>   	rm -f po/*.mo tests/qemu-iotests/common.env
>   	rm -f roms/seabios/config.mak roms/vgabios/config.mak
>   	rm -f qemu-doc.info qemu-doc.aux qemu-doc.cp qemu-doc.cps
> 

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org