From 33cd54cde02779e782e46c77ae3a19d78278fe7c Mon Sep 17 00:00:00 2001 From: Shao Ming Date: Fri, 7 Jul 2017 11:17:11 +0800 Subject: [PATCH] EFI/EDK2: Add support to compile acpidump.efi on Windows Several changes are needed to compile EDK-II port of acpidump on Windows: 1. sort acpi.h inclusion: va_list is used before it's definition, we only need to ensure order of acenv.h/acenvex.h/actypes.h. 2. /GL-: enabling global optimization causes memset() to be linked by MSVC builds. 3. /DUSE_MS_ABI: to enable simpler uefi_call_wrapper(). 4. /D__x86_64__|__i386__: they are strictly required by ACPICA headers, but not defined by MSVC. Signed-off-by: "Shao, Ming" Signed-off-by: Lv Zheng --- generate/efi/acpidump/acpidump.inf | 4 ++-- source/include/acpi.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/generate/efi/acpidump/acpidump.inf b/generate/efi/acpidump/acpidump.inf index 8d2c979c99..865c24c5e6 100644 --- a/generate/efi/acpidump/acpidump.inf +++ b/generate/efi/acpidump/acpidump.inf @@ -55,7 +55,7 @@ BaseLib [BuildOptions] - MSFT:*_*_IA32_CC_FLAGS = /Oi- /WX- /D_EDK2_EFI /DACPI_DUMP_APP - MSFT:*_*_X64_CC_FLAGS = /Oi- /WX- /D_EDK2_EFI /DACPI_DUMP_APP + MSFT:*_*_IA32_CC_FLAGS = /GL- /Oi- /WX- /D_EDK2_EFI /DUSE_MS_ABI /D__i386__ /DACPI_DUMP_APP + MSFT:*_*_X64_CC_FLAGS = /GL- /Oi- /WX- /D_EDK2_EFI /DUSE_MS_ABI /D__x86_64__ /DACPI_DUMP_APP GCC:*_*_IA32_CC_FLAGS = -U__linux__ -U_LINUX -D_EDK2_EFI -DACPI_DUMP_APP -fno-builtin -iwithprefix include GCC:*_*_X64_CC_FLAGS = -U__linux__ -U_LINUX -D_EDK2_EFI -DACPI_DUMP_APP -fno-builtin -iwithprefix include diff --git a/source/include/acpi.h b/source/include/acpi.h index 46d75eb7c6..8c4152b82d 100644 --- a/source/include/acpi.h +++ b/source/include/acpi.h @@ -162,14 +162,14 @@ * Note: The order of these include files is important. */ #include "platform/acenv.h" /* Environment-specific items */ -#include "acnames.h" /* Common ACPI names and strings */ #include "actypes.h" /* ACPICA data types and structures */ +#include "platform/acenvex.h" /* Extra environment-specific items */ +#include "acnames.h" /* Common ACPI names and strings */ #include "acexcep.h" /* ACPICA exceptions */ #include "actbl.h" /* ACPI table definitions */ #include "acoutput.h" /* Error output and Debug macros */ #include "acrestyp.h" /* Resource Descriptor structs */ #include "acpiosxf.h" /* OSL interfaces (ACPICA-to-OS) */ #include "acpixf.h" /* ACPI core subsystem external interfaces */ -#include "platform/acenvex.h" /* Extra environment-specific items */ #endif /* __ACPI_H__ */