1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
# Copyright 2020 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/chrome_build.gni")
import("//build/config/compiler/compiler.gni")
if (is_android) {
import("//build/config/android/config.gni")
}
declare_args() {
# This enables build with TFLite library.
# TODO(b/269198471): Make sure the internal archive files for opt guide get
# updated when win arm64 gets added as a supported platform for TFLite.
build_with_tflite_lib = is_android || is_win || is_linux || is_mac ||
is_chromeos || is_fuchsia || is_ios
}
if (is_ios) {
declare_args() {
# iOS is bring-your-own-model. ios_on_device_llm_files should include 3 paths:
# - /path/to/weights.bin
# - /path/to/manifest.json
# - /path/to/config.pb
ios_on_device_llm_files = []
}
}
declare_args() {
# You can set the variable 'build_with_internal_optimization_guide' to true
# even in a developer build in args.gn. Setting this variable explicitly to true will
# cause your build to fail if the internal files are missing.
#
# If changing the value of this, you MUST also update the following files depending on the
# platform:
# Android: Internal expectations files that verify the native libraries are compiled into the Android binary.
# ChromeOS: //lib/chrome_util.py in the Chromite repo (ex: https://crrev.com/c/3437291)
# Linux: Internal archive files. //chrome/installer/linux/common/installer.include handles the
# relevant files not being present.
# Mac: //chrome/installer/mac/signing/parts.py
# Windows: //chrome/installer/mini_installer/chrome.release and internal archive files
if (is_fuchsia || is_android) {
# Fuchsia and Android should work but is not included in the set we release for, so we do
# not needlessly increase the binary size.
build_with_internal_optimization_guide = false
} else if (is_ios) {
build_with_internal_optimization_guide = false
} else if (build_with_tflite_lib) {
# When TFLite works for windows arm64, this lib should just work seamlessly.
# Use is_chrome_branded as a proxy for "does src-internal exist".
build_with_internal_optimization_guide = is_chrome_branded
} else {
build_with_internal_optimization_guide = false
}
}
declare_args() {
# Model execution is not built on fuchsia.
# TODO: crbug.com/393434571 - Clarify the boundary / strategy here.
build_with_model_execution = !is_fuchsia || !optimize_for_size
}
|