| # Copyright 2019 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/android/config.gni") |
| import( |
| "//chrome/android/features/autofill_assistant/autofill_assistant_module.gni") |
| import("//chrome/android/features/dev_ui/dev_ui_module.gni") |
| import("//chrome/android/features/tab_ui/tab_ui_module.gni") |
| import("//chrome/android/modules/buildflags.gni") |
| import( |
| "//chrome/android/modules/cablev2_authenticator/cablev2_authenticator_module.gni") |
| import("//chrome/android/modules/extra_icu/extra_icu_module.gni") |
| import("//chrome/android/modules/stack_unwinder/stack_unwinder_module.gni") |
| import("//chrome/android/modules/test_dummy/test_dummy_module.gni") |
| import("//device/vr/buildflags/buildflags.gni") |
| import("//weblayer/variables.gni") |
| import("//weblayer/weblayer_module.gni") |
| |
| if (enable_vr) { |
| import("//chrome/android/features/vr/vr_module.gni") |
| } |
| if (enable_arcore) { |
| import("//chrome/android/features/ar/ar_module.gni") |
| } |
| |
| # List of feature module descs for each Chrome flavor. These lists are used to |
| # autogenerate the relevant module targets and bundles. A feature module desc |
| # is a GN scope with the following fields: |
| # name: Name of feature module. |
| # java_deps: Java libraries and resources going into module. |
| # android_manifest: AndroidManifest.xml of module. |
| # android_manifest_dep: (Optional) Target that generates AndroidManifest.xml. |
| # native_deps: (Optional) Native code going into module. |
| # native_entrypoints: (Optional) File with list of exposed symbols from native |
| # feature module library. |
| # loadable_modules_32_bit: (Optional) List of additional 32-bit shared |
| # library files going into module if the module is executed in 32 bit. |
| # loadable_modules_64_bit: (Optional) List of additional 64-bit shared |
| # library files going into module if the module is executed in 64 bit. |
| # pak_deps: (Optional) Grit or repack targets of PAKs going into module. |
| # paks: (Optional) PAKs going into module. |
| # Each new module needs to add a desc to one of the lists below. |
| |
| # Modules shipped in Chrome Modern (Android L+). |
| chrome_modern_module_descs = [ |
| test_dummy_module_desc, |
| extra_icu_module_desc, |
| stack_unwinder_module_desc, |
| ] |
| if (enable_vr) { |
| chrome_modern_module_descs += [ vr_module_desc ] |
| } |
| if (dfmify_dev_ui) { |
| chrome_modern_module_descs += [ dev_ui_module_desc ] |
| } |
| |
| # Modules shipped in Monochrome (Android N+). |
| monochrome_module_descs = chrome_modern_module_descs |
| if (false) { # AR DFM is currently disabled |
| monochrome_module_descs += [ ar_module_desc ] |
| } |
| if (!disable_tab_ui_dfm) { |
| monochrome_module_descs += [ tab_ui_module_desc ] |
| } |
| monochrome_module_descs += [ cablev2_authenticator_module_desc ] |
| |
| # Modules shipped in Trichrome (Android Q+). |
| trichrome_module_descs = monochrome_module_descs |
| |
| # Add this after we assign trichrome_module_descs, since WebLayer should only be |
| # part of Monochrome. |
| if (enable_chrome_module && webview_includes_weblayer) { |
| monochrome_module_descs += [ weblayer_module_desc ] |
| } |
| |
| # Add a slightly different autofill_assistant module desc for trichrome compared |
| # to monochrome. |
| if (!disable_autofill_assistant_dfm) { |
| monochrome_module_descs += [ autofill_assistant_module_desc ] |
| trichrome_module_descs += [ autofill_assistant_module_trichrome_desc ] |
| } |