diff options
Diffstat (limited to 'build')
-rw-r--r-- | build/application.ini | 8 | ||||
-rw-r--r-- | build/directive4.py | 73 | ||||
-rw-r--r-- | build/mach_bootstrap.py | 3 | ||||
-rw-r--r-- | build/moz.build | 14 | ||||
-rw-r--r-- | build/moz.configure/init.configure | 19 | ||||
-rw-r--r-- | build/moz.configure/old.configure | 8 | ||||
-rw-r--r-- | build/moz.configure/toolchain.configure | 4 |
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 |