gn2bp: filter //out from local_include_dirs
Test: //base:base
Change-Id: Iee2aa8788c0814b41d131c8490e6b8489dc471fa
diff --git a/tools/gn2bp/gen_android_bp b/tools/gn2bp/gen_android_bp
index 2087554..3468346 100755
--- a/tools/gn2bp/gen_android_bp
+++ b/tools/gn2bp/gen_android_bp
@@ -831,7 +831,14 @@
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)
+ # Adding local_include_dirs is necessary due to source_sets / filegroups
+ # which do not properly propagate include directories.
+ # Filter any directory inside //out as a) this directory does not exist for
+ # aosp / soong builds and b) the include directory should already be
+ # configured via library dependency.
+ module.local_include_dirs.update([gn_utils.label_to_path(d)
+ for d in target.include_dirs
+ if not re.match('^//out/.*', d)])
module_is_compiled = module.type not in ('genrule', 'filegroup')
if module_is_compiled: