Add a workaround for an Android NDK compiler bug.

On certain NDK build configurations, one of the innermost
parts of the Schur eliminator would get compiled
incorrectly. The compiler changed a -= to a +=.

The normal Ceres unit tests caught the problem; however,
since it is not possible to build the tests with the NDK
(only with the standalone toolchain) this was difficult to
track down. Finding the issue involved pasting the schur
eliminator unit test inside of solver_impl.cc and other such
hacks.

Change-Id: Ie91bb545d74fe39f0c8cbd1a6eb69ee4d8b25fb2
diff --git a/jni/Android.mk b/jni/Android.mk
index dcd247e..eaccb29 100644
--- a/jni/Android.mk
+++ b/jni/Android.mk
@@ -87,7 +87,8 @@
                 -DCERES_NO_GFLAGS \
                 -DCERES_NO_THREADS \
                 -DCERES_NO_CXSPARSE \
-                -DCERES_NO_TR1
+                -DCERES_NO_TR1 \
+                -DCERES_WORK_AROUND_ANDROID_NDK_COMPILER_BUG
 
 LOCAL_SRC_FILES := $(CERES_SRC_PATH)/array_utils.cc \
                    $(CERES_SRC_PATH)/block_evaluate_preparer.cc \