diff options
author | Po Hu <po.hu@mediatek.com> | 2017-03-28 12:54:50 +0800 |
---|---|---|
committer | Po Hu <po.hu@mediatek.com> | 2017-03-31 01:27:14 +0000 |
commit | a2226b960a2f6cdbf10b12a77608973d4da3f6ce (patch) | |
tree | ec764df876aed7274b74169f41105069194ef0c3 /androidmk | |
parent | c31994825a4846382147931022b2fcd2654e16f6 (diff) | |
download | build_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.go | 25 |
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 } |