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

Commit 6794cc20 authored by Kiyoung Kim's avatar Kiyoung Kim Committed by Gerrit Code Review
Browse files

Merge "Soong works with empty VNDK version" into main

parents 2f08cfc7 8487c0b8
Loading
Loading
Loading
Loading
+26 −18
Original line number Diff line number Diff line
@@ -65,6 +65,7 @@ func apexVndkMutator(mctx android.TopDownMutatorContext) {
		}

		vndkVersion := ab.vndkVersion(mctx.DeviceConfig())
		if vndkVersion != "" {
			apiLevel, err := android.ApiLevelFromUser(mctx, vndkVersion)
			if err != nil {
				mctx.PropertyErrorf("vndk_version", "%s", err.Error())
@@ -81,11 +82,13 @@ func apexVndkMutator(mctx android.TopDownMutatorContext) {
				ab.Disable()
			}
			if proptools.String(ab.vndkProperties.Vndk_version) != "" &&
				mctx.DeviceConfig().PlatformVndkVersion() != "" &&
				apiLevel.GreaterThanOrEqualTo(android.ApiLevelOrPanic(mctx, mctx.DeviceConfig().PlatformVndkVersion())) {
				ab.Disable()
			}
		}
	}
}

func apexVndkDepsMutator(mctx android.BottomUpMutatorContext) {
	if m, ok := mctx.Module().(*cc.Module); ok && cc.IsForVndkApex(mctx, m) {
@@ -94,6 +97,11 @@ func apexVndkDepsMutator(mctx android.BottomUpMutatorContext) {
		if vndkVersion == "" {
			vndkVersion = mctx.DeviceConfig().PlatformVndkVersion()
		}

		if vndkVersion == "" {
			return
		}

		if vndkVersion == mctx.DeviceConfig().PlatformVndkVersion() {
			vndkVersion = "current"
		} else {
+1 −1
Original line number Diff line number Diff line
@@ -105,7 +105,7 @@ func (c *Module) AndroidMkEntries() []android.AndroidMkEntries {
					entries.AddStrings("LOCAL_RUNTIME_LIBRARIES", c.Properties.AndroidMkRuntimeLibs...)
				}
				entries.SetString("LOCAL_SOONG_LINK_TYPE", c.makeLinkType)
				if c.UseVndk() {
				if c.InVendorOrProduct() {
					entries.SetBool("LOCAL_USE_VNDK", true)
					if c.IsVndk() && !c.static() {
						entries.SetString("LOCAL_SOONG_VNDK_VERSION", c.VndkVersion())
+1 −1
Original line number Diff line number Diff line
@@ -3785,7 +3785,7 @@ func (c *Module) Object() bool {
}

func GetMakeLinkType(actx android.ModuleContext, c LinkableInterface) string {
	if c.UseVndk() {
	if c.InVendorOrProduct() {
		if c.IsLlndk() {
			if !c.IsLlndkPublic() {
				return "native:vndk_private"
+12 −5
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@ package cc
import (
	"fmt"
	"io"
	"log"
	"path/filepath"
	"regexp"
	"strconv"
@@ -871,12 +872,18 @@ func (library *libraryDecorator) getLibNameHelper(baseModuleName string, inVendo
func (library *libraryDecorator) getLibName(ctx BaseModuleContext) string {
	name := library.getLibNameHelper(ctx.baseModuleName(), ctx.inVendor(), ctx.inProduct())

	// Replace name with VNDK ext as original lib only when VNDK is enabled
	if ctx.IsVndkExt() {
		if ctx.DeviceConfig().VndkVersion() != "" {
			// vndk-ext lib should have the same name with original lib
			ctx.VisitDirectDepsWithTag(vndkExtDepTag, func(module android.Module) {
				originalName := module.(*Module).outputFile.Path()
				name = strings.TrimSuffix(originalName.Base(), originalName.Ext())
			})
		} else {
			// TODO(b/320208784) : Suggest a solution for former VNDK-ext libraries before VNDK deprecation.
			log.Printf("VNDK Extension on module %s will not be available once VNDK is deprecated", ctx.baseModuleName())
		}
	}

	if ctx.Host() && Bool(library.Properties.Unique_host_soname) {