aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Hines <srhines@google.com>2016-02-03 17:21:51 -0800
committerStephen Hines <srhines@google.com>2016-02-03 17:31:51 -0800
commit7471b1f9dd4250b29574c449be034a76afd52d99 (patch)
tree62d183529760993f3620a90af7bb7092dca230be
parent8b83fa933f8414dca1df280154a98dabe123e439 (diff)
downloadopencv3-7471b1f9dd4250b29574c449be034a76afd52d99.tar.gz
Bug: http://b/25691376 This file takes 30 minutes to compile at -O2 for aarch64, due to an upstream Clang bug (https://llvm.org/bugs/show_bug.cgi?id=25794). Switching to -O1 for just this file reduces compilation to seconds. Change-Id: I590bd0bd2d78418e70286d34c0a0674abfd5ea66
-rw-r--r--Android.mk36
1 files changed, 35 insertions, 1 deletions
diff --git a/Android.mk b/Android.mk
index 58024d1..2ba27c6 100644
--- a/Android.mk
+++ b/Android.mk
@@ -68,6 +68,38 @@ LOCAL_STATIC_LIBRARIES += libopencv_hal
include $(BUILD_SHARED_LIBRARY)
+# Build dls.cpp separately without optimizations to avoid slow compile times.
+# We only need to pass -O1 for arm64. Everything else works fine with the defaults.
+# Bug: http://b/25691376
+include $(CLEAR_VARS)
+
+LOCAL_NDK_STL_VARIANT := gnustl_static
+LOCAL_SDK_VERSION := 21
+
+LOCAL_MODULE := libopencv_fix_dls
+
+LOCAL_RTTI_FLAG := -frtti
+
+LOCAL_C_INCLUDES := \
+ $(LOCAL_PATH) \
+ $(LOCAL_PATH)/modules/calib3d/include \
+ $(LOCAL_PATH)/modules/core/include \
+ $(LOCAL_PATH)/modules/hal/include \
+ $(LOCAL_PATH)/modules/features2d/include \
+ $(LOCAL_PATH)/modules/flann/include \
+ $(LOCAL_PATH)/modules/imgproc/include \
+ $(LOCAL_PATH)/modules/calib3d/src \
+ $(LOCAL_PATH)/modules/calib3d \
+ $(LOCAL_PATH)/opencv2 \
+ $(LOCAL_PATH)/modules/java/generator/src/cpp/common.h
+
+LOCAL_CFLAGS := -fexceptions -D__OPENCV_BUILD=1 -DCVAPI_EXPORTS
+LOCAL_CFLAGS_arm64 += -O1
+
+LOCAL_SRC_FILES := \
+ modules/calib3d/src/dls.cpp \
+
+include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
@@ -103,7 +135,6 @@ LOCAL_SRC_FILES := \
modules/calib3d/src/circlesgrid.cpp \
modules/calib3d/src/compat_ptsetreg.cpp \
modules/calib3d/src/compat_stereo.cpp \
- modules/calib3d/src/dls.cpp \
modules/calib3d/src/epnp.cpp \
modules/calib3d/src/fisheye.cpp \
modules/calib3d/src/five-point.cpp \
@@ -126,6 +157,9 @@ LOCAL_SRC_FILES := \
LOCAL_SHARED_LIBRARIES := libopencv_imgproc libopencv_flann libopencv_core libopencv_ml libopencv_imgcodecs libopencv_videoio libopencv_highgui libopencv_features2d
LOCAL_STATIC_LIBRARIES := libopencv_hal
+# Bug: http://b/25691376
+LOCAL_STATIC_LIBRARIES += libopencv_fix_dls
+
include $(BUILD_SHARED_LIBRARY)