Merge changes from topic "preprocessed_ndk_headers" am: 5ae3652d99

am: 7435738d53

Change-Id: Iac614f6376163d527709ed57a37a4f3111a5dfe3
This commit is contained in:
Dan Albert 2018-05-24 17:08:48 -07:00 committed by android-build-merger
commit e6ab4f9657
2 changed files with 18 additions and 15 deletions

View File

@ -26,7 +26,7 @@ import (
)
var (
preprocessBionicHeaders = pctx.AndroidStaticRule("preprocessBionicHeaders",
versionBionicHeaders = pctx.AndroidStaticRule("versionBionicHeaders",
blueprint.RuleParams{
// The `&& touch $out` isn't really necessary, but Blueprint won't
// let us have only implicit outputs.
@ -45,7 +45,7 @@ func getCurrentIncludePath(ctx android.ModuleContext) android.OutputPath {
return getNdkSysrootBase(ctx).Join(ctx, "usr/include")
}
type headerProperies struct {
type headerProperties struct {
// Base directory of the headers being installed. As an example:
//
// ndk_headers {
@ -65,6 +65,9 @@ type headerProperies struct {
// List of headers to install. Glob compatible. Common case is "include/**/*.h".
Srcs []string
// Source paths that should be excluded from the srcs glob.
Exclude_srcs []string
// Path to the NOTICE file associated with the headers.
License *string
}
@ -72,7 +75,7 @@ type headerProperies struct {
type headerModule struct {
android.ModuleBase
properties headerProperies
properties headerProperties
installPaths android.Paths
licensePath android.ModuleSrcPath
@ -128,7 +131,7 @@ func (m *headerModule) GenerateAndroidBuildActions(ctx android.ModuleContext) {
return
}
srcFiles := ctx.ExpandSources(m.properties.Srcs, nil)
srcFiles := ctx.ExpandSources(m.properties.Srcs, m.properties.Exclude_srcs)
for _, header := range srcFiles {
installDir := getHeaderInstallDir(ctx, header, String(m.properties.From),
String(m.properties.To))
@ -154,10 +157,10 @@ func ndkHeadersFactory() android.Module {
return module
}
type preprocessedHeaderProperies struct {
type versionedHeaderProperties struct {
// Base directory of the headers being installed. As an example:
//
// preprocessed_ndk_headers {
// versioned_ndk_headers {
// name: "foo",
// from: "include",
// to: "",
@ -181,19 +184,19 @@ type preprocessedHeaderProperies struct {
// module does not have the srcs property, and operates on a full directory (the `from` property).
//
// Note that this is really only built to handle bionic/libc/include.
type preprocessedHeaderModule struct {
type versionedHeaderModule struct {
android.ModuleBase
properties preprocessedHeaderProperies
properties versionedHeaderProperties
installPaths android.Paths
licensePath android.ModuleSrcPath
}
func (m *preprocessedHeaderModule) DepsMutator(ctx android.BottomUpMutatorContext) {
func (m *versionedHeaderModule) DepsMutator(ctx android.BottomUpMutatorContext) {
}
func (m *preprocessedHeaderModule) GenerateAndroidBuildActions(ctx android.ModuleContext) {
func (m *versionedHeaderModule) GenerateAndroidBuildActions(ctx android.ModuleContext) {
if String(m.properties.License) == "" {
ctx.PropertyErrorf("license", "field is required")
}
@ -248,7 +251,7 @@ func processHeadersWithVersioner(ctx android.ModuleContext, srcDir, outDir andro
timestampFile := android.PathForModuleOut(ctx, "versioner.timestamp")
ctx.Build(pctx, android.BuildParams{
Rule: preprocessBionicHeaders,
Rule: versionBionicHeaders,
Description: "versioner preprocess " + srcDir.Rel(),
Output: timestampFile,
Implicits: append(srcFiles, depsGlob...),
@ -263,8 +266,8 @@ func processHeadersWithVersioner(ctx android.ModuleContext, srcDir, outDir andro
return timestampFile
}
func preprocessedNdkHeadersFactory() android.Module {
module := &preprocessedHeaderModule{}
func versionedNdkHeadersFactory() android.Module {
module := &versionedHeaderModule{}
module.AddProperties(&module.properties)

View File

@ -59,7 +59,7 @@ import (
func init() {
android.RegisterModuleType("ndk_headers", ndkHeadersFactory)
android.RegisterModuleType("ndk_library", ndkLibraryFactory)
android.RegisterModuleType("preprocessed_ndk_headers", preprocessedNdkHeadersFactory)
android.RegisterModuleType("versioned_ndk_headers", versionedNdkHeadersFactory)
android.RegisterSingletonType("ndk", NdkSingleton)
pctx.Import("android/soong/common")
@ -107,7 +107,7 @@ func (n *ndkSingleton) GenerateBuildActions(ctx android.SingletonContext) {
licensePaths = append(licensePaths, m.licensePath)
}
if m, ok := module.(*preprocessedHeaderModule); ok {
if m, ok := module.(*versionedHeaderModule); ok {
installPaths = append(installPaths, m.installPaths...)
licensePaths = append(licensePaths, m.licensePath)
}