Loading cc/library.go +27 −13 Original line number Diff line number Diff line Loading @@ -449,23 +449,37 @@ func (l *libraryDecorator) collectHeadersForSnapshot(ctx android.ModuleContext) } continue } exts := headerExts // Glob all files under this special directory, because of C++ headers. if strings.HasPrefix(dir, "external/libcxx/include") { exts = []string{""} } for _, ext := range exts { glob, err := ctx.GlobWithDeps(dir+"/**/*"+ext, nil) glob, err := ctx.GlobWithDeps(dir+"/**/*", nil) if err != nil { ctx.ModuleErrorf("glob failed: %#v", err) return } for _, header := range glob { if strings.HasSuffix(header, "/") { isLibcxx := strings.HasPrefix(dir, "external/libcxx/include") j := 0 for i, header := range glob { if isLibcxx { // Glob all files under this special directory, because of C++ headers with no // extension. if !strings.HasSuffix(header, "/") { continue } ret = append(ret, android.PathForSource(ctx, header)) } else { // Filter out only the files with extensions that are headers. found := false for _, ext := range headerExts { if strings.HasSuffix(header, ext) { found = true break } } if !found { continue } } if i != j { glob[j] = glob[i] } j++ } } Loading Loading
cc/library.go +27 −13 Original line number Diff line number Diff line Loading @@ -449,23 +449,37 @@ func (l *libraryDecorator) collectHeadersForSnapshot(ctx android.ModuleContext) } continue } exts := headerExts // Glob all files under this special directory, because of C++ headers. if strings.HasPrefix(dir, "external/libcxx/include") { exts = []string{""} } for _, ext := range exts { glob, err := ctx.GlobWithDeps(dir+"/**/*"+ext, nil) glob, err := ctx.GlobWithDeps(dir+"/**/*", nil) if err != nil { ctx.ModuleErrorf("glob failed: %#v", err) return } for _, header := range glob { if strings.HasSuffix(header, "/") { isLibcxx := strings.HasPrefix(dir, "external/libcxx/include") j := 0 for i, header := range glob { if isLibcxx { // Glob all files under this special directory, because of C++ headers with no // extension. if !strings.HasSuffix(header, "/") { continue } ret = append(ret, android.PathForSource(ctx, header)) } else { // Filter out only the files with extensions that are headers. found := false for _, ext := range headerExts { if strings.HasSuffix(header, ext) { found = true break } } if !found { continue } } if i != j { glob[j] = glob[i] } j++ } } Loading