Due to the process by which we synchronize this GitHub project with our internal Google source code repository, there are some oddities in our workflows and processes. We aim to minimize these, and especially to mitigate their impact on external contributors, but they are documented here for clarity and transparency. If any of these things are particularly troublesome or painful for your workflow, please reach out to us so we can prioritize a fix.
Hopefully these quirks actually make usage in other downstream projects easier, but integrators may need to look past some details (like the Bazel build system, Android support, etc.) based on their specific requirements.
The default branch is called main
. PRs should be sent there. We also have a google
branch that is sometimes used to interface with the Google internal source repository. For the most part any work on the google
branch should have minimal effect on normal developer workflows.
IREE supports building from source with both Bazel and CMake. CMake is the preferred build system for open source users and offers the most flexible configuration options. Bazel is a stricter build system and helps with usage in the Google internal source repository. Certain dependencies (think large/complex projects like CUDA, TensorFlow, PyTorch, etc.) may be difficult to support with one build system or the other, so the project may configure these as optional.