# -*- 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/. # ============================================================================= # = Configuration and Options # ============================================================================= @template def seamonkey_confvars(): config = { "MOZ_SUITE": True, } options = { "--enable-crashreporter": True, # MOZ_CRASHREPORTER "BROWSER_CHROME_URL": "chrome://navigator/content/navigator.xul", "MOZ_APP_BASENAME": "SeaMonkey", "MOZ_APP_ID": "{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}", "MOZ_APP_VENDOR": "Mozilla", "MOZ_DEVTOOLS": "all", "MOZ_PLACES": True, "MOZ_PROFILE_MIGRATOR": True, "MOZ_SERVICES_SYNC": True, "NSS_EXTRA_SYMBOLS_FILE": "../comm/mailnews/nss-extra.symbols", } # Config and Define for k, v in config.items(): set_config(k, v) set_define(k, v) # Imply Options for k, v in options.items(): imply_option(k, v) # Do it. seamonkey_confvars() # ============================================================================= # = Set Comm"s TOPSRCDIR # ============================================================================= @depends(build_environment, "--help") @imports(_from="os.path", _import="join") def commtopsrcdir(build_env, _): topsrcdir = build_env.topsrcdir return join(topsrcdir, "comm") set_config("commtopsrcdir", commtopsrcdir) # ============================================================================= # = Bundled Fonts # ============================================================================= @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) # ============================================================================= # = Updater # ============================================================================= set_define("MAR_CHANNEL_ID", "\"seamonkey-comm-release\"") set_define("ACCEPTED_MAR_CHANNEL_IDS", "\"seamonkey-comm-release,seamonkey-comm-central\"") # ============================================================================= # = 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) # ============================================================================= # = PIE # ============================================================================= with only_when(target_has_linux_kernel & 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)) # ============================================================================= # = Thunderbird Rust # ============================================================================= set_config("MOZ_THUNDERBIRD_RUST", True) set_define("MOZ_THUNDERBIRD_RUST", True) set_config("MOZ_OVERRIDE_GKRUST", True) set_config( "MOZ_OVERRIDE_CARGO_CONFIG", "comm/rust/.cargo/config.toml.in", ) # ============================================================================= # = Glean # ============================================================================= set_config( "MOZ_GLEAN_EXTRA_METRICS_FILES", [ "comm/mail/metrics.yaml", "comm/mail/components/compose/metrics.yaml", "comm/calendar/metrics.yaml", ], ) set_config("MOZ_GLEAN_EXTRA_TAGS_FILES", ["comm/mail/tags.yaml"]) # ============================================================================= # = Miscellaneous programs # ============================================================================= check_prog("ZIP", ("zip",)) # ============================================================================= # = Includes # ============================================================================= include("../build/moz.configure/gecko_source.configure") include("../mailnews/moz.configure") include("../../toolkit/moz.configure")