gn2bp: add jni_headers if --sysroot is set in cflags am: f22e9d07c6

Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2276597

Change-Id: If3d7f4e1e27e19d188a08a423563bbf4cd649c52
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/tools/gn2bp/Android.bp.swp b/tools/gn2bp/Android.bp.swp
index f2bffc4..cbfc048 100644
--- a/tools/gn2bp/Android.bp.swp
+++ b/tools/gn2bp/Android.bp.swp
@@ -216,6 +216,9 @@
         "out/test/gen/",
         "third_party/android_ndk/sources/android/cpufeatures/",
     ],
+    header_libs: [
+        "jni_headers",
+    ],
 }
 
 // GN: //base/allocator/partition_allocator:partition_alloc_buildflags
@@ -962,6 +965,9 @@
         "third_party/icu/source/common/",
         "third_party/icu/source/i18n/",
     ],
+    header_libs: [
+        "jni_headers",
+    ],
 }
 
 // GN: //base:base_jni_headers
@@ -1265,6 +1271,9 @@
         "buildtools/third_party/libc++/",
         "out/test/gen/",
     ],
+    header_libs: [
+        "jni_headers",
+    ],
 }
 
 // GN: //base:build_date
@@ -1583,6 +1592,9 @@
         "buildtools/third_party/libc++/",
         "out/test/gen/",
     ],
+    header_libs: [
+        "jni_headers",
+    ],
 }
 
 // GN: //base/third_party/dynamic_annotations:dynamic_annotations
@@ -1614,6 +1626,9 @@
         "buildtools/third_party/libc++/",
         "out/test/gen/",
     ],
+    header_libs: [
+        "jni_headers",
+    ],
 }
 
 // GN: //base:tracing_buildflags
@@ -2804,6 +2819,9 @@
         "out/test/gen/",
         "third_party/boringssl/src/include/",
     ],
+    header_libs: [
+        "jni_headers",
+    ],
 }
 
 // GN: //third_party/boringssl:boringssl_asm
@@ -2859,6 +2877,9 @@
         "third_party/icu/source/common/",
         "third_party/icu/source/i18n/",
     ],
+    header_libs: [
+        "jni_headers",
+    ],
 }
 
 // GN: //third_party/icu:icuuc_private
@@ -2907,6 +2928,9 @@
         "third_party/icu/source/common/",
         "third_party/icu/source/i18n/",
     ],
+    header_libs: [
+        "jni_headers",
+    ],
 }
 
 // GN: //third_party/icu:icuuc_public
@@ -2958,6 +2982,9 @@
         "out/test/gen/",
         "third_party/libevent/android/",
     ],
+    header_libs: [
+        "jni_headers",
+    ],
 }
 
 // GN: //third_party/modp_b64:modp_b64
@@ -2991,5 +3018,8 @@
         "buildtools/third_party/libc++/",
         "out/test/gen/",
     ],
+    header_libs: [
+        "jni_headers",
+    ],
 }
 
diff --git a/tools/gn2bp/gen_android_bp b/tools/gn2bp/gen_android_bp
index 0fec478..85fdba5 100755
--- a/tools/gn2bp/gen_android_bp
+++ b/tools/gn2bp/gen_android_bp
@@ -824,6 +824,12 @@
 
   if target.type in gn_utils.LINKER_UNIT_TYPES:
     module.cflags.update(_get_cflags(target))
+    # HACK! We may have to link against chromium's sysroot instead, but this
+    # seems to work for //base:base.
+    # TODO: implement proper cflag parsing.
+    for flag in target.cflags:
+      if '--sysroot=' in flag:
+        module.header_libs.add('jni_headers')
     module.local_include_dirs.update(gn_utils.label_to_path(it) for it in target.include_dirs)
 
   module_is_compiled = module.type not in ('genrule', 'filegroup')