* Android build improvements
* look for NDK in "ndk-bundle" directory under the SDK directory if location not specified
* look for cmake and ninja in "cmake" directory under the SDK directory if not found in the path
* disable use of ccache if not found in the path
* Redo build tool existence checks
- configuration files for ABIs configuration
- use builtin Android NDK's toolchain by default (force flag to use OpenCV's toolchain)
- default values for 'work_dir' and 'opencv_dir'
- fix Javadoc:
- generate Javadoc after gather step to process all Java files (including Android 21)
- generate into 'OpenCV-android-sdk' directly without additional copy step
- use smart copy/move utility functions ('shutil' doesn't well with existed destination)
- by default move files to reduce pressure on storage I/O (> 800Mb)
Avoids this error message with CMake 3.10:
CMake Error: CMake was unable to find a build program corresponding to "Ninja".
CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.
Related changes is that pkg-config tool is found (/usr/bin/pkg-config).
The Android NDK would be moving to Clang as its default compiler
in the future. This patch allows OpenCV to build with the default
c++_shared / c++_static
TEST=Builds OpenCV with -DANDROID_TOOLCHAIN_NAME=
aarch64-linux-android-clang3.6 -DANDROID_STL=c++_shared
- IPP is disabled by default when compiler is mingw (couldn't make it
work)
- fixed some warnings
- fixed some `__GNUC__` version checks (for correctness and convenience)
- removed UTF-8 BOM from hough.cpp (fixes#5253)
Add Android HardFP support. Expose the "armeabi-v7a-hard with NEON"
ANDROID_ABI.
TEST= Add -DANDROID_NATIVE_API_LEVEL=21
-DANDROID_ABI="armeabi-v7a-hard with NEON"
to compile with hardfp. Checked the output of make verbose to
confirm -lm_hard is being linked. There are known test
failures but that can be fixed once this is in.