Add version_script property
Add version_script property to cc_library to pass a file to
the linker with --version-script.
Change-Id: Ieefb04e15c8dfa72c2eb63b4349f8860222662b2
diff --git a/androidbp/cmd/androidbp.go b/androidbp/cmd/androidbp.go
index 4f9691c..bf24c1b 100644
--- a/androidbp/cmd/androidbp.go
+++ b/androidbp/cmd/androidbp.go
@@ -236,6 +236,19 @@
}, nil
}
+func versionScript(name string, prop *bpparser.Property, suffix *string) ([]string, error) {
+ if suffix != nil {
+ name += "_" + *suffix
+ }
+ val, err := valueToString(prop.Value)
+ if err != nil {
+ return nil, err
+ }
+ return []string{
+ fmt.Sprintf("%s += -Wl,--version-script,$(LOCAL_PATH)/%s\n", name, val),
+ }, nil
+}
+
func (w *androidMkWriter) writeModule(moduleRule string, props []string,
disabledBuilds map[string]bool, isHostRule bool) {
disabledConditionals := disabledTargetConditionals
diff --git a/androidbp/cmd/soong.go b/androidbp/cmd/soong.go
index 18b8af0..1841381 100644
--- a/androidbp/cmd/soong.go
+++ b/androidbp/cmd/soong.go
@@ -70,6 +70,7 @@
"local_include_dirs": {"LOCAL_C_INCLUDES", prependLocalPath},
"export_include_dirs": {"LOCAL_EXPORT_C_INCLUDE_DIRS", prependLocalPath},
"suffix": {"LOCAL_MODULE_STEM", prependLocalModule},
+ "version_script": {"LOCAL_LDFLAGS", versionScript},
}
var ignoredProperties = map[string]bool{