Merge "Support rtti in bp2build" am: 9f7c388337

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1792107

Change-Id: Iffe3ea4cb6537727a9ddfc67c37c23860d978e77
This commit is contained in:
Christopher Parsons
2021-08-10 20:18:22 +00:00
committed by Automerger Merge Worker
3 changed files with 17 additions and 3 deletions

View File

@@ -168,9 +168,10 @@ var (
"system/logging/liblog": Bp2BuildDefaultTrueRecursively, "system/logging/liblog": Bp2BuildDefaultTrueRecursively,
"system/timezone/apex": Bp2BuildDefaultTrueRecursively, "system/timezone/apex": Bp2BuildDefaultTrueRecursively,
"system/timezone/output_data": Bp2BuildDefaultTrueRecursively, "system/timezone/output_data": Bp2BuildDefaultTrueRecursively,
"external/jemalloc_new": Bp2BuildDefaultTrueRecursively,
"external/fmtlib": Bp2BuildDefaultTrueRecursively,
"external/arm-optimized-routines": Bp2BuildDefaultTrueRecursively, "external/arm-optimized-routines": Bp2BuildDefaultTrueRecursively,
"external/fmtlib": Bp2BuildDefaultTrueRecursively,
"external/jemalloc_new": Bp2BuildDefaultTrueRecursively,
"external/libcxxabi": Bp2BuildDefaultTrueRecursively,
"external/scudo": Bp2BuildDefaultTrueRecursively, "external/scudo": Bp2BuildDefaultTrueRecursively,
"prebuilts/clang/host/linux-x86": Bp2BuildDefaultTrueRecursively, "prebuilts/clang/host/linux-x86": Bp2BuildDefaultTrueRecursively,
} }
@@ -233,7 +234,10 @@ var (
// Per-module denylist to opt modules out of mixed builds. Such modules will // Per-module denylist to opt modules out of mixed builds. Such modules will
// still be generated via bp2build. // still be generated via bp2build.
mixedBuildsDisabledList = []string{} mixedBuildsDisabledList = []string{
"libc++abi", // http://b/195970501, cc_library_static, duplicate symbols because it propagates libc objects.
"libc++demangle", // http://b/195970501, cc_library_static, duplicate symbols because it propagates libc objects.
}
// Used for quicker lookups // Used for quicker lookups
bp2buildModuleDoNotConvert = map[string]bool{} bp2buildModuleDoNotConvert = map[string]bool{}

View File

@@ -240,6 +240,8 @@ type compilerAttributes struct {
// C++ options and sources // C++ options and sources
cppFlags bazel.StringListAttribute cppFlags bazel.StringListAttribute
srcs bazel.LabelListAttribute srcs bazel.LabelListAttribute
rtti bazel.BoolAttribute
} }
// bp2BuildParseCompilerProps returns copts, srcs and hdrs and other attributes. // bp2BuildParseCompilerProps returns copts, srcs and hdrs and other attributes.
@@ -249,6 +251,7 @@ func bp2BuildParseCompilerProps(ctx android.TopDownMutatorContext, module *Modul
var asFlags bazel.StringListAttribute var asFlags bazel.StringListAttribute
var conlyFlags bazel.StringListAttribute var conlyFlags bazel.StringListAttribute
var cppFlags bazel.StringListAttribute var cppFlags bazel.StringListAttribute
var rtti bazel.BoolAttribute
// Creates the -I flags for a directory, while making the directory relative // Creates the -I flags for a directory, while making the directory relative
// to the exec root for Bazel to work. // to the exec root for Bazel to work.
@@ -302,6 +305,7 @@ func bp2BuildParseCompilerProps(ctx android.TopDownMutatorContext, module *Modul
asFlags.Value = parseCommandLineFlags(baseCompilerProps.Asflags) asFlags.Value = parseCommandLineFlags(baseCompilerProps.Asflags)
conlyFlags.Value = parseCommandLineFlags(baseCompilerProps.Conlyflags) conlyFlags.Value = parseCommandLineFlags(baseCompilerProps.Conlyflags)
cppFlags.Value = parseCommandLineFlags(baseCompilerProps.Cppflags) cppFlags.Value = parseCommandLineFlags(baseCompilerProps.Cppflags)
rtti.Value = baseCompilerProps.Rtti
for _, dir := range parseLocalIncludeDirs(baseCompilerProps) { for _, dir := range parseLocalIncludeDirs(baseCompilerProps) {
copts.Value = append(copts.Value, includeFlags(dir)...) copts.Value = append(copts.Value, includeFlags(dir)...)
@@ -345,6 +349,7 @@ func bp2BuildParseCompilerProps(ctx android.TopDownMutatorContext, module *Modul
asFlags.SetSelectValue(axis, config, archVariantAsflags) asFlags.SetSelectValue(axis, config, archVariantAsflags)
conlyFlags.SetSelectValue(axis, config, parseCommandLineFlags(baseCompilerProps.Conlyflags)) conlyFlags.SetSelectValue(axis, config, parseCommandLineFlags(baseCompilerProps.Conlyflags))
cppFlags.SetSelectValue(axis, config, parseCommandLineFlags(baseCompilerProps.Cppflags)) cppFlags.SetSelectValue(axis, config, parseCommandLineFlags(baseCompilerProps.Cppflags))
rtti.SetSelectValue(axis, config, baseCompilerProps.Rtti)
} }
} }
} }
@@ -380,6 +385,7 @@ func bp2BuildParseCompilerProps(ctx android.TopDownMutatorContext, module *Modul
cSrcs: cSrcs, cSrcs: cSrcs,
conlyFlags: conlyFlags, conlyFlags: conlyFlags,
cppFlags: cppFlags, cppFlags: cppFlags,
rtti: rtti,
} }
} }

View File

@@ -236,6 +236,7 @@ type bazelCcLibraryAttributes struct {
Includes bazel.StringListAttribute Includes bazel.StringListAttribute
Linkopts bazel.StringListAttribute Linkopts bazel.StringListAttribute
Use_libcrt bazel.BoolAttribute Use_libcrt bazel.BoolAttribute
Rtti bazel.BoolAttribute
// This is shared only. // This is shared only.
Version_script bazel.LabelAttribute Version_script bazel.LabelAttribute
@@ -323,6 +324,7 @@ func CcLibraryBp2Build(ctx android.TopDownMutatorContext) {
Includes: exportedIncludes, Includes: exportedIncludes,
Linkopts: linkerAttrs.linkopts, Linkopts: linkerAttrs.linkopts,
Use_libcrt: linkerAttrs.useLibcrt, Use_libcrt: linkerAttrs.useLibcrt,
Rtti: compilerAttrs.rtti,
Version_script: linkerAttrs.versionScript, Version_script: linkerAttrs.versionScript,
@@ -2335,6 +2337,7 @@ type bazelCcLibraryStaticAttributes struct {
Linkopts bazel.StringListAttribute Linkopts bazel.StringListAttribute
Linkstatic bool Linkstatic bool
Use_libcrt bazel.BoolAttribute Use_libcrt bazel.BoolAttribute
Rtti bazel.BoolAttribute
Includes bazel.StringListAttribute Includes bazel.StringListAttribute
Hdrs bazel.LabelListAttribute Hdrs bazel.LabelListAttribute
@@ -2396,6 +2399,7 @@ func ccLibraryStaticBp2BuildInternal(ctx android.TopDownMutatorContext, module *
Linkopts: linkerAttrs.linkopts, Linkopts: linkerAttrs.linkopts,
Linkstatic: true, Linkstatic: true,
Use_libcrt: linkerAttrs.useLibcrt, Use_libcrt: linkerAttrs.useLibcrt,
Rtti: compilerAttrs.rtti,
Includes: exportedIncludes, Includes: exportedIncludes,
Cppflags: compilerAttrs.cppFlags, Cppflags: compilerAttrs.cppFlags,