gn2bp: parse cpp_std from cflags

Chromium is using both c++20 and c++17 (though all of //base:base seems
to use c++20).

Test: //base:base
Change-Id: Ibda3b67e3745d7eda56f260ae8c065512c1f672b
diff --git a/tools/gn2bp/gen_android_bp b/tools/gn2bp/gen_android_bp
index 40addef..88b2b5a 100755
--- a/tools/gn2bp/gen_android_bp
+++ b/tools/gn2bp/gen_android_bp
@@ -343,6 +343,7 @@
     self.android = Target('android')
     self.host = Target('host')
     self.stl = None
+    self.cpp_std = None
     self.dist = dict()
     self.strip = dict()
     self.data = set()
@@ -391,6 +392,7 @@
     self._output_field(output, 'tool_files')
     self._output_field(output, 'data')
     self._output_field(output, 'stl')
+    self._output_field(output, 'cpp_std')
     self._output_field(output, 'apex_available')
     self._output_field(output, 'min_sdk_version')
     self._output_field(output, 'version_script')
@@ -830,6 +832,9 @@
     for flag in target.cflags:
       if '--sysroot=' in flag:
         module.header_libs.add('jni_headers')
+      if '-std=' in flag:
+        module.cpp_std = flag[len('-std='):]
+
     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')