| # 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 |
| } |
| } |