| module(name = "gcc_toolchain", |
| version = "0.10.0", |
| ) |
| |
| # Dependencies |
| # ============ |
| bazel_dep(name = "bazel_skylib", version = "1.8.2") |
| bazel_dep(name = "bazel_lib", version = "3.3.1") |
| bazel_dep(name = "platforms", version = "1.0.0") |
| bazel_dep(name = "rules_cc", version = "0.2.17") |
| |
| # Local Toolchains |
| # ================ |
| gcc_toolchains = use_extension("//toolchain:module_extensions.bzl", "gcc_toolchains", dev_dependency = True) |
| |
| [ |
| [ |
| gcc_toolchains.toolchain( |
| name = "gcc_toolchain_{}".format(arch), |
| target_arch = arch, |
| ), |
| use_repo(gcc_toolchains, "gcc_toolchain_{}".format(arch)), |
| register_toolchains( |
| "@gcc_toolchain_{}//:cc_toolchain".format(arch), |
| "@gcc_toolchain_{}//:fortran_toolchain".format(arch), |
| # Register toolchains as dev dependencies so that we don't pollute the toolchain resolution of consumers. |
| dev_dependency = True, |
| ), |
| ] |
| # Unfortunately, we can't load `ARCHS` directly here. |
| # But the attributes in `gcc_toolchains.toolchain` are gated to only contain values from ARCHS. |
| for arch in [ |
| "aarch64", |
| "armv7", |
| "x86_64", |
| ] |
| ] |
| |
| # Dev Dependencies (for examples/) |
| # =============================== |
| bazel_dep(name = "rules_foreign_cc", version = "0.15.1", dev_dependency = True) |
| |
| # Pin to a post-0.15.1 commit on main that includes the `-std=gnu90` flag for |
| # the bundled pkg-config build (PR #1458), required so the bundled glib in |
| # pkg-config 0.29.2 compiles with GCC 15+ (which defaults to C23). |
| archive_override( |
| module_name = "rules_foreign_cc", |
| integrity = "sha256-bP2ml4bfTFOThLHAAxwTu41mawBCpOq1mEH6emwh/Kk=", |
| strip_prefix = "rules_foreign_cc-006ae82d9b4953a9b1c170827aef660f9f0f9ec0", |
| urls = ["https://github.com/bazel-contrib/rules_foreign_cc/archive/006ae82d9b4953a9b1c170827aef660f9f0f9ec0.tar.gz"], |
| ) |
| |
| bazel_dep(name = "stardoc", version = "0.5.6", dev_dependency = True, repo_name = "io_bazel_stardoc") |
| |
| # We pin stardoc because a dependency requests a newer version (0.7.2), but the non-workspace flow doesn't work with it. |
| single_version_override( |
| module_name = "stardoc", |
| version = "0.5.6", |
| ) |
| |
| bazel_dep(name = "protobuf", version = "33.4", dev_dependency = True, repo_name = "com_google_protobuf") |
| single_version_override( |
| module_name = "protobuf", |
| patch_strip = 1, |
| patches = [ |
| "//third_party/patches:com_google_protobuf.bzlmod.patch", |
| ], |
| version = "33.4", |
| ) |
| |
| non_bazel_dependencies = use_extension("//:internal.bzl", "non_bazel_dependencies") |
| use_repo( |
| non_bazel_dependencies, |
| "avl", |
| "lapack", |
| "openssl", |
| ) |
| |
| bazel_dep(name = "rules_shell", version = "0.6.1") |