suite/moz.configure
author Martin Giger <martin@humanoids.be>
Thu, 02 Feb 2023 13:17:55 +0100
changeset 37979 ec66e789a69e5aab9f9d2a5266f93f1dcff76dba
parent 37488 5275676fe0c3d18007739f791d9c99c080d68e41
permissions -rw-r--r--
Port Bug 961019 - Remove nsIClassInfo::MAIN_THREAD_ONLY. rs=bustage-fix

# -*- 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_has_linux_kernel)
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 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"
    )
    version_file_package = os.path.join(
        build_env.topsrcdir, app_path[0], "config", "version_package.txt"
    )
    rv = []
    for f in [version_file, version_file_display, version_file_package]:
        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],
                     version_package=rv[2])


set_defconf("SEAMONKEY_VERSION", seamonkey_version.version)
set_defconf("SEAMONKEY_VERSION_DISPLAY", seamonkey_version.version_display)
# Currently not set in suite comm-central
# set_defconf("MOZ_PKG_VERSION", seamonkey_version.version_package)


@depends(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.

# =========================================================
# = 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)

# Miscellaneous programs
# ==============================================================

check_prog("ZIP", ("zip",))

include("../build/moz.configure/gecko_source.configure")

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