Skip to content

Instantly share code, notes, and snippets.

@rail
Created January 16, 2012 16:02
Show Gist options
  • Save rail/1621526 to your computer and use it in GitHub Desktop.
Save rail/1621526 to your computer and use it in GitHub Desktop.
mozilla/config.py | 76 ++++++++++++++++++++
mozilla/project_branches.py | 8 +-
.../linux-clang/mozilla-central/nightly/mozconfig | 37 ++++++++++
3 files changed, 117 insertions(+), 4 deletions(-)
diff --git a/mozilla/config.py b/mozilla/config.py
index 42cead6..cf1308d 100644
--- a/mozilla/config.py
+++ b/mozilla/config.py
@@ -57,20 +57,22 @@ GLOBAL_VARS = {
'linux': {},
'linuxqt': {},
'linux-rpm': {},
'linux64': {},
'linux64-rpm': {},
'win32': {},
'win64': {},
'macosx64': {},
+ 'macosx64-clang': {},
'linux-debug': {},
'linux64-debug': {},
'macosx-debug': {},
'macosx64-debug': {},
+ 'macosx64-clang-debug': {},
'win32-debug': {},
#'android': {},
'android-debug': {},
'android-xul': {},
'linux-android': {},
'linux-android-debug': {},
'linux-mobile': {},
'win32-mobile': {},
@@ -404,16 +406,55 @@ PLATFORM_VARS = {
'CHOWN_REVERT': '~/bin/chown_revert',
'LC_ALL': 'C',
},
'enable_opt_unittests': False,
'enable_checktests': True,
'talos_masters': GLOBAL_VARS['talos_masters'],
'test_pretty_names': True,
},
+ 'macosx64-clang': {
+ 'base_name': 'OS X 10.6.2 clang %(branch)s',
+ 'mozconfig': 'macosx64/%(branch)s/nightly-clang',
+ 'src_mozconfig': 'browser/config/mozconfigs/macosx-universal/nightly-clang',
+ 'src_xulrunner_mozconfig': 'xulrunner/config/mozconfigs/macosx-universal/xulrunner-clang',
+ 'src_shark_mozconfig': 'browser/config/mozconfigs/macosx-universal/shark',
+ 'packageTests': True,
+ 'profiled_build': False,
+ 'builds_before_reboot': localconfig.BUILDS_BEFORE_REBOOT,
+ 'build_space': 12,
+ 'upload_symbols': True,
+ 'download_symbols': True,
+ 'slaves': SLAVES['macosx64'],
+ 'platform_objdir': "%s/i386" % OBJDIR,
+ 'stage_product': 'firefox',
+ 'stage_platform': 'macosx64-clang',
+ 'update_platform': 'Darwin_x86_64-clang', # TODO
+ 'enable_shared_checkouts': True,
+ 'enable_shark': False,
+ 'env': {
+ 'MOZ_OBJDIR': OBJDIR,
+ 'HG_SHARE_BASE_DIR': '/builds/hg-shared',
+ 'SYMBOL_SERVER_HOST': localconfig.SYMBOL_SERVER_HOST,
+ 'SYMBOL_SERVER_USER': 'ffxbld',
+ 'SYMBOL_SERVER_PATH': SYMBOL_SERVER_PATH,
+ 'POST_SYMBOL_UPLOAD_CMD': SYMBOL_SERVER_POST_UPLOAD_CMD,
+ 'SYMBOL_SERVER_SSH_KEY': "/Users/cltbld/.ssh/ffxbld_dsa",
+ 'MOZ_SYMBOLS_EXTRA_BUILDID': 'macosx64-clang',
+ 'TINDERBOX_OUTPUT': '1',
+ 'MOZ_CRASHREPORTER_NO_REPORT': '1',
+ 'CHOWN_ROOT': '~/bin/chown_root',
+ 'CHOWN_REVERT': '~/bin/chown_revert',
+ 'LC_ALL': 'C',
+ },
+ 'enable_opt_unittests': False,
+ 'enable_checktests': True,
+ 'talos_masters': GLOBAL_VARS['talos_masters'],
+ 'test_pretty_names': True,
+ },
'win32': {
'base_name': 'WINNT 5.2 %(branch)s',
'mozconfig': 'win32/%(branch)s/nightly',
'src_mozconfig': 'browser/config/mozconfigs/win32/nightly',
'src_xulrunner_mozconfig': 'xulrunner/config/mozconfigs/win32/xulrunner',
'profiled_build': False,
'builds_before_reboot': localconfig.BUILDS_BEFORE_REBOOT,
'build_space': 12,
@@ -598,16 +639,43 @@ PLATFORM_VARS = {
'XPCOM_DEBUG_BREAK': 'stack-and-abort',
'MOZ_CRASHREPORTER_NO_REPORT': '1',
'LC_ALL': 'C',
},
'enable_unittests': False,
'enable_checktests': True,
'talos_masters': GLOBAL_VARS['talos_masters'],
},
+ 'macosx64-clang-debug': {
+ 'base_name': 'OS X 10.6.2 clang %(branch)s leak test',
+ 'mozconfig': 'macosx64/%(branch)s/debug-clang',
+ 'enable_leaktests': False,
+ 'src_mozconfig': 'browser/config/mozconfigs/macosx64/debug-clang',
+ 'packageTests': True,
+ 'profiled_build': False,
+ 'builds_before_reboot': localconfig.BUILDS_BEFORE_REBOOT,
+ 'download_symbols': True,
+ 'build_space': 10,
+ 'slaves': SLAVES['macosx64'],
+ 'platform_objdir': OBJDIR,
+ 'stage_product': 'firefox',
+ 'stage_platform': 'macosx64-clang-debug',
+ 'enable_shared_checkouts': True,
+ 'enable_shark': True,
+ 'env': {
+ 'MOZ_OBJDIR': OBJDIR,
+ 'HG_SHARE_BASE_DIR': '/builds/hg-shared',
+ 'XPCOM_DEBUG_BREAK': 'stack-and-abort',
+ 'MOZ_CRASHREPORTER_NO_REPORT': '1',
+ 'LC_ALL': 'C',
+ },
+ 'enable_unittests': False,
+ 'enable_checktests': True,
+ 'talos_masters': GLOBAL_VARS['talos_masters'],
+ },
'win32-debug': {
'base_name': 'WINNT 5.2 %(branch)s leak test',
'mozconfig': 'win32/%(branch)s/debug',
'src_mozconfig': 'browser/config/mozconfigs/win32/debug',
'profiled_build': False,
'builds_before_reboot': localconfig.BUILDS_BEFORE_REBOOT,
'download_symbols': True,
'packageTests': True,
@@ -1072,16 +1140,17 @@ for k, v in localconfig.PROJECTS.items():
if k not in PROJECTS:
PROJECTS[k] = {}
for k1, v1 in v.items():
PROJECTS[k][k1] = v1
# All branches (not in project_branches) that are to be built MUST be listed here, along with their
# platforms (if different from the default set).
+
BRANCHES = {
'mozilla-central': {
},
'shadow-central': {
},
'mozilla-release': {
},
'mozilla-beta': {
@@ -1796,16 +1865,23 @@ for branch in ACTIVE_PROJECT_BRANCHES:
BRANCHES[branch]['enable_valgrind'] = False
# Bug 578880, remove the following block after gcc-4.5 switch
branches = BRANCHES.keys()
branches.extend(ACTIVE_PROJECT_BRANCHES)
for branch in ('mozilla-1.9.1', 'mozilla-1.9.2',):
branches.remove(branch)
for branch in branches:
+
+ # FIXME: Dirty hack. Remove clang from all branches/projects except mozilla-central
+ if branch not in ('mozilla-central',):
+ for platform in BRANCHES[branch]['platforms'].keys():
+ if '-clang' in platform:
+ del BRANCHES[branch]['platforms'][platform]
+
if BRANCHES[branch]['platforms'].has_key('linux'):
BRANCHES[branch]['platforms']['linux']['env']['LD_LIBRARY_PATH'] = '/tools/gcc-4.3.3/installed/lib'
BRANCHES[branch]['platforms']['linux']['unittest-env'] = {
'LD_LIBRARY_PATH': '/tools/gcc-4.3.3/installed/lib',
}
if BRANCHES[branch]['platforms'].has_key('linux-mobile'):
BRANCHES[branch]['platforms']['linux-mobile']['env']['LD_LIBRARY_PATH'] = '/tools/gcc-4.3.3/installed/lib'
BRANCHES[branch]['platforms']['linux-mobile']['unittest-env'] = {
diff --git a/mozilla/project_branches.py b/mozilla/project_branches.py
index d135b65..7625dec 100644
--- a/mozilla/project_branches.py
+++ b/mozilla/project_branches.py
@@ -86,31 +86,29 @@ PROJECT_BRANCHES = {
'remote-twinopen': 1,
},
},
'mozilla-inbound': {
'repo_path': 'integration/mozilla-inbound',
'mozconfig_dir': 'mozilla-central',
'enable_nightly': True,
'enable_weekly_bundle': True,
- 'pgo_strategy': 'periodic',
+ 'enable_pgo': True,
+ 'add_pgo_builders': True,
'pgo_platforms': ['linux', 'linux64', 'win32'],
'platforms': {
'linux64': {
'build_space': 7,
},
'linux': {
'build_space': 7,
},
'linuxqt': {
'build_space': 7,
},
- 'macosx64-debug': {
- 'enable_leaktests': False,
- },
},
'talos_suites': {
'v8': 1,
}
},
'places': {
'platforms': {
'linux64': {
@@ -267,8 +265,10 @@ ACTIVE_PROJECT_BRANCHES = PROJECT_BRANCHES.keys()
for branch in ('graphics',):
ACTIVE_PROJECT_BRANCHES.remove(branch)
# Load up project branches' local values
for branch in PROJECT_BRANCHES.keys():
PROJECT_BRANCHES[branch]['tinderbox_tree'] = PROJECT_BRANCHES[branch].get('tinderbox_tree', branch.title())
PROJECT_BRANCHES[branch]['mobile_tinderbox_tree'] = PROJECT_BRANCHES[branch].get('mobile_tinderbox_tree', branch.title())
PROJECT_BRANCHES[branch]['packaged_unittest_tinderbox_tree'] = PROJECT_BRANCHES[branch].get('packaged_unittest_tinderbox_tree', branch.title())
+ #PROJECT_BRANCHES[branch].setdefault('platforms',
+ # {}).setdefault('linux-clang', {'dont_build': True})
diff --git a/mozilla2/linux-clang/mozilla-central/nightly/mozconfig b/mozilla2/linux-clang/mozilla-central/nightly/mozconfig
new file mode 100644
index 0000000..1158e99
--- /dev/null
+++ b/mozilla2/linux-clang/mozilla-central/nightly/mozconfig
@@ -0,0 +1,37 @@
+ac_add_options --enable-application=browser
+ac_add_options --enable-optimize
+ac_add_options --enable-update-channel=nightly
+ac_add_options --enable-update-packaging
+ac_add_options --disable-debug
+ac_add_options --enable-tests
+ac_add_options --enable-codesighs
+
+# Nightlies only since this has a cost in performance
+ac_add_options --enable-js-diagnostics
+
+CC="/tools/clang-3.0/bin/clang -fgnu89-inline"
+CXX=/tools/clang-3.0/bin/clang++
+# Avoid dependency on libstdc++ 4.5
+# ac_add_options --enable-stdcxx-compat
+
+# export CFLAGS="-gdwarf-2"
+# export CXXFLAGS="-gdwarf-2"
+
+# For NSS symbols
+export MOZ_DEBUG_SYMBOLS=1
+# ac_add_options --enable-debug-symbols="-gdwarf-2"
+
+# Needed to enable breakpad in application.ini
+export MOZILLA_OFFICIAL=1
+
+export MOZ_TELEMETRY_REPORTING=1
+
+# PGO
+# mk_add_options MOZ_PGO=1
+# mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) @MOZ_OBJDIR@/_profile/pgo/profileserver.py 10'
+
+# Enable parallel compiling
+# mk_add_options MOZ_MAKE_FLAGS="-j4"
+
+#Use ccache
+# ac_add_options --with-ccache=/usr/bin/ccache
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment