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/library.go b/cc/library.go
index 5aac04b..d4ed7c6 100644
--- a/cc/library.go
+++ b/cc/library.go
@@ -57,12 +57,12 @@
 
 	Aidl struct {
 		// export headers generated from .aidl sources
-		Export_aidl_headers bool
+		Export_aidl_headers *bool
 	}
 
 	Proto struct {
 		// export headers generated from .proto sources
-		Export_proto_headers bool
+		Export_proto_headers *bool
 	}
 	Target struct {
 		Vendor struct {
@@ -71,7 +71,7 @@
 		}
 	}
 
-	Static_ndk_lib bool
+	Static_ndk_lib *bool
 }
 
 type LibraryMutatedProperties struct {
@@ -663,7 +663,7 @@
 	library.reexportFlags(deps.ReexportedFlags)
 	library.reexportDeps(deps.ReexportedFlagsDeps)
 
-	if library.Properties.Aidl.Export_aidl_headers {
+	if Bool(library.Properties.Aidl.Export_aidl_headers) {
 		if library.baseCompiler.hasSrcExt(".aidl") {
 			flags := []string{
 				"-I" + android.PathForModuleGen(ctx, "aidl").String(),
@@ -675,7 +675,7 @@
 		}
 	}
 
-	if library.Properties.Proto.Export_proto_headers {
+	if Bool(library.Properties.Proto.Export_proto_headers) {
 		if library.baseCompiler.hasSrcExt(".proto") {
 			flags := []string{
 				"-I" + android.ProtoSubDir(ctx).String(),
@@ -731,7 +731,7 @@
 		library.baseInstaller.install(ctx, file)
 	}
 
-	if library.Properties.Static_ndk_lib && library.static() {
+	if Bool(library.Properties.Static_ndk_lib) && library.static() {
 		installPath := getNdkSysrootBase(ctx).Join(
 			ctx, "usr/lib", ctx.toolchain().ClangTriple(), file.Base())