Manual merge of AOSP into nyc-dev

Change-Id: I983bae75b69e63874b6f4dd32a760c23603992fd
This commit is contained in:
Colin Cross
2016-03-24 22:02:12 +00:00
5 changed files with 28 additions and 6 deletions

View File

@@ -17,6 +17,7 @@ package cc
import (
"fmt"
"io"
"path/filepath"
"strings"
"android/soong/common"
@@ -105,5 +106,17 @@ func (binary *binaryLinker) AndroidMk(ret *common.AndroidMkData) {
}
func (test *testLinker) AndroidMk(ret *common.AndroidMkData) {
ret.Disabled = true
test.binaryLinker.AndroidMk(ret)
if Bool(test.Properties.Test_per_src) {
ret.SubName = test.binaryLinker.Properties.Stem
}
}
func (installer *baseInstaller) AndroidMk(ret *common.AndroidMkData) {
ret.Extra = append(ret.Extra, func(w io.Writer, outputFile common.Path) error {
path := installer.path.RelPathString()
fmt.Fprintln(w, "LOCAL_MODULE_PATH := $(OUT_DIR)/"+filepath.Dir(path))
fmt.Fprintln(w, "LOCAL_MODULE_STEM := "+filepath.Base(path))
return nil
})
}

View File

@@ -1195,7 +1195,7 @@ type baseInstaller struct {
dir64 string
data bool
path common.Path
path common.OutputPath
}
var _ installer = (*baseInstaller)(nil)

View File

@@ -38,6 +38,7 @@ type AndroidMkDataProvider interface {
type AndroidMkData struct {
Class string
SubName string
OutputFile OptionalPath
Disabled bool
@@ -141,6 +142,10 @@ func translateAndroidMkModule(ctx blueprint.SingletonContext, w io.Writer, mod b
return err
}
if data.SubName != "" {
name += "_" + data.SubName
}
hostCross := false
if amod.Host() && amod.HostType() != CurrentHostType() {
hostCross = true

View File

@@ -76,8 +76,8 @@ type AndroidModuleContext interface {
ExpandSources(srcFiles, excludes []string) Paths
Glob(outDir, globPattern string, excludes []string) Paths
InstallFile(installPath OutputPath, srcPath Path, deps ...Path) Path
InstallFileName(installPath OutputPath, name string, srcPath Path, deps ...Path) Path
InstallFile(installPath OutputPath, srcPath Path, deps ...Path) OutputPath
InstallFileName(installPath OutputPath, name string, srcPath Path, deps ...Path) OutputPath
CheckbuildFile(srcPath Path)
AddMissingDependencies(deps []string)
@@ -531,7 +531,7 @@ func (a *androidBaseContextImpl) InstallInData() bool {
}
func (a *androidModuleContext) InstallFileName(installPath OutputPath, name string, srcPath Path,
deps ...Path) Path {
deps ...Path) OutputPath {
fullInstallPath := installPath.Join(a, name)
@@ -552,7 +552,7 @@ func (a *androidModuleContext) InstallFileName(installPath OutputPath, name stri
return fullInstallPath
}
func (a *androidModuleContext) InstallFile(installPath OutputPath, srcPath Path, deps ...Path) Path {
func (a *androidModuleContext) InstallFile(installPath OutputPath, srcPath Path, deps ...Path) OutputPath {
return a.InstallFileName(installPath, filepath.Base(srcPath.String()), srcPath, deps...)
}

View File

@@ -478,6 +478,10 @@ func (p OutputPath) String() string {
return filepath.Join(p.config.buildDir, p.path)
}
func (p OutputPath) RelPathString() string {
return p.path
}
// Join creates a new OutputPath with paths... joined with the current path. The
// provided paths... may not use '..' to escape from the current path.
func (p OutputPath) Join(ctx PathContext, paths ...string) OutputPath {