https://git.reactos.org/?p=reactos.git;a=commitdiff;h=995e4c829ad16ab58f1fd…
commit 995e4c829ad16ab58f1fdb116597eec6c9c5c613
Author: Timo Kreuzer <timo.kreuzer(a)reactos.org>
AuthorDate: Sun Dec 15 10:23:50 2024 +0200
Commit: Timo Kreuzer <timo.kreuzer(a)reactos.org>
CommitDate: Wed Jan 15 08:29:53 2025 +0200
[WIDL] Properly pass architecture flag instead of modifying the code
This reverts commit 73c776c744f26b294a5e6bc7e1fc11b374b05c17 "[WIDL] Fix non-x86
builds".
---
CMakeLists.txt | 4 ++++
sdk/cmake/widl-support.cmake | 6 +++---
sdk/tools/widl/widl.c | 11 +++++------
3 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 13916a9362a..38f70b17f63 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -140,6 +140,10 @@ if(NOT CMAKE_CROSSCOMPILING)
add_definitions(/D_X86_ /D__i386__ /DWIN32 /D_WINDOWS)
elseif(ARCH STREQUAL "amd64")
add_definitions(-D_AMD64_ -D__x86_64__ /DWIN32 -D_WINDOWS)
+ elseif(ARCH STREQUAL "arm")
+ add_definitions(-D__arm__)
+ elseif(ARCH STREQUAL "arm64")
+ add_definitions(-D__aarch64__)
endif()
if(MSVC_VERSION GREATER 1699)
add_definitions(/D_ALLOW_KEYWORD_MACROS)
diff --git a/sdk/cmake/widl-support.cmake b/sdk/cmake/widl-support.cmake
index a8e926614a0..1b291dfa5b3 100644
--- a/sdk/cmake/widl-support.cmake
+++ b/sdk/cmake/widl-support.cmake
@@ -1,11 +1,11 @@
#idl files support
if(ARCH STREQUAL "i386")
- set(IDL_FLAGS -m32 --win32)
+ set(IDL_FLAGS -m32 --win32 -b i386-x-y)
elseif(ARCH STREQUAL "amd64")
- set(IDL_FLAGS -m64 --win64)
+ set(IDL_FLAGS -m64 --win64 -b amd64-x-y)
else()
- set(IDL_FLAGS "")
+ set(IDL_FLAGS -b ${ARCH}-x-y)
endif()
function(add_typelib)
diff --git a/sdk/tools/widl/widl.c b/sdk/tools/widl/widl.c
index ec1e61e22a8..77d4b7750a9 100644
--- a/sdk/tools/widl/widl.c
+++ b/sdk/tools/widl/widl.c
@@ -92,16 +92,15 @@ static const char usage[] =
static const char version_string[] = "Wine IDL Compiler version "
PACKAGE_VERSION "\n"
"Copyright 2002 Ove Kaaven\n";
-// __REACTOS__!! We must use TARGET_ macros here!
-#ifdef TARGET_i386
+#ifdef __i386__
enum target_cpu target_cpu = CPU_x86;
-#elif defined(TARGET_amd64)
+#elif defined(__x86_64__)
enum target_cpu target_cpu = CPU_x86_64;
-#elif defined(TARGET_ppc)
+#elif defined(__powerpc__)
enum target_cpu target_cpu = CPU_POWERPC;
-#elif defined(TARGET_arm)
+#elif defined(__arm__)
enum target_cpu target_cpu = CPU_ARM;
-#elif defined(TARGET_arm64)
+#elif defined(__aarch64__)
enum target_cpu target_cpu = CPU_ARM64;
#else
#error Unsupported CPU