[native_toolchain_c] Remove private dependency use (#894)

diff --git a/.github/workflows/native.yaml b/.github/workflows/native.yaml
index df5d001..50fb321 100644
--- a/.github/workflows/native.yaml
+++ b/.github/workflows/native.yaml
@@ -63,6 +63,8 @@
           ndk-version: r26b
         if: ${{ matrix.sdk == 'stable' }}
 
+      - run: dart run ../../tools/check_pubspec_overrides.dart
+
       - run: dart run ../../tools/delete_pubspec_overrides.dart
         if: ${{ matrix.dependencies == 'published' }}
 
diff --git a/pkgs/native_assets_builder/test/data/dart_app/pubspec_overrides.yaml b/pkgs/native_assets_builder/test/data/dart_app/pubspec_overrides.yaml
new file mode 100644
index 0000000..8e850de
--- /dev/null
+++ b/pkgs/native_assets_builder/test/data/dart_app/pubspec_overrides.yaml
@@ -0,0 +1,5 @@
+dependency_overrides:
+  native_assets_cli:
+    path: ../../../../native_assets_cli/
+  native_toolchain_c:
+    path: ../../../../native_toolchain_c/
diff --git a/pkgs/native_assets_builder/test/data/manifest.yaml b/pkgs/native_assets_builder/test/data/manifest.yaml
index 7ae8b9e..0cf24a3 100644
--- a/pkgs/native_assets_builder/test/data/manifest.yaml
+++ b/pkgs/native_assets_builder/test/data/manifest.yaml
@@ -8,6 +8,7 @@
 - cyclic_package_2/pubspec_overrides.yaml
 - dart_app/bin/dart_app.dart
 - dart_app/pubspec.yaml
+- dart_app/pubspec_overrides.yaml
 - native_add/build.dart
 - native_add/ffigen.yaml
 - native_add/lib/native_add.dart
diff --git a/pkgs/native_assets_builder/test/data/some_dev_dep/pubspec_overrides.yaml b/pkgs/native_assets_builder/test/data/some_dev_dep/pubspec_overrides.yaml
new file mode 100644
index 0000000..c18eed0
--- /dev/null
+++ b/pkgs/native_assets_builder/test/data/some_dev_dep/pubspec_overrides.yaml
@@ -0,0 +1,3 @@
+dependency_overrides:
+  native_assets_cli:
+    path: ../../../../native_assets_cli/
diff --git a/pkgs/native_assets_cli/example/native_add_app/pubspec_overrides.yaml b/pkgs/native_assets_cli/example/native_add_app/pubspec_overrides.yaml
new file mode 100644
index 0000000..272d61e
--- /dev/null
+++ b/pkgs/native_assets_cli/example/native_add_app/pubspec_overrides.yaml
@@ -0,0 +1,5 @@
+dependency_overrides:
+  native_assets_cli:
+    path: ../../../native_assets_cli/
+  native_toolchain_c:
+    path: ../../../native_toolchain_c/
diff --git a/pkgs/native_toolchain_c/CHANGELOG.md b/pkgs/native_toolchain_c/CHANGELOG.md
index 9927f9c..9ec73f1 100644
--- a/pkgs/native_toolchain_c/CHANGELOG.md
+++ b/pkgs/native_toolchain_c/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.3.4+1
+
+- Stop depending on private `package:native_assets_cli` `CCompilerConfig` fields.
+
 ## 0.3.4
 
 - Bump `package:native_assets_cli` to 0.4.0.
diff --git a/pkgs/native_toolchain_c/pubspec.yaml b/pkgs/native_toolchain_c/pubspec.yaml
index ca2f7ba..dffc1ca 100644
--- a/pkgs/native_toolchain_c/pubspec.yaml
+++ b/pkgs/native_toolchain_c/pubspec.yaml
@@ -1,7 +1,7 @@
 name: native_toolchain_c
 description: >-
   A library to invoke the native C compiler installed on the host machine.
-version: 0.3.4
+version: 0.3.4+1
 repository: https://github.com/dart-lang/native/tree/main/pkgs/native_toolchain_c
 
 topics:
diff --git a/tools/check_pubspec_overrides.dart b/tools/check_pubspec_overrides.dart
new file mode 100644
index 0000000..a519047
--- /dev/null
+++ b/tools/check_pubspec_overrides.dart
@@ -0,0 +1,26 @@
+import 'dart:io';
+
+void main(List<String> arguments) async {
+  final allPubspecs = await Directory.current
+      .list(recursive: true)
+      .where((f) => f.path.endsWith('pubspec.yaml'))
+      .map((f) => f as File)
+      .toList();
+  final nativePubspecs =
+      allPubspecs.where((f) => f.path.contains('pkgs/native_')).toList();
+  final missingOverrides = nativePubspecs
+      .map((element) =>
+          File.fromUri(element.uri.resolve('pubspec_overrides.yaml')))
+      .where((f) => !f.existsSync())
+      .where((f) =>
+          !f.path.endsWith('pkgs/native_assets_cli/pubspec_overrides.yaml'))
+      .toList()
+      .join('\n');
+  if (missingOverrides.isEmpty) {
+    print('No missing overrides.');
+  } else {
+    print('Missing overrides:');
+    print(missingOverrides);
+    exit(1);
+  }
+}