Add non-SDK version of library Magick++

As a static library Magick++ uses STL and is built with SDK, there is no
way for platform apps or libraries (built without SDK) to refer Magick++
without link-type warning. This adds new static library which is
identical to Magick++, except that it is built without SDK so that
platform apps or libraries can refer it.

Bug: 76228184
Test: mma -j succeeded
Change-Id: I6783bb591c64a7fcc20a722dea759b76127dfe4b
diff --git a/Magick++/Android.mk b/Magick++/Android.mk
index 4fd87a5..77ee5d0 100644
--- a/Magick++/Android.mk
+++ b/Magick++/Android.mk
@@ -14,15 +14,8 @@
 
 LOCAL_PATH := $(call my-dir)
 
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := Magick++
-
-LOCAL_SDK_VERSION := 24
-
-LOCAL_NDK_STL_VARIANT := c++_static
-
-LOCAL_SRC_FILES := lib/Blob.cpp\
+define define-magick++-vars
+  $(eval LOCAL_SRC_FILES := lib/Blob.cpp\
     lib/BlobRef.cpp\
     lib/CoderInfo.cpp\
     lib/Color.cpp\
@@ -39,20 +32,33 @@
     lib/STL.cpp\
     lib/Statistic.cpp\
     lib/Thread.cpp\
-    lib/TypeMetric.cpp
-
-LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. \
-    $(LOCAL_PATH)/lib
-
-LOCAL_CFLAGS += -DHAVE_CONFIG_H \
+    lib/TypeMetric.cpp) \
+  $(eval LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. \
+    $(LOCAL_PATH)/lib) \
+  $(eval LOCAL_CFLAGS += -DHAVE_CONFIG_H \
     -Wall -Werror \
     -Wno-deprecated-register \
-    -Wno-unused-private-field
-
-LOCAL_CPPFLAGS += -fexceptions
-
-LOCAL_EXPORT_C_INCLUDE_DIRS := \
+    -Wno-unused-private-field) \
+  $(eval LOCAL_CPPFLAGS += -fexceptions) \
+  $(eval LOCAL_EXPORT_C_INCLUDE_DIRS := \
     external/ImageMagick/Magick++/lib \
-    external/ImageMagick
+    external/ImageMagick)
+endef
+
+include $(CLEAR_VARS)
+
+$(call define-magick++-vars)
+LOCAL_MODULE := Magick++_platform
+LOCAL_CXX_STL := libc++_static
+
+include $(BUILD_STATIC_LIBRARY)
+
+
+include $(CLEAR_VARS)
+
+$(call define-magick++-vars)
+LOCAL_MODULE := Magick++
+LOCAL_SDK_VERSION := 24
+LOCAL_NDK_STL_VARIANT := c++_static
 
 include $(BUILD_STATIC_LIBRARY)