summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--SConstruct40
-rw-r--r--src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src0.cpp (renamed from src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src0.cpp)0
-rw-r--r--src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src1.cpp (renamed from src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src1.cpp)0
-rw-r--r--src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src10.cpp (renamed from src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src10.cpp)0
-rw-r--r--src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src11.cpp (renamed from src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src11.cpp)0
-rw-r--r--src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src2.cpp (renamed from src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src2.cpp)0
-rw-r--r--src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src3.cpp (renamed from src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src3.cpp)0
-rw-r--r--src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src4.cpp (renamed from src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src4.cpp)0
-rw-r--r--src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src5.cpp (renamed from src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src5.cpp)0
-rw-r--r--src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src6.cpp (renamed from src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src6.cpp)0
-rw-r--r--src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src7.cpp (renamed from src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src7.cpp)0
-rw-r--r--src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src8.cpp (renamed from src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src8.cpp)0
-rw-r--r--src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src9.cpp (renamed from src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src9.cpp)0
-rw-r--r--src/third_party/mozjs-38/platform/ppc64le/linux/build/js-confdefs.h (renamed from src/third_party/mozjs-38/platform/ppc64/linux/build/js-confdefs.h)0
-rw-r--r--src/third_party/mozjs-38/platform/ppc64le/linux/include/js-config.h (renamed from src/third_party/mozjs-38/platform/ppc64/linux/include/js-config.h)0
15 files changed, 22 insertions, 18 deletions
diff --git a/SConstruct b/SConstruct
index 5082a4b3b65..b716f406463 100644
--- a/SConstruct
+++ b/SConstruct
@@ -879,24 +879,38 @@ def CheckForToolchain(context, toolchain, lang_name, compiler_var, source_suffix
context.Result(result)
return result
+endian = get_option( "endian" )
+
+if endian == "auto":
+ endian = sys.byteorder
+
+if endian == "little":
+ env.SetConfigHeaderDefine("MONGO_CONFIG_BYTE_ORDER", "1234")
+elif endian == "big":
+ env.SetConfigHeaderDefine("MONGO_CONFIG_BYTE_ORDER", "4321")
+
# These preprocessor macros came from
# http://nadeausoftware.com/articles/2012/02/c_c_tip_how_detect_processor_type_using_compiler_predefined_macros
#
# NOTE: Remember to add a trailing comma to form any required one
# element tuples, or your configure checks will fail in strange ways.
processor_macros = {
- 'arm' : ('__arm__',),
- 'arm64' : ('__arm64__', '__aarch64__'),
- 'i386' : ('__i386', '_M_IX86'),
- 'ppc64' : ('__powerpc64__',),
- 's390x' : ('__s390x__',),
- 'sparc' : ('__sparc',),
- 'x86_64' : ('__x86_64', '_M_AMD64'),
+ 'arm' : { 'endian': 'little', 'defines': ('__arm__',) },
+ 'arm64' : { 'endian': 'little', 'defines': ('__arm64__', '__aarch64__')},
+ 'i386' : { 'endian': 'little', 'defines': ('__i386', '_M_IX86')},
+ 'ppc64le': { 'endian': 'little', 'defines': ('__powerpc64__',)},
+ 's390x' : { 'endian': 'big', 'defines': ('__s390x__',)},
+ 'sparc' : { 'endian': 'big', 'defines': ('__sparc',)},
+ 'x86_64' : { 'endian': 'little', 'defines': ('__x86_64', '_M_AMD64')},
}
def CheckForProcessor(context, which_arch):
def run_compile_check(arch):
- full_macros = " || ".join([ "defined(%s)" % (v) for v in processor_macros[arch]])
+ full_macros = " || ".join([ "defined(%s)" % (v) for v in processor_macros[arch]['defines']])
+
+ if not endian == processor_macros[arch]['endian']:
+ return False
+
test_body = """
#if {0}
/* Detected {1} */
@@ -1157,16 +1171,6 @@ if has_option('mute'):
env.Append( SHLINKCOMSTR = env["LINKCOMSTR"] )
env.Append( ARCOMSTR = "Generating library $TARGET" )
-endian = get_option( "endian" )
-
-if endian == "auto":
- endian = sys.byteorder
-
-if endian == "little":
- env.SetConfigHeaderDefine("MONGO_CONFIG_BYTE_ORDER", "1234")
-elif endian == "big":
- env.SetConfigHeaderDefine("MONGO_CONFIG_BYTE_ORDER", "4321")
-
if env['_LIBDEPS'] == '$_LIBDEPS_OBJS':
# The libraries we build in LIBDEPS_OBJS mode are just placeholders for tracking dependencies.
# This avoids wasting time and disk IO on them.
diff --git a/src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src0.cpp b/src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src0.cpp
index a99a42b4f19..a99a42b4f19 100644
--- a/src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src0.cpp
+++ b/src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src0.cpp
diff --git a/src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src1.cpp b/src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src1.cpp
index b4987b90069..b4987b90069 100644
--- a/src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src1.cpp
+++ b/src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src1.cpp
diff --git a/src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src10.cpp b/src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src10.cpp
index 31653c633dc..31653c633dc 100644
--- a/src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src10.cpp
+++ b/src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src10.cpp
diff --git a/src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src11.cpp b/src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src11.cpp
index 01056bea89d..01056bea89d 100644
--- a/src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src11.cpp
+++ b/src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src11.cpp
diff --git a/src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src2.cpp b/src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src2.cpp
index 49a7d4b0b2d..49a7d4b0b2d 100644
--- a/src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src2.cpp
+++ b/src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src2.cpp
diff --git a/src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src3.cpp b/src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src3.cpp
index ef7b514efdf..ef7b514efdf 100644
--- a/src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src3.cpp
+++ b/src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src3.cpp
diff --git a/src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src4.cpp b/src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src4.cpp
index 6c18e019394..6c18e019394 100644
--- a/src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src4.cpp
+++ b/src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src4.cpp
diff --git a/src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src5.cpp b/src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src5.cpp
index 9f53c2284bf..9f53c2284bf 100644
--- a/src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src5.cpp
+++ b/src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src5.cpp
diff --git a/src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src6.cpp b/src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src6.cpp
index 5ece772caa5..5ece772caa5 100644
--- a/src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src6.cpp
+++ b/src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src6.cpp
diff --git a/src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src7.cpp b/src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src7.cpp
index 1968e52a9cf..1968e52a9cf 100644
--- a/src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src7.cpp
+++ b/src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src7.cpp
diff --git a/src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src8.cpp b/src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src8.cpp
index dcb1af43f70..dcb1af43f70 100644
--- a/src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src8.cpp
+++ b/src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src8.cpp
diff --git a/src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src9.cpp b/src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src9.cpp
index 70f1b66951a..70f1b66951a 100644
--- a/src/third_party/mozjs-38/platform/ppc64/linux/build/Unified_cpp_js_src9.cpp
+++ b/src/third_party/mozjs-38/platform/ppc64le/linux/build/Unified_cpp_js_src9.cpp
diff --git a/src/third_party/mozjs-38/platform/ppc64/linux/build/js-confdefs.h b/src/third_party/mozjs-38/platform/ppc64le/linux/build/js-confdefs.h
index c40f5a729d4..c40f5a729d4 100644
--- a/src/third_party/mozjs-38/platform/ppc64/linux/build/js-confdefs.h
+++ b/src/third_party/mozjs-38/platform/ppc64le/linux/build/js-confdefs.h
diff --git a/src/third_party/mozjs-38/platform/ppc64/linux/include/js-config.h b/src/third_party/mozjs-38/platform/ppc64le/linux/include/js-config.h
index 59e1bc3de7d..59e1bc3de7d 100644
--- a/src/third_party/mozjs-38/platform/ppc64/linux/include/js-config.h
+++ b/src/third_party/mozjs-38/platform/ppc64le/linux/include/js-config.h