Timothy Pearson : widl: Add PPC64 support.

Alexandre Julliard julliard at winehq.org
Tue Feb 9 15:57:08 CST 2021


Module: wine
Branch: master
Commit: fe723c267368bea1745363f22ed0888a018eff7a
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=fe723c267368bea1745363f22ed0888a018eff7a

Author: Timothy Pearson <tpearson at raptorengineering.com>
Date:   Sun Jan 31 18:34:15 2021 +0100

widl: Add PPC64 support.

Signed-off-by: André Hentschel <nerv at dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 tools/widl/widl.c | 38 +++++++++++++++++++++++---------------
 tools/widl/widl.h |  2 +-
 2 files changed, 24 insertions(+), 16 deletions(-)

diff --git a/tools/widl/widl.c b/tools/widl/widl.c
index 333351bc11b..99b24e86fdc 100644
--- a/tools/widl/widl.c
+++ b/tools/widl/widl.c
@@ -97,6 +97,8 @@ static const char version_string[] = "Wine IDL Compiler version " PACKAGE_VERSIO
 enum target_cpu target_cpu = CPU_x86;
 #elif defined(__x86_64__)
 enum target_cpu target_cpu = CPU_x86_64;
+#elif defined(__powerpc64__)
+enum target_cpu target_cpu = CPU_POWERPC64;
 #elif defined(__powerpc__)
 enum target_cpu target_cpu = CPU_POWERPC;
 #elif defined(__arm__)
@@ -281,21 +283,23 @@ static void set_target( const char *target )
         enum target_cpu cpu;
     } cpu_names[] =
     {
-        { "i386",    CPU_x86 },
-        { "i486",    CPU_x86 },
-        { "i586",    CPU_x86 },
-        { "i686",    CPU_x86 },
-        { "i786",    CPU_x86 },
-        { "amd64",   CPU_x86_64 },
-        { "x86_64",  CPU_x86_64 },
-        { "powerpc", CPU_POWERPC },
-        { "arm",     CPU_ARM },
-        { "armv5",   CPU_ARM },
-        { "armv6",   CPU_ARM },
-        { "armv7",   CPU_ARM },
-        { "armv7a",  CPU_ARM },
-        { "arm64",   CPU_ARM64 },
-        { "aarch64", CPU_ARM64 },
+        { "i386",           CPU_x86 },
+        { "i486",           CPU_x86 },
+        { "i586",           CPU_x86 },
+        { "i686",           CPU_x86 },
+        { "i786",           CPU_x86 },
+        { "amd64",          CPU_x86_64 },
+        { "x86_64",         CPU_x86_64 },
+        { "powerpc",        CPU_POWERPC },
+        { "powerpc64",      CPU_POWERPC64 },
+        { "powerpc64le",    CPU_POWERPC64 },
+        { "arm",            CPU_ARM },
+        { "armv5",          CPU_ARM },
+        { "armv6",          CPU_ARM },
+        { "armv7",          CPU_ARM },
+        { "armv7a",         CPU_ARM },
+        { "arm64",          CPU_ARM64 },
+        { "aarch64",        CPU_ARM64 },
     };
 
     unsigned int i;
@@ -796,6 +800,10 @@ int main(int argc,char *argv[])
       if (pointer_size == 4) error( "Cannot build 32-bit code for this CPU\n" );
       pointer_size = 8;
       break;
+  case CPU_POWERPC64:
+      if (pointer_size == 4) error( "Cannot build 32-bit code for this CPU\n" );
+      pointer_size = 8;
+      break;
   default:
       if (pointer_size == 8) error( "Cannot build 64-bit code for this CPU\n" );
       pointer_size = 4;
diff --git a/tools/widl/widl.h b/tools/widl/widl.h
index 4f4252e3ea3..bc6226c54fe 100644
--- a/tools/widl/widl.h
+++ b/tools/widl/widl.h
@@ -76,7 +76,7 @@ extern int char_number;
 
 enum target_cpu
 {
-    CPU_x86, CPU_x86_64, CPU_POWERPC, CPU_ARM, CPU_ARM64, CPU_LAST = CPU_ARM64
+    CPU_x86, CPU_x86_64, CPU_POWERPC, CPU_ARM, CPU_ARM64, CPU_POWERPC64, CPU_LAST = CPU_POWERPC64
 };
 
 extern enum target_cpu target_cpu;




More information about the wine-cvs mailing list