Make eigen and libblas able to build for API8 x86 target.
- WAR for missing posix_memalign on API 8
bug: 22700067
bug: 22693954
(cherry picked from commit 8a387c93d83d5375edf414497775e6145b447f40)
Change-Id: Ic2b12d12e73821b825a7c17065de0a18cdfd64db
diff --git a/Eigen/src/Core/util/Memory.h b/Eigen/src/Core/util/Memory.h
index 330bcf5..624b17b 100644
--- a/Eigen/src/Core/util/Memory.h
+++ b/Eigen/src/Core/util/Memory.h
@@ -72,7 +72,7 @@
#define EIGEN_HAS_POSIX_MEMALIGN 0
#endif
-#ifdef EIGEN_VECTORIZE_SSE
+#if defined(EIGEN_VECTORIZE_SSE) && !defined(EIGEN_ANDROID_POSIX_MEMALIGN_WR)
#define EIGEN_HAS_MM_MALLOC 1
#else
#define EIGEN_HAS_MM_MALLOC 0
diff --git a/blas/Android.mk b/blas/Android.mk
index 1d4300b..edddaea 100644
--- a/blas/Android.mk
+++ b/blas/Android.mk
@@ -60,6 +60,9 @@
# EIGEN_ANDROID_SSE_WR is for "Eigen Android SSE Work Around"
# Will be removed after we understand it better.
LOCAL_CFLAGS += -DEIGEN_ANDROID_SSE_WR
+# EIGEN_ANDROID_POSIX_MEMALIGN_WR is for "Eigen Android posix_memalign Work Around"
+# Only used for build for low Android API(x86 target) without posix_memalign.
+LOCAL_CFLAGS += -DEIGEN_ANDROID_POSIX_MEMALIGN_WR
LOCAL_MODULE := libF77blasV8
LOCAL_SDK_VERSION := 8
LOCAL_NDK_STL_VARIANT := stlport_static