diff mbox series

[2/2] accel: Re-enable WHPX cross-build on case sensitive filesystems

Message ID 20230624142211.8888-3-philmd@linaro.org
State Superseded
Headers show
Series accel: Re-enable WHPX cross-build on case sensitive filesystems | expand

Commit Message

Philippe Mathieu-Daudé June 24, 2023, 2:22 p.m. UTC
Since MinGW commit 395dcfdea ("rename hyper-v headers and def
files to lower case") [*], WinHvPlatform.h and WinHvEmulation.h
got respectively renamed as winhvplatform.h / winhvemulation.h.

The mingw64-headers package included in the Fedora version we
use for CI does include this commit; and meson fails to detect
these present-but-renamed headers while cross-building (on
case-sensitive filesystems).

Use the renamed header in order to detect and successfully
cross-build with the WHPX accelerator.

Note, on Windows hosts, the libraries are still named as
WinHvPlatform.dll and WinHvEmulation.dll, so we don't bother
renaming the definitions used by load_whp_dispatch_fns() in
target/i386/whpx/whpx-all.c.

[*] https://sourceforge.net/p/mingw-w64/mingw-w64/ci/395dcfdea

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 meson.build                      | 4 ++--
 target/i386/whpx/whpx-internal.h | 4 ++--
 target/i386/whpx/whpx-all.c      | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)

Comments

Daniel P. Berrangé June 26, 2023, 8:30 a.m. UTC | #1
On Sat, Jun 24, 2023 at 04:22:11PM +0200, Philippe Mathieu-Daudé wrote:
> Since MinGW commit 395dcfdea ("rename hyper-v headers and def
> files to lower case") [*], WinHvPlatform.h and WinHvEmulation.h
> got respectively renamed as winhvplatform.h / winhvemulation.h.
> 
> The mingw64-headers package included in the Fedora version we
> use for CI does include this commit; and meson fails to detect
> these present-but-renamed headers while cross-building (on
> case-sensitive filesystems).
> 
> Use the renamed header in order to detect and successfully
> cross-build with the WHPX accelerator.
> 
> Note, on Windows hosts, the libraries are still named as
> WinHvPlatform.dll and WinHvEmulation.dll, so we don't bother
> renaming the definitions used by load_whp_dispatch_fns() in
> target/i386/whpx/whpx-all.c.
> 
> [*] https://sourceforge.net/p/mingw-w64/mingw-w64/ci/395dcfdea
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>  meson.build                      | 4 ++--
>  target/i386/whpx/whpx-internal.h | 4 ++--
>  target/i386/whpx/whpx-all.c      | 4 ++--
>  3 files changed, 6 insertions(+), 6 deletions(-)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


With regards,
Daniel
diff mbox series

Patch

diff --git a/meson.build b/meson.build
index 6ef78ea278..fc3c14a810 100644
--- a/meson.build
+++ b/meson.build
@@ -661,8 +661,8 @@  endif
 if get_option('whpx').allowed() and targetos == 'windows'
   if get_option('whpx').enabled() and host_machine.cpu() != 'x86_64'
     error('WHPX requires 64-bit host')
-  elif cc.has_header('WinHvPlatform.h', required: get_option('whpx')) and \
-       cc.has_header('WinHvEmulation.h', required: get_option('whpx'))
+  elif cc.has_header('winhvplatform.h', required: get_option('whpx')) and \
+       cc.has_header('winhvemulation.h', required: get_option('whpx'))
     accelerators += 'CONFIG_WHPX'
   endif
 endif
diff --git a/target/i386/whpx/whpx-internal.h b/target/i386/whpx/whpx-internal.h
index 06429d8ccd..6633e9c4ca 100644
--- a/target/i386/whpx/whpx-internal.h
+++ b/target/i386/whpx/whpx-internal.h
@@ -2,8 +2,8 @@ 
 #define TARGET_I386_WHPX_INTERNAL_H
 
 #include <windows.h>
-#include <WinHvPlatform.h>
-#include <WinHvEmulation.h>
+#include <winhvplatform.h>
+#include <winhvemulation.h>
 
 typedef enum WhpxBreakpointState {
     WHPX_BP_CLEARED = 0,
diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c
index 0903327ac5..9ee04ee650 100644
--- a/target/i386/whpx/whpx-all.c
+++ b/target/i386/whpx/whpx-all.c
@@ -31,8 +31,8 @@ 
 #include "whpx-internal.h"
 #include "whpx-accel-ops.h"
 
-#include <WinHvPlatform.h>
-#include <WinHvEmulation.h>
+#include <winhvplatform.h>
+#include <winhvemulation.h>
 
 #define HYPERV_APIC_BUS_FREQUENCY      (200000000ULL)