From 5f9bb6249efd6171d29098e6f2fdf6f3f4ffce21 Mon Sep 17 00:00:00 2001 From: Alexander Alekhin Date: Fri, 5 Jan 2018 00:24:02 +0000 Subject: [PATCH] android: IPPICV static libraries workarounds for NDK 16 --- cmake/OpenCVFindLibsPerf.cmake | 7 +++++++ cmake/templates/OpenCV.mk.in | 10 ++++++++++ 2 files changed, 17 insertions(+) diff --git a/cmake/OpenCVFindLibsPerf.cmake b/cmake/OpenCVFindLibsPerf.cmake index 76d1d83bb5..5fba24c30b 100644 --- a/cmake/OpenCVFindLibsPerf.cmake +++ b/cmake/OpenCVFindLibsPerf.cmake @@ -18,6 +18,13 @@ if(WITH_IPP) endif() ocv_include_directories(${IPP_INCLUDE_DIRS}) list(APPEND OPENCV_LINKER_LIBS ${IPP_LIBRARIES}) + + # Details: #10229 + if(ANDROID AND NOT OPENCV_SKIP_ANDROID_IPP_FIX_1) + set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--exclude-libs,libippicv.a -Wl,--exclude-libs,libippiw.a ${CMAKE_SHARED_LINKER_FLAGS}") + elseif(ANDROID AND NOT OPENCV_SKIP_ANDROID_IPP_FIX_2) + set(CMAKE_SHARED_LINKER_FLAGS "-Wl,-Bsymbolic ${CMAKE_SHARED_LINKER_FLAGS}") + endif() endif() endif() diff --git a/cmake/templates/OpenCV.mk.in b/cmake/templates/OpenCV.mk.in index addde3a268..207cd0fd62 100644 --- a/cmake/templates/OpenCV.mk.in +++ b/cmake/templates/OpenCV.mk.in @@ -88,6 +88,16 @@ LOCAL_STATIC_LIBRARIES:=$(USER_LOCAL_STATIC_LIBRARIES) LOCAL_SHARED_LIBRARIES:=$(USER_LOCAL_SHARED_LIBRARIES) LOCAL_LDLIBS:=$(USER_LOCAL_LDLIBS) +# Details: #10229 +ifeq ($(OPENCV_SKIP_ANDROID_IPP_FIX_1),) + LOCAL_LDFLAGS += -Wl,--exclude-libs,libippicv.a + LOCAL_LDFLAGS += -Wl,--exclude-libs,libippiw.a +else + ifeq ($(OPENCV_SKIP_ANDROID_IPP_FIX_2),) + LOCAL_LDFLAGS += -Wl,-Bsymbolic + endif +endif + LOCAL_C_INCLUDES += $(OPENCV_LOCAL_C_INCLUDES) LOCAL_CFLAGS += $(OPENCV_LOCAL_CFLAGS)