Loading bp2build/cc_object_conversion_test.go +42 −0 Original line number Diff line number Diff line Loading @@ -70,6 +70,7 @@ func TestCcObjectBp2Build(t *testing.T) { ], local_include_dirs = [ "include", ".", ], srcs = [ "a/b/bar.h", Loading Loading @@ -120,6 +121,7 @@ cc_defaults { ], local_include_dirs = [ "include", ".", ], srcs = [ "a/b/c.c", Loading Loading @@ -156,6 +158,9 @@ cc_object { copts = [ "-fno-addrsig", ], local_include_dirs = [ ".", ], srcs = [ "x/y/z.c", ], Loading @@ -167,6 +172,37 @@ cc_object { deps = [ ":bar", ], local_include_dirs = [ ".", ], srcs = [ "a/b/c.c", ], )`, }, }, { description: "cc_object with include_build_dir: false", moduleTypeUnderTest: "cc_object", moduleTypeUnderTestFactory: cc.ObjectFactory, moduleTypeUnderTestBp2BuildMutator: cc.ObjectBp2Build, filesystem: map[string]string{ "a/b/c.c": "", "x/y/z.c": "", }, blueprint: `cc_object { name: "foo", srcs: ["a/b/c.c"], include_build_directory: false, bazel_module: { bp2build_available: true }, } `, expectedBazelTargets: []string{`cc_object( name = "foo", copts = [ "-fno-addrsig", ], srcs = [ "a/b/c.c", ], Loading Loading @@ -262,6 +298,9 @@ func TestCcObjectConfigurableAttributesBp2Build(t *testing.T) { "//conditions:default": [ ], }), local_include_dirs = [ ".", ], )`, }, }, Loading Loading @@ -310,6 +349,9 @@ func TestCcObjectConfigurableAttributesBp2Build(t *testing.T) { "//conditions:default": [ ], }), local_include_dirs = [ ".", ], )`, }, }, Loading cc/compiler.go +5 −2 Original line number Diff line number Diff line Loading @@ -256,6 +256,10 @@ func (compiler *baseCompiler) compilerProps() []interface{} { return []interface{}{&compiler.Properties, &compiler.Proto} } func (compiler *baseCompiler) includeBuildDirectory() bool { return proptools.BoolDefault(compiler.Properties.Include_build_directory, true) } func (compiler *baseCompiler) compilerInit(ctx BaseModuleContext) {} func (compiler *baseCompiler) compilerDeps(ctx DepsContext, deps Deps) Deps { Loading Loading @@ -332,8 +336,7 @@ func (compiler *baseCompiler) compilerFlags(ctx ModuleContext, flags Flags, deps flags.Local.YasmFlags = append(flags.Local.YasmFlags, f) } if compiler.Properties.Include_build_directory == nil || *compiler.Properties.Include_build_directory { if compiler.includeBuildDirectory() { flags.Local.CommonFlags = append(flags.Local.CommonFlags, "-I"+modulePath) flags.Local.YasmFlags = append(flags.Local.YasmFlags, "-I"+modulePath) } Loading cc/object.go +4 −0 Original line number Diff line number Diff line Loading @@ -160,6 +160,10 @@ func ObjectBp2Build(ctx android.TopDownMutatorContext) { } } if c, ok := m.compiler.(*baseCompiler); ok && c.includeBuildDirectory() { localIncludeDirs = append(localIncludeDirs, ".") } var deps bazel.LabelList for _, props := range m.linker.linkerProps() { if objectLinkerProps, ok := props.(*ObjectLinkerProperties); ok { Loading Loading
bp2build/cc_object_conversion_test.go +42 −0 Original line number Diff line number Diff line Loading @@ -70,6 +70,7 @@ func TestCcObjectBp2Build(t *testing.T) { ], local_include_dirs = [ "include", ".", ], srcs = [ "a/b/bar.h", Loading Loading @@ -120,6 +121,7 @@ cc_defaults { ], local_include_dirs = [ "include", ".", ], srcs = [ "a/b/c.c", Loading Loading @@ -156,6 +158,9 @@ cc_object { copts = [ "-fno-addrsig", ], local_include_dirs = [ ".", ], srcs = [ "x/y/z.c", ], Loading @@ -167,6 +172,37 @@ cc_object { deps = [ ":bar", ], local_include_dirs = [ ".", ], srcs = [ "a/b/c.c", ], )`, }, }, { description: "cc_object with include_build_dir: false", moduleTypeUnderTest: "cc_object", moduleTypeUnderTestFactory: cc.ObjectFactory, moduleTypeUnderTestBp2BuildMutator: cc.ObjectBp2Build, filesystem: map[string]string{ "a/b/c.c": "", "x/y/z.c": "", }, blueprint: `cc_object { name: "foo", srcs: ["a/b/c.c"], include_build_directory: false, bazel_module: { bp2build_available: true }, } `, expectedBazelTargets: []string{`cc_object( name = "foo", copts = [ "-fno-addrsig", ], srcs = [ "a/b/c.c", ], Loading Loading @@ -262,6 +298,9 @@ func TestCcObjectConfigurableAttributesBp2Build(t *testing.T) { "//conditions:default": [ ], }), local_include_dirs = [ ".", ], )`, }, }, Loading Loading @@ -310,6 +349,9 @@ func TestCcObjectConfigurableAttributesBp2Build(t *testing.T) { "//conditions:default": [ ], }), local_include_dirs = [ ".", ], )`, }, }, Loading
cc/compiler.go +5 −2 Original line number Diff line number Diff line Loading @@ -256,6 +256,10 @@ func (compiler *baseCompiler) compilerProps() []interface{} { return []interface{}{&compiler.Properties, &compiler.Proto} } func (compiler *baseCompiler) includeBuildDirectory() bool { return proptools.BoolDefault(compiler.Properties.Include_build_directory, true) } func (compiler *baseCompiler) compilerInit(ctx BaseModuleContext) {} func (compiler *baseCompiler) compilerDeps(ctx DepsContext, deps Deps) Deps { Loading Loading @@ -332,8 +336,7 @@ func (compiler *baseCompiler) compilerFlags(ctx ModuleContext, flags Flags, deps flags.Local.YasmFlags = append(flags.Local.YasmFlags, f) } if compiler.Properties.Include_build_directory == nil || *compiler.Properties.Include_build_directory { if compiler.includeBuildDirectory() { flags.Local.CommonFlags = append(flags.Local.CommonFlags, "-I"+modulePath) flags.Local.YasmFlags = append(flags.Local.YasmFlags, "-I"+modulePath) } Loading
cc/object.go +4 −0 Original line number Diff line number Diff line Loading @@ -160,6 +160,10 @@ func ObjectBp2Build(ctx android.TopDownMutatorContext) { } } if c, ok := m.compiler.(*baseCompiler); ok && c.includeBuildDirectory() { localIncludeDirs = append(localIncludeDirs, ".") } var deps bazel.LabelList for _, props := range m.linker.linkerProps() { if objectLinkerProps, ok := props.(*ObjectLinkerProperties); ok { Loading