summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
Diffstat (limited to 'build')
-rw-r--r--build/autoconf/compiler-opts.m49
-rw-r--r--build/autoconf/icu.m42
-rw-r--r--build/mach_bootstrap.py1
-rw-r--r--build/moz.configure/init.configure24
-rw-r--r--build/moz.configure/memory.configure3
-rw-r--r--build/moz.configure/old.configure9
-rw-r--r--build/moz.configure/warnings.configure11
-rw-r--r--build/moz.configure/windows.configure12
8 files changed, 61 insertions, 10 deletions
diff --git a/build/autoconf/compiler-opts.m4 b/build/autoconf/compiler-opts.m4
index 82d0b43fc..77c2e85b5 100644
--- a/build/autoconf/compiler-opts.m4
+++ b/build/autoconf/compiler-opts.m4
@@ -176,8 +176,13 @@ if test "$GNU_CC"; then
CFLAGS="$CFLAGS -ffunction-sections -fdata-sections"
CXXFLAGS="$CXXFLAGS -ffunction-sections -fdata-sections"
fi
- CFLAGS="$CFLAGS -fno-math-errno -msse2 -mfpmath=sse"
- CXXFLAGS="$CXXFLAGS -fno-exceptions -fno-math-errno -msse2 -mfpmath=sse"
+ CFLAGS="$CFLAGS -fno-math-errno"
+ CXXFLAGS="$CXXFLAGS -fno-exceptions -fno-math-errno"
+
+ if test "$CPU_ARCH" = "x86" -o "$CPU_ARCH" = "x86_64"; then
+ CFLAGS="$CFLAGS -msse2 -mfpmath=sse"
+ CXXFLAGS="$CXXFLAGS -msse2 -mfpmath=sse"
+ fi
if test -z "$CLANG_CC"; then
case "$CC_VERSION" in
diff --git a/build/autoconf/icu.m4 b/build/autoconf/icu.m4
index 89c53c52c..d3cc3113d 100644
--- a/build/autoconf/icu.m4
+++ b/build/autoconf/icu.m4
@@ -35,7 +35,7 @@ if test -n "$USE_ICU"; then
fi
fi
- version=`sed -n 's/^[[[:space:]]]*#[[:space:]]*define[[:space:]][[:space:]]*U_ICU_VERSION_MAJOR_NUM[[:space:]][[:space:]]*\([0-9][0-9]*\)[[:space:]]*$/\1/p' "$icudir/common/unicode/uvernum.h"`
+ version=`${TOOLCHAIN_PREFIX}sed -n 's/^[[[:space:]]]*#[[:space:]]*define[[:space:]][[:space:]]*U_ICU_VERSION_MAJOR_NUM[[:space:]][[:space:]]*\([0-9][0-9]*\)[[:space:]]*$/\1/p' "$icudir/common/unicode/uvernum.h"`
if test x"$version" = x; then
AC_MSG_ERROR([cannot determine icu version number from uvernum.h header file $lineno])
fi
diff --git a/build/mach_bootstrap.py b/build/mach_bootstrap.py
index bdf7c9b03..48a71c669 100644
--- a/build/mach_bootstrap.py
+++ b/build/mach_bootstrap.py
@@ -127,7 +127,6 @@ MACH_MODULES = [
'tools/lint/mach_commands.py',
'tools/mach_commands.py',
'tools/power/mach_commands.py',
- 'mobile/android/mach_commands.py',
]
if os.path.exists('addon-sdk/mach_commands.py'):
diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
index 7664591ad..a275957b7 100644
--- a/build/moz.configure/init.configure
+++ b/build/moz.configure/init.configure
@@ -336,6 +336,8 @@ def split_triplet(triplet):
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)
@@ -569,6 +571,28 @@ def target_is_linux(target):
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)
+
+@depends(target)
+def target_is_sparc(target):
+ if target.cpu == 'sparc':
+ return True
+
+set_define('SPARC', target_is_sparc)
+
+@depends(target)
+def target_is_sparc64(target):
+ if target.cpu == 'sparc64':
+ return True
+
+set_define('SPARC64', target_is_sparc64)
+
+
# The application/project to build
# ==============================================================
option('--enable-application', nargs=1, env='MOZ_BUILD_APP',
diff --git a/build/moz.configure/memory.configure b/build/moz.configure/memory.configure
index 398413b62..1292d7273 100644
--- a/build/moz.configure/memory.configure
+++ b/build/moz.configure/memory.configure
@@ -58,6 +58,9 @@ def jemalloc_os_define(jemalloc, target):
return 'MOZ_MEMORY_DARWIN'
if target.kernel in ('kFreeBSD', 'FreeBSD', 'NetBSD'):
return 'MOZ_MEMORY_BSD'
+ if target.kernel == 'SunOS':
+ return 'MOZ_MEMORY_SOLARIS'
+
die('--enable-jemalloc is not supported on %s', target.kernel)
set_define(jemalloc_os_define, '1')
diff --git a/build/moz.configure/old.configure b/build/moz.configure/old.configure
index 20bde1eee..552019a13 100644
--- a/build/moz.configure/old.configure
+++ b/build/moz.configure/old.configure
@@ -157,7 +157,6 @@ def old_configure_options(*options):
'--enable-accessibility',
'--enable-address-sanitizer',
'--enable-alsa',
- '--enable-android-omx',
'--enable-b2g-bt',
'--enable-b2g-camera',
'--enable-b2g-ril',
@@ -206,7 +205,6 @@ def old_configure_options(*options):
'--enable-nspr-build',
'--enable-official-branding',
'--enable-official-vendor',
- '--enable-omx-plugin',
'--enable-oom-breakpoint',
'--enable-optimize',
'--enable-parental-controls',
@@ -217,6 +215,7 @@ def old_configure_options(*options):
'--enable-pref-extensions',
'--enable-private-build',
'--enable-pulseaudio',
+ '--enable-sndio',
'--enable-raw',
'--enable-readline',
'--enable-reflow-perf',
@@ -243,6 +242,7 @@ def old_configure_options(*options):
'--enable-universalchardet',
'--enable-updater',
'--enable-url-classifier',
+ '--enable-userinfo',
'--enable-valgrind',
'--enable-verify-mar',
'--enable-webrtc',
@@ -308,6 +308,11 @@ def old_configure_options(*options):
'--enable-calendar',
'--enable-incomplete-external-linkage',
+ # Below are configure flags used by Pale Moon
+ '--disable-browser-statusbar',
+ '--disable-sync',
+ '--disable-personas',
+
# Below are configure flags used by Basilisk
'--disable-webextensions',
)
diff --git a/build/moz.configure/warnings.configure b/build/moz.configure/warnings.configure
index 273a41bd9..567814632 100644
--- a/build/moz.configure/warnings.configure
+++ b/build/moz.configure/warnings.configure
@@ -101,11 +101,22 @@ check_and_add_gcc_warning('-Wno-error=coverage-mismatch', when='MOZ_PGO')
# false positives during PGO
check_and_add_gcc_warning('-Wno-error=free-nonheap-object', when='MOZ_PGO')
+# Would be a pain to fix all occurrences, for very little gain
+check_and_add_gcc_warning('-Wno-error=multistatement-macros')
+
# We use mix of both POSIX and Win32 printf format across the tree, so format
# warnings are useless on mingw.
check_and_add_gcc_warning('-Wno-format',
when=depends(target)(lambda t: t.kernel == 'WINNT'))
+# Disable a warning with GCC 7+.
+# We are far from using C++17 and the impact of the warning will be
+# limited to a potential public ABI.
+# Currently only affecting js/
+check_and_add_gcc_warning('-Wno-noexcept-type', cxx_compiler,
+ when=depends(build_project)
+ (lambda build_project: build_project == 'js'))
+
# Please keep these last in this file
add_old_configure_assignment('_WARNINGS_CFLAGS', warnings_cflags)
add_old_configure_assignment('_WARNINGS_CXXFLAGS', warnings_cxxflags)
diff --git a/build/moz.configure/windows.configure b/build/moz.configure/windows.configure
index b9a3898a1..631049566 100644
--- a/build/moz.configure/windows.configure
+++ b/build/moz.configure/windows.configure
@@ -361,10 +361,10 @@ set_config('LIB', lib_path)
option(env='MT', nargs=1, help='Path to the Microsoft Manifest Tool')
-@depends_win(valid_windows_sdk_dir)
+@depends_win(valid_windows_sdk_dir, valid_ucrt_sdk_dir)
@imports(_from='os', _import='environ')
@imports('platform')
-def sdk_bin_path(valid_windows_sdk_dir):
+def sdk_bin_path(valid_windows_sdk_dir, valid_ucrt_sdk_dir):
if not valid_windows_sdk_dir:
return
@@ -373,13 +373,17 @@ def sdk_bin_path(valid_windows_sdk_dir):
'AMD64': 'x64',
}.get(platform.machine())
+ # From version 10.0.15063.0 onwards the bin path contains the version number.
+ versioned_bin = ('bin' if valid_ucrt_sdk_dir.version < '10.0.15063.0'
+ else os.path.join('bin', str(valid_ucrt_sdk_dir.version)))
+
result = [
environ['PATH'],
- os.path.join(valid_windows_sdk_dir.path, 'bin', vc_host)
+ os.path.join(valid_windows_sdk_dir.path, versioned_bin, vc_host)
]
if vc_host == 'x64':
result.append(
- os.path.join(valid_windows_sdk_dir.path, 'bin', 'x86'))
+ os.path.join(valid_windows_sdk_dir.path, versioned_bin, 'x86'))
return result