Index: src/base/build_config.h |
diff --git a/src/base/build_config.h b/src/base/build_config.h |
index 166595996194366f278052ae1fdf4754165e33cf..9637f657f928c95d570732de8bda5631716a0e7e 100644 |
--- a/src/base/build_config.h |
+++ b/src/base/build_config.h |
@@ -55,6 +55,13 @@ |
#else |
#define V8_HOST_ARCH_32_BIT 1 |
#endif |
+#elif defined(__s390__) || defined(__s390x__) |
+#define V8_HOST_ARCH_S390 1 |
+#if defined(__s390x__) |
+#define V8_HOST_ARCH_64_BIT 1 |
+#else |
+#define V8_HOST_ARCH_32_BIT 1 |
+#endif |
#else |
#error "Host architecture was not detected as supported by v8" |
#endif |
@@ -78,7 +85,7 @@ |
// environment as presented by the compiler. |
#if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_IA32 && !V8_TARGET_ARCH_X87 && \ |
!V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS && \ |
- !V8_TARGET_ARCH_MIPS64 && !V8_TARGET_ARCH_PPC |
+ !V8_TARGET_ARCH_MIPS64 && !V8_TARGET_ARCH_PPC && !V8_TARGET_ARCH_S390 |
#if defined(_M_X64) || defined(__x86_64__) |
#define V8_TARGET_ARCH_X64 1 |
#elif defined(_M_IX86) || defined(__i386__) |
@@ -121,6 +128,12 @@ |
#else |
#define V8_TARGET_ARCH_32_BIT 1 |
#endif |
+#elif V8_TARGET_ARCH_S390 |
+#if V8_TARGET_ARCH_S390X |
+#define V8_TARGET_ARCH_64_BIT 1 |
+#else |
+#define V8_TARGET_ARCH_32_BIT 1 |
+#endif |
#elif V8_TARGET_ARCH_X87 |
#define V8_TARGET_ARCH_32_BIT 1 |
#else |
@@ -179,6 +192,12 @@ |
#define V8_TARGET_LITTLE_ENDIAN 1 |
#elif V8_TARGET_ARCH_PPC_BE |
#define V8_TARGET_BIG_ENDIAN 1 |
+#elif V8_TARGET_ARCH_S390 |
+#if V8_TARGET_ARCH_S390_LE_SIM |
+#define V8_TARGET_LITTLE_ENDIAN 1 |
+#else |
+#define V8_TARGET_BIG_ENDIAN 1 |
+#endif |
#else |
#error Unknown target architecture endianness |
#endif |