зеркало из https://github.com/mozilla/gecko-dev.git
85 строки
2.6 KiB
Python
85 строки
2.6 KiB
Python
# -*- Mode: python; 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/.
|
|
|
|
project_flag(
|
|
"MOZ_ANDROID_EXCLUDE_FONTS",
|
|
help="Whether to exclude font files from the build",
|
|
default=True,
|
|
)
|
|
|
|
project_flag(
|
|
"MOZ_ANDROID_HLS_SUPPORT",
|
|
help="Enable HLS (HTTP Live Streaming) support (currently using the ExoPlayer library)",
|
|
default=True,
|
|
)
|
|
|
|
option(
|
|
"--num-content-services",
|
|
default="40",
|
|
help="The number of content process services to generate in the GeckoView manifest",
|
|
)
|
|
|
|
|
|
@depends("--num-content-services")
|
|
def num_content_services(value):
|
|
strValue = value[0]
|
|
intValue = int(strValue)
|
|
acceptableRange = range(1, 41)
|
|
if intValue not in acceptableRange:
|
|
die(
|
|
"Unacceptable value, must be within range [%d,%d)"
|
|
% (acceptableRange.start, acceptableRange.stop)
|
|
)
|
|
return strValue
|
|
|
|
|
|
set_config("MOZ_ANDROID_CONTENT_SERVICE_COUNT", num_content_services)
|
|
set_define("MOZ_ANDROID_CONTENT_SERVICE_COUNT", num_content_services)
|
|
|
|
project_flag(
|
|
"MOZ_ANDROID_CONTENT_SERVICE_ISOLATED_PROCESS",
|
|
help="Whether to generate content process services with isolatedProcess=true",
|
|
default=False,
|
|
)
|
|
|
|
imply_option("MOZ_NORMANDY", False)
|
|
imply_option("MOZ_SERVICES_HEALTHREPORT", True)
|
|
imply_option("MOZ_ANDROID_HISTORY", True)
|
|
imply_option("--enable-small-chunk-size", True)
|
|
|
|
|
|
@depends(target)
|
|
def check_target(target):
|
|
if target.os != "Android":
|
|
log.error(
|
|
"You must specify --target=arm-linux-androideabi (or some "
|
|
"other valid Android target) when building mobile/android."
|
|
)
|
|
die(
|
|
"See https://developer.mozilla.org/docs/Mozilla/Developer_guide/"
|
|
"Build_Instructions/Simple_Firefox_for_Android_build "
|
|
"for more information about the necessary options."
|
|
)
|
|
|
|
|
|
include("../../toolkit/moz.configure")
|
|
include("../../build/moz.configure/android-sdk.configure")
|
|
include("../../build/moz.configure/java.configure")
|
|
include("gradle.configure")
|
|
|
|
# Automation will set this via the TC environment.
|
|
option(
|
|
env="MOZ_ANDROID_FAT_AAR_ARCHITECTURES",
|
|
nargs="*",
|
|
choices=("armeabi-v7a", "arm64-v8a", "x86", "x86_64"),
|
|
help='Comma-separated list of Android CPU architectures like "armeabi-v7a,arm64-v8a,x86,x86_64"',
|
|
)
|
|
|
|
set_config(
|
|
"MOZ_ANDROID_FAT_AAR_ARCHITECTURES",
|
|
depends("MOZ_ANDROID_FAT_AAR_ARCHITECTURES")(lambda x: x),
|
|
)
|