Revision control

Other Tools

# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
set_config("MOZ_THUNDERBIRD", True)
set_define("MOZ_THUNDERBIRD", True)
imply_option("MOZ_APP_BASENAME", "Thunderbird")
set_config("MOZ_APPUPDATE_HOST", "aus.thunderbird.net")
imply_option("MOZ_CRASHREPORTER_URL", "https://crash-reports.thunderbird.net/")
imply_option("--enable-default-browser-agent", False)
imply_option("MOZ_REQUIRE_SIGNING", False)
@depends(target_is_windows, target_is_linux)
def bundled_fonts(is_windows, is_linux):
if is_windows or is_linux:
return True
set_config("MOZ_BUNDLED_FONTS", bundled_fonts)
add_old_configure_assignment("MOZ_BUNDLED_FONTS", bundled_fonts)
@depends(build_environment, "--help")
def comm_paths(build_env, _):
topsrcdir = build_env.topsrcdir
topobjdir = build_env.topobjdir
moztopsrcdir = topsrcdir
commtopsrcdir = "%s/comm" % topsrcdir
mozreltopsrcdir = "."
commreltopsrcdir = "comm"
commtopobjdir = "%s/comm" % topobjdir
return namespace(
moztopsrcdir=moztopsrcdir,
commtopsrcdir=commtopsrcdir,
mozreltopsrcdir=mozreltopsrcdir,
commreltopsrcdir=commreltopsrcdir,
commtopobjdir=commtopobjdir,
)
@template
def set_defconf(k, v):
set_config(k, v)
set_define(k, v)
add_old_configure_assignment(k, v)
set_defconf("moztopsrcdir", comm_paths.moztopsrcdir)
set_defconf("commtopsrcdir", comm_paths.commtopsrcdir)
set_defconf("mozreltopsrcdir", comm_paths.mozreltopsrcdir)
set_defconf("commreltopsrcdir", comm_paths.commreltopsrcdir)
set_defconf("commtopobjdir", comm_paths.commtopobjdir)
@depends(build_environment, application)
@imports(_from="os.path", _import="exists")
@imports(_from="__builtin__", _import="open")
def thunderbird_version(build_env, app_path):
version_file = os.path.join(
build_env.topsrcdir, app_path[0], "config", "version.txt"
)
version_file_display = os.path.join(
build_env.topsrcdir, app_path[0], "config", "version_display.txt"
)
rv = []
for f in [version_file, version_file_display]:
if exists(f):
f_value = open(f).read().strip()
else:
f_value = "unknown"
rv.append(f_value)
return namespace(version=rv[0], version_display=rv[1])
set_defconf("THUNDERBIRD_VERSION", thunderbird_version.version)
set_defconf("THUNDERBIRD_VERSION_DISPLAY", thunderbird_version.version_display)
set_define("MOZ_SEPARATE_MANIFEST_FOR_THEME_OVERRIDES", True)
imply_option("MOZ_PLACES", True)
imply_option("MOZ_SERVICES_HEALTHREPORT", True)
imply_option("MOZ_DEDICATED_PROFILES", True)
imply_option("MOZ_BLOCK_PROFILE_DOWNGRADE", True)
with only_when(target_is_linux & compile_environment):
option(env="MOZ_NO_PIE_COMPAT", help="Enable non-PIE wrapper")
set_config("MOZ_NO_PIE_COMPAT", depends_if("MOZ_NO_PIE_COMPAT")(lambda _: True))
@depends("MOZ_AUTOMATION")
@imports(_from="os", _import="environ")
@imports(_from="six", _import="ensure_text")
def pkg_libotr(automation):
if automation:
fetch_dir = environ.get("MOZ_FETCHES_DIR", None)
if fetch_dir:
log.info("Including libotr from {}".format(fetch_dir))
return ensure_text(fetch_dir)
log.info("TB_LIBOTR_PREBUILT is set, but MOZ_FETCHES_DIR is invalid.")
set_config("TB_LIBOTR_PREBUILT", pkg_libotr)
set_config(
"MOZ_TELEMETRY_EXTRA_HISTOGRAM_FILES",
["/comm/mail/components/telemetry/Histograms.json"],
)
set_config(
"MOZ_TELEMETRY_EXTRA_SCALAR_FILES", ["/comm/mail/components/telemetry/Scalars.yaml"]
)
set_config(
"MOZ_TELEMETRY_EXTRA_EVENT_FILES", ["/comm/mail/components/telemetry/Events.yaml"]
)
include("../build/moz.configure/gecko_source.configure")
include("../mailnews/moz.configure")
imply_option("--enable-app-system-headers", True)
include("../../toolkit/moz.configure")