Loading android/bazel.go +2 −8 Original line number Diff line number Diff line Loading @@ -422,17 +422,11 @@ var ( // APEX support "com.android.runtime", // http://b/194746715, apex, depends on 'libc_malloc_debug' "libadbd_core", // http://b/208481704: requijres use_version_lib "libadbd_services", // http://b/208481704: requires use_version_lib "libadbd", // depends on unconverted modules: libadbd_core, libadbd_services "libgtest_ndk_c++", // b/201816222: Requires sdk_version support. "libgtest_main_ndk_c++", // b/201816222: Requires sdk_version support. "abb", // depends on unconverted modules: libadbd_core, libadbd_services, "adb", // depends on unconverted modules: bin2c_fastdeployagent, libadb_crypto, libadb_host, libadb_pairing_connection, libadb_protos, libandroidfw, libapp_processes_protos_full, libfastdeploy_host, libopenscreen-discovery, libopenscreen-platform-impl, libusb, libzstd, AdbWinApi "adbd", // depends on unconverted modules: libadb_crypto, libadb_pairing_connection, libadb_protos, libadbd, libadbd_core, libapp_processes_protos_lite, libzstd, libadbd_services, libcap, libminijail "abb", // depends on unconverted modules: libcmd, libbinder "adb", // depends on unconverted modules: AdbWinApi, libadb_host, libandroidfw, libapp_processes_protos_full, libfastdeploy_host, libopenscreen-discovery, libopenscreen-platform-impl, libusb, bin2c_fastdeployagent, AdbWinUsbApi "linker", // depends on unconverted modules: libdebuggerd_handler_fallback "linker_reloc_bench_main", // depends on unconverted modules: liblinker_reloc_bench_* "versioner", // depends on unconverted modules: libclang_cxx_host, libLLVM_host, of unsupported type llvm_host_prebuilt_library_shared Loading bp2build/cc_binary_conversion_test.go +1 −0 Original line number Diff line number Diff line Loading @@ -303,6 +303,7 @@ genrule { ":not_explicitly_exported_whole_static_dep", ":whole_static_dep", ]`, "local_includes": `["."]`, }, }, }, Loading bp2build/cc_library_static_conversion_test.go +17 −10 Original line number Diff line number Diff line Loading @@ -970,6 +970,8 @@ cc_library_static { }`, expectedBazelTargets: []string{ makeBazelTarget("cc_library_static", "foo_static", attrNameToString{ "export_includes": `["."]`, "local_includes": `["."]`, "hdrs": `[":export_generated_hdr"]`, "srcs": `[ "cpp_src.cpp", Loading Loading @@ -1044,18 +1046,21 @@ cc_library_static { exclude_srcs: ["not-for-everything.cpp"], generated_sources: ["generated_src", "generated_src_other_pkg", "generated_src_not_x86"], generated_headers: ["generated_hdr", "generated_hdr_other_pkg"], export_generated_headers: ["generated_hdr_other_pkg"], arch: { x86: { srcs: ["for-x86.cpp"], exclude_srcs: ["not-for-x86.cpp"], generated_headers: ["generated_hdr_other_pkg_x86"], exclude_generated_sources: ["generated_src_not_x86"], export_generated_headers: ["generated_hdr_other_pkg_x86"], }, }, target: { android: { generated_sources: ["generated_src_android"], generated_headers: ["generated_hdr_other_pkg_android"], export_generated_headers: ["generated_hdr_other_pkg_android"], }, }, Loading @@ -1069,23 +1074,25 @@ cc_library_static { ":generated_src", "//dep:generated_src_other_pkg", ":generated_hdr", "//dep:generated_hdr_other_pkg", ] + select({ "//build/bazel/platforms/arch:x86": [ "for-x86.cpp", "//dep:generated_hdr_other_pkg_x86", ], "//build/bazel/platforms/arch:x86": ["for-x86.cpp"], "//conditions:default": [ "not-for-x86.cpp", ":generated_src_not_x86", ], }) + select({ "//build/bazel/platforms/os:android": [ ":generated_src_android", "//dep:generated_hdr_other_pkg_android", ], "//build/bazel/platforms/os:android": [":generated_src_android"], "//conditions:default": [], })`, "hdrs": `["//dep:generated_hdr_other_pkg"] + select({ "//build/bazel/platforms/arch:x86": ["//dep:generated_hdr_other_pkg_x86"], "//conditions:default": [], }) + select({ "//build/bazel/platforms/os:android": ["//dep:generated_hdr_other_pkg_android"], "//conditions:default": [], })`, "local_includes": `["."]`, "export_absolute_includes": `["dep"]`, }), }, }) Loading cc/bp2build.go +57 −9 Original line number Diff line number Diff line Loading @@ -267,6 +267,8 @@ type compilerAttributes struct { localIncludes bazel.StringListAttribute absoluteIncludes bazel.StringListAttribute includes BazelIncludes protoSrcs bazel.LabelListAttribute } Loading Loading @@ -412,6 +414,33 @@ func bp2buildResolveCppStdValue(c_std *string, cpp_std *string, gnu_extensions * return c_std_prop, cpp_std_prop } // packageFromLabel extracts package from a fully-qualified or relative Label and whether the label // is fully-qualified. // e.g. fully-qualified "//a/b:foo" -> "a/b", true, relative: ":bar" -> ".", false func packageFromLabel(label string) (string, bool) { split := strings.Split(label, ":") if len(split) != 2 { return "", false } if split[0] == "" { return ".", false } // remove leading "//" return split[0][2:], true } // includesFromLabelList extracts relative/absolute includes from a bazel.LabelList> func includesFromLabelList(labelList bazel.LabelList) (relative, absolute []string) { for _, hdr := range labelList.Includes { if pkg, hasPkg := packageFromLabel(hdr.Label); hasPkg { absolute = append(absolute, pkg) } else if pkg != "" { relative = append(relative, pkg) } } return relative, absolute } // bp2BuildParseCompilerProps returns copts, srcs and hdrs and other attributes. func bp2BuildParseBaseProps(ctx android.Bp2buildMutatorContext, module *Module) baseAttributes { archVariantCompilerProps := module.GetArchVariantProperties(ctx, &BaseCompilerProperties{}) Loading Loading @@ -455,6 +484,18 @@ func bp2BuildParseBaseProps(ctx android.Bp2buildMutatorContext, module *Module) headers := maybePartitionExportedAndImplementationsDeps(ctx, !module.Binary(), allHdrs, exportHdrs, android.BazelLabelForModuleDeps) implementationHdrs.SetSelectValue(axis, config, headers.implementation) compilerAttrs.hdrs.SetSelectValue(axis, config, headers.export) exportIncludes, exportAbsoluteIncludes := includesFromLabelList(headers.export) compilerAttrs.includes.Includes.SetSelectValue(axis, config, exportIncludes) compilerAttrs.includes.AbsoluteIncludes.SetSelectValue(axis, config, exportAbsoluteIncludes) includes, absoluteIncludes := includesFromLabelList(headers.implementation) currAbsoluteIncludes := compilerAttrs.absoluteIncludes.SelectValue(axis, config) currAbsoluteIncludes = android.FirstUniqueStrings(append(currAbsoluteIncludes, absoluteIncludes...)) compilerAttrs.absoluteIncludes.SetSelectValue(axis, config, currAbsoluteIncludes) currIncludes := compilerAttrs.localIncludes.SelectValue(axis, config) currIncludes = android.FirstUniqueStrings(append(currIncludes, includes...)) compilerAttrs.localIncludes.SetSelectValue(axis, config, currIncludes) } } Loading Loading @@ -692,13 +733,14 @@ func bp2BuildMakePathsRelativeToModule(ctx android.BazelConversionPathContext, p // BazelIncludes contains information about -I and -isystem paths from a module converted to Bazel // attributes. type BazelIncludes struct { AbsoluteIncludes bazel.StringListAttribute Includes bazel.StringListAttribute SystemIncludes bazel.StringListAttribute } func bp2BuildParseExportedIncludes(ctx android.BazelConversionPathContext, module *Module) BazelIncludes { func bp2BuildParseExportedIncludes(ctx android.BazelConversionPathContext, module *Module, existingIncludes BazelIncludes) BazelIncludes { libraryDecorator := module.linker.(*libraryDecorator) return bp2BuildParseExportedIncludesHelper(ctx, module, libraryDecorator) return bp2BuildParseExportedIncludesHelper(ctx, module, libraryDecorator, &existingIncludes) } // Bp2buildParseExportedIncludesForPrebuiltLibrary returns a BazelIncludes with Bazel-ified values Loading @@ -706,25 +748,31 @@ func bp2BuildParseExportedIncludes(ctx android.BazelConversionPathContext, modul func Bp2BuildParseExportedIncludesForPrebuiltLibrary(ctx android.BazelConversionPathContext, module *Module) BazelIncludes { prebuiltLibraryLinker := module.linker.(*prebuiltLibraryLinker) libraryDecorator := prebuiltLibraryLinker.libraryDecorator return bp2BuildParseExportedIncludesHelper(ctx, module, libraryDecorator) return bp2BuildParseExportedIncludesHelper(ctx, module, libraryDecorator, nil) } // bp2BuildParseExportedIncludes creates a string list attribute contains the // exported included directories of a module. func bp2BuildParseExportedIncludesHelper(ctx android.BazelConversionPathContext, module *Module, libraryDecorator *libraryDecorator) BazelIncludes { exported := BazelIncludes{} func bp2BuildParseExportedIncludesHelper(ctx android.BazelConversionPathContext, module *Module, libraryDecorator *libraryDecorator, includes *BazelIncludes) BazelIncludes { var exported BazelIncludes if includes != nil { exported = *includes } else { exported = BazelIncludes{} } for axis, configToProps := range module.GetArchVariantProperties(ctx, &FlagExporterProperties{}) { for config, props := range configToProps { if flagExporterProperties, ok := props.(*FlagExporterProperties); ok { if len(flagExporterProperties.Export_include_dirs) > 0 { exported.Includes.SetSelectValue(axis, config, flagExporterProperties.Export_include_dirs) exported.Includes.SetSelectValue(axis, config, android.FirstUniqueStrings(append(exported.Includes.SelectValue(axis, config), flagExporterProperties.Export_include_dirs...))) } if len(flagExporterProperties.Export_system_include_dirs) > 0 { exported.SystemIncludes.SetSelectValue(axis, config, flagExporterProperties.Export_system_include_dirs) exported.SystemIncludes.SetSelectValue(axis, config, android.FirstUniqueStrings(append(exported.SystemIncludes.SelectValue(axis, config), flagExporterProperties.Export_system_include_dirs...))) } } } } exported.AbsoluteIncludes.DeduplicateAxesFromBase() exported.Includes.DeduplicateAxesFromBase() exported.SystemIncludes.DeduplicateAxesFromBase() Loading cc/library.go +47 −40 Original line number Diff line number Diff line Loading @@ -300,7 +300,7 @@ func CcLibraryBp2Build(ctx android.TopDownMutatorContext) { baseAttributes := bp2BuildParseBaseProps(ctx, m) compilerAttrs := baseAttributes.compilerAttributes linkerAttrs := baseAttributes.linkerAttributes exportedIncludes := bp2BuildParseExportedIncludes(ctx, m) exportedIncludes := bp2BuildParseExportedIncludes(ctx, m, compilerAttrs.includes) srcs := compilerAttrs.srcs Loading Loading @@ -352,6 +352,7 @@ func CcLibraryBp2Build(ctx android.TopDownMutatorContext) { Asflags: asFlags, Export_includes: exportedIncludes.Includes, Export_absolute_includes: exportedIncludes.AbsoluteIncludes, Export_system_includes: exportedIncludes.SystemIncludes, Local_includes: compilerAttrs.localIncludes, Absolute_includes: compilerAttrs.absoluteIncludes, Loading @@ -371,6 +372,7 @@ func CcLibraryBp2Build(ctx android.TopDownMutatorContext) { Asflags: asFlags, Export_includes: exportedIncludes.Includes, Export_absolute_includes: exportedIncludes.AbsoluteIncludes, Export_system_includes: exportedIncludes.SystemIncludes, Local_includes: compilerAttrs.localIncludes, Absolute_includes: compilerAttrs.absoluteIncludes, Loading Loading @@ -2434,7 +2436,7 @@ func ccSharedOrStaticBp2BuildMutatorInternal(ctx android.TopDownMutatorContext, compilerAttrs := baseAttributes.compilerAttributes linkerAttrs := baseAttributes.linkerAttributes exportedIncludes := bp2BuildParseExportedIncludes(ctx, module) exportedIncludes := bp2BuildParseExportedIncludes(ctx, module, compilerAttrs.includes) // Append shared/static{} stanza properties. These won't be specified on // cc_library_* itself, but may be specified in cc_defaults that this module Loading Loading @@ -2487,7 +2489,9 @@ func ccSharedOrStaticBp2BuildMutatorInternal(ctx android.TopDownMutatorContext, Stl: compilerAttrs.stl, Cpp_std: compilerAttrs.cppStd, C_std: compilerAttrs.cStd, Export_includes: exportedIncludes.Includes, Export_absolute_includes: exportedIncludes.AbsoluteIncludes, Export_system_includes: exportedIncludes.SystemIncludes, Local_includes: compilerAttrs.localIncludes, Absolute_includes: compilerAttrs.absoluteIncludes, Loading Loading @@ -2519,6 +2523,7 @@ func ccSharedOrStaticBp2BuildMutatorInternal(ctx android.TopDownMutatorContext, C_std: compilerAttrs.cStd, Export_includes: exportedIncludes.Includes, Export_absolute_includes: exportedIncludes.AbsoluteIncludes, Export_system_includes: exportedIncludes.SystemIncludes, Local_includes: compilerAttrs.localIncludes, Absolute_includes: compilerAttrs.absoluteIncludes, Loading Loading @@ -2557,6 +2562,7 @@ type bazelCcLibraryStaticAttributes struct { C_std *string Export_includes bazel.StringListAttribute Export_absolute_includes bazel.StringListAttribute Export_system_includes bazel.StringListAttribute Local_includes bazel.StringListAttribute Absolute_includes bazel.StringListAttribute Loading Loading @@ -2597,6 +2603,7 @@ type bazelCcLibrarySharedAttributes struct { C_std *string Export_includes bazel.StringListAttribute Export_absolute_includes bazel.StringListAttribute Export_system_includes bazel.StringListAttribute Local_includes bazel.StringListAttribute Absolute_includes bazel.StringListAttribute Loading Loading
android/bazel.go +2 −8 Original line number Diff line number Diff line Loading @@ -422,17 +422,11 @@ var ( // APEX support "com.android.runtime", // http://b/194746715, apex, depends on 'libc_malloc_debug' "libadbd_core", // http://b/208481704: requijres use_version_lib "libadbd_services", // http://b/208481704: requires use_version_lib "libadbd", // depends on unconverted modules: libadbd_core, libadbd_services "libgtest_ndk_c++", // b/201816222: Requires sdk_version support. "libgtest_main_ndk_c++", // b/201816222: Requires sdk_version support. "abb", // depends on unconverted modules: libadbd_core, libadbd_services, "adb", // depends on unconverted modules: bin2c_fastdeployagent, libadb_crypto, libadb_host, libadb_pairing_connection, libadb_protos, libandroidfw, libapp_processes_protos_full, libfastdeploy_host, libopenscreen-discovery, libopenscreen-platform-impl, libusb, libzstd, AdbWinApi "adbd", // depends on unconverted modules: libadb_crypto, libadb_pairing_connection, libadb_protos, libadbd, libadbd_core, libapp_processes_protos_lite, libzstd, libadbd_services, libcap, libminijail "abb", // depends on unconverted modules: libcmd, libbinder "adb", // depends on unconverted modules: AdbWinApi, libadb_host, libandroidfw, libapp_processes_protos_full, libfastdeploy_host, libopenscreen-discovery, libopenscreen-platform-impl, libusb, bin2c_fastdeployagent, AdbWinUsbApi "linker", // depends on unconverted modules: libdebuggerd_handler_fallback "linker_reloc_bench_main", // depends on unconverted modules: liblinker_reloc_bench_* "versioner", // depends on unconverted modules: libclang_cxx_host, libLLVM_host, of unsupported type llvm_host_prebuilt_library_shared Loading
bp2build/cc_binary_conversion_test.go +1 −0 Original line number Diff line number Diff line Loading @@ -303,6 +303,7 @@ genrule { ":not_explicitly_exported_whole_static_dep", ":whole_static_dep", ]`, "local_includes": `["."]`, }, }, }, Loading
bp2build/cc_library_static_conversion_test.go +17 −10 Original line number Diff line number Diff line Loading @@ -970,6 +970,8 @@ cc_library_static { }`, expectedBazelTargets: []string{ makeBazelTarget("cc_library_static", "foo_static", attrNameToString{ "export_includes": `["."]`, "local_includes": `["."]`, "hdrs": `[":export_generated_hdr"]`, "srcs": `[ "cpp_src.cpp", Loading Loading @@ -1044,18 +1046,21 @@ cc_library_static { exclude_srcs: ["not-for-everything.cpp"], generated_sources: ["generated_src", "generated_src_other_pkg", "generated_src_not_x86"], generated_headers: ["generated_hdr", "generated_hdr_other_pkg"], export_generated_headers: ["generated_hdr_other_pkg"], arch: { x86: { srcs: ["for-x86.cpp"], exclude_srcs: ["not-for-x86.cpp"], generated_headers: ["generated_hdr_other_pkg_x86"], exclude_generated_sources: ["generated_src_not_x86"], export_generated_headers: ["generated_hdr_other_pkg_x86"], }, }, target: { android: { generated_sources: ["generated_src_android"], generated_headers: ["generated_hdr_other_pkg_android"], export_generated_headers: ["generated_hdr_other_pkg_android"], }, }, Loading @@ -1069,23 +1074,25 @@ cc_library_static { ":generated_src", "//dep:generated_src_other_pkg", ":generated_hdr", "//dep:generated_hdr_other_pkg", ] + select({ "//build/bazel/platforms/arch:x86": [ "for-x86.cpp", "//dep:generated_hdr_other_pkg_x86", ], "//build/bazel/platforms/arch:x86": ["for-x86.cpp"], "//conditions:default": [ "not-for-x86.cpp", ":generated_src_not_x86", ], }) + select({ "//build/bazel/platforms/os:android": [ ":generated_src_android", "//dep:generated_hdr_other_pkg_android", ], "//build/bazel/platforms/os:android": [":generated_src_android"], "//conditions:default": [], })`, "hdrs": `["//dep:generated_hdr_other_pkg"] + select({ "//build/bazel/platforms/arch:x86": ["//dep:generated_hdr_other_pkg_x86"], "//conditions:default": [], }) + select({ "//build/bazel/platforms/os:android": ["//dep:generated_hdr_other_pkg_android"], "//conditions:default": [], })`, "local_includes": `["."]`, "export_absolute_includes": `["dep"]`, }), }, }) Loading
cc/bp2build.go +57 −9 Original line number Diff line number Diff line Loading @@ -267,6 +267,8 @@ type compilerAttributes struct { localIncludes bazel.StringListAttribute absoluteIncludes bazel.StringListAttribute includes BazelIncludes protoSrcs bazel.LabelListAttribute } Loading Loading @@ -412,6 +414,33 @@ func bp2buildResolveCppStdValue(c_std *string, cpp_std *string, gnu_extensions * return c_std_prop, cpp_std_prop } // packageFromLabel extracts package from a fully-qualified or relative Label and whether the label // is fully-qualified. // e.g. fully-qualified "//a/b:foo" -> "a/b", true, relative: ":bar" -> ".", false func packageFromLabel(label string) (string, bool) { split := strings.Split(label, ":") if len(split) != 2 { return "", false } if split[0] == "" { return ".", false } // remove leading "//" return split[0][2:], true } // includesFromLabelList extracts relative/absolute includes from a bazel.LabelList> func includesFromLabelList(labelList bazel.LabelList) (relative, absolute []string) { for _, hdr := range labelList.Includes { if pkg, hasPkg := packageFromLabel(hdr.Label); hasPkg { absolute = append(absolute, pkg) } else if pkg != "" { relative = append(relative, pkg) } } return relative, absolute } // bp2BuildParseCompilerProps returns copts, srcs and hdrs and other attributes. func bp2BuildParseBaseProps(ctx android.Bp2buildMutatorContext, module *Module) baseAttributes { archVariantCompilerProps := module.GetArchVariantProperties(ctx, &BaseCompilerProperties{}) Loading Loading @@ -455,6 +484,18 @@ func bp2BuildParseBaseProps(ctx android.Bp2buildMutatorContext, module *Module) headers := maybePartitionExportedAndImplementationsDeps(ctx, !module.Binary(), allHdrs, exportHdrs, android.BazelLabelForModuleDeps) implementationHdrs.SetSelectValue(axis, config, headers.implementation) compilerAttrs.hdrs.SetSelectValue(axis, config, headers.export) exportIncludes, exportAbsoluteIncludes := includesFromLabelList(headers.export) compilerAttrs.includes.Includes.SetSelectValue(axis, config, exportIncludes) compilerAttrs.includes.AbsoluteIncludes.SetSelectValue(axis, config, exportAbsoluteIncludes) includes, absoluteIncludes := includesFromLabelList(headers.implementation) currAbsoluteIncludes := compilerAttrs.absoluteIncludes.SelectValue(axis, config) currAbsoluteIncludes = android.FirstUniqueStrings(append(currAbsoluteIncludes, absoluteIncludes...)) compilerAttrs.absoluteIncludes.SetSelectValue(axis, config, currAbsoluteIncludes) currIncludes := compilerAttrs.localIncludes.SelectValue(axis, config) currIncludes = android.FirstUniqueStrings(append(currIncludes, includes...)) compilerAttrs.localIncludes.SetSelectValue(axis, config, currIncludes) } } Loading Loading @@ -692,13 +733,14 @@ func bp2BuildMakePathsRelativeToModule(ctx android.BazelConversionPathContext, p // BazelIncludes contains information about -I and -isystem paths from a module converted to Bazel // attributes. type BazelIncludes struct { AbsoluteIncludes bazel.StringListAttribute Includes bazel.StringListAttribute SystemIncludes bazel.StringListAttribute } func bp2BuildParseExportedIncludes(ctx android.BazelConversionPathContext, module *Module) BazelIncludes { func bp2BuildParseExportedIncludes(ctx android.BazelConversionPathContext, module *Module, existingIncludes BazelIncludes) BazelIncludes { libraryDecorator := module.linker.(*libraryDecorator) return bp2BuildParseExportedIncludesHelper(ctx, module, libraryDecorator) return bp2BuildParseExportedIncludesHelper(ctx, module, libraryDecorator, &existingIncludes) } // Bp2buildParseExportedIncludesForPrebuiltLibrary returns a BazelIncludes with Bazel-ified values Loading @@ -706,25 +748,31 @@ func bp2BuildParseExportedIncludes(ctx android.BazelConversionPathContext, modul func Bp2BuildParseExportedIncludesForPrebuiltLibrary(ctx android.BazelConversionPathContext, module *Module) BazelIncludes { prebuiltLibraryLinker := module.linker.(*prebuiltLibraryLinker) libraryDecorator := prebuiltLibraryLinker.libraryDecorator return bp2BuildParseExportedIncludesHelper(ctx, module, libraryDecorator) return bp2BuildParseExportedIncludesHelper(ctx, module, libraryDecorator, nil) } // bp2BuildParseExportedIncludes creates a string list attribute contains the // exported included directories of a module. func bp2BuildParseExportedIncludesHelper(ctx android.BazelConversionPathContext, module *Module, libraryDecorator *libraryDecorator) BazelIncludes { exported := BazelIncludes{} func bp2BuildParseExportedIncludesHelper(ctx android.BazelConversionPathContext, module *Module, libraryDecorator *libraryDecorator, includes *BazelIncludes) BazelIncludes { var exported BazelIncludes if includes != nil { exported = *includes } else { exported = BazelIncludes{} } for axis, configToProps := range module.GetArchVariantProperties(ctx, &FlagExporterProperties{}) { for config, props := range configToProps { if flagExporterProperties, ok := props.(*FlagExporterProperties); ok { if len(flagExporterProperties.Export_include_dirs) > 0 { exported.Includes.SetSelectValue(axis, config, flagExporterProperties.Export_include_dirs) exported.Includes.SetSelectValue(axis, config, android.FirstUniqueStrings(append(exported.Includes.SelectValue(axis, config), flagExporterProperties.Export_include_dirs...))) } if len(flagExporterProperties.Export_system_include_dirs) > 0 { exported.SystemIncludes.SetSelectValue(axis, config, flagExporterProperties.Export_system_include_dirs) exported.SystemIncludes.SetSelectValue(axis, config, android.FirstUniqueStrings(append(exported.SystemIncludes.SelectValue(axis, config), flagExporterProperties.Export_system_include_dirs...))) } } } } exported.AbsoluteIncludes.DeduplicateAxesFromBase() exported.Includes.DeduplicateAxesFromBase() exported.SystemIncludes.DeduplicateAxesFromBase() Loading
cc/library.go +47 −40 Original line number Diff line number Diff line Loading @@ -300,7 +300,7 @@ func CcLibraryBp2Build(ctx android.TopDownMutatorContext) { baseAttributes := bp2BuildParseBaseProps(ctx, m) compilerAttrs := baseAttributes.compilerAttributes linkerAttrs := baseAttributes.linkerAttributes exportedIncludes := bp2BuildParseExportedIncludes(ctx, m) exportedIncludes := bp2BuildParseExportedIncludes(ctx, m, compilerAttrs.includes) srcs := compilerAttrs.srcs Loading Loading @@ -352,6 +352,7 @@ func CcLibraryBp2Build(ctx android.TopDownMutatorContext) { Asflags: asFlags, Export_includes: exportedIncludes.Includes, Export_absolute_includes: exportedIncludes.AbsoluteIncludes, Export_system_includes: exportedIncludes.SystemIncludes, Local_includes: compilerAttrs.localIncludes, Absolute_includes: compilerAttrs.absoluteIncludes, Loading @@ -371,6 +372,7 @@ func CcLibraryBp2Build(ctx android.TopDownMutatorContext) { Asflags: asFlags, Export_includes: exportedIncludes.Includes, Export_absolute_includes: exportedIncludes.AbsoluteIncludes, Export_system_includes: exportedIncludes.SystemIncludes, Local_includes: compilerAttrs.localIncludes, Absolute_includes: compilerAttrs.absoluteIncludes, Loading Loading @@ -2434,7 +2436,7 @@ func ccSharedOrStaticBp2BuildMutatorInternal(ctx android.TopDownMutatorContext, compilerAttrs := baseAttributes.compilerAttributes linkerAttrs := baseAttributes.linkerAttributes exportedIncludes := bp2BuildParseExportedIncludes(ctx, module) exportedIncludes := bp2BuildParseExportedIncludes(ctx, module, compilerAttrs.includes) // Append shared/static{} stanza properties. These won't be specified on // cc_library_* itself, but may be specified in cc_defaults that this module Loading Loading @@ -2487,7 +2489,9 @@ func ccSharedOrStaticBp2BuildMutatorInternal(ctx android.TopDownMutatorContext, Stl: compilerAttrs.stl, Cpp_std: compilerAttrs.cppStd, C_std: compilerAttrs.cStd, Export_includes: exportedIncludes.Includes, Export_absolute_includes: exportedIncludes.AbsoluteIncludes, Export_system_includes: exportedIncludes.SystemIncludes, Local_includes: compilerAttrs.localIncludes, Absolute_includes: compilerAttrs.absoluteIncludes, Loading Loading @@ -2519,6 +2523,7 @@ func ccSharedOrStaticBp2BuildMutatorInternal(ctx android.TopDownMutatorContext, C_std: compilerAttrs.cStd, Export_includes: exportedIncludes.Includes, Export_absolute_includes: exportedIncludes.AbsoluteIncludes, Export_system_includes: exportedIncludes.SystemIncludes, Local_includes: compilerAttrs.localIncludes, Absolute_includes: compilerAttrs.absoluteIncludes, Loading Loading @@ -2557,6 +2562,7 @@ type bazelCcLibraryStaticAttributes struct { C_std *string Export_includes bazel.StringListAttribute Export_absolute_includes bazel.StringListAttribute Export_system_includes bazel.StringListAttribute Local_includes bazel.StringListAttribute Absolute_includes bazel.StringListAttribute Loading Loading @@ -2597,6 +2603,7 @@ type bazelCcLibrarySharedAttributes struct { C_std *string Export_includes bazel.StringListAttribute Export_absolute_includes bazel.StringListAttribute Export_system_includes bazel.StringListAttribute Local_includes bazel.StringListAttribute Absolute_includes bazel.StringListAttribute Loading