Bug 1354510 - Firefox build should recognize Solaris. r=glandium
authorPetr Sumbera <petr.sumbera@oracle.com>
Tue, 11 Apr 2017 00:01:32 -0700
changeset 352625 d99f00376b25222c2b811fac11e5a1ce02b9a7b2
parent 352624 f52e34fa7a0b6b8fea22117b6e5dcc78150649ed
child 352626 f92e59ad3033d5bc5763c5fd318d32d3d03a59ee
push id31642
push userkwierso@gmail.com
push dateWed, 12 Apr 2017 21:39:19 +0000
treeherdermozilla-central@fac2c174087f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersglandium
bugs1354510
milestone55.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1354510 - Firefox build should recognize Solaris. r=glandium
build/moz.configure/init.configure
ipc/chromium/chromium-config.mozbuild
ipc/chromium/src/build/build_config.h
python/mozbuild/mozbuild/configure/constants.py
toolkit/crashreporter/moz.build
xpcom/ds/nsMathUtils.h
--- a/build/moz.configure/init.configure
+++ b/build/moz.configure/init.configure
@@ -363,16 +363,18 @@ def split_triplet(triplet):
     elif os.startswith('dragonfly'):
         canonical_os = canonical_kernel = 'DragonFly'
     elif os.startswith('freebsd'):
         canonical_os = canonical_kernel = 'FreeBSD'
     elif os.startswith('netbsd'):
         canonical_os = canonical_kernel = 'NetBSD'
     elif os.startswith('openbsd'):
         canonical_os = canonical_kernel = 'OpenBSD'
+    elif os.startswith('solaris'):
+        canonical_os = canonical_kernel = 'SunOS'
     else:
         die('Unknown OS: %s' % os)
 
     # The CPU granularity is probably not enough. Moving more things from
     # old-configure will tell us if we need more
     if cpu.endswith('86') or (cpu.startswith('i') and '86' in cpu):
         canonical_cpu = 'x86'
         endianness = 'little'
@@ -621,16 +623,23 @@ set_define('XP_MACOSX', target_is_osx)
 
 @depends(target)
 def target_is_linux(target):
     if target.kernel == 'Linux':
         return True
 
 set_define('XP_LINUX', target_is_linux)
 
+@depends(target)
+def target_is_solaris(target):
+    if target.kernel == 'SunOS':
+        return True
+
+set_define('XP_SOLARIS', target_is_solaris)
+
 # The application/project to build
 # ==============================================================
 option('--enable-application', nargs=1, env='MOZ_BUILD_APP',
        help='Application to build. Same as --enable-project.')
 
 @depends('--enable-application', '--help')
 def application(app, help):
     if app:
--- a/ipc/chromium/chromium-config.mozbuild
+++ b/ipc/chromium/chromium-config.mozbuild
@@ -35,16 +35,19 @@ if CONFIG['OS_ARCH'] == 'WINNT':
         DEFINES['COMPILER_MSVC'] = True
 
 else:
     DEFINES['OS_POSIX'] = 1
 
     if CONFIG['OS_ARCH'] == 'Darwin':
         DEFINES['OS_MACOSX'] = 1
 
+    elif CONFIG['OS_ARCH'] == 'SunOS':
+        DEFINES['OS_SOLARIS'] = 1
+
     elif CONFIG['OS_ARCH'] == 'DragonFly':
         DEFINES.update({
             'OS_DRAGONFLY': 1,
             'OS_BSD': 1,
         })
 
     elif CONFIG['OS_ARCH'] == 'FreeBSD' or CONFIG['OS_ARCH'] == 'GNU_kFreeBSD':
         DEFINES.update({
--- a/ipc/chromium/src/build/build_config.h
+++ b/ipc/chromium/src/build/build_config.h
@@ -27,32 +27,34 @@
 #elif defined(__DragonFly__)
 #define OS_DRAGONFLY 1
 #elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
 #define OS_FREEBSD 1
 #elif defined(__NetBSD__)
 #define OS_NETBSD 1
 #elif defined(__OpenBSD__)
 #define OS_OPENBSD 1
+#elif defined(__sun__)
+#define OS_SOLARIS 1
 #elif defined(_WIN32)
 #define OS_WIN 1
 #else
 #error Please add support for your platform in build/build_config.h
 #endif
 
 // For access to standard BSD features, use OS_BSD instead of a
 // more specific macro.
 #if defined(OS_DRAGONFLY) || defined(OS_FREEBSD)	\
   || defined(OS_NETBSD) || defined(OS_OPENBSD)
 #define OS_BSD 1
 #endif
 
 // For access to standard POSIX features, use OS_POSIX instead of a more
 // specific macro.
-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
+#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || defined(OS_SOLARIS)
 #define OS_POSIX 1
 #endif
 
 // Compiler detection.
 #if defined(__GNUC__)
 #define COMPILER_GCC 1
 #elif defined(_MSC_VER)
 #define COMPILER_MSVC 1
--- a/python/mozbuild/mozbuild/configure/constants.py
+++ b/python/mozbuild/mozbuild/configure/constants.py
@@ -19,27 +19,29 @@ OS = EnumString.subclass(
     'Android',
     'DragonFly',
     'FreeBSD',
     'GNU',
     'iOS',
     'NetBSD',
     'OpenBSD',
     'OSX',
+    'SunOS',
     'WINNT',
 )
 
 Kernel = EnumString.subclass(
     'Darwin',
     'DragonFly',
     'FreeBSD',
     'kFreeBSD',
     'Linux',
     'NetBSD',
     'OpenBSD',
+    'SunOS',
     'WINNT',
 )
 
 CPU_bitness = {
     'aarch64': 64,
     'Alpha': 64,
     'arm': 32,
     'hppa': 32,
@@ -94,12 +96,13 @@ assert sorted(CPU_preprocessor_checks.ke
 kernel_preprocessor_checks = {
     'Darwin': '__APPLE__',
     'DragonFly': '__DragonFly__',
     'FreeBSD': '__FreeBSD__',
     'kFreeBSD': '__FreeBSD_kernel__',
     'Linux': '__linux__',
     'NetBSD': '__NetBSD__',
     'OpenBSD': '__OpenBSD__',
+    'SunOS': '__sun__',
     'WINNT': '_WIN32 || __CYGWIN__',
 }
 
 assert sorted(kernel_preprocessor_checks.keys()) == sorted(Kernel.POSSIBLE_VALUES)
--- a/toolkit/crashreporter/moz.build
+++ b/toolkit/crashreporter/moz.build
@@ -83,20 +83,16 @@ if CONFIG['OS_TARGET'] == 'Android':
     DEFINES['ANDROID_PACKAGE_NAME'] = '"%s"' % CONFIG['ANDROID_PACKAGE_NAME']
     # NDK5 workarounds
     DEFINES['_STLP_CONST_CONSTRUCTOR_BUG'] = True
     DEFINES['_STLP_NO_MEMBER_TEMPLATES'] = True
     LOCAL_INCLUDES += [
         '/toolkit/crashreporter/google-breakpad/src/common/android/include',
     ]
 
-if CONFIG['OS_ARCH'] == 'SunOS':
-    # there's no define for this normally
-    DEFINES['XP_SOLARIS'] = True
-
 DEFINES['UNICODE'] = True
 DEFINES['_UNICODE'] = True
 
 JAR_MANIFESTS += ['jar.mn']
 
 LOCAL_INCLUDES += [
     'google-breakpad/src',
 ]
--- a/xpcom/ds/nsMathUtils.h
+++ b/xpcom/ds/nsMathUtils.h
@@ -6,17 +6,17 @@
 
 #ifndef nsMathUtils_h__
 #define nsMathUtils_h__
 
 #include "nscore.h"
 #include <cmath>
 #include <float.h>
 
-#ifdef SOLARIS
+#if defined(XP_SOLARIS)
 #include <ieeefp.h>
 #endif
 
 /*
  * round
  */
 inline double
 NS_round(double aNum)