blob: e515795cae1250c054b55a3106295ba2942f9a06 [file]
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")