Fix NDK API on old devices.
Change-Id: Ie2b1b57735a79febc0937fcc4b65cddd0eb80c16
diff --git a/cpp/Android.mk b/cpp/Android.mk
index d266d14..9ed02fb 100644
--- a/cpp/Android.mk
+++ b/cpp/Android.mk
@@ -49,11 +49,15 @@
LOCAL_CFLAGS += $(local_cflags_for_rs_cpp)
+LOCAL_SDK_VERSION := 8
+LOCAL_CFLAGS += -DRS_COMPATIBILITY_LIB
+
LOCAL_SRC_FILES := $(rs_cpp_SRC_FILES)
+LOCAL_SRC_FILES += ../rsCompatibilityLib.cpp
+
LOCAL_STATIC_LIBRARIES := \
libz \
- libcutils \
libutils \
liblog \
libstlport_static
@@ -65,7 +69,8 @@
LOCAL_MODULE_TAGS := optional
LOCAL_C_INCLUDES += frameworks/rs
-LOCAL_C_INCLUDES += external/stlport/stlport bionic/ bionic/libstdc++/include
LOCAL_C_INCLUDES += $(intermediates)
+LOCAL_NDK_STL_VARIANT := stlport_static
+
include $(BUILD_STATIC_LIBRARY)
diff --git a/cpp/RenderScript.cpp b/cpp/RenderScript.cpp
index 3a75ffe..04f1e88 100644
--- a/cpp/RenderScript.cpp
+++ b/cpp/RenderScript.cpp
@@ -23,11 +23,15 @@
#include "rsCppInternal.h"
#include <dlfcn.h>
+#include <unistd.h>
-#if !defined(RS_SERVER) && defined(HAVE_ANDROID_OS)
+#if !defined(RS_SERVER) && !defined(RS_COMPATIBILITY_LIB) && defined(HAVE_ANDROID_OS)
#include <cutils/properties.h>
+#else
+#include "rsCompatibilityLib.h"
#endif
+
using namespace android;
using namespace RSC;
@@ -473,7 +477,6 @@
}
mCacheDir = name;
- mCacheDir += "/com.android.renderscript.cache/";
mDev = RS::dispatch->DeviceCreate();
if (mDev == 0) {
diff --git a/cpp/rsCppInternal.h b/cpp/rsCppInternal.h
index 904c5ab..ae43d47 100644
--- a/cpp/rsCppInternal.h
+++ b/cpp/rsCppInternal.h
@@ -17,6 +17,7 @@
#ifndef ANDROID_RS_CPP_INTERNAL_H
#define ANDROID_RS_CPP_INTERNAL_H
+#define LOG_TAG "rsC++"
#include "rsCppUtils.h"
#define tryDispatch(rs, dispatch) \