From 94d8e90ad78ee1dbc0efa315117688abd126ae55 Mon Sep 17 00:00:00 2001 From: Jason Sams Date: Wed, 10 Jun 2009 16:09:05 -0700 Subject: [PATCH] Split renderscript java code from test apps. Update makefiles. --- libs/rs/Android.mk | 70 ++++++------------- libs/rs/java/Fountain/Android.mk | 8 +-- .../src/com/android/fountain/Fountain.java | 3 + .../com/android/fountain/FountainView.java | 9 ++- libs/rs/java/RenderScript/Android.mk | 28 ++++++++ .../android/renderscript}/RSSurfaceView.java | 2 +- .../android/renderscript}/RenderScript.java | 6 +- libs/rs/jni/Android.mk | 36 ++++++++++ libs/rs/jni/RenderScript_jni.cpp | 2 +- 9 files changed, 102 insertions(+), 62 deletions(-) create mode 100644 libs/rs/java/RenderScript/Android.mk rename libs/rs/java/{Fountain/src/com/android/fountain => RenderScript/android/renderscript}/RSSurfaceView.java (99%) rename libs/rs/java/{Fountain/src/com/android/fountain => RenderScript/android/renderscript}/RenderScript.java (99%) create mode 100644 libs/rs/jni/Android.mk diff --git a/libs/rs/Android.mk b/libs/rs/Android.mk index 6ff39a4e67358..00aaadd745153 100644 --- a/libs/rs/Android.mk +++ b/libs/rs/Android.mk @@ -1,11 +1,11 @@ # Only build if BUILD_RENDERSCRIPT is defined to true in the environment. ifeq ($(BUILD_RENDERSCRIPT),true) -TOP_LOCAL_PATH:=$(call my-dir) -include $(CLEAR_VARS) -LOCAL_PATH:= $(TOP_LOCAL_PATH) +LOCAL_PATH:=$(call my-dir) -# Build rsg-generator + +# Build rsg-generator ==================== +include $(CLEAR_VARS) LOCAL_MODULE := rsg-generator @@ -14,7 +14,7 @@ LOCAL_MODULE := rsg-generator LOCAL_IS_HOST_MODULE := true LOCAL_MODULE_CLASS := EXECUTABLES -intermediates:= $(local-intermediates-dir) +intermediates := $(local-intermediates-dir) GEN := $(addprefix $(intermediates)/, \ lex.yy.c \ @@ -28,21 +28,21 @@ $(LOCAL_PATH)/rsg_generator.c : $(intermediates)/lex.yy.c LOCAL_SRC_FILES:= \ rsg_generator.c - + include $(BUILD_HOST_EXECUTABLE) +# TODO: This should go into build/core/config.mk RSG_GENERATOR:=$(LOCAL_BUILT_MODULE) -# Build render script lib + +# Build render script lib ==================== include $(CLEAR_VARS) LOCAL_MODULE := libRS LOCAL_MODULE_CLASS := SHARED_LIBRARIES intermediates:= $(local-intermediates-dir) -RS_GENERATED_INCLUDE_DIR:=$(intermediates) - # Generate custom headers GEN := $(addprefix $(intermediates)/, \ @@ -50,12 +50,13 @@ GEN := $(addprefix $(intermediates)/, \ rsgApiFuncDecl.h \ ) -$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(TOP_LOCAL_PATH)/rs.spec +$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(LOCAL_PATH)/rs.spec $(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec $(GEN): $(intermediates)/%.h : $(LOCAL_PATH)/%.h.rsg $(transform-generated-source) -RS_GENERATED_SOURCES += $(GEN) +# used in jni/Android.mk +rs_generated_source += $(GEN) LOCAL_GENERATED_SOURCES += $(GEN) # Generate custom source files @@ -65,12 +66,13 @@ GEN := $(addprefix $(intermediates)/, \ rsgApiReplay.cpp \ ) -$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(TOP_LOCAL_PATH)/rs.spec +$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(LOCAL_PATH)/rs.spec $(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec $(GEN): $(intermediates)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg $(transform-generated-source) -RS_GENERATED_SOURCES += $(GEN) +# used in jni/Android.mk +rs_generated_source += $(GEN) LOCAL_GENERATED_SOURCES += $(GEN) LOCAL_SRC_FILES:= \ @@ -99,45 +101,15 @@ LOCAL_LDLIBS := -lpthread -ldl LOCAL_MODULE:= libRS LOCAL_PRELINK_MODULE := false -#LOCAL_MODULE_TAGS := tests +LOCAL_MODULE_TAGS := optional include $(BUILD_SHARED_LIBRARY) -# Build JNI library -LOCAL_PATH:= $(TOP_LOCAL_PATH)/jni -include $(CLEAR_VARS) +# Include the subdirectories ==================== +include $(addprefix $(LOCAL_PATH)/,$(addsuffix /Android.mk,\ + jni \ + java \ + )) -LOCAL_SRC_FILES:= \ - RenderScript_jni.cpp - -LOCAL_SHARED_LIBRARIES := \ - libandroid_runtime \ - libacc \ - libnativehelper \ - libRS \ - libcutils \ - libsgl \ - libutils \ - libui - -LOCAL_STATIC_LIBRARIES := - -LOCAL_C_INCLUDES += \ - $(JNI_H_INCLUDE) \ - $(RS_GENERATED_INCLUDE_DIR) \ - $(call include-path-for, corecg graphics) - -LOCAL_CFLAGS += - -LOCAL_LDLIBS := -lpthread - -LOCAL_MODULE:= libRS_jni -LOCAL_PRELINK_MODULE := false - -LOCAL_ADDITIONAL_DEPENDENCIES += $(RS_GENERATED_SOURCES) - -include $(BUILD_SHARED_LIBRARY) - -include $(call all-subdir-makefiles) endif # BUILD_RENDERSCRIPT diff --git a/libs/rs/java/Fountain/Android.mk b/libs/rs/java/Fountain/Android.mk index cf084672431ea..af3d5fc663e68 100644 --- a/libs/rs/java/Fountain/Android.mk +++ b/libs/rs/java/Fountain/Android.mk @@ -18,14 +18,8 @@ LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_SRC_FILES := $(call all-java-files-under, src) +LOCAL_STATIC_JAVA_LIBRARIES := android.renderscript LOCAL_PACKAGE_NAME := Fountain include $(BUILD_PACKAGE) -################################################## -include $(CLEAR_VARS) - -include $(BUILD_MULTI_PREBUILT) - -# Use the folloing include to make our test apk. -include $(call all-makefiles-under,$(LOCAL_PATH)) diff --git a/libs/rs/java/Fountain/src/com/android/fountain/Fountain.java b/libs/rs/java/Fountain/src/com/android/fountain/Fountain.java index 0d669660c84b0..58c78faf433b6 100644 --- a/libs/rs/java/Fountain/src/com/android/fountain/Fountain.java +++ b/libs/rs/java/Fountain/src/com/android/fountain/Fountain.java @@ -16,6 +16,9 @@ package com.android.fountain; +import android.renderscript.RSSurfaceView; +import android.renderscript.RenderScript; + import android.app.Activity; import android.content.res.Configuration; import android.os.Bundle; diff --git a/libs/rs/java/Fountain/src/com/android/fountain/FountainView.java b/libs/rs/java/Fountain/src/com/android/fountain/FountainView.java index 0a6f7c5947928..f8b488ab7a98f 100644 --- a/libs/rs/java/Fountain/src/com/android/fountain/FountainView.java +++ b/libs/rs/java/Fountain/src/com/android/fountain/FountainView.java @@ -20,6 +20,9 @@ import java.io.Writer; import java.util.ArrayList; import java.util.concurrent.Semaphore; +import android.renderscript.RSSurfaceView; +import android.renderscript.RenderScript; + import android.content.Context; import android.content.res.Resources; import android.graphics.Bitmap; @@ -109,9 +112,9 @@ public class FountainView extends RSSurfaceView { mParams[2] = 0; mParams[3] = 0; mParams[4] = 0; - mParams[5] = mPartAlloc.mID; - mParams[6] = mPF.mID; - mParams[7] = mPF2.mID; + mParams[5] = mPartAlloc.getID(); + mParams[6] = mPF.getID(); + mParams[7] = mPF2.getID(); mIntAlloc.data(mParams); int t2[] = new int[partCount * 4*3]; diff --git a/libs/rs/java/RenderScript/Android.mk b/libs/rs/java/RenderScript/Android.mk new file mode 100644 index 0000000000000..616fbd261006c --- /dev/null +++ b/libs/rs/java/RenderScript/Android.mk @@ -0,0 +1,28 @@ +# +# Copyright (C) 2008 Esmertec AG. +# Copyright (C) 2008 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +LOCAL_PATH := $(call my-dir) + +# the library +# ============================================================ +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + $(call all-subdir-java-files) + +LOCAL_MODULE:= android.renderscript + +include $(BUILD_STATIC_JAVA_LIBRARY) diff --git a/libs/rs/java/Fountain/src/com/android/fountain/RSSurfaceView.java b/libs/rs/java/RenderScript/android/renderscript/RSSurfaceView.java similarity index 99% rename from libs/rs/java/Fountain/src/com/android/fountain/RSSurfaceView.java rename to libs/rs/java/RenderScript/android/renderscript/RSSurfaceView.java index a8b3bca95f480..3d37c13057c84 100644 --- a/libs/rs/java/Fountain/src/com/android/fountain/RSSurfaceView.java +++ b/libs/rs/java/RenderScript/android/renderscript/RSSurfaceView.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.fountain; +package android.renderscript; import java.io.Writer; import java.util.ArrayList; diff --git a/libs/rs/java/Fountain/src/com/android/fountain/RenderScript.java b/libs/rs/java/RenderScript/android/renderscript/RenderScript.java similarity index 99% rename from libs/rs/java/Fountain/src/com/android/fountain/RenderScript.java rename to libs/rs/java/RenderScript/android/renderscript/RenderScript.java index fcfb82d77560f..da548223b2a0c 100644 --- a/libs/rs/java/Fountain/src/com/android/fountain/RenderScript.java +++ b/libs/rs/java/RenderScript/android/renderscript/RenderScript.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.fountain; +package android.renderscript; import java.io.InputStream; import java.io.IOException; @@ -169,6 +169,10 @@ public class RenderScript { mID = 0; } + public int getID() { + return mID; + } + int mID; String mName; diff --git a/libs/rs/jni/Android.mk b/libs/rs/jni/Android.mk new file mode 100644 index 0000000000000..b3142ae3f7c0e --- /dev/null +++ b/libs/rs/jni/Android.mk @@ -0,0 +1,36 @@ +LOCAL_PATH:=$(call my-dir) +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + RenderScript_jni.cpp + +LOCAL_SHARED_LIBRARIES := \ + libandroid_runtime \ + libacc \ + libnativehelper \ + libRS \ + libcutils \ + libsgl \ + libutils \ + libui + +LOCAL_STATIC_LIBRARIES := + +rs_generated_include_dir := $(call intermediates-dir-for,SHARED_LIBRARIES,libRS,,) + +LOCAL_C_INCLUDES += \ + $(JNI_H_INCLUDE) \ + $(rs_generated_include_dir) \ + $(call include-path-for, corecg graphics) + +LOCAL_CFLAGS += + +LOCAL_LDLIBS := -lpthread + +LOCAL_MODULE:= libRS_jni +LOCAL_PRELINK_MODULE := false + +LOCAL_ADDITIONAL_DEPENDENCIES += $(rs_generated_source) + +include $(BUILD_SHARED_LIBRARY) + diff --git a/libs/rs/jni/RenderScript_jni.cpp b/libs/rs/jni/RenderScript_jni.cpp index 2dadf07186617..dcd6e2fff18b0 100644 --- a/libs/rs/jni/RenderScript_jni.cpp +++ b/libs/rs/jni/RenderScript_jni.cpp @@ -820,7 +820,7 @@ nSamplerCreate(JNIEnv *_env, jobject _this) // --------------------------------------------------------------------------- -static const char *classPathName = "com/android/fountain/RenderScript"; +static const char *classPathName = "android/renderscript/RenderScript"; static JNINativeMethod methods[] = { {"_nInit", "()V", (void*)_nInit },