Restore generator headers in cmake install until the next breaking C++ release

Fixes #20647

PiperOrigin-RevId: 738463411
diff --git a/cmake/installed_include_golden.txt b/cmake/installed_include_golden.txt
index 20ad321..9a1bad8 100644
--- a/cmake/installed_include_golden.txt
+++ b/cmake/installed_include_golden.txt
@@ -12,9 +12,11 @@
 google/protobuf/compiler/code_generator.h
 google/protobuf/compiler/code_generator_lite.h
 google/protobuf/compiler/command_line_interface.h
+google/protobuf/compiler/cpp/generator.h
 google/protobuf/compiler/cpp/helpers.h
 google/protobuf/compiler/cpp/names.h
 google/protobuf/compiler/cpp/options.h
+google/protobuf/compiler/csharp/csharp_generator.h
 google/protobuf/compiler/csharp/names.h
 google/protobuf/compiler/importer.h
 google/protobuf/compiler/java/context.h
@@ -25,7 +27,9 @@
 google/protobuf/compiler/java/name_resolver.h
 google/protobuf/compiler/java/names.h
 google/protobuf/compiler/java/options.h
+google/protobuf/compiler/kotlin/generator.h
 google/protobuf/compiler/notices.h
+google/protobuf/compiler/objectivec/generator.h
 google/protobuf/compiler/objectivec/line_consumer.h
 google/protobuf/compiler/objectivec/names.h
 google/protobuf/compiler/objectivec/nsobject_methods.h
@@ -35,7 +39,10 @@
 google/protobuf/compiler/plugin.h
 google/protobuf/compiler/plugin.pb.h
 google/protobuf/compiler/plugin.proto
+google/protobuf/compiler/python/generator.h
+google/protobuf/compiler/python/pyi_generator.h
 google/protobuf/compiler/retention.h
+google/protobuf/compiler/ruby/ruby_generator.h
 google/protobuf/compiler/scc.h
 google/protobuf/compiler/subprocess.h
 google/protobuf/compiler/versions.h
diff --git a/pkg/BUILD.bazel b/pkg/BUILD.bazel
index 0c2c008..fdc00fe 100644
--- a/pkg/BUILD.bazel
+++ b/pkg/BUILD.bazel
@@ -224,8 +224,15 @@
         "//src/google/protobuf/compiler/java:names",
         "//src/google/protobuf/compiler/objectivec:names",
         "//src/google/protobuf/compiler/php:names",
-        # TODO Make this private once gRPC migrates off it.
+        # TODO Make these private in the next breaking C++ release.
+        "//src/google/protobuf/compiler/cpp:generator_headers",
+        "//src/google/protobuf/compiler/csharp:generator_headers",
+        "//src/google/protobuf/compiler/java:generator_headers",
+        "//src/google/protobuf/compiler/kotlin:generator_headers",
+        "//src/google/protobuf/compiler/objectivec:generator_headers",
         "//src/google/protobuf/compiler/php",
+        "//src/google/protobuf/compiler/python:generator_headers",
+        "//src/google/protobuf/compiler/ruby:generator_headers",
     ],
 )
 
diff --git a/src/google/protobuf/compiler/cpp/BUILD.bazel b/src/google/protobuf/compiler/cpp/BUILD.bazel
index 72aa5e2..f1febdd 100644
--- a/src/google/protobuf/compiler/cpp/BUILD.bazel
+++ b/src/google/protobuf/compiler/cpp/BUILD.bazel
@@ -23,6 +23,20 @@
 )
 
 cc_library(
+    name = "generator_headers",
+    hdrs = ["generator.h"],
+    copts = COPTS,
+    strip_include_prefix = "/src",
+    visibility = ["//pkg:__pkg__"],
+    deps = [
+        "//src/google/protobuf",
+        "//src/google/protobuf/compiler:code_generator",
+        "@abseil-cpp//absl/status",
+        "@abseil-cpp//absl/strings",
+    ],
+)
+
+cc_library(
     name = "names_internal",
     srcs = [
         "helpers.cc",
diff --git a/src/google/protobuf/compiler/csharp/BUILD.bazel b/src/google/protobuf/compiler/csharp/BUILD.bazel
index c140fc3..1e965e4 100644
--- a/src/google/protobuf/compiler/csharp/BUILD.bazel
+++ b/src/google/protobuf/compiler/csharp/BUILD.bazel
@@ -21,6 +21,18 @@
 )
 
 cc_library(
+    name = "generator_headers",
+    hdrs = ["csharp_generator.h"],
+    copts = COPTS,
+    strip_include_prefix = "/src",
+    visibility = ["//pkg:__pkg__"],
+    deps = [
+        "//src/google/protobuf",
+        "//src/google/protobuf/compiler:code_generator",
+    ],
+)
+
+cc_library(
     name = "csharp",
     srcs = [
         "csharp_doc_comment.cc",
diff --git a/src/google/protobuf/compiler/java/BUILD.bazel b/src/google/protobuf/compiler/java/BUILD.bazel
index 16c2128..5197a0f 100644
--- a/src/google/protobuf/compiler/java/BUILD.bazel
+++ b/src/google/protobuf/compiler/java/BUILD.bazel
@@ -25,6 +25,18 @@
 )
 
 cc_library(
+    name = "generator_headers",
+    hdrs = ["generator.h"],
+    copts = COPTS,
+    strip_include_prefix = "/src",
+    visibility = ["//pkg:__pkg__"],
+    deps = [
+        "//src/google/protobuf",
+        "//src/google/protobuf/compiler:code_generator",
+    ],
+)
+
+cc_library(
     name = "helpers",
     srcs = [
         "doc_comment.cc",
diff --git a/src/google/protobuf/compiler/kotlin/BUILD.bazel b/src/google/protobuf/compiler/kotlin/BUILD.bazel
index 3ae6340..94799b7 100644
--- a/src/google/protobuf/compiler/kotlin/BUILD.bazel
+++ b/src/google/protobuf/compiler/kotlin/BUILD.bazel
@@ -1,6 +1,18 @@
 load("//build_defs:cpp_opts.bzl", "COPTS")
 
 cc_library(
+    name = "generator_headers",
+    hdrs = ["generator.h"],
+    copts = COPTS,
+    strip_include_prefix = "/src",
+    visibility = ["//pkg:__pkg__"],
+    deps = [
+        "//src/google/protobuf",
+        "//src/google/protobuf/compiler:code_generator",
+    ],
+)
+
+cc_library(
     name = "kotlin",
     srcs = ["generator.cc"],
     hdrs = ["generator.h"],
diff --git a/src/google/protobuf/compiler/objectivec/BUILD.bazel b/src/google/protobuf/compiler/objectivec/BUILD.bazel
index b74a135..26b4766 100644
--- a/src/google/protobuf/compiler/objectivec/BUILD.bazel
+++ b/src/google/protobuf/compiler/objectivec/BUILD.bazel
@@ -18,6 +18,18 @@
 )
 
 cc_library(
+    name = "generator_headers",
+    hdrs = ["generator.h"],
+    copts = COPTS,
+    strip_include_prefix = "/src",
+    visibility = ["//pkg:__pkg__"],
+    deps = [
+        "//src/google/protobuf",
+        "//src/google/protobuf/compiler:code_generator",
+    ],
+)
+
+cc_library(
     name = "names_internal",
     srcs = [
         "names.cc",
diff --git a/src/google/protobuf/compiler/python/BUILD.bazel b/src/google/protobuf/compiler/python/BUILD.bazel
index f3b00be..7fde826 100644
--- a/src/google/protobuf/compiler/python/BUILD.bazel
+++ b/src/google/protobuf/compiler/python/BUILD.bazel
@@ -7,6 +7,26 @@
 load("//build_defs:cpp_opts.bzl", "COPTS")
 
 cc_library(
+    name = "generator_headers",
+    hdrs = [
+        "generator.h",
+        "pyi_generator.h",
+    ],
+    copts = COPTS,
+    strip_include_prefix = "/src",
+    visibility = ["//pkg:__pkg__"],
+    deps = [
+        "//src/google/protobuf",
+        "//src/google/protobuf/compiler:code_generator",
+        "@abseil-cpp//absl/container:flat_hash_map",
+        "@abseil-cpp//absl/container:flat_hash_set",
+        "@abseil-cpp//absl/memory",
+        "@abseil-cpp//absl/strings",
+        "@abseil-cpp//absl/synchronization",
+    ],
+)
+
+cc_library(
     name = "python",
     srcs = [
         "generator.cc",
diff --git a/src/google/protobuf/compiler/ruby/BUILD.bazel b/src/google/protobuf/compiler/ruby/BUILD.bazel
index 2109139..7a2fdd8 100644
--- a/src/google/protobuf/compiler/ruby/BUILD.bazel
+++ b/src/google/protobuf/compiler/ruby/BUILD.bazel
@@ -7,6 +7,18 @@
 load("//build_defs:cpp_opts.bzl", "COPTS")
 
 cc_library(
+    name = "generator_headers",
+    hdrs = ["ruby_generator.h"],
+    copts = COPTS,
+    strip_include_prefix = "/src",
+    visibility = ["//pkg:__pkg__"],
+    deps = [
+        "//src/google/protobuf",
+        "//src/google/protobuf/compiler:code_generator",
+    ],
+)
+
+cc_library(
     name = "ruby",
     srcs = ["ruby_generator.cc"],
     hdrs = ["ruby_generator.h"],