[build] support custom build config for external platform (#16618)

diff --git a/src/platform/BUILD.gn b/src/platform/BUILD.gn
index caed34b..6e6537a 100644
--- a/src/platform/BUILD.gn
+++ b/src/platform/BUILD.gn
@@ -36,7 +36,7 @@
   }
 }
 
-if (chip_device_platform != "none") {
+if (chip_device_platform != "none" && chip_device_platform != "external") {
   declare_args() {
     # Extra header to include in CHIPDeviceConfig.h for project.
     chip_device_project_config_include = ""
@@ -240,7 +240,7 @@
           [ "CHIP_DEVICE_CONFIG_ENABLE_WPA=${chip_device_config_enable_wpa}" ]
     }
   }
-} else {
+} else if (chip_device_platform == "none") {
   buildconfig_header("platform_buildconfig") {
     header = "CHIPDeviceBuildConfig.h"
     header_dir = "platform"
@@ -254,6 +254,10 @@
       defines += [ "EXTERNAL_KEYVALUESTOREMANAGERIMPL_HEADER=\"controller/java/AndroidKeyValueStoreManagerImpl.h\"" ]
     }
   }
+} else {
+  group("platform_buildconfig") {
+    public_deps = [ "${chip_platform_target}:platform_buildconfig" ]
+  }
 }
 
 if (chip_device_platform != "none") {