From fe351d5ab8cbc574f33456376bf5aa90d3162d5d Mon Sep 17 00:00:00 2001 From: Laurenz Date: Wed, 19 Aug 2026 08:47:14 +0200 Subject: [PATCH] Load cc_library from rules_cc In Bazel 9+ all rulesets have to be explicitly loaded from external modules. See https://blog.bazel.build/2026/01/20/bazel-9.html#:~:text=In%208.0%2C%20we,flag%20in%2010.0. Change-Id: Ib55d32ea9e935cc5ed0c304a1eed972b3b12b833 --- BUILD | 1 + MODULE.bazel | 1 + bazel/ceres.bzl | 4 +++- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/BUILD b/BUILD index 386fc580e..7811d9306 100644 --- a/BUILD +++ b/BUILD @@ -31,6 +31,7 @@ # These are Bazel rules to build Ceres. It's currently in Alpha state, and does # not support parameterization around threading choice or sparse backends. load("//:bazel/ceres.bzl", "ceres_library") +load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_test") ceres_library( name = "ceres", diff --git a/MODULE.bazel b/MODULE.bazel index d0060e6d9..97ba31eb4 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -6,3 +6,4 @@ bazel_dep(name = "abseil-cpp", version = "20250127.0") bazel_dep(name = "googletest", version = "1.16.0") bazel_dep(name = "eigen", version = "3.4.0") bazel_dep(name = "google_benchmark", version = "1.8.4") +bazel_dep(name = "rules_cc", version = "0.2.22") diff --git a/bazel/ceres.bzl b/bazel/ceres.bzl index aba3c9dfe..609ba925b 100644 --- a/bazel/ceres.bzl +++ b/bazel/ceres.bzl @@ -28,6 +28,8 @@ # # Support for building Ceres Solver with a specific configuration. +load("@rules_cc//cc:defs.bzl", "cc_library") + CERES_SRCS = ["internal/ceres/" + filename for filename in [ "accelerate_sparse.cc", "array_utils.cc", @@ -160,7 +162,7 @@ def ceres_library( else: schur_sources = native.glob(["internal/ceres/generated/*.cc"]) - native.cc_library( + cc_library( name = name, # Internal sources, options, and dependencies.