Use static c++ crosstop tool from the Bazel SDK.

This makes us less reliant on the generated Bazel build rules.

See https://fxrev.dev/627262.

Tested with the following commands: ```
bazel build --config=fuchsia_x64 //src/examples:examples_repository
ffx repository add-from-pm -r flutter-embedder-examples.com bazel-bin/src/examples/flutter-embedder-examples.com.repo
ffx target reboot
ffx target repository register -r flutter-embedder-examples.com
ffx component run fuchsia-pkg://flutter-embedder-examples.com/hello_world#meta/hello_world_cpp.cm --recreate
```

Bug: 90066
Change-Id: I49abcacae01da051c1b198ea4d49d3b24e148dea
4 files changed
tree: 036c411f2722af8cb53a4ded2e53aaa075c13351
  1. scripts/
  2. src/
  3. tools/
  4. vendor/
  5. .bazelrc
  6. .bazelversion
  7. .gitignore
  8. .gitmodules
  9. AUTHORS
  10. CONTRIBUTING.md
  11. LICENSE
  12. OWNERS
  13. PATENTS
  14. README.md
  15. WORKSPACE.bazel
README.md

flutter-embedder.git

The Flutter & Dart embedders (FDE) repo holds the source code for building the Fuchsia-specific Flutter & Dart embedders outside of fuchsia.git.

This repository is a work in progress and should be considered experimental.

Fetch submodules

This project uses git submodules. After checking out a branch run the git submodule command to update the dependencies.

git submodule update --init --recursive

Bootstrap

Run scripts/bootstrap.sh to fetch the fuchsia sdk and generate part of the bazel sdk. This will allow c++ components to be built.

The FDE repository uses Bazel as its build system. To ensure that you are using the version of Bazel that was tested in CQ/CI we recommend using bazelisk. You can either add bazelisk to your path or invoke it directly.

# Assumes that FDE_REPO is set to your checkout directory
export PATH="${FDE_REPO}/tools/bazel:$PATH"