tree: b382dc5a489783faacd97193212f9fb415691c6d [path history] [tgz]
  1. config.gni
  2. gen-git-head-commit-id.sh
  3. icu_assembly_input_bundle.gni
  4. icu_executable.gni
  5. icu_fuchsia_component.gni
  6. icu_fuchsia_package.gni
  7. icu_group.gni
  8. icu_renamed_binary.gni
  9. icu_resource.gni
  10. icu_rust_crates.gni
  11. icu_rustc_binary.gni
  12. icu_rustc_library.gni
  13. icu_rustc_staticlib.gni
  14. icu_source_set.gni
  15. OWNERS
  16. README.md
  17. third_party_icu_headers.gni
build/icu/README.md

ICU library utilities for Fuchsia

Templates for ICU deployment on Fuchsia

The *.gni templates are shims around templates with the same name, with icu_ prepended.

These are used to produce artifacts that use different commit IDs for the ICU library for product assembly.

For example, icu_source_set is a source_set target that produces 3 flavors of each target it is instantiated for.

For example, icu_source_set("foo") produces several targets named foo.icu_XXXX, where XXXX is replaced by the commit ID of the ICU library used in its compilation.

Why do we do this?

Since the choice of the ICU library is made at compile time, but the choice of components for a given product is made at product assembly time, we must offer the product assembly “flavors” of the same components, built with different ICU commit IDs. Product assembly can then use these “flavored” builds to make the correct selection of a component.