aboutsummaryrefslogtreecommitdiffstats
path: root/cc/ndk_headers.go
diff options
context:
space:
mode:
authorNan Zhang <nanzhang@google.com>2017-11-07 10:57:05 -0800
committerNan Zhang <nanzhang@google.com>2017-11-07 15:57:16 -0800
commit0007d810e2954dd544e7f36442cc0d7188f3c63a (patch)
treea1c6ea7dc6a73e6b1c823e37cad29557208cb913 /cc/ndk_headers.go
parent4647be4afe1dd6d0c4ce2da9e053f27d770216dd (diff)
downloadbuild_soong-0007d810e2954dd544e7f36442cc0d7188f3c63a.tar.gz
build_soong-0007d810e2954dd544e7f36442cc0d7188f3c63a.tar.bz2
build_soong-0007d810e2954dd544e7f36442cc0d7188f3c63a.zip
Change bool, and string properties to *bool, and *string for cc
there's no use case for prepending/appending to bool, and string properties within module struct. Declearing "*bool" and "*string" almost cover everything user need. I did see one case that user specify relative_install_path as path prefix in cc_defaults, and concatenate with the one in real module to get the final relative install path in Android.bp <bionic/tests/libs>. Test: m -j checkbuild Bug: b/68853585 Change-Id: If3a7a2689c3fc307aae136af6bc9c57f27a1e1a0
Diffstat (limited to 'cc/ndk_headers.go')
-rw-r--r--cc/ndk_headers.go13
1 files changed, 7 insertions, 6 deletions
diff --git a/cc/ndk_headers.go b/cc/ndk_headers.go
index 1f8c3de1..8f1ecbd6 100644
--- a/cc/ndk_headers.go
+++ b/cc/ndk_headers.go
@@ -56,16 +56,16 @@ type headerProperies struct {
//
// Will install $SYSROOT/usr/include/foo/bar/baz.h. If `from` were instead
// "include/foo", it would have installed $SYSROOT/usr/include/bar/baz.h.
- From string
+ From *string
// Install path within the sysroot. This is relative to usr/include.
- To string
+ To *string
// List of headers to install. Glob compatible. Common case is "include/**/*.h".
Srcs []string
// Path to the NOTICE file associated with the headers.
- License string
+ License *string
}
type headerModule struct {
@@ -113,15 +113,16 @@ func getHeaderInstallDir(ctx android.ModuleContext, header android.Path, from st
}
func (m *headerModule) GenerateAndroidBuildActions(ctx android.ModuleContext) {
- if m.properties.License == "" {
+ if String(m.properties.License) == "" {
ctx.PropertyErrorf("license", "field is required")
}
- m.licensePath = android.PathForModuleSrc(ctx, m.properties.License)
+ m.licensePath = android.PathForModuleSrc(ctx, String(m.properties.License))
srcFiles := ctx.ExpandSources(m.properties.Srcs, nil)
for _, header := range srcFiles {
- installDir := getHeaderInstallDir(ctx, header, m.properties.From, m.properties.To)
+ installDir := getHeaderInstallDir(ctx, header, String(m.properties.From),
+ String(m.properties.To))
installedPath := ctx.InstallFile(installDir, header.Base(), header)
installPath := installDir.Join(ctx, header.Base())
if installPath != installedPath {