Merge "Convert libRScpp to Android.bp"
diff --git a/Android.bp b/Android.bp
index 0e77c42..2997140 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1 +1,7 @@
subdirs = ["cpp"]
+
+cc_library_headers {
+ name: "rs-headers",
+ export_include_dirs: ["."],
+ sdk_version: "9",
+}
diff --git a/cpp/Android.bp b/cpp/Android.bp
index 3055fd4..e25e39a 100644
--- a/cpp/Android.bp
+++ b/cpp/Android.bp
@@ -18,3 +18,71 @@
},
stl: "none",
}
+
+cc_defaults {
+ name: "libRScpp-defaults",
+ defaults: ["rs-version"],
+
+ srcs: [
+ "RenderScript.cpp",
+ "BaseObj.cpp",
+ "Element.cpp",
+ "Type.cpp",
+ "Allocation.cpp",
+ "Script.cpp",
+ "ScriptC.cpp",
+ "ScriptIntrinsics.cpp",
+ "ScriptIntrinsicBLAS.cpp",
+ "Sampler.cpp",
+
+ // TODO: make this not a symlink
+ "rsCppUtils.cpp",
+ ],
+
+ cflags: [
+ "-Werror",
+ "-Wall",
+ "-Wextra",
+ "-Wno-unused-parameter",
+ "-Wno-unused-variable",
+ ],
+
+ // We need to export not just rs/cpp but also rs. This is because
+ // RenderScript.h includes rsCppStructs.h, which includes rs/rsDefines.h.
+ header_libs: ["rs-headers"],
+ export_header_lib_headers: ["rs-headers"],
+ export_include_dirs: ["."],
+
+ shared_libs: [
+ "libdl",
+ "liblog",
+ "libz",
+ ],
+}
+
+cc_library {
+ name: "libRScpp",
+ defaults: ["libRScpp-defaults"],
+
+ shared_libs: [
+ "libgui",
+ "libutils",
+ ],
+
+ static_libs: ["libRSDispatch"],
+}
+
+cc_library_static {
+ name: "libRScpp_static",
+ defaults: ["libRScpp-defaults"],
+
+ cflags: ["-DRS_COMPATIBILITY_LIB"],
+
+ sdk_version: "9",
+ whole_static_libs: ["libRSDispatch"],
+
+ ldflags: [
+ "-Wl,--exclude-libs,libc++_static.a",
+ ],
+ stl: "c++_static",
+}
diff --git a/cpp/Android.mk b/cpp/Android.mk
deleted file mode 100644
index 05cdc57..0000000
--- a/cpp/Android.mk
+++ /dev/null
@@ -1,79 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-rs_cpp_SRC_FILES := \
- RenderScript.cpp \
- BaseObj.cpp \
- Element.cpp \
- Type.cpp \
- Allocation.cpp \
- Script.cpp \
- ScriptC.cpp \
- ScriptIntrinsics.cpp \
- ScriptIntrinsicBLAS.cpp \
- Sampler.cpp
-
-rs_cpp_SRC_FILES += ../rsCppUtils.cpp
-
-LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
-include frameworks/compile/slang/rs_version.mk
-local_cflags_for_rs_cpp += $(RS_VERSION_DEFINE) \
- -Werror -Wall -Wextra \
- -Wno-unused-parameter -Wno-unused-variable
- -std=c++11
-
-LOCAL_SRC_FILES := $(rs_cpp_SRC_FILES)
-
-LOCAL_CFLAGS += $(local_cflags_for_rs_cpp)
-
-LOCAL_SHARED_LIBRARIES := \
- libz \
- libutils \
- liblog \
- libdl \
- libgui
-
-LOCAL_STATIC_LIBRARIES := \
- libRSDispatch
-
-LOCAL_MODULE:= libRScpp
-
-LOCAL_C_INCLUDES += frameworks/rs
-LOCAL_C_INCLUDES += $(intermediates)
-
-# We need to export not just rs/cpp but also rs. This is because
-# RenderScript.h includes rsCppStructs.h, which includes rs/rsDefines.h.
-LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) $(LOCAL_PATH)/..
-
-include $(BUILD_SHARED_LIBRARY)
-
-####################################################################
-
-include $(CLEAR_VARS)
-LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
-
-LOCAL_CFLAGS += $(local_cflags_for_rs_cpp)
-
-ifeq ($(my_32_64_bit_suffix),32)
-LOCAL_SDK_VERSION := 9
-else
-LOCAL_SDK_VERSION := 21
-endif
-LOCAL_CFLAGS += -DRS_COMPATIBILITY_LIB
-
-LOCAL_SRC_FILES := $(rs_cpp_SRC_FILES)
-
-LOCAL_WHOLE_STATIC_LIBRARIES := \
- libRSDispatch
-
-LOCAL_MODULE:= libRScpp_static
-
-LOCAL_C_INCLUDES += frameworks/rs
-LOCAL_C_INCLUDES += $(intermediates)
-
-LOCAL_LDFLAGS := -llog -lz -ldl -Wl,--exclude-libs,libc++_static.a
-LOCAL_NDK_STL_VARIANT := c++_static
-
-LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) $(LOCAL_PATH)/..
-
-include $(BUILD_STATIC_LIBRARY)
diff --git a/cpp/rsCppUtils.cpp b/cpp/rsCppUtils.cpp
new file mode 120000
index 0000000..b486f4a
--- /dev/null
+++ b/cpp/rsCppUtils.cpp
@@ -0,0 +1 @@
+../rsCppUtils.cpp
\ No newline at end of file