aboutsummaryrefslogtreecommitdiffstats
path: root/androidmk
diff options
context:
space:
mode:
authorPo Hu <po.hu@mediatek.com>2017-03-28 12:54:50 +0800
committerPo Hu <po.hu@mediatek.com>2017-03-31 01:27:14 +0000
commita2226b960a2f6cdbf10b12a77608973d4da3f6ce (patch)
treeec764df876aed7274b74169f41105069194ef0c3 /androidmk
parentc31994825a4846382147931022b2fcd2654e16f6 (diff)
downloadbuild_soong-a2226b960a2f6cdbf10b12a77608973d4da3f6ce.tar.gz
build_soong-a2226b960a2f6cdbf10b12a77608973d4da3f6ce.tar.bz2
build_soong-a2226b960a2f6cdbf10b12a77608973d4da3f6ce.zip
Support prebuilt module types
Now BUILD_PREBUILT should be converted into corresponding types like cc_prebuilt_library_shared/cc_prebuilt_library_static ... So change to check LOCAL_MODULE_CLASS in Android.mk to determine module types, and eliminate class property from Android.bp which will cause a build break. Change-Id: If865cc865f360eac7cc77f060df5a310bada6900 Test: out/soong/host/linux-x86/bin/androidmk prebuilts/misc/common/ddmlib/Android.mk
Diffstat (limited to 'androidmk')
-rw-r--r--androidmk/cmd/androidmk/android.go25
1 files changed, 23 insertions, 2 deletions
diff --git a/androidmk/cmd/androidmk/android.go b/androidmk/cmd/androidmk/android.go
index 6d08ca8b..33e7eb39 100644
--- a/androidmk/cmd/androidmk/android.go
+++ b/androidmk/cmd/androidmk/android.go
@@ -29,6 +29,7 @@ var rewriteProperties = map[string](func(variableAssignmentContext) error){
"LOCAL_C_INCLUDES": localIncludeDirs,
"LOCAL_EXPORT_C_INCLUDE_DIRS": exportIncludeDirs,
"LOCAL_LDFLAGS": ldflags,
+ "LOCAL_MODULE_CLASS": prebuiltClass,
"LOCAL_MODULE_STEM": stem,
"LOCAL_MODULE_HOST_OS": hostOs,
"LOCAL_SRC_FILES": srcFiles,
@@ -40,7 +41,9 @@ var rewriteProperties = map[string](func(variableAssignmentContext) error){
// skip functions
"LOCAL_ADDITIONAL_DEPENDENCIES": skip, // TODO: check for only .mk files?
"LOCAL_CPP_EXTENSION": skip,
+ "LOCAL_MODULE_SUFFIX": skip, // TODO
"LOCAL_PATH": skip, // Nothing to do, except maybe avoid the "./" in paths?
+ "LOCAL_PRELINK_MODULE": skip, // Already phased out
}
// adds a group of properties all having the same type
@@ -54,7 +57,6 @@ func init() {
addStandardProperties(bpparser.StringType,
map[string]string{
"LOCAL_MODULE": "name",
- "LOCAL_MODULE_CLASS": "class",
"LOCAL_CXX_STL": "stl",
"LOCAL_STRIP_MODULE": "strip",
"LOCAL_MULTILIB": "compile_multilib",
@@ -462,6 +464,17 @@ func sanitize(ctx variableAssignmentContext) error {
return err
}
+func prebuiltClass(ctx variableAssignmentContext) error {
+ class := ctx.mkvalue.Value(nil)
+ if v, ok := prebuiltTypes[class]; ok {
+ ctx.file.scope.Set("BUILD_PREBUILT", v)
+ } else {
+ // reset to default
+ ctx.file.scope.Set("BUILD_PREBUILT", "prebuilt")
+ }
+ return nil
+}
+
func ldflags(ctx variableAssignmentContext) error {
val, err := makeVariableToBlueprint(ctx.file, ctx.mkvalue, bpparser.ListType)
if err != nil {
@@ -658,8 +671,13 @@ var moduleTypes = map[string]string{
"BUILD_HOST_JAVA_LIBRARY": "java_library_host",
"BUILD_HOST_DALVIK_JAVA_LIBRARY": "java_library_host_dalvik",
"BUILD_PACKAGE": "android_app",
+}
- "BUILD_PREBUILT": "prebuilt",
+var prebuiltTypes = map[string]string{
+ "SHARED_LIBRARIES": "cc_prebuilt_library_shared",
+ "STATIC_LIBRARIES": "cc_prebuilt_library_static",
+ "EXECUTABLES": "cc_prebuilt_binary",
+ "JAVA_LIBRARIES": "prebuilt_java_library",
}
var soongModuleTypes = map[string]bool{}
@@ -675,6 +693,9 @@ func androidScope() mkparser.Scope {
globalScope.Set(k, v)
soongModuleTypes[v] = true
}
+ for _, v := range prebuiltTypes {
+ soongModuleTypes[v] = true
+ }
return globalScope
}