1# 'nightly' contains things that are in nightly mozconfigs and allowed to be missing from release builds. 2# Other keys in whitelist contain things are in that branches mozconfigs and allowed to be missing from nightly builds. 3whitelist = { 4 'release': {}, 5 'nightly': {}, 6 } 7 8all_platforms = ['win64', 'win32', 'linux32', 'linux64', 'macosx-universal'] 9 10for platform in all_platforms: 11 whitelist['nightly'][platform] = [ 12 'ac_add_options --enable-update-channel=nightly', 13 'ac_add_options --with-branding=browser/branding/nightly', 14 'ac_add_options --enable-profiling', 15 'mk_add_options CLIENT_PY_ARGS="--hg-options=\'--verbose --time\' --hgtool=../tools/buildfarm/utils/hgtool.py --skip-chatzilla --skip-comm --skip-inspector --tinderbox-print"' 16 ] 17 18for platform in ['linux32', 'linux64', 'macosx-universal']: 19 whitelist['nightly'][platform] += [ 20 'mk_add_options MOZ_MAKE_FLAGS="-j4"', 21 ] 22 23whitelist['nightly']['linux32'] += [ 24 'CXX=$REAL_CXX', 25 'CXX="ccache $REAL_CXX"', 26 'CC="ccache $REAL_CC"', 27 'mk_add_options PROFILE_GEN_SCRIPT=@TOPSRCDIR@/build/profile_pageloader.pl', 28 'ac_add_options --with-ccache=/usr/bin/ccache', 29 '. "$topsrcdir/build/mozconfig.cache"', 30 'export MOZILLA_OFFICIAL=1', 31 'export MOZ_TELEMETRY_REPORTING=1', 32 "mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) @MOZ_OBJDIR@/_profile/pgo/profileserver.py 10'", 33 'STRIP_FLAGS="--strip-debug"', 34] 35 36whitelist['nightly']['linux64'] += [ 37 'export MOZILLA_OFFICIAL=1', 38 'export MOZ_TELEMETRY_REPORTING=1', 39 "mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) @MOZ_OBJDIR@/_profile/pgo/profileserver.py 10'", 40 'STRIP_FLAGS="--strip-debug"', 41 'ac_add_options --with-ccache=/usr/bin/ccache', 42 '. "$topsrcdir/build/mozconfig.cache"', 43] 44 45whitelist['nightly']['macosx-universal'] += [ 46 'if test "${MOZ_UPDATE_CHANNEL}" = "nightly"; then', 47 'ac_add_options --with-macbundlename-prefix=Firefox', 48 'fi', 49 'mk_add_options MOZ_MAKE_FLAGS="-j12"', 50 'ac_add_options --with-ccache', 51 '. "$topsrcdir/build/mozconfig.cache"', 52 'ac_add_options --disable-install-strip', 53 'ac_add_options --enable-instruments', 54 'ac_add_options --enable-dtrace', 55] 56 57whitelist['nightly']['win32'] += [ 58 '. $topsrcdir/configs/mozilla2/win32/include/choose-make-flags', 59 'mk_add_options MOZ_MAKE_FLAGS=-j1', 60 '. "$topsrcdir/build/mozconfig.cache"', 61 'if test "$IS_NIGHTLY" != ""; then', 62 'ac_add_options --disable-auto-deps', 63 'fi', 64] 65whitelist['nightly']['win64'] += [ 66 '. "$topsrcdir/browser/config/mozconfigs/win64/common-win64"', 67 '. "$topsrcdir/build/mozconfig.cache"', 68] 69 70for platform in all_platforms: 71 whitelist['release'][platform] = [ 72 'ac_add_options --enable-update-channel=release', 73 'ac_add_options --enable-official-branding', 74 'mk_add_options MOZ_MAKE_FLAGS="-j4"', 75 'export BUILDING_RELEASE=1', 76 'if [ -n "$ENABLE_RELEASE_PROMOTION" ]; then', 77 'MOZ_AUTOMATION_UPLOAD_SYMBOLS=1', 78 'MOZ_AUTOMATION_UPDATE_PACKAGING=1', 79 'fi', 80 'MOZ_AUTOMATION_SDK=${MOZ_AUTOMATION_SDK-1}', 81 ] 82whitelist['release']['win32'] += ['mk_add_options MOZ_PGO=1'] 83whitelist['release']['win64'] += ['mk_add_options MOZ_PGO=1'] 84 85whitelist['release']['linux32'] += [ 86 'export MOZILLA_OFFICIAL=1', 87 'export MOZ_TELEMETRY_REPORTING=1', 88 'mk_add_options MOZ_PGO=1', 89 "mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) @MOZ_OBJDIR@/_profile/pgo/profileserver.py 10'", 90] 91whitelist['release']['linux64'] += [ 92 'export MOZILLA_OFFICIAL=1', 93 'export MOZ_TELEMETRY_REPORTING=1', 94 'mk_add_options MOZ_PGO=1', 95 "mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) @MOZ_OBJDIR@/_profile/pgo/profileserver.py 10'", 96] 97 98if __name__ == '__main__': 99 import pprint 100 pprint.pprint(whitelist) 101