summaryrefslogtreecommitdiffstats
path: root/chromium/components/optimization_guide/features.gni
blob: 95f50395b03da7f8026197c9a9081aec57a1125d (plain)
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
# Copyright 2020 The Chromium Authors. All rights reserved.
# 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")
if (is_android) {
  import("//build/config/android/config.gni")
}

declare_args() {
  # This enables build with TFLite library.
  # Currently only available for Desktop and Android.
  build_with_tflite_lib =
      is_android || (is_win && target_cpu != "arm64") || is_linux || is_mac ||
      is_chromeos || is_fuchsia || is_ios

  # 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_ios) {
    # The library this pulls in depends on open-source LevelDB which is not supported for Fuchsia.
    # iOS 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_android) {
    build_with_internal_optimization_guide = enable_chrome_android_internal
  } else {
    # Use is_chrome_branded as a proxy for "does src-internal exist".
    build_with_internal_optimization_guide = is_chrome_branded
  }
}