Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dca349a7 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Handle include_build_directory prop in bp2build"

parents 7ee6e8fa a4aa4307
Loading
Loading
Loading
Loading
+42 −0
Original line number Diff line number Diff line
@@ -70,6 +70,7 @@ func TestCcObjectBp2Build(t *testing.T) {
    ],
    local_include_dirs = [
        "include",
        ".",
    ],
    srcs = [
        "a/b/bar.h",
@@ -120,6 +121,7 @@ cc_defaults {
    ],
    local_include_dirs = [
        "include",
        ".",
    ],
    srcs = [
        "a/b/c.c",
@@ -156,6 +158,9 @@ cc_object {
    copts = [
        "-fno-addrsig",
    ],
    local_include_dirs = [
        ".",
    ],
    srcs = [
        "x/y/z.c",
    ],
@@ -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",
    ],
@@ -262,6 +298,9 @@ func TestCcObjectConfigurableAttributesBp2Build(t *testing.T) {
        "//conditions:default": [
        ],
    }),
    local_include_dirs = [
        ".",
    ],
)`,
			},
		},
@@ -310,6 +349,9 @@ func TestCcObjectConfigurableAttributesBp2Build(t *testing.T) {
        "//conditions:default": [
        ],
    }),
    local_include_dirs = [
        ".",
    ],
)`,
			},
		},
+5 −2
Original line number Diff line number Diff line
@@ -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 {
@@ -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)
	}
+4 −0
Original line number Diff line number Diff line
@@ -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 {