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
diff --git a/cc/llndk_library.go b/cc/llndk_library.go
index de0caa5..40373cc 100644
--- a/cc/llndk_library.go
+++ b/cc/llndk_library.go
@@ -39,23 +39,23 @@
type llndkLibraryProperties struct {
// Relative path to the symbol map.
// An example file can be seen here: TODO(danalbert): Make an example.
- Symbol_file string
+ Symbol_file *string
// Whether to export any headers as -isystem instead of -I. Mainly for use by
// bionic/libc.
- Export_headers_as_system bool
+ Export_headers_as_system *bool
// Which headers to process with versioner. This really only handles
// bionic/libc/include right now.
Export_preprocessed_headers []string
// Whether the system library uses symbol versions.
- Unversioned bool
+ Unversioned *bool
// whether this module can be directly depended upon by libs that are installed to /vendor.
// When set to false, this module can only be depended on by VNDK libraries, not vendor
// libraries. This effectively hides this module from vendors. Default value is true.
- Vendor_available bool
+ Vendor_available *bool
// list of llndk headers to re-export include directories from.
Export_llndk_headers []string `android:"arch_variant"`
@@ -76,7 +76,7 @@
}
func (stub *llndkStubDecorator) compile(ctx ModuleContext, flags Flags, deps PathDeps) Objects {
- objs, versionScript := compileStubLibrary(ctx, flags, stub.Properties.Symbol_file, "current", "--vndk")
+ objs, versionScript := compileStubLibrary(ctx, flags, String(stub.Properties.Symbol_file), "current", "--vndk")
stub.versionScriptPath = versionScript
return objs
}
@@ -121,7 +121,7 @@
func (stub *llndkStubDecorator) link(ctx ModuleContext, flags Flags, deps PathDeps,
objs Objects) android.Path {
- if !stub.Properties.Unversioned {
+ if !Bool(stub.Properties.Unversioned) {
linkerScriptFlag := "-Wl,--version-script," + stub.versionScriptPath.String()
flags.LdFlags = append(flags.LdFlags, linkerScriptFlag)
}
@@ -135,7 +135,7 @@
}
includePrefix := "-I "
- if stub.Properties.Export_headers_as_system {
+ if Bool(stub.Properties.Export_headers_as_system) {
includePrefix = "-isystem "
}
@@ -143,7 +143,7 @@
stub.reexportDeps(timestampFiles)
}
- if stub.Properties.Export_headers_as_system {
+ if Bool(stub.Properties.Export_headers_as_system) {
stub.exportIncludes(ctx, "-isystem")
stub.libraryDecorator.flagExporter.Properties.Export_include_dirs = []string{}
}
@@ -156,12 +156,12 @@
library.BuildOnlyShared()
module.stl = nil
module.sanitize = nil
- library.StripProperties.Strip.None = true
+ library.StripProperties.Strip.None = BoolPtr(true)
stub := &llndkStubDecorator{
libraryDecorator: library,
}
- stub.Properties.Vendor_available = true
+ stub.Properties.Vendor_available = BoolPtr(true)
module.compiler = stub
module.linker = stub
module.installer = nil