You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
3.1 KiB
76 lines
3.1 KiB
diff --git a/SConstruct b/SConstruct |
|
index fe7975b..88d6650 100644 |
|
--- a/SConstruct |
|
+++ b/SConstruct |
|
@@ -980,6 +980,7 @@ processor_macros = { |
|
'arm' : { 'endian': 'little', 'defines': ('__arm__',) }, |
|
'aarch64' : { 'endian': 'little', 'defines': ('__arm64__', '__aarch64__')}, |
|
'i386' : { 'endian': 'little', 'defines': ('__i386', '_M_IX86')}, |
|
+ 'ppc64' : { 'endian': 'big', 'defines': ('__powerpc64__) && defined(__BIG_ENDIAN__',)}, |
|
'ppc64le' : { 'endian': 'little', 'defines': ('__powerpc64__',)}, |
|
's390x' : { 'endian': 'big', 'defines': ('__s390x__',)}, |
|
'sparc' : { 'endian': 'big', 'defines': ('__sparc',)}, |
|
diff --git a/src/third_party/IntelRDFPMathLib20U1/LIBRARY/float128/architecture.h b/src/third_party/IntelRDFPMathLib20U1/LIBRARY/float128/architecture.h |
|
index 355d70e..afefe7b 100755 |
|
--- a/src/third_party/IntelRDFPMathLib20U1/LIBRARY/float128/architecture.h |
|
+++ b/src/third_party/IntelRDFPMathLib20U1/LIBRARY/float128/architecture.h |
|
@@ -570,7 +570,7 @@ |
|
# endif |
|
|
|
|
|
-#elif (defined(__s390x__)) |
|
+#elif (defined(__s390x__)) || (defined(__powerpc64__) && defined(__BIG_ENDIAN__)) |
|
|
|
# undef vax |
|
# undef mips |
|
diff --git a/src/third_party/IntelRDFPMathLib20U1/SConscript b/src/third_party/IntelRDFPMathLib20U1/SConscript |
|
index 20287a6..a495e9c 100644 |
|
--- a/src/third_party/IntelRDFPMathLib20U1/SConscript |
|
+++ b/src/third_party/IntelRDFPMathLib20U1/SConscript |
|
@@ -313,6 +313,9 @@ elif processor == 'x86_64' or processor == 'ppc64le': |
|
cpp_defines['efi2'] = '1' |
|
cpp_defines['EFI2'] = '1' |
|
# Using 64 bit big endian |
|
+elif processor == 'ppc64': |
|
+ cpp_defines['ppc64'] = '1' |
|
+ cpp_defines['BID_BIG_ENDIAN'] = '1' |
|
elif processor == 's390x': |
|
cpp_defines['s390x'] = '1' |
|
cpp_defines['BID_BIG_ENDIAN'] = '1' |
|
diff --git a/src/third_party/timelib-2017.05/parse_tz.c b/src/third_party/timelib-2017.05/parse_tz.c |
|
index 3b68549..6460475 100644 |
|
--- a/src/third_party/timelib-2017.05/parse_tz.c |
|
+++ b/src/third_party/timelib-2017.05/parse_tz.c |
|
@@ -38,7 +38,7 @@ |
|
# endif |
|
#endif |
|
|
|
-#if defined(__s390__) |
|
+#if defined(__s390__) || defined(__powerpc64__) |
|
# if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ |
|
# define WORDS_BIGENDIAN |
|
# else |
|
diff --git a/src/third_party/wiredtiger/SConscript b/src/third_party/wiredtiger/SConscript |
|
index 1e07852..8a671b6 100644 |
|
--- a/src/third_party/wiredtiger/SConscript |
|
+++ b/src/third_party/wiredtiger/SConscript |
|
@@ -135,7 +135,7 @@ condition_map = { |
|
'WINDOWS_HOST' : env.TargetOSIs('windows'), |
|
|
|
'ARM64_HOST' : env['TARGET_ARCH'] == 'aarch64', |
|
- 'POWERPC_HOST' : env['TARGET_ARCH'] == 'ppc64le', |
|
+ 'POWERPC_HOST' : env['TARGET_ARCH'] == 'ppc64le' or env['TARGET_ARCH'] == 'ppc64', |
|
'X86_HOST' : env['TARGET_ARCH'] == 'x86_64', |
|
'ZSERIES_HOST' : env['TARGET_ARCH'] == 's390x', |
|
} |
|
@@ -167,6 +167,10 @@ if useSnappy: |
|
if not (env['TARGET_ARCH'] == 's390x' and get_option("use-s390x-crc32") == "off"): |
|
env.Append(CPPDEFINES=["HAVE_CRC32_HARDWARE"]) |
|
|
|
+# It is not possible to pass ASFLAGS through variables to scons now |
|
+if env['TARGET_ARCH'] == 'ppc64': |
|
+ env.Append(ASFLAGS=["-mcpu=power8"]) |
|
+ |
|
wtlib = env.Library( |
|
target="wiredtiger", |
|
source=wtsources,
|
|
|