Loading sdk/cc_sdk_test.go +115 −89 Original line number Diff line number Diff line Loading @@ -120,10 +120,8 @@ cc_prebuilt_library_shared { android_arm64: { srcs: ["android/arm64/lib/sdkmember.so"], }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["linux_glibc/x86_64/lib/sdkmember.so"], }, }, Loading @@ -143,10 +141,8 @@ cc_prebuilt_library_shared { android_arm64: { srcs: ["android/arm64/lib/sdkmember.so"], }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["linux_glibc/x86_64/lib/sdkmember.so"], }, }, Loading @@ -162,7 +158,7 @@ sdk_snapshot { host: { enabled: false, }, linux_glibc: { linux_glibc_x86_64: { enabled: true, }, }, Loading Loading @@ -670,20 +666,21 @@ cc_prebuilt_binary { enabled: false, }, linux_glibc: { enabled: true, compile_multilib: "both", }, linux_glibc_x86_64: { enabled: true, srcs: ["linux_glibc/x86_64/bin/mynativebinary"], }, linux_glibc_x86: { enabled: true, srcs: ["linux_glibc/x86/bin/mynativebinary"], }, windows: { enabled: true, compile_multilib: "64", }, windows_x86_64: { enabled: true, srcs: ["windows/x86_64/bin/mynativebinary.exe"], }, }, Loading @@ -701,20 +698,21 @@ cc_prebuilt_binary { enabled: false, }, linux_glibc: { enabled: true, compile_multilib: "both", }, linux_glibc_x86_64: { enabled: true, srcs: ["linux_glibc/x86_64/bin/mynativebinary"], }, linux_glibc_x86: { enabled: true, srcs: ["linux_glibc/x86/bin/mynativebinary"], }, windows: { enabled: true, compile_multilib: "64", }, windows_x86_64: { enabled: true, srcs: ["windows/x86_64/bin/mynativebinary.exe"], }, }, Loading @@ -727,15 +725,20 @@ module_exports_snapshot { host_supported: true, native_binaries: ["myexports_mynativebinary@current"], target: { windows: { compile_multilib: "64", }, host: { enabled: false, }, linux_glibc: { linux_glibc_x86_64: { enabled: true, }, windows: { linux_glibc_x86: { enabled: true, }, windows_x86_64: { enabled: true, compile_multilib: "64", }, }, } Loading Loading @@ -811,10 +814,8 @@ cc_prebuilt_binary { host: { enabled: false, }, linux_bionic: { enabled: true, }, linux_bionic_x86_64: { enabled: true, srcs: ["x86_64/bin/mynativebinary"], }, }, Loading @@ -832,10 +833,8 @@ cc_prebuilt_binary { host: { enabled: false, }, linux_bionic: { enabled: true, }, linux_bionic_x86_64: { enabled: true, srcs: ["x86_64/bin/mynativebinary"], }, }, Loading @@ -854,10 +853,8 @@ cc_prebuilt_library_shared { host: { enabled: false, }, linux_bionic: { enabled: true, }, linux_bionic_x86_64: { enabled: true, srcs: ["x86_64/lib/mynativelib.so"], }, }, Loading @@ -875,10 +872,8 @@ cc_prebuilt_library_shared { host: { enabled: false, }, linux_bionic: { enabled: true, }, linux_bionic_x86_64: { enabled: true, srcs: ["x86_64/lib/mynativelib.so"], }, }, Loading @@ -896,7 +891,7 @@ module_exports_snapshot { host: { enabled: false, }, linux_bionic: { linux_bionic_x86_64: { enabled: true, }, }, Loading Loading @@ -952,13 +947,12 @@ cc_prebuilt_binary { host: { enabled: false, }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["x86_64/bin/linker"], }, linux_glibc_x86: { enabled: true, srcs: ["x86/bin/linker"], }, }, Loading @@ -978,13 +972,12 @@ cc_prebuilt_binary { host: { enabled: false, }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["x86_64/bin/linker"], }, linux_glibc_x86: { enabled: true, srcs: ["x86/bin/linker"], }, }, Loading @@ -1000,7 +993,10 @@ module_exports_snapshot { host: { enabled: false, }, linux_glibc: { linux_glibc_x86_64: { enabled: true, }, linux_glibc_x86: { enabled: true, }, }, Loading Loading @@ -1345,14 +1341,13 @@ cc_prebuilt_library_shared { host: { enabled: false, }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["x86_64/lib/mynativelib.so"], export_include_dirs: ["x86_64/include_gen/mynativelib"], }, linux_glibc_x86: { enabled: true, srcs: ["x86/lib/mynativelib.so"], export_include_dirs: ["x86/include_gen/mynativelib"], }, Loading @@ -1373,14 +1368,13 @@ cc_prebuilt_library_shared { host: { enabled: false, }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["x86_64/lib/mynativelib.so"], export_include_dirs: ["x86_64/include_gen/mynativelib"], }, linux_glibc_x86: { enabled: true, srcs: ["x86/lib/mynativelib.so"], export_include_dirs: ["x86/include_gen/mynativelib"], }, Loading @@ -1397,7 +1391,10 @@ sdk_snapshot { host: { enabled: false, }, linux_glibc: { linux_glibc_x86_64: { enabled: true, }, linux_glibc_x86: { enabled: true, }, }, Loading Loading @@ -1464,20 +1461,21 @@ cc_prebuilt_library_shared { enabled: false, }, linux_glibc: { enabled: true, compile_multilib: "both", }, linux_glibc_x86_64: { enabled: true, srcs: ["linux_glibc/x86_64/lib/mynativelib.so"], }, linux_glibc_x86: { enabled: true, srcs: ["linux_glibc/x86/lib/mynativelib.so"], }, windows: { enabled: true, compile_multilib: "64", }, windows_x86_64: { enabled: true, srcs: ["windows/x86_64/lib/mynativelib.dll"], }, }, Loading @@ -1495,20 +1493,21 @@ cc_prebuilt_library_shared { enabled: false, }, linux_glibc: { enabled: true, compile_multilib: "both", }, linux_glibc_x86_64: { enabled: true, srcs: ["linux_glibc/x86_64/lib/mynativelib.so"], }, linux_glibc_x86: { enabled: true, srcs: ["linux_glibc/x86/lib/mynativelib.so"], }, windows: { enabled: true, compile_multilib: "64", }, windows_x86_64: { enabled: true, srcs: ["windows/x86_64/lib/mynativelib.dll"], }, }, Loading @@ -1521,15 +1520,20 @@ sdk_snapshot { host_supported: true, native_shared_libs: ["mysdk_mynativelib@current"], target: { windows: { compile_multilib: "64", }, host: { enabled: false, }, linux_glibc: { linux_glibc_x86_64: { enabled: true, }, windows: { linux_glibc_x86: { enabled: true, }, windows_x86_64: { enabled: true, compile_multilib: "64", }, }, } Loading Loading @@ -1669,14 +1673,13 @@ cc_prebuilt_library_static { host: { enabled: false, }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["x86_64/lib/mynativelib.a"], export_include_dirs: ["x86_64/include_gen/mynativelib"], }, linux_glibc_x86: { enabled: true, srcs: ["x86/lib/mynativelib.a"], export_include_dirs: ["x86/include_gen/mynativelib"], }, Loading @@ -1696,14 +1699,13 @@ cc_prebuilt_library_static { host: { enabled: false, }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["x86_64/lib/mynativelib.a"], export_include_dirs: ["x86_64/include_gen/mynativelib"], }, linux_glibc_x86: { enabled: true, srcs: ["x86/lib/mynativelib.a"], export_include_dirs: ["x86/include_gen/mynativelib"], }, Loading @@ -1720,7 +1722,10 @@ module_exports_snapshot { host: { enabled: false, }, linux_glibc: { linux_glibc_x86_64: { enabled: true, }, linux_glibc_x86: { enabled: true, }, }, Loading Loading @@ -1885,10 +1890,8 @@ cc_prebuilt_library_static { host: { enabled: false, }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["x86_64/lib/mynativelib.a"], export_include_dirs: ["x86_64/include_gen/mynativelib"], }, Loading @@ -1908,10 +1911,8 @@ cc_prebuilt_library_static { host: { enabled: false, }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["x86_64/lib/mynativelib.a"], export_include_dirs: ["x86_64/include_gen/mynativelib"], }, Loading @@ -1929,7 +1930,7 @@ module_exports_snapshot { host: { enabled: false, }, linux_glibc: { linux_glibc_x86_64: { enabled: true, }, }, Loading Loading @@ -2027,7 +2028,10 @@ cc_prebuilt_library_headers { host: { enabled: false, }, linux_glibc: { linux_glibc_x86_64: { enabled: true, }, linux_glibc_x86: { enabled: true, }, }, Loading @@ -2046,7 +2050,10 @@ cc_prebuilt_library_headers { host: { enabled: false, }, linux_glibc: { linux_glibc_x86_64: { enabled: true, }, linux_glibc_x86: { enabled: true, }, }, Loading @@ -2062,7 +2069,10 @@ sdk_snapshot { host: { enabled: false, }, linux_glibc: { linux_glibc_x86_64: { enabled: true, }, linux_glibc_x86: { enabled: true, }, }, Loading Loading @@ -2118,9 +2128,14 @@ cc_prebuilt_library_headers { export_include_dirs: ["android/include/include-android"], }, linux_glibc: { enabled: true, export_include_dirs: ["linux_glibc/include/include-host"], }, linux_glibc_x86_64: { enabled: true, }, linux_glibc_x86: { enabled: true, }, }, } Loading @@ -2140,9 +2155,14 @@ cc_prebuilt_library_headers { export_include_dirs: ["android/include/include-android"], }, linux_glibc: { enabled: true, export_include_dirs: ["linux_glibc/include/include-host"], }, linux_glibc_x86_64: { enabled: true, }, linux_glibc_x86: { enabled: true, }, }, } Loading @@ -2155,7 +2175,10 @@ sdk_snapshot { host: { enabled: false, }, linux_glibc: { linux_glibc_x86_64: { enabled: true, }, linux_glibc_x86: { enabled: true, }, }, Loading Loading @@ -2346,13 +2369,12 @@ cc_prebuilt_library_shared { android_arm: { srcs: ["android/arm/lib/sslvariants.so"], }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["linux_glibc/x86_64/lib/sslvariants.so"], }, linux_glibc_x86: { enabled: true, srcs: ["linux_glibc/x86/lib/sslvariants.so"], }, }, Loading @@ -2377,13 +2399,12 @@ cc_prebuilt_library_shared { android_arm: { srcs: ["android/arm/lib/sslvariants.so"], }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["linux_glibc/x86_64/lib/sslvariants.so"], }, linux_glibc_x86: { enabled: true, srcs: ["linux_glibc/x86/lib/sslvariants.so"], }, }, Loading @@ -2398,7 +2419,10 @@ sdk_snapshot { host: { enabled: false, }, linux_glibc: { linux_glibc_x86_64: { enabled: true, }, linux_glibc_x86: { enabled: true, }, }, Loading Loading @@ -2536,13 +2560,12 @@ cc_prebuilt_library_shared { android_arm: { srcs: ["android/arm/lib/stubslib.so"], }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["linux_glibc/x86_64/lib/stubslib.so"], }, linux_glibc_x86: { enabled: true, srcs: ["linux_glibc/x86/lib/stubslib.so"], }, }, Loading Loading @@ -2571,13 +2594,12 @@ cc_prebuilt_library_shared { android_arm: { srcs: ["android/arm/lib/stubslib.so"], }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["linux_glibc/x86_64/lib/stubslib.so"], }, linux_glibc_x86: { enabled: true, srcs: ["linux_glibc/x86/lib/stubslib.so"], }, }, Loading @@ -2592,7 +2614,10 @@ sdk_snapshot { host: { enabled: false, }, linux_glibc: { linux_glibc_x86_64: { enabled: true, }, linux_glibc_x86: { enabled: true, }, }, Loading Loading @@ -2637,13 +2662,12 @@ cc_prebuilt_library_shared { android_arm: { srcs: ["android/arm/lib/mylib.so"], }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["linux_glibc/x86_64/lib/mylib-host.so"], }, linux_glibc_x86: { enabled: true, srcs: ["linux_glibc/x86/lib/mylib-host.so"], }, }, Loading @@ -2666,13 +2690,12 @@ cc_prebuilt_library_shared { android_arm: { srcs: ["android/arm/lib/mylib.so"], }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["linux_glibc/x86_64/lib/mylib-host.so"], }, linux_glibc_x86: { enabled: true, srcs: ["linux_glibc/x86/lib/mylib-host.so"], }, }, Loading @@ -2687,7 +2710,10 @@ sdk_snapshot { host: { enabled: false, }, linux_glibc: { linux_glibc_x86_64: { enabled: true, }, linux_glibc_x86: { enabled: true, }, }, Loading sdk/update.go +33 −31 Original line number Diff line number Diff line Loading @@ -347,34 +347,11 @@ func (s *sdk) buildSnapshot(ctx android.ModuleContext, sdkVariants []*sdk) andro targetPropertySet := snapshotModule.AddPropertySet("target") // If host is supported and any member is host OS dependent then disable host // by default, so that we can enable each host OS variant explicitly. This // avoids problems with implicitly enabled OS variants when the snapshot is // used, which might be different from this run (e.g. different build OS). hasHostOsDependentMember := false if s.HostSupported() { for _, memberRef := range memberRefs { if memberRef.memberType.IsHostOsDependent() { hasHostOsDependentMember = true break } } if hasHostOsDependentMember { hostPropertySet := targetPropertySet.AddPropertySet("host") hostPropertySet.AddProperty("enabled", false) } } // Iterate over the os types in a fixed order. for _, osType := range s.getPossibleOsTypes() { if sdkVariant, ok := osTypeToMemberProperties[osType]; ok { osPropertySet := targetPropertySet.AddPropertySet(sdkVariant.Target().Os.Name) // Enable the variant explicitly when we've disabled it by default on host. if hasHostOsDependentMember && osType.Class == android.Host { osPropertySet.AddProperty("enabled", true) } variantProps := variantToProperties[sdkVariant] if variantProps.Compile_multilib != "" && variantProps.Compile_multilib != "both" { osPropertySet.AddProperty("compile_multilib", variantProps.Compile_multilib) Loading @@ -384,6 +361,31 @@ func (s *sdk) buildSnapshot(ctx android.ModuleContext, sdkVariants []*sdk) andro } } // If host is supported and any member is host OS dependent then disable host // by default, so that we can enable each host OS variant explicitly. This // avoids problems with implicitly enabled OS variants when the snapshot is // used, which might be different from this run (e.g. different build OS). if s.HostSupported() { var supportedHostTargets []string for _, memberRef := range memberRefs { if memberRef.memberType.IsHostOsDependent() && memberRef.variant.Target().Os.Class == android.Host { targetString := memberRef.variant.Target().Os.String() + "_" + memberRef.variant.Target().Arch.ArchType.String() if !android.InList(targetString, supportedHostTargets) { supportedHostTargets = append(supportedHostTargets, targetString) } } } if len(supportedHostTargets) > 0 { hostPropertySet := targetPropertySet.AddPropertySet("host") hostPropertySet.AddProperty("enabled", false) } // Enable the <os>_<arch> variant explicitly when we've disabled it by default on host. for _, hostTarget := range supportedHostTargets { propertySet := targetPropertySet.AddPropertySet(hostTarget) propertySet.AddProperty("enabled", true) } } // Prune any empty property sets. snapshotModule.transform(pruneEmptySetTransformer{}) Loading Loading @@ -984,7 +986,7 @@ func newOsTypeSpecificInfo(ctx android.SdkMemberContext, osType android.OsType, archTypeName := archType.Name archVariants := variantsByArchName[archTypeName] archInfo := newArchSpecificInfo(ctx, archType, osSpecificVariantPropertiesFactory, archVariants) archInfo := newArchSpecificInfo(ctx, archType, osType, osSpecificVariantPropertiesFactory, archVariants) osInfo.archInfos = append(osInfo.archInfos, archInfo) } Loading Loading @@ -1067,11 +1069,6 @@ func (osInfo *osTypeSpecificInfo) addToPropertySet(ctx *memberContext, bpModule osPropertySet = targetPropertySet.AddPropertySet(osType.Name) archPropertySet = targetPropertySet // Enable the variant explicitly when we've disabled it by default on host. if ctx.memberType.IsHostOsDependent() && osType.Class == android.Host { osPropertySet.AddProperty("enabled", true) } // Arch specific properties need to be added to an os and arch specific // section prefixed with <os>_. archOsPrefix = osType.Name + "_" Loading Loading @@ -1105,6 +1102,7 @@ type archTypeSpecificInfo struct { baseInfo archType android.ArchType osType android.OsType linkInfos []*linkTypeSpecificInfo } Loading @@ -1113,10 +1111,10 @@ var _ propertiesContainer = (*archTypeSpecificInfo)(nil) // Create a new archTypeSpecificInfo for the specified arch type and its properties // structures populated with information from the variants. func newArchSpecificInfo(ctx android.SdkMemberContext, archType android.ArchType, variantPropertiesFactory variantPropertiesFactoryFunc, archVariants []android.Module) *archTypeSpecificInfo { func newArchSpecificInfo(ctx android.SdkMemberContext, archType android.ArchType, osType android.OsType, variantPropertiesFactory variantPropertiesFactoryFunc, archVariants []android.Module) *archTypeSpecificInfo { // Create an arch specific info into which the variant properties can be copied. archInfo := &archTypeSpecificInfo{archType: archType} archInfo := &archTypeSpecificInfo{archType: archType, osType: osType} // Create the properties into which the arch type specific properties will be // added. Loading Loading @@ -1180,6 +1178,10 @@ func (archInfo *archTypeSpecificInfo) optimizeProperties(ctx *memberContext, com func (archInfo *archTypeSpecificInfo) addToPropertySet(ctx *memberContext, archPropertySet android.BpPropertySet, archOsPrefix string) { archTypeName := archInfo.archType.Name archTypePropertySet := archPropertySet.AddPropertySet(archOsPrefix + archTypeName) // Enable the <os>_<arch> variant explicitly when we've disabled it by default on host. if ctx.memberType.IsHostOsDependent() && archInfo.osType.Class == android.Host { archTypePropertySet.AddProperty("enabled", true) } addSdkMemberPropertiesToSet(ctx, archInfo.Properties, archTypePropertySet) for _, linkInfo := range archInfo.linkInfos { Loading Loading
sdk/cc_sdk_test.go +115 −89 Original line number Diff line number Diff line Loading @@ -120,10 +120,8 @@ cc_prebuilt_library_shared { android_arm64: { srcs: ["android/arm64/lib/sdkmember.so"], }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["linux_glibc/x86_64/lib/sdkmember.so"], }, }, Loading @@ -143,10 +141,8 @@ cc_prebuilt_library_shared { android_arm64: { srcs: ["android/arm64/lib/sdkmember.so"], }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["linux_glibc/x86_64/lib/sdkmember.so"], }, }, Loading @@ -162,7 +158,7 @@ sdk_snapshot { host: { enabled: false, }, linux_glibc: { linux_glibc_x86_64: { enabled: true, }, }, Loading Loading @@ -670,20 +666,21 @@ cc_prebuilt_binary { enabled: false, }, linux_glibc: { enabled: true, compile_multilib: "both", }, linux_glibc_x86_64: { enabled: true, srcs: ["linux_glibc/x86_64/bin/mynativebinary"], }, linux_glibc_x86: { enabled: true, srcs: ["linux_glibc/x86/bin/mynativebinary"], }, windows: { enabled: true, compile_multilib: "64", }, windows_x86_64: { enabled: true, srcs: ["windows/x86_64/bin/mynativebinary.exe"], }, }, Loading @@ -701,20 +698,21 @@ cc_prebuilt_binary { enabled: false, }, linux_glibc: { enabled: true, compile_multilib: "both", }, linux_glibc_x86_64: { enabled: true, srcs: ["linux_glibc/x86_64/bin/mynativebinary"], }, linux_glibc_x86: { enabled: true, srcs: ["linux_glibc/x86/bin/mynativebinary"], }, windows: { enabled: true, compile_multilib: "64", }, windows_x86_64: { enabled: true, srcs: ["windows/x86_64/bin/mynativebinary.exe"], }, }, Loading @@ -727,15 +725,20 @@ module_exports_snapshot { host_supported: true, native_binaries: ["myexports_mynativebinary@current"], target: { windows: { compile_multilib: "64", }, host: { enabled: false, }, linux_glibc: { linux_glibc_x86_64: { enabled: true, }, windows: { linux_glibc_x86: { enabled: true, }, windows_x86_64: { enabled: true, compile_multilib: "64", }, }, } Loading Loading @@ -811,10 +814,8 @@ cc_prebuilt_binary { host: { enabled: false, }, linux_bionic: { enabled: true, }, linux_bionic_x86_64: { enabled: true, srcs: ["x86_64/bin/mynativebinary"], }, }, Loading @@ -832,10 +833,8 @@ cc_prebuilt_binary { host: { enabled: false, }, linux_bionic: { enabled: true, }, linux_bionic_x86_64: { enabled: true, srcs: ["x86_64/bin/mynativebinary"], }, }, Loading @@ -854,10 +853,8 @@ cc_prebuilt_library_shared { host: { enabled: false, }, linux_bionic: { enabled: true, }, linux_bionic_x86_64: { enabled: true, srcs: ["x86_64/lib/mynativelib.so"], }, }, Loading @@ -875,10 +872,8 @@ cc_prebuilt_library_shared { host: { enabled: false, }, linux_bionic: { enabled: true, }, linux_bionic_x86_64: { enabled: true, srcs: ["x86_64/lib/mynativelib.so"], }, }, Loading @@ -896,7 +891,7 @@ module_exports_snapshot { host: { enabled: false, }, linux_bionic: { linux_bionic_x86_64: { enabled: true, }, }, Loading Loading @@ -952,13 +947,12 @@ cc_prebuilt_binary { host: { enabled: false, }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["x86_64/bin/linker"], }, linux_glibc_x86: { enabled: true, srcs: ["x86/bin/linker"], }, }, Loading @@ -978,13 +972,12 @@ cc_prebuilt_binary { host: { enabled: false, }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["x86_64/bin/linker"], }, linux_glibc_x86: { enabled: true, srcs: ["x86/bin/linker"], }, }, Loading @@ -1000,7 +993,10 @@ module_exports_snapshot { host: { enabled: false, }, linux_glibc: { linux_glibc_x86_64: { enabled: true, }, linux_glibc_x86: { enabled: true, }, }, Loading Loading @@ -1345,14 +1341,13 @@ cc_prebuilt_library_shared { host: { enabled: false, }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["x86_64/lib/mynativelib.so"], export_include_dirs: ["x86_64/include_gen/mynativelib"], }, linux_glibc_x86: { enabled: true, srcs: ["x86/lib/mynativelib.so"], export_include_dirs: ["x86/include_gen/mynativelib"], }, Loading @@ -1373,14 +1368,13 @@ cc_prebuilt_library_shared { host: { enabled: false, }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["x86_64/lib/mynativelib.so"], export_include_dirs: ["x86_64/include_gen/mynativelib"], }, linux_glibc_x86: { enabled: true, srcs: ["x86/lib/mynativelib.so"], export_include_dirs: ["x86/include_gen/mynativelib"], }, Loading @@ -1397,7 +1391,10 @@ sdk_snapshot { host: { enabled: false, }, linux_glibc: { linux_glibc_x86_64: { enabled: true, }, linux_glibc_x86: { enabled: true, }, }, Loading Loading @@ -1464,20 +1461,21 @@ cc_prebuilt_library_shared { enabled: false, }, linux_glibc: { enabled: true, compile_multilib: "both", }, linux_glibc_x86_64: { enabled: true, srcs: ["linux_glibc/x86_64/lib/mynativelib.so"], }, linux_glibc_x86: { enabled: true, srcs: ["linux_glibc/x86/lib/mynativelib.so"], }, windows: { enabled: true, compile_multilib: "64", }, windows_x86_64: { enabled: true, srcs: ["windows/x86_64/lib/mynativelib.dll"], }, }, Loading @@ -1495,20 +1493,21 @@ cc_prebuilt_library_shared { enabled: false, }, linux_glibc: { enabled: true, compile_multilib: "both", }, linux_glibc_x86_64: { enabled: true, srcs: ["linux_glibc/x86_64/lib/mynativelib.so"], }, linux_glibc_x86: { enabled: true, srcs: ["linux_glibc/x86/lib/mynativelib.so"], }, windows: { enabled: true, compile_multilib: "64", }, windows_x86_64: { enabled: true, srcs: ["windows/x86_64/lib/mynativelib.dll"], }, }, Loading @@ -1521,15 +1520,20 @@ sdk_snapshot { host_supported: true, native_shared_libs: ["mysdk_mynativelib@current"], target: { windows: { compile_multilib: "64", }, host: { enabled: false, }, linux_glibc: { linux_glibc_x86_64: { enabled: true, }, windows: { linux_glibc_x86: { enabled: true, }, windows_x86_64: { enabled: true, compile_multilib: "64", }, }, } Loading Loading @@ -1669,14 +1673,13 @@ cc_prebuilt_library_static { host: { enabled: false, }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["x86_64/lib/mynativelib.a"], export_include_dirs: ["x86_64/include_gen/mynativelib"], }, linux_glibc_x86: { enabled: true, srcs: ["x86/lib/mynativelib.a"], export_include_dirs: ["x86/include_gen/mynativelib"], }, Loading @@ -1696,14 +1699,13 @@ cc_prebuilt_library_static { host: { enabled: false, }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["x86_64/lib/mynativelib.a"], export_include_dirs: ["x86_64/include_gen/mynativelib"], }, linux_glibc_x86: { enabled: true, srcs: ["x86/lib/mynativelib.a"], export_include_dirs: ["x86/include_gen/mynativelib"], }, Loading @@ -1720,7 +1722,10 @@ module_exports_snapshot { host: { enabled: false, }, linux_glibc: { linux_glibc_x86_64: { enabled: true, }, linux_glibc_x86: { enabled: true, }, }, Loading Loading @@ -1885,10 +1890,8 @@ cc_prebuilt_library_static { host: { enabled: false, }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["x86_64/lib/mynativelib.a"], export_include_dirs: ["x86_64/include_gen/mynativelib"], }, Loading @@ -1908,10 +1911,8 @@ cc_prebuilt_library_static { host: { enabled: false, }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["x86_64/lib/mynativelib.a"], export_include_dirs: ["x86_64/include_gen/mynativelib"], }, Loading @@ -1929,7 +1930,7 @@ module_exports_snapshot { host: { enabled: false, }, linux_glibc: { linux_glibc_x86_64: { enabled: true, }, }, Loading Loading @@ -2027,7 +2028,10 @@ cc_prebuilt_library_headers { host: { enabled: false, }, linux_glibc: { linux_glibc_x86_64: { enabled: true, }, linux_glibc_x86: { enabled: true, }, }, Loading @@ -2046,7 +2050,10 @@ cc_prebuilt_library_headers { host: { enabled: false, }, linux_glibc: { linux_glibc_x86_64: { enabled: true, }, linux_glibc_x86: { enabled: true, }, }, Loading @@ -2062,7 +2069,10 @@ sdk_snapshot { host: { enabled: false, }, linux_glibc: { linux_glibc_x86_64: { enabled: true, }, linux_glibc_x86: { enabled: true, }, }, Loading Loading @@ -2118,9 +2128,14 @@ cc_prebuilt_library_headers { export_include_dirs: ["android/include/include-android"], }, linux_glibc: { enabled: true, export_include_dirs: ["linux_glibc/include/include-host"], }, linux_glibc_x86_64: { enabled: true, }, linux_glibc_x86: { enabled: true, }, }, } Loading @@ -2140,9 +2155,14 @@ cc_prebuilt_library_headers { export_include_dirs: ["android/include/include-android"], }, linux_glibc: { enabled: true, export_include_dirs: ["linux_glibc/include/include-host"], }, linux_glibc_x86_64: { enabled: true, }, linux_glibc_x86: { enabled: true, }, }, } Loading @@ -2155,7 +2175,10 @@ sdk_snapshot { host: { enabled: false, }, linux_glibc: { linux_glibc_x86_64: { enabled: true, }, linux_glibc_x86: { enabled: true, }, }, Loading Loading @@ -2346,13 +2369,12 @@ cc_prebuilt_library_shared { android_arm: { srcs: ["android/arm/lib/sslvariants.so"], }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["linux_glibc/x86_64/lib/sslvariants.so"], }, linux_glibc_x86: { enabled: true, srcs: ["linux_glibc/x86/lib/sslvariants.so"], }, }, Loading @@ -2377,13 +2399,12 @@ cc_prebuilt_library_shared { android_arm: { srcs: ["android/arm/lib/sslvariants.so"], }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["linux_glibc/x86_64/lib/sslvariants.so"], }, linux_glibc_x86: { enabled: true, srcs: ["linux_glibc/x86/lib/sslvariants.so"], }, }, Loading @@ -2398,7 +2419,10 @@ sdk_snapshot { host: { enabled: false, }, linux_glibc: { linux_glibc_x86_64: { enabled: true, }, linux_glibc_x86: { enabled: true, }, }, Loading Loading @@ -2536,13 +2560,12 @@ cc_prebuilt_library_shared { android_arm: { srcs: ["android/arm/lib/stubslib.so"], }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["linux_glibc/x86_64/lib/stubslib.so"], }, linux_glibc_x86: { enabled: true, srcs: ["linux_glibc/x86/lib/stubslib.so"], }, }, Loading Loading @@ -2571,13 +2594,12 @@ cc_prebuilt_library_shared { android_arm: { srcs: ["android/arm/lib/stubslib.so"], }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["linux_glibc/x86_64/lib/stubslib.so"], }, linux_glibc_x86: { enabled: true, srcs: ["linux_glibc/x86/lib/stubslib.so"], }, }, Loading @@ -2592,7 +2614,10 @@ sdk_snapshot { host: { enabled: false, }, linux_glibc: { linux_glibc_x86_64: { enabled: true, }, linux_glibc_x86: { enabled: true, }, }, Loading Loading @@ -2637,13 +2662,12 @@ cc_prebuilt_library_shared { android_arm: { srcs: ["android/arm/lib/mylib.so"], }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["linux_glibc/x86_64/lib/mylib-host.so"], }, linux_glibc_x86: { enabled: true, srcs: ["linux_glibc/x86/lib/mylib-host.so"], }, }, Loading @@ -2666,13 +2690,12 @@ cc_prebuilt_library_shared { android_arm: { srcs: ["android/arm/lib/mylib.so"], }, linux_glibc: { enabled: true, }, linux_glibc_x86_64: { enabled: true, srcs: ["linux_glibc/x86_64/lib/mylib-host.so"], }, linux_glibc_x86: { enabled: true, srcs: ["linux_glibc/x86/lib/mylib-host.so"], }, }, Loading @@ -2687,7 +2710,10 @@ sdk_snapshot { host: { enabled: false, }, linux_glibc: { linux_glibc_x86_64: { enabled: true, }, linux_glibc_x86: { enabled: true, }, }, Loading
sdk/update.go +33 −31 Original line number Diff line number Diff line Loading @@ -347,34 +347,11 @@ func (s *sdk) buildSnapshot(ctx android.ModuleContext, sdkVariants []*sdk) andro targetPropertySet := snapshotModule.AddPropertySet("target") // If host is supported and any member is host OS dependent then disable host // by default, so that we can enable each host OS variant explicitly. This // avoids problems with implicitly enabled OS variants when the snapshot is // used, which might be different from this run (e.g. different build OS). hasHostOsDependentMember := false if s.HostSupported() { for _, memberRef := range memberRefs { if memberRef.memberType.IsHostOsDependent() { hasHostOsDependentMember = true break } } if hasHostOsDependentMember { hostPropertySet := targetPropertySet.AddPropertySet("host") hostPropertySet.AddProperty("enabled", false) } } // Iterate over the os types in a fixed order. for _, osType := range s.getPossibleOsTypes() { if sdkVariant, ok := osTypeToMemberProperties[osType]; ok { osPropertySet := targetPropertySet.AddPropertySet(sdkVariant.Target().Os.Name) // Enable the variant explicitly when we've disabled it by default on host. if hasHostOsDependentMember && osType.Class == android.Host { osPropertySet.AddProperty("enabled", true) } variantProps := variantToProperties[sdkVariant] if variantProps.Compile_multilib != "" && variantProps.Compile_multilib != "both" { osPropertySet.AddProperty("compile_multilib", variantProps.Compile_multilib) Loading @@ -384,6 +361,31 @@ func (s *sdk) buildSnapshot(ctx android.ModuleContext, sdkVariants []*sdk) andro } } // If host is supported and any member is host OS dependent then disable host // by default, so that we can enable each host OS variant explicitly. This // avoids problems with implicitly enabled OS variants when the snapshot is // used, which might be different from this run (e.g. different build OS). if s.HostSupported() { var supportedHostTargets []string for _, memberRef := range memberRefs { if memberRef.memberType.IsHostOsDependent() && memberRef.variant.Target().Os.Class == android.Host { targetString := memberRef.variant.Target().Os.String() + "_" + memberRef.variant.Target().Arch.ArchType.String() if !android.InList(targetString, supportedHostTargets) { supportedHostTargets = append(supportedHostTargets, targetString) } } } if len(supportedHostTargets) > 0 { hostPropertySet := targetPropertySet.AddPropertySet("host") hostPropertySet.AddProperty("enabled", false) } // Enable the <os>_<arch> variant explicitly when we've disabled it by default on host. for _, hostTarget := range supportedHostTargets { propertySet := targetPropertySet.AddPropertySet(hostTarget) propertySet.AddProperty("enabled", true) } } // Prune any empty property sets. snapshotModule.transform(pruneEmptySetTransformer{}) Loading Loading @@ -984,7 +986,7 @@ func newOsTypeSpecificInfo(ctx android.SdkMemberContext, osType android.OsType, archTypeName := archType.Name archVariants := variantsByArchName[archTypeName] archInfo := newArchSpecificInfo(ctx, archType, osSpecificVariantPropertiesFactory, archVariants) archInfo := newArchSpecificInfo(ctx, archType, osType, osSpecificVariantPropertiesFactory, archVariants) osInfo.archInfos = append(osInfo.archInfos, archInfo) } Loading Loading @@ -1067,11 +1069,6 @@ func (osInfo *osTypeSpecificInfo) addToPropertySet(ctx *memberContext, bpModule osPropertySet = targetPropertySet.AddPropertySet(osType.Name) archPropertySet = targetPropertySet // Enable the variant explicitly when we've disabled it by default on host. if ctx.memberType.IsHostOsDependent() && osType.Class == android.Host { osPropertySet.AddProperty("enabled", true) } // Arch specific properties need to be added to an os and arch specific // section prefixed with <os>_. archOsPrefix = osType.Name + "_" Loading Loading @@ -1105,6 +1102,7 @@ type archTypeSpecificInfo struct { baseInfo archType android.ArchType osType android.OsType linkInfos []*linkTypeSpecificInfo } Loading @@ -1113,10 +1111,10 @@ var _ propertiesContainer = (*archTypeSpecificInfo)(nil) // Create a new archTypeSpecificInfo for the specified arch type and its properties // structures populated with information from the variants. func newArchSpecificInfo(ctx android.SdkMemberContext, archType android.ArchType, variantPropertiesFactory variantPropertiesFactoryFunc, archVariants []android.Module) *archTypeSpecificInfo { func newArchSpecificInfo(ctx android.SdkMemberContext, archType android.ArchType, osType android.OsType, variantPropertiesFactory variantPropertiesFactoryFunc, archVariants []android.Module) *archTypeSpecificInfo { // Create an arch specific info into which the variant properties can be copied. archInfo := &archTypeSpecificInfo{archType: archType} archInfo := &archTypeSpecificInfo{archType: archType, osType: osType} // Create the properties into which the arch type specific properties will be // added. Loading Loading @@ -1180,6 +1178,10 @@ func (archInfo *archTypeSpecificInfo) optimizeProperties(ctx *memberContext, com func (archInfo *archTypeSpecificInfo) addToPropertySet(ctx *memberContext, archPropertySet android.BpPropertySet, archOsPrefix string) { archTypeName := archInfo.archType.Name archTypePropertySet := archPropertySet.AddPropertySet(archOsPrefix + archTypeName) // Enable the <os>_<arch> variant explicitly when we've disabled it by default on host. if ctx.memberType.IsHostOsDependent() && archInfo.osType.Class == android.Host { archTypePropertySet.AddProperty("enabled", true) } addSdkMemberPropertiesToSet(ctx, archInfo.Properties, archTypePropertySet) for _, linkInfo := range archInfo.linkInfos { Loading