suite/moz.configure
author Ben Campbell <benc@thunderbird.net>
Fri, 24 Sep 2021 23:33:50 +1200
changeset 107008 f6efe59e2aa31e043ba7cf896af2d486f2cbd98e
parent 98658 9e6d6a91fd9eca8fba45a39d191005681283aff4
permissions -rw-r--r--
try: -b do -p linux64,macosx64,win32 -u all

# -*- 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_SUITE", True)
set_define("MOZ_SUITE", True)

imply_option("MOZ_APP_BASENAME", "SeaMonkey")

imply_option('--enable-default-browser-agent', 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(check_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(check_build_environment, application)
@imports(_from="os.path", _import="exists")
@imports(_from="__builtin__", _import="open")
def seamonkey_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("SEAMONKEY_VERSION", seamonkey_version.version)
set_defconf("SEAMONKEY_VERSION_DISPLAY", seamonkey_version.version_display)


@depends(check_build_environment)
@imports(_from="os.path", _import="exists")
@imports(_from="__builtin__", _import="open")
def thunderbird_version(build_env):
    version_file = os.path.join(
        build_env.topsrcdir, "comm/mail", "config", "version.txt"
    )
    version_file_display = os.path.join(
        build_env.topsrcdir, "comm/mail", "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_SYNC", False)

# Building extensions is disabled by default.
# Bug 1231349 needs to be fixed first for l10n builds.
# Set desired defaults to True from False when the l10n bug is fixed.

# =========================================================
# = ChatZilla extension
# =========================================================
option(
    "--enable-irc", default=False, help="Enable building of the ChatZilla IRC extension"
)


@depends_if("--enable-irc")
def irc(arg):
    return True


set_config("MOZ_IRC", irc)

# =========================================================
# = DebugQA extension
# =========================================================
option(
    "--enable-debugqa", default=False, help="Enable building of the DebugQA extension"
)


@depends_if("--enable-debugqa")
def debugqa(arg):
    return True


set_config("MOZ_DEBUGQA", debugqa)

include("../mailnews/moz.configure")
include("../../toolkit/moz.configure")