qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 1/2] qga-win: add logging to Windows event log


From: Andrey Drobyshev
Subject: Re: [PATCH v2 1/2] qga-win: add logging to Windows event log
Date: Mon, 23 Jan 2023 21:38:00 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0

Hi Stefan,

On 1/23/23 19:28, Stefan Weil wrote:
> Hi,
> 
> cross builds fail with this code. Please see details below.
> 
> Am 29.11.22 um 18:38 schrieb Andrey Drobyshev via:
>> This commit allows QGA to write to Windows event log using Win32 API's
>> ReportEvent() [1], much like syslog() under *nix guests.
>>
>> In order to generate log message definitions we use a very basic message
>> text file [2], so that every QGA's message gets ID 1.  The tools
>> "windmc" and "windres" respectively are used to generate ".rc" file and
>> COFF object file, and then the COFF file is linked into qemu-ga.exe.
>>
>> [1]
>> https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-reporteventa
>> [2]
>> https://learn.microsoft.com/en-us/windows/win32/eventlog/message-text-files
>>
>> Originally-by: Yuri Pudgorodskiy <yur@virtuozzo.com>
>> Signed-off-by: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
>> ---
>>   configure                 |  3 +++
>>   qga/installer/qemu-ga.wxs |  5 +++++
>>   qga/main.c                | 16 +++++++++++++---
>>   qga/meson.build           | 19 ++++++++++++++++++-
>>   qga/messages-win32.mc     |  9 +++++++++
>>   5 files changed, 48 insertions(+), 4 deletions(-)
>>   create mode 100644 qga/messages-win32.mc
>>
>> diff --git a/configure b/configure
>> index 26c7bc5154..789a4f6cc9 100755
>> --- a/configure
>> +++ b/configure
>> @@ -372,6 +372,7 @@ smbd="$SMBD"
>>   strip="${STRIP-${cross_prefix}strip}"
>>   widl="${WIDL-${cross_prefix}widl}"
>>   windres="${WINDRES-${cross_prefix}windres}"
>> +windmc="${WINDMC-${cross_prefix}windmc}"
> 
> Here the needed cross prefix is added ...
> 
>>   pkg_config_exe="${PKG_CONFIG-${cross_prefix}pkg-config}"
>>   query_pkg_config() {
>>       "${pkg_config_exe}" ${QEMU_PKG_CONFIG_FLAGS} "$@"
> [...]
>> diff --git a/qga/meson.build b/qga/meson.build
>> index 3cfb9166e5..1ff159edc1 100644
>> --- a/qga/meson.build
>> +++ b/qga/meson.build
>> @@ -98,7 +98,24 @@ if targetos == 'windows'
>>     endif
>>   endif
>>   -qga = executable('qemu-ga', qga_ss.sources(),
>> +qga_objs = []
>> +if targetos == 'windows'
>> +  windmc = find_program('windmc', required: true)
> 
> ... but here the cross prefix is missing and the cross build aborts
> because windmc does not exist.

There's no need for the cross prefix here.  After you've run ./configure
with --cross-prefix, argument, you'll see the following in
build/config-meson.cross file:

[binaries]
....
widl = ['x86_64-w64-mingw32-widl']
windres = ['x86_64-w64-mingw32-windres']
windmc = ['x86_64-w64-mingw32-windmc']

And these are the actual values meson's find_program() is going to be
looking for.  So it doesn't seem like there's anything broken here, it's
a matter of build requirements.

> 
> Regards
> Stefan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]