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{