# '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', 'macosx-universal'] for platform in all_platforms: whitelist['nightly'][platform] = [ 'ac_add_options --enable-update-channel=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 --skip-venkman --tinderbox-print"' ] for platform in ['linux32', 'linux64', 'macosx-universal']: whitelist['nightly'][platform] += [ 'mk_add_options MOZ_MAKE_FLAGS="-j4"', ] for platform in ['linux32', 'linux64', 'macosx-universal', 'win32', 'win64']: whitelist['nightly'][platform] += ['ac_add_options --enable-signmar'] whitelist['nightly'][platform] += ['ac_add_options --enable-js-diagnostics'] 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', '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 --disable-elf-hack # --enable-elf-hack conflicts with --enable-profiling', ] 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', 'ac_add_options --disable-elf-hack # --enable-elf-hack conflicts with --enable-profiling', ] whitelist['nightly']['macosx-universal'] += [ 'ac_add_options --with-macbundlename-prefix=Firefox', 'mk_add_options MOZ_MAKE_FLAGS="-j12"', 'ac_add_options --with-ccache', 'ac_add_options --disable-install-strip', 'ac_add_options --enable-instruments', 'ac_add_options --enable-dtrace', ] whitelist['nightly']['win32'] += [ '. $topsrcdir/configs/mozilla2/win32/include/choose-make-flags', 'mk_add_options MOZ_MAKE_FLAGS=-j1', 'if test "$IS_NIGHTLY" != ""; then', 'ac_add_options --disable-auto-deps', 'fi', 'ac_add_options --enable-metro', ] whitelist['nightly']['win64'] += [ '. "$topsrcdir/browser/config/mozconfigs/win64/common-win64"', 'ac_add_options --enable-metro', ] 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', ] 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'", ] 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'", ] if __name__ == '__main__': import pprint pprint.pprint(whitelist)