# 'nightly' contains things that are in nightly mozconfigs and allowed to be missing from release builds. # Other keys in whitelist contain things are in that branches mozconfigs and allowed to be missing from nightly builds. whitelist = { 'release': {}, 'nightly': {}, } all_platforms = ['win64', 'win32', 'linux32', 'linux64', 'macosx64'] for platform in all_platforms: whitelist['nightly'][platform] = [ 'ac_add_options --enable-update-channel=nightly', 'ac_add_options --with-branding=browser/branding/nightly', 'ac_add_options --enable-profiling', 'mk_add_options CLIENT_PY_ARGS="--hg-options=\'--verbose --time\' --hgtool=../tools/buildfarm/utils/hgtool.py --skip-chatzilla --skip-comm --skip-inspector --tinderbox-print"' ] for platform in ['linux32', 'linux64', 'macosx64']: whitelist['nightly'][platform] += [ 'mk_add_options MOZ_MAKE_FLAGS="-j4"', ] whitelist['nightly']['linux32'] += [ 'CXX=$REAL_CXX', 'CXX="ccache $REAL_CXX"', 'CC="ccache $REAL_CC"', 'mk_add_options PROFILE_GEN_SCRIPT=@TOPSRCDIR@/build/profile_pageloader.pl', 'ac_add_options --with-ccache=/usr/bin/ccache', '. "$topsrcdir/build/mozconfig.cache"', 'export MOZILLA_OFFICIAL=1', 'export MOZ_TELEMETRY_REPORTING=1', "mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) @MOZ_OBJDIR@/_profile/pgo/profileserver.py 10'", 'STRIP_FLAGS="--strip-debug"', ] whitelist['nightly']['linux64'] += [ 'export MOZILLA_OFFICIAL=1', 'export MOZ_TELEMETRY_REPORTING=1', "mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) @MOZ_OBJDIR@/_profile/pgo/profileserver.py 10'", 'STRIP_FLAGS="--strip-debug"', 'ac_add_options --with-ccache=/usr/bin/ccache', '. "$topsrcdir/build/mozconfig.cache"', ] whitelist['nightly']['macosx64'] += [ 'if test "${MOZ_UPDATE_CHANNEL}" = "nightly"; then', 'ac_add_options --with-macbundlename-prefix=Firefox', 'fi', 'mk_add_options MOZ_MAKE_FLAGS="-j12"', 'ac_add_options --with-ccache', '. "$topsrcdir/build/mozconfig.cache"', 'ac_add_options --disable-install-strip', 'ac_add_options --enable-instruments', 'ac_add_options --enable-dtrace', 'if test `uname -s` != Linux; then', ] whitelist['nightly']['win32'] += [ '. $topsrcdir/configs/mozilla2/win32/include/choose-make-flags', 'mk_add_options MOZ_MAKE_FLAGS=-j1', '. "$topsrcdir/build/mozconfig.cache"', 'if test "$IS_NIGHTLY" != ""; then', 'ac_add_options --disable-auto-deps', 'fi', ] whitelist['nightly']['win64'] += [ '. "$topsrcdir/browser/config/mozconfigs/win64/common-win64"', '. "$topsrcdir/build/mozconfig.cache"', ] for platform in all_platforms: whitelist['release'][platform] = [ 'ac_add_options --enable-update-channel=release', 'ac_add_options --enable-official-branding', 'mk_add_options MOZ_MAKE_FLAGS="-j4"', 'export BUILDING_RELEASE=1', 'if [ -n "$ENABLE_RELEASE_PROMOTION" ]; then', 'MOZ_AUTOMATION_UPLOAD_SYMBOLS=1', 'MOZ_AUTOMATION_UPDATE_PACKAGING=1', 'fi', ] whitelist['release']['win32'] += ['mk_add_options MOZ_PGO=1'] whitelist['release']['win64'] += ['mk_add_options MOZ_PGO=1'] whitelist['release']['linux32'] += [ 'export MOZILLA_OFFICIAL=1', 'export MOZ_TELEMETRY_REPORTING=1', 'mk_add_options MOZ_PGO=1', "mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) @MOZ_OBJDIR@/_profile/pgo/profileserver.py 10'", 'MOZ_AUTOMATION_UPLOAD_SYMBOLS=${MOZ_AUTOMATION_UPLOAD_SYMBOLS-1}', ] whitelist['release']['linux64'] += [ 'export MOZILLA_OFFICIAL=1', 'export MOZ_TELEMETRY_REPORTING=1', 'mk_add_options MOZ_PGO=1', "mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) @MOZ_OBJDIR@/_profile/pgo/profileserver.py 10'", 'MOZ_AUTOMATION_UPLOAD_SYMBOLS=${MOZ_AUTOMATION_UPLOAD_SYMBOLS-1}', ] if __name__ == '__main__': import pprint pprint.pprint(whitelist)