[libpng17] Port recent changes to ARM support from libpng-1.6.3beta07.

This commit is contained in:
John Bowler
2013-06-08 14:20:46 -05:00
committed by Glenn Randers-Pehrson
parent b88c94208a
commit 34081a0e2f
9 changed files with 128 additions and 65 deletions

View File

@@ -1,5 +1,5 @@
Libpng 1.7.0beta14 - June 6, 2013
Libpng 1.7.0beta14 - June 8, 2013
This is not intended to be a public release. It will be replaced
within a few weeks by a public version or by another test version.
@@ -304,7 +304,7 @@ Version 1.7.0beta13 [May 12, 2013]
Added information in the documentation about problems with and fixes for
the bad CRC and bad iTXt chunk situations.
Version 1.7.0beta14 [June 6, 2013]
Version 1.7.0beta14 [June 8, 2013]
Removed a redundant test in png_set_IHDR().
Added set(CMAKE_CONFIGURATION_TYPES ...) to CMakeLists.txt (Andrew Hundt)
Deleted set(CMAKE_BUILD_TYPE) block from CMakeLists.txt
@@ -312,6 +312,21 @@ Version 1.7.0beta14 [June 6, 2013]
Make ARM NEON support work at compile time (not just configure time).
This moves the test on __ARM_NEON__ into pngconf.h to avoid issues when
using a compiler that compiles for multiple architectures at one time.
Removed PNG_FILTER_OPTIMIZATIONS and PNG_ARM_NEON_SUPPORTED from
pnglibconf.h, allowing more of the decisions to be made internally
(pngpriv.h) during the compile. Without this, symbol prefixing is broken
under certain circumstances on ARM platforms. Now only the API parts of
the optimizations ('check' vs 'api') are exposed in the public header files
except that the new setting PNG_ARM_NEON_OPT documents how libpng makes the
decision about whether or not to use the optimizations.
Protect symbol prefixing against CC/CPPFLAGS/CFLAGS useage.
Previous iOS/Xcode fixes for the ARM NEON optimizations moved the test
on __ARM_NEON__ from configure time to compile time. This breaks symbol
prefixing because the definition of the special png_init_filter_functions
call was hidden at configure time if the relevant compiler arguments are
passed in CFLAGS as opposed to CC. This change attempts to avoid all
the confusion that would result by declaring the init function even when
it is not used, so that it will always get prefixed.
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit