• M
    build: qemu-ga: add 'qemu-ga' build target for w32 · fafcaf1d
    Michael Roth 提交于
    Currently POSIX builds rely on 'qemu-ga' target to do qga-only
    distributable build. On w32, as with most standalone binary targets,
    we rely on 'qemu-ga.exe' target.
    
    Unlike with POSIX, qemu-ga for w32 has a number of related targets
    such as VSS DLL and MSI package. We can do the full distributable
    qga-only build on w32 with:
    
      make qemu-ga.exe
    
    or:
    
      make msi
    
    To make that work, we tie VSS dependencies onto qemu-ga.exe.
    However, in reality the DLL isn't part of the binary, so we use a
    filter to pull them out of the LINK recipe, which attempts to link
    against prereqs for binary targets. Additionally, it could be argued
    that VSS is a separate distributable, and shouldn't be implied by
    qemu-ga.exe binary target.
    
    To avoid this, we can tie the VSS dependencies only to the 'msi'
    target, but that would make it impossible to do a qga-only build of
    the w32 distributable without building the 'msi' package, which was
    supported in the past.
    
    An alternative approach is to add a new target to build the whole
    distributable. w32 allows us to use the same build target we use
    on POSIX, 'qemu-ga', since the current binary-only target on w32
    is 'qemu-ga.exe'.
    
    To further simplify the build, we also make 'qemu-ga' build the MSI
    package if the appropriate ./configure options are set, making the
    full qga-only build the same on both POSIX and w32: `make qemu-ga`
    
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
    Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com>
    fafcaf1d
Makefile 21.8 KB