Merge changes from topic "soong-cc-install" am: fc06a59904
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1869554 Change-Id: I31fb434c67f797af65497a51910adc4acbc07997
This commit is contained in:
@@ -564,11 +564,18 @@ func (c *config) SetAllowMissingDependencies() {
|
||||
// BlueprintToolLocation returns the directory containing build system tools
|
||||
// from Blueprint, like soong_zip and merge_zips.
|
||||
func (c *config) HostToolDir() string {
|
||||
if c.KatiEnabled() {
|
||||
return filepath.Join(c.outDir, "host", c.PrebuiltOS(), "bin")
|
||||
} else {
|
||||
return filepath.Join(c.soongOutDir, "host", c.PrebuiltOS(), "bin")
|
||||
}
|
||||
}
|
||||
|
||||
func (c *config) HostToolPath(ctx PathContext, tool string) Path {
|
||||
path := pathForInstall(ctx, ctx.Config().BuildOS, ctx.Config().BuildArch, "bin", false, tool)
|
||||
if ctx.Config().KatiEnabled() {
|
||||
path = path.ToMakePath()
|
||||
}
|
||||
return path
|
||||
}
|
||||
|
||||
@@ -578,6 +585,9 @@ func (c *config) HostJNIToolPath(ctx PathContext, lib string) Path {
|
||||
ext = ".dylib"
|
||||
}
|
||||
path := pathForInstall(ctx, ctx.Config().BuildOS, ctx.Config().BuildArch, "lib64", false, lib+ext)
|
||||
if ctx.Config().KatiEnabled() {
|
||||
path = path.ToMakePath()
|
||||
}
|
||||
return path
|
||||
}
|
||||
|
||||
|
@@ -465,6 +465,9 @@ func (p OutputPaths) Strings() []string {
|
||||
// PathForGoBinary returns the path to the installed location of a bootstrap_go_binary module.
|
||||
func PathForGoBinary(ctx PathContext, goBinary bootstrap.GoBinaryTool) Path {
|
||||
goBinaryInstallDir := pathForInstall(ctx, ctx.Config().BuildOS, ctx.Config().BuildArch, "bin", false)
|
||||
if ctx.Config().KatiEnabled() {
|
||||
goBinaryInstallDir = goBinaryInstallDir.ToMakePath()
|
||||
}
|
||||
rel := Rel(ctx, goBinaryInstallDir.String(), goBinary.InstallPath())
|
||||
return goBinaryInstallDir.Join(ctx, rel)
|
||||
}
|
||||
|
@@ -839,6 +839,14 @@ func sboxPathForToolRel(ctx BuilderContext, path Path) string {
|
||||
// The tool is in the Soong output directory, it will be copied to __SBOX_OUT_DIR__/tools/out
|
||||
return filepath.Join(sboxToolsSubDir, "out", relOutSoong)
|
||||
}
|
||||
if ctx.Config().KatiEnabled() {
|
||||
toolDir = toolDir.ToMakePath()
|
||||
relOut, isRelOut, _ := maybeRelErr(toolDir.String(), path.String())
|
||||
if isRelOut {
|
||||
// The tool is in the Make output directory, it will be copied to __SBOX_OUT_DIR__/tools/out
|
||||
return filepath.Join(sboxToolsSubDir, "out", relOut)
|
||||
}
|
||||
}
|
||||
// The tool is in the source directory, it will be copied to __SBOX_OUT_DIR__/tools/src
|
||||
return filepath.Join(sboxToolsSubDir, "src", path.String())
|
||||
}
|
||||
|
@@ -450,11 +450,6 @@ func (installer *baseInstaller) AndroidMkEntries(ctx AndroidMkContext, entries *
|
||||
if installer.path == (android.InstallPath{}) {
|
||||
return
|
||||
}
|
||||
// Soong installation is only supported for host modules. Have Make
|
||||
// installation trigger Soong installation.
|
||||
if ctx.Target().Os.Class == android.Host {
|
||||
entries.OutputFile = android.OptionalPathForPath(installer.path)
|
||||
}
|
||||
|
||||
entries.ExtraEntries = append(entries.ExtraEntries, func(ctx android.AndroidMkExtraEntriesContext, entries *android.AndroidMkEntries) {
|
||||
path, file := filepath.Split(installer.path.ToMakePath().String())
|
||||
|
2
cc/cc.go
2
cc/cc.go
@@ -1365,6 +1365,8 @@ func (c *Module) InstallInRoot() bool {
|
||||
return c.installer != nil && c.installer.installInRoot()
|
||||
}
|
||||
|
||||
func (c *Module) InstallBypassMake() bool { return true }
|
||||
|
||||
type baseModuleContext struct {
|
||||
android.BaseModuleContext
|
||||
moduleContextImpl
|
||||
|
@@ -786,7 +786,11 @@ func (c *configImpl) PrebuiltOS() string {
|
||||
}
|
||||
|
||||
func (c *configImpl) HostToolDir() string {
|
||||
if c.SkipKatiNinja() {
|
||||
return filepath.Join(c.SoongOutDir(), "host", c.PrebuiltOS(), "bin")
|
||||
} else {
|
||||
return filepath.Join(c.OutDir(), "host", c.PrebuiltOS(), "bin")
|
||||
}
|
||||
}
|
||||
|
||||
func (c *configImpl) NamedGlobFile(name string) string {
|
||||
|
Reference in New Issue
Block a user