Expose C++ configuration for Starlark cc_library Exposes experimental_cc_implementation_deps and enable_legacy_cc_provider. RELNOTES:none PiperOrigin-RevId: 415010247
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java index fde7819..578f59e 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java
@@ -766,6 +766,12 @@ return cppOptions.targetLibcTopLabel; } + @StarlarkMethod(name = "enable_legacy_cc_provider", documented = false, useStarlarkThread = true) + public boolean enableLegacyCcProviderForStarlark(StarlarkThread thread) throws EvalException { + CcModule.checkPrivateStarlarkificationAllowlist(thread); + return enableLegacyCcProvider(); + } + public boolean enableLegacyCcProvider() { return !cppOptions.disableLegacyCcProvider; } @@ -849,6 +855,16 @@ return cppOptions.objcGenerateDotdFiles; } + @StarlarkMethod( + name = "experimental_cc_implementation_deps", + documented = false, + useStarlarkThread = true) + public boolean experimentalCcImplementationDepsForStarlark(StarlarkThread thread) + throws EvalException { + CcModule.checkPrivateStarlarkificationAllowlist(thread); + return experimentalCcImplementationDeps(); + } + public boolean experimentalCcImplementationDeps() { return cppOptions.experimentalCcImplementationDeps; }
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/StarlarkCcCommonTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/StarlarkCcCommonTest.java index 8dd0c8e..9b97f9d 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/StarlarkCcCommonTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/StarlarkCcCommonTest.java
@@ -6992,6 +6992,8 @@ "incompatible_enable_cc_test_feature()", "build_test_dwp()", "grte_top()", + "enable_legacy_cc_provider()", + "experimental_cc_implementation_deps()", "share_native_deps()"); scratch.file( "foo/BUILD",