summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
Diffstat (limited to 'build')
-rw-r--r--build/application.ini8
-rw-r--r--build/directive4.py73
-rw-r--r--build/mach_bootstrap.py3
-rw-r--r--build/moz.build14
-rw-r--r--build/moz.configure/init.configure19
-rw-r--r--build/moz.configure/old.configure8
-rw-r--r--build/moz.configure/toolchain.configure4
7 files changed, 119 insertions, 10 deletions
diff --git a/build/application.ini b/build/application.ini
index 6d27b4097..6b2e43a34 100644
--- a/build/application.ini
+++ b/build/application.ini
@@ -18,8 +18,16 @@
#include @TOPOBJDIR@/buildid.h
#include @TOPOBJDIR@/source-repo.h
[App]
+#ifdef MC_OFFICIAL
+Vendor=Moonchild Productions
+#else
Vendor=@MOZ_APP_VENDOR@
+#endif
+#if defined(MOZ_PHOENIX) && defined(MC_PALEMOON)
+Name=Pale Moon
+#else
Name=@MOZ_APP_BASENAME@
+#endif
RemotingName=@MOZ_APP_REMOTINGNAME@
#ifdef MOZ_APP_DISPLAYNAME
CodeName=@MOZ_APP_DISPLAYNAME@
diff --git a/build/directive4.py b/build/directive4.py
new file mode 100644
index 000000000..2a49f3028
--- /dev/null
+++ b/build/directive4.py
@@ -0,0 +1,73 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Imports
+from __future__ import print_function, unicode_literals
+from collections import OrderedDict
+
+import os
+import sys
+import json
+
+# Sanity check
+if not len(sys.argv) > 1:
+ print("Incorrect number of arguments")
+ sys.exit(1)
+
+# Vars
+listConfigure = sys.argv[1:]
+listConfig = []
+strBrandingDirectory = ""
+
+# Build a list of set configure variables
+for _value in listConfigure:
+ _splitString = _value.split("=")
+
+ if _splitString[1] == "1":
+ listConfig += [ _splitString[0] ]
+ elif _splitString[0] == "MOZ_BRANDING_DIRECTORY":
+ strBrandingDirectory = _splitString[1]
+
+# Only applies if using Official Branding or specific branding directories
+if ('MOZ_OFFICIAL_BRANDING' in listConfig) or (strBrandingDirectory.endswith("branding/official")) or (strBrandingDirectory.endswith("branding/unstable")):
+ # Applies to Pale Moon and Basilisk
+ if ('MC_BASILISK' in listConfig) or ('MC_PALEMOON' in listConfig):
+ # Define a list of system libs
+ listSystemLibs = [
+ 'MOZ_SYSTEM_LIBEVENT',
+ 'MOZ_SYSTEM_NSS',
+ 'MOZ_SYSTEM_NSPR',
+ 'MOZ_SYSTEM_JPEG',
+ 'MOZ_SYSTEM_ZLIB',
+ 'MOZ_SYSTEM_BZ2',
+ 'MOZ_SYSTEM_PNG',
+ 'MOZ_SYSTEM_LIBVPX',
+ 'MOZ_SYSTEM_SQLITE',
+ 'MOZ_SYSTEM_JEMALLOC'
+ ]
+
+ # Iterate through system libs and output 1 to DIRECTIVE4 if any are found
+ for _value in listSystemLibs:
+ if _value in listConfig:
+ sys.stdout.write("1")
+ sys.exit(1)
+
+ # Applies only to Pale Moon
+ if 'MC_PALEMOON' in listConfig:
+ # Define a list of configure features that are in violation of Official branding
+ listFeatureViolations = [
+ 'MOZ_SANDBOX',
+ 'MOZ_WEBRTC'
+ ]
+
+ # Iterate through features and output 1 to DIRECTIVE4 if any violations are found
+ for _value in listFeatureViolations:
+ if _value in listConfig:
+ sys.stdout.write("1")
+ sys.exit(1)
+
+# Exit outputting nothing to DIRECTIVE4 being empty because there are no violations
+sys.exit(0)
+
+
diff --git a/build/mach_bootstrap.py b/build/mach_bootstrap.py
index 4fbf7de1d..bdf7c9b03 100644
--- a/build/mach_bootstrap.py
+++ b/build/mach_bootstrap.py
@@ -99,7 +99,6 @@ SEARCH_PATHS = [
# Individual files providing mach commands.
MACH_MODULES = [
- 'addon-sdk/mach_commands.py',
'build/valgrind/mach_commands.py',
'devtools/shared/css/generated/mach_commands.py',
'dom/bindings/mach_commands.py',
@@ -131,6 +130,8 @@ MACH_MODULES = [
'mobile/android/mach_commands.py',
]
+if os.path.exists('addon-sdk/mach_commands.py'):
+ MACH_MODULES += [ 'addon-sdk/mach_commands.py' ]
CATEGORIES = {
'build': {
diff --git a/build/moz.build b/build/moz.build
index 345ba9be0..8d86b52bf 100644
--- a/build/moz.build
+++ b/build/moz.build
@@ -26,8 +26,18 @@ for var in ('GRE_MILESTONE', 'MOZ_APP_VERSION', 'MOZ_APP_BASENAME',
if CONFIG['MOZ_APP_DISPLAYNAME'] != CONFIG['MOZ_APP_BASENAME']:
DEFINES['MOZ_APP_DISPLAYNAME'] = CONFIG['MOZ_APP_DISPLAYNAME']
-if CONFIG['MOZ_BUILD_APP'] == 'browser':
+if CONFIG['MOZ_PHOENIX']:
+ DEFINES['MOZ_PHOENIX'] = CONFIG['MOZ_PHOENIX']
DEFINES['MOZ_BUILD_APP_IS_BROWSER'] = True
+
+if CONFIG['MC_OFFICAL']:
+ DEFINES['MC_OFFICAL'] = CONFIG['MC_OFFICAL']
+
+if CONFIG['MC_BASILISK']:
+ DEFINES['MC_BASILISK'] = CONFIG['MC_BASILISK']
+
+if CONFIG['MC_PALEMOON']:
+ DEFINES['MC_PALEMOON'] = CONFIG['MC_PALEMOON']
if CONFIG['MOZ_APP_PROFILE']:
DEFINES['MOZ_APP_PROFILE'] = CONFIG['MOZ_APP_PROFILE']
@@ -37,7 +47,7 @@ for var in ('MOZ_CRASHREPORTER', 'MOZ_PROFILE_MIGRATOR',
if CONFIG[var]:
DEFINES[var] = True
-if CONFIG['MOZ_BUILD_APP'] == 'browser':
+if CONFIG['MOZ_PHOENIX']:
PYTHON_UNIT_TESTS += [
'compare-mozconfig/compare-mozconfigs-wrapper.py',
]
diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
index 2123bebc9..5f7e9b3ee 100644
--- a/build/moz.configure/init.configure
+++ b/build/moz.configure/init.configure
@@ -605,10 +605,21 @@ def include_project_configure(project, external_source_dir, build_env, help):
if external_source_dir:
base_dir = os.path.join(base_dir, external_source_dir[0])
- path = os.path.join(base_dir, project[0], 'moz.configure')
- if not exists(path):
- die('Cannot find project %s', project[0])
- return path
+ build_app = project[0]
+
+ # Uncomment when browser becomes application/basilisk
+ #if build_app == 'browser':
+ #die('The project "browser" is no longer valid. Perhaps you meant "basilisk" or "palemoon"?')
+
+ path_project_src_dir_application = os.path.join(base_dir, 'application/' + build_app, 'moz.configure')
+ path_project_src_dir_root = os.path.join(base_dir, build_app, 'moz.configure')
+
+ if exists(path_project_src_dir_application):
+ return path_project_src_dir_application
+ elif exists(path_project_src_dir_root):
+ return path_project_src_dir_root
+ else:
+ die('Cannot find project %s', build_app)
@depends('--with-external-source-dir')
def external_source_dir(value):
diff --git a/build/moz.configure/old.configure b/build/moz.configure/old.configure
index b32c3f7b7..b33f18623 100644
--- a/build/moz.configure/old.configure
+++ b/build/moz.configure/old.configure
@@ -169,6 +169,9 @@ def old_configure_options(*options):
'--enable-crashreporter',
'--enable-dbus',
'--enable-debug-js-modules',
+ '--enable-jetpack',
+ '--enable-devtools-server',
+ '--enable-devtools',
'--enable-directshow',
'--enable-dtrace',
'--enable-dump-painting',
@@ -201,6 +204,7 @@ def old_configure_options(*options):
'--enable-nfc',
'--enable-nspr-build',
'--enable-official-branding',
+ '--enable-official-vendor',
'--enable-omx-plugin',
'--enable-oom-breakpoint',
'--enable-optimize',
@@ -214,7 +218,6 @@ def old_configure_options(*options):
'--enable-readline',
'--enable-reflow-perf',
'--enable-release',
- '--enable-require-all-d3dc-versions',
'--enable-safe-browsing',
'--enable-sandbox',
'--enable-signmar',
@@ -301,6 +304,9 @@ def old_configure_options(*options):
'--enable-mapi',
'--enable-calendar',
'--enable-incomplete-external-linkage',
+
+ # Below are configure flags used by Basilisk
+ '--disable-webextensions',
)
@imports(_from='__builtin__', _import='compile')
@imports(_from='__builtin__', _import='open')
diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure
index 8b2416152..5e9fcc384 100644
--- a/build/moz.configure/toolchain.configure
+++ b/build/moz.configure/toolchain.configure
@@ -686,9 +686,9 @@ def compiler(language, host_or_target, c_compiler=None, other_compiler=None,
# Check the compiler version here instead of in `compiler_version` so
# that the `checking` message doesn't pretend the compiler can be used
# to then bail out one line later.
- if info.type == 'gcc' and info.version < '4.8.0':
+ if info.type == 'gcc' and info.version < '4.9.0':
raise FatalCheckError(
- 'Only GCC 4.8 or newer is supported (found version %s).'
+ 'Only GCC 4.9 or newer is supported (found version %s).'
% info.version)
# If you want to bump the version check here search for