aboutsummaryrefslogtreecommitdiff
path: root/gradle/src/main/groovy/com/android/build/gradle/tasks/NdkCompile.groovy
diff options
context:
space:
mode:
Diffstat (limited to 'gradle/src/main/groovy/com/android/build/gradle/tasks/NdkCompile.groovy')
-rw-r--r--gradle/src/main/groovy/com/android/build/gradle/tasks/NdkCompile.groovy40
1 files changed, 31 insertions, 9 deletions
diff --git a/gradle/src/main/groovy/com/android/build/gradle/tasks/NdkCompile.groovy b/gradle/src/main/groovy/com/android/build/gradle/tasks/NdkCompile.groovy
index 4526371..eba8d72 100644
--- a/gradle/src/main/groovy/com/android/build/gradle/tasks/NdkCompile.groovy
+++ b/gradle/src/main/groovy/com/android/build/gradle/tasks/NdkCompile.groovy
@@ -15,7 +15,6 @@
*/
package com.android.build.gradle.tasks
-
import com.android.annotations.NonNull
import com.android.build.gradle.internal.tasks.NdkTask
import com.android.builder.model.NdkConfig
@@ -51,6 +50,9 @@ class NdkCompile extends NdkTask {
@OutputDirectory
File objFolder
+ @Input
+ boolean ndkRenderScriptMode
+
@InputFiles
FileTree getSource() {
FileTree src = null
@@ -117,26 +119,38 @@ class NdkCompile extends NdkTask {
StringBuilder sb = new StringBuilder()
sb.append(
- "LOCAL_PATH := \$(call my-dir)\n" +
- "include \$(CLEAR_VARS)\n\n")
+ 'LOCAL_PATH := $(call my-dir)\n' +
+ 'include \$(CLEAR_VARS)\n\n')
- sb.append("LOCAL_MODULE := ").append(ndk.moduleName != null ? ndk.moduleName : project.name).append('\n')
+ sb.append('LOCAL_MODULE := ').append(ndk.moduleName != null ? ndk.moduleName : project.name).append('\n')
if (ndk.cFlags != null) {
- sb.append("LOCAL_CFLAGS := ").append(ndk.cFlags).append('\n')
+ sb.append('LOCAL_CFLAGS := ').append(ndk.cFlags).append('\n')
}
+ List<String> fullLdlibs = Lists.newArrayList()
if (ndk.ldLibs != null) {
+ fullLdlibs.addAll(ndk.ldLibs)
+ }
+ if (getNdkRenderScriptMode()) {
+ fullLdlibs.add("dl")
+ fullLdlibs.add("log")
+ fullLdlibs.add("jnigraphics")
+ fullLdlibs.add("RScpp_static")
+ fullLdlibs.add("cutils")
+ }
+
+ if (!fullLdlibs.isEmpty()) {
sb.append('LOCAL_LDLIBS := \\\n')
- for (String lib : ndk.ldLibs) {
+ for (String lib : fullLdlibs) {
sb.append('\t-l') .append(lib).append(' \\\n')
}
sb.append('\n')
}
- sb.append("LOCAL_SRC_FILES := \\\n")
+ sb.append('LOCAL_SRC_FILES := \\\n')
for (File sourceFile : sourceFiles) {
- sb.append('\t').append(sourceFile.absolutePath).append(" \\\n")
+ sb.append('\t').append(sourceFile.absolutePath).append(' \\\n')
}
sb.append('\n')
@@ -144,8 +158,16 @@ class NdkCompile extends NdkTask {
sb.append("LOCAL_C_INCLUDES += ${sourceFolder.absolutePath}\n")
}
+ if (getNdkRenderScriptMode()) {
+ sb.append('LOCAL_LDFLAGS += -L$(call host-path,$(TARGET_C_INCLUDES)/../lib/rs)\n')
+
+ sb.append('LOCAL_C_INCLUDES += $(TARGET_C_INCLUDES)/rs/cpp\n')
+ sb.append('LOCAL_C_INCLUDES += $(TARGET_C_INCLUDES)/rs\n')
+ sb.append('LOCAL_C_INCLUDES += $(TARGET_OBJS)/$(LOCAL_MODULE)\n')
+ }
+
sb.append(
- "\ninclude \$(BUILD_SHARED_LIBRARY)\n")
+ '\ninclude \$(BUILD_SHARED_LIBRARY)\n')
Files.write(sb.toString(), makefile, Charsets.UTF_8)
}