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: