Simple neon optimization in Android
- by Peter
In my Android application, I use a bunch of open source libraries such as libyuv, libvpx, libcrypto, libssl, etc. Some of them come with Android.mk. For others, I hand-crafted Android.mk.
The code is built only for arm for now. Here is my Application.mk:
APP_ABI := armeabi-v7a
APP_OPTIM := release
APP_STL := gnustl_static
APP_CPPFLAGS := -frtti
I am looking for way to generate binaries that are optimized for neon. Browsing the net, I found the following setting that someone is using in his Android.mk:
LOCAL_CFLAGS += -mfloat-abi=softfp -mfpu=neon -march=armv7
I wonder if I simply put this setting in Application.mk, will it automatically get applied across all the libraries?
A step before each library is built is the following:
include $(CLEAR_VARS)
Is it better to include LOCAL_CFLAGS directive after this line (instead of including it in Application.mk)?
Finally, why doesn't ndk-build automatically optimize for neon when it sees armabi in Application.mk? Regards.