Closed marijnvdwerf closed 8 years ago
png_init_filter_functions_neon
is defined in arm/arm_init.c
. I'm looking into preprocessor macros that might be affecting this.
EDIT: Do you have the configure log I can look at?
Looking through the configuration and source files, it seems that the NEON support with libPNG is weird. They suggest not using the check
option (aka, runtime checks) due to weird OS-specific support (though if it supports Android, I don't see that as a reason not to use it). Forcing on is also kind of strange, with the configuration suggesting using -mfpu=neon
manually (or something). I don't know what is the default for the option (and I'm not even sure some of the options work properly).
We could always just disable NEON. IIRC, libPNG is only used for saving screenshots (and font loading), which is infrequent enough that a minor speedup shouldn't be a big deal. I would like to get it working, but I would probably need the configuration log to get to the bottom of it.
Will the build folder for libpng suffice? Archief.zip
Do you need to use CMake for this? Looking over the CMakeLists.txt, it seems really outdated, and not properly handling preprocessor macros for neon. The Configure script looks better, but I don't know if it's possible to use it for Android builds.
If you can't (or don't want to) use the configure script, you could just simulate what it does to fix this specific issue. When you use --enable-arm-neon=no
with the configure script, it adds to the CFLAGS -DPNG_ARM_NEON_OPT=0
. Feel free to edit the CMake script (or manually override it) to get it working.