mirror of
https://git.code.sf.net/p/libpng/code.git
synced 2025-07-10 18:04:09 +02:00
Compare commits
13 Commits
v1.5.15bet
...
v1.5.15rc0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
17637544be | ||
|
|
7f47448f49 | ||
|
|
96a0c6a8c2 | ||
|
|
657dee1f3a | ||
|
|
a3b6fa08b2 | ||
|
|
44ef7ceb62 | ||
|
|
5d10f7c5f1 | ||
|
|
aad05aa948 | ||
|
|
c4e1faded4 | ||
|
|
c34143f615 | ||
|
|
85d027f3d0 | ||
|
|
1d82c0f287 | ||
|
|
301e06a46c |
59
ANNOUNCE
59
ANNOUNCE
@@ -1,5 +1,5 @@
|
||||
|
||||
Libpng 1.5.15beta07 - February 27, 2013
|
||||
Libpng 1.5.15rc01 - March 21, 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.
|
||||
@@ -9,20 +9,20 @@ Files available for download:
|
||||
Source files with LF line endings (for Unix/Linux) and with a
|
||||
"configure" script
|
||||
|
||||
1.5.15beta07.tar.xz (LZMA-compressed, recommended)
|
||||
1.5.15beta07.tar.gz
|
||||
1.5.15beta07.tar.bz2
|
||||
1.5.15rc01.tar.xz (LZMA-compressed, recommended)
|
||||
1.5.15rc01.tar.gz
|
||||
1.5.15rc01.tar.bz2
|
||||
|
||||
Source files with CRLF line endings (for Windows), without the
|
||||
"configure" script
|
||||
|
||||
lp1515b07.7z (LZMA-compressed, recommended)
|
||||
lp1515b07.zip
|
||||
lp1515r01.7z (LZMA-compressed, recommended)
|
||||
lp1515r01.zip
|
||||
|
||||
Other information:
|
||||
|
||||
1.5.15beta07-README.txt
|
||||
1.5.15beta07-LICENSE.txt
|
||||
1.5.15rc01-README.txt
|
||||
1.5.15rc01-LICENSE.txt
|
||||
|
||||
Changes since the last public release (1.5.14):
|
||||
|
||||
@@ -64,10 +64,51 @@ Version 1.5.15beta06 [February 22, 2013]
|
||||
|
||||
Version 1.5.15beta07 [February 27, 2013]
|
||||
Revised INSTALL to recommend using CPPFLAGS instead of INCLUDES.
|
||||
Revised scripts/makefile.freebsd to respect ZLIBDIR and ZLIBINC.
|
||||
Revised scripts/makefile.freebsd to respect ZLIBLIB and ZLIBINC.
|
||||
Revised scripts/dfn.awk to work with the buggy MSYS awk that has trouble
|
||||
with CRLF line endings.
|
||||
|
||||
Version 1.5.15beta08 [March 5, 2013]
|
||||
Avoid a possible memory leak in contrib/gregbook/readpng.c
|
||||
Made the _SUPPORTED macro definitions consistent. The change made in
|
||||
libpng15 to #define *_SUPPORTED 1, to match the use of -D*_SUPPORTED
|
||||
(which means -D*_SUPPORTED=1) and avoid compiler warnings from GCC was made
|
||||
inconsistently and causes problems as a result, also some additions in
|
||||
pnglibconf.h.prebuilt were inconsistent (omitting the 1). This changes 1.5
|
||||
back to the scheme used both before (1.4) and after (1.6). This might cause
|
||||
some build scripts to issue warnings, and might, in the extreme, cause some
|
||||
applications to fail (but they would fail anyway against 1.6). It seems
|
||||
safer to go for consistency, given the change in 1.6, not correctness here,
|
||||
particularly as 'make check' currently warns anyway on the symbols.dfn check
|
||||
because of the inconsistencies.
|
||||
Corrected Android builds and corrected libpng.vers with symbol
|
||||
prefixing This adds an API to set optimization options externally,
|
||||
providing an alternative and general solution for the non-portable
|
||||
run-time tests used by the ARM Neon code. It also makes those tests
|
||||
compile and link on Android.
|
||||
The order of settings vs options in pnglibconf.h is reversed to allow
|
||||
settings to depend on options and options can now set (or override) the
|
||||
defaults for settings.
|
||||
|
||||
Version 1.5.15beta09 [March 13, 2013]
|
||||
Fixed CMakelists.txt to allow building a single variant of the library
|
||||
(Claudio Bley):
|
||||
Introduced a PNG_LIB_TARGETS variable that lists all activated library
|
||||
targets. It is an error if this variable ends up empty, ie. you have
|
||||
to build at least one library variant.
|
||||
Made the *_COPY targets only depend on library targets actually being build.
|
||||
Use PNG_LIB_TARGETS to unify a code path.
|
||||
Changed the CREATE_SYMLINK macro to expect the full path to a file as the
|
||||
first argument. When symlinking the filename component of that path is
|
||||
determined and used as the link target.
|
||||
Use copy_if_different in the CREATE_SYMLINK macro.
|
||||
Eliminated two warnings from the Intel C compiler. The warnings are
|
||||
technically valid, although a reasonable treatment of division would
|
||||
show it to be incorrect.
|
||||
|
||||
Version 1.5.15rc01 [March 21, 2013]
|
||||
No changes.
|
||||
|
||||
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
||||
(subscription required; visit
|
||||
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
|
||||
|
||||
47
CHANGES
47
CHANGES
@@ -4022,15 +4022,50 @@ Version 1.5.15beta06 [February 22, 2013]
|
||||
|
||||
Version 1.5.15beta07 [February 27, 2013]
|
||||
Revised INSTALL to recommend using CPPFLAGS instead of INCLUDES.
|
||||
Revised scripts/makefile.freebsd to respect ZLIBDIR and ZLIBINC.
|
||||
Revised scripts/makefile.freebsd to respect ZLIBLIB and ZLIBINC.
|
||||
Revised scripts/dfn.awk to work with the buggy MSYS awk that has trouble
|
||||
with CRLF line endings.
|
||||
|
||||
===========================================================================
|
||||
NOTICE November 17, 2012:
|
||||
The location of the git repository at SourceForge has changed.
|
||||
Visit http://libpng.sf.net/ for details.
|
||||
===========================================================================
|
||||
Version 1.5.15beta08 [March 5, 2013]
|
||||
Avoid a possible memory leak in contrib/gregbook/readpng.c
|
||||
Made the _SUPPORTED macro definitions consistent. The change made in
|
||||
libpng15 to #define *_SUPPORTED 1, to match the use of -D*_SUPPORTED
|
||||
(which means -D*_SUPPORTED=1) and avoid compiler warnings from GCC was made
|
||||
inconsistently and causes problems as a result, also some additions in
|
||||
pnglibconf.h.prebuilt were inconsistent (omitting the 1). This changes 1.5
|
||||
back to the scheme used both before (1.4) and after (1.6). This might cause
|
||||
some build scripts to issue warnings, and might, in the extreme, cause some
|
||||
applications to fail (but they would fail anyway against 1.6). It seems
|
||||
safer to go for consistency, given the change in 1.6, not correctness here,
|
||||
particularly as 'make check' currently warns anyway on the symbols.dfn check
|
||||
because of the inconsistencies.
|
||||
Corrected Android builds and corrected libpng.vers with symbol
|
||||
prefixing This adds an API to set optimization options externally,
|
||||
providing an alternative and general solution for the non-portable
|
||||
run-time tests used by the ARM Neon code. It also makes those tests
|
||||
compile and link on Android.
|
||||
The order of settings vs options in pnglibconf.h is reversed to allow
|
||||
settings to depend on options and options can now set (or override) the
|
||||
defaults for settings.
|
||||
|
||||
Version 1.5.15beta09 [March 13, 2013]
|
||||
Fixed CMakelists.txt to allow building a single variant of the library
|
||||
(Claudio Bley):
|
||||
Introduced a PNG_LIB_TARGETS variable that lists all activated library
|
||||
targets. It is an error if this variable ends up empty, ie. you have
|
||||
to build at least one library variant.
|
||||
Made the *_COPY targets only depend on library targets actually being build.
|
||||
Use PNG_LIB_TARGETS to unify a code path.
|
||||
Changed the CREATE_SYMLINK macro to expect the full path to a file as the
|
||||
first argument. When symlinking the filename component of that path is
|
||||
determined and used as the link target.
|
||||
Use copy_if_different in the CREATE_SYMLINK macro.
|
||||
Eliminated two warnings from the Intel C compiler. The warnings are
|
||||
technically valid, although a reasonable treatment of division would
|
||||
show it to be incorrect.
|
||||
|
||||
Version 1.5.15rc01 [March 21, 2013]
|
||||
No changes.
|
||||
|
||||
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
||||
(subscription required; visit
|
||||
|
||||
@@ -138,8 +138,11 @@ endif()
|
||||
# NOW BUILD OUR TARGET
|
||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${ZLIB_INCLUDE_DIR})
|
||||
|
||||
unset(PNG_LIB_TARGETS)
|
||||
|
||||
if(PNG_SHARED)
|
||||
add_library(${PNG_LIB_NAME} SHARED ${libpng_sources})
|
||||
set(PNG_LIB_TARGETS ${PNG_LIB_NAME})
|
||||
if(MSVC)
|
||||
# msvc does not append 'lib' - do it here to have consistent name
|
||||
set_target_properties(${PNG_LIB_NAME} PROPERTIES PREFIX "lib")
|
||||
@@ -152,6 +155,7 @@ if(PNG_STATIC)
|
||||
# does not work without changing name
|
||||
set(PNG_LIB_NAME_STATIC ${PNG_LIB_NAME}_static)
|
||||
add_library(${PNG_LIB_NAME_STATIC} STATIC ${libpng_sources})
|
||||
list(APPEND PNG_LIB_TARGETS ${PNG_LIB_NAME_STATIC})
|
||||
if(MSVC)
|
||||
# msvc does not append 'lib' - do it here to have consistent name
|
||||
set_target_properties(${PNG_LIB_NAME_STATIC} PROPERTIES PREFIX "lib")
|
||||
@@ -159,6 +163,12 @@ if(PNG_STATIC)
|
||||
target_link_libraries(${PNG_LIB_NAME_STATIC} ${ZLIB_LIBRARY} ${M_LIBRARY})
|
||||
endif()
|
||||
|
||||
if(NOT PNG_LIB_TARGETS)
|
||||
message(SEND_ERROR
|
||||
"No library variant selected to build. "
|
||||
"Please enable at least one of the following options: PNG_STATIC, PNG_SHARED")
|
||||
endif()
|
||||
|
||||
if(PNG_SHARED AND WIN32)
|
||||
set_target_properties(${PNG_LIB_NAME} PROPERTIES DEFINE_SYMBOL PNG_BUILD_DLL)
|
||||
endif()
|
||||
@@ -187,14 +197,15 @@ macro(CREATE_SYMLINK SRC_FILE DEST_FILE)
|
||||
if(WIN32 AND NOT CYGWIN AND NOT MSYS)
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${DEST_FILE} ${CMAKE_CURRENT_BINARY_DIR}/${DEST_FILE}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/${SRC_FILE} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${DEST_FILE}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/${SRC_FILE} ${CMAKE_CURRENT_BINARY_DIR}/${DEST_FILE}
|
||||
DEPENDS ${PNG_LIB_NAME} ${PNG_LIB_NAME_STATIC}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SRC_FILE}" ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${DEST_FILE}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SRC_FILE}" ${CMAKE_CURRENT_BINARY_DIR}/${DEST_FILE}
|
||||
DEPENDS ${PNG_LIB_TARGETS}
|
||||
)
|
||||
ADD_CUSTOM_TARGET(${DEST_FILE}_COPY ALL DEPENDS ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${DEST_FILE})
|
||||
else(WIN32 AND NOT CYGWIN AND NOT MSYS)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ${SRC_FILE} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${DEST_FILE} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ${SRC_FILE} ${DEST_FILE} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
||||
get_filename_component(LINK_TARGET "${SRC_FILE}" NAME)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink "${LINK_TARGET}" ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${DEST_FILE} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink "${LINK_TARGET}" ${DEST_FILE} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
||||
endif(WIN32 AND NOT CYGWIN AND NOT MSYS)
|
||||
endmacro()
|
||||
|
||||
@@ -225,7 +236,7 @@ endif(NOT WIN32 OR CYGWIN OR MINGW)
|
||||
# SET UP LINKS
|
||||
if(PNG_SHARED)
|
||||
set_target_properties(${PNG_LIB_NAME} PROPERTIES
|
||||
# VERSION 15.${PNGLIB_RELEASE}.1.5.15beta07
|
||||
# VERSION 15.${PNGLIB_RELEASE}.1.5.15rc01
|
||||
VERSION 15.${PNGLIB_RELEASE}.0
|
||||
SOVERSION 15
|
||||
CLEAN_DIRECT_OUTPUT 1)
|
||||
@@ -252,40 +263,33 @@ endif()
|
||||
|
||||
# INSTALL
|
||||
if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL )
|
||||
if(PNG_SHARED)
|
||||
install(TARGETS ${PNG_LIB_NAME}
|
||||
${PNG_EXPORT_RULE}
|
||||
RUNTIME DESTINATION bin
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
install(TARGETS ${PNG_LIB_TARGETS}
|
||||
${PNG_EXPORT_RULE}
|
||||
RUNTIME DESTINATION bin
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
|
||||
if(PNG_SHARED)
|
||||
# Create a symlink for libpng.dll.a => libpng15.dll.a on Cygwin
|
||||
if(CYGWIN OR MINGW)
|
||||
get_target_property(BUILD_TARGET_LOCATION ${PNG_LIB_NAME} LOCATION_${CMAKE_BUILD_TYPE})
|
||||
get_filename_component(BUILD_TARGET_FILE ${BUILD_TARGET_LOCATION} NAME)
|
||||
CREATE_SYMLINK(${BUILD_TARGET_FILE} libpng${CMAKE_IMPORT_LIBRARY_SUFFIX})
|
||||
CREATE_SYMLINK(${BUILD_TARGET_LOCATION} libpng${CMAKE_IMPORT_LIBRARY_SUFFIX})
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpng${CMAKE_IMPORT_LIBRARY_SUFFIX}
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
endif(CYGWIN OR MINGW)
|
||||
|
||||
if(NOT WIN32)
|
||||
get_target_property(BUILD_TARGET_LOCATION ${PNG_LIB_NAME} LOCATION_${CMAKE_BUILD_TYPE})
|
||||
get_filename_component(BUILD_TARGET_FILE ${BUILD_TARGET_LOCATION} NAME)
|
||||
CREATE_SYMLINK(${BUILD_TARGET_FILE} libpng${CMAKE_SHARED_LIBRARY_SUFFIX})
|
||||
CREATE_SYMLINK(${BUILD_TARGET_LOCATION} libpng${CMAKE_SHARED_LIBRARY_SUFFIX})
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpng${CMAKE_SHARED_LIBRARY_SUFFIX}
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
endif(NOT WIN32)
|
||||
endif(PNG_SHARED)
|
||||
|
||||
if(PNG_STATIC)
|
||||
install(TARGETS ${PNG_LIB_NAME_STATIC}
|
||||
${PNG_EXPORT_RULE}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
if(NOT WIN32 OR CYGWIN OR MINGW)
|
||||
get_target_property(BUILD_TARGET_LOCATION ${PNG_LIB_NAME_STATIC} LOCATION_${CMAKE_BUILD_TYPE})
|
||||
get_filename_component(BUILD_TARGET_FILE ${BUILD_TARGET_LOCATION} NAME)
|
||||
CREATE_SYMLINK(${BUILD_TARGET_FILE} libpng${CMAKE_STATIC_LIBRARY_SUFFIX})
|
||||
CREATE_SYMLINK(${BUILD_TARGET_LOCATION} libpng${CMAKE_STATIC_LIBRARY_SUFFIX})
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpng${CMAKE_STATIC_LIBRARY_SUFFIX}
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
endif(NOT WIN32 OR CYGWIN OR MINGW)
|
||||
|
||||
4
LICENSE
4
LICENSE
@@ -10,7 +10,7 @@ this sentence.
|
||||
|
||||
This code is released under the libpng license.
|
||||
|
||||
libpng versions 1.2.6, August 15, 2004, through 1.5.15beta07, February 27, 2013, are
|
||||
libpng versions 1.2.6, August 15, 2004, through 1.5.15rc01, March 21, 2013, are
|
||||
Copyright (c) 2004, 2006-2012 Glenn Randers-Pehrson, and are
|
||||
distributed according to the same disclaimer and license as libpng-1.2.5
|
||||
with the following individual added to the list of Contributing Authors
|
||||
@@ -108,4 +108,4 @@ certification mark of the Open Source Initiative.
|
||||
|
||||
Glenn Randers-Pehrson
|
||||
glennrp at users.sourceforge.net
|
||||
February 27, 2013
|
||||
March 21, 2013
|
||||
|
||||
@@ -174,7 +174,7 @@ scripts/pnglibconf.dfn: scripts/pnglibconf.dfa scripts/options.awk pngconf.h
|
||||
rm -f $@ dfn?.out
|
||||
test -z "$(CPPFLAGS)"
|
||||
echo "com @PNGLIB_VERSION@ STANDARD API DEFINITION" |\
|
||||
$(AWK) -f ${srcdir}/scripts/options.awk out=dfn1.out logunsupported=1
|
||||
$(AWK) -f ${srcdir}/scripts/options.awk out=dfn1.out logunsupported=1\
|
||||
version=search ${srcdir}/pngconf.h -\
|
||||
${srcdir}/scripts/pnglibconf.dfa 1>&2
|
||||
$(AWK) -f ${srcdir}/scripts/options.awk out=dfn2.out dfn1.out 1>&2
|
||||
|
||||
@@ -1526,7 +1526,7 @@ scripts/pnglibconf.dfn: scripts/pnglibconf.dfa scripts/options.awk pngconf.h
|
||||
rm -f $@ dfn?.out
|
||||
test -z "$(CPPFLAGS)"
|
||||
echo "com @PNGLIB_VERSION@ STANDARD API DEFINITION" |\
|
||||
$(AWK) -f ${srcdir}/scripts/options.awk out=dfn1.out logunsupported=1
|
||||
$(AWK) -f ${srcdir}/scripts/options.awk out=dfn1.out logunsupported=1\
|
||||
version=search ${srcdir}/pngconf.h -\
|
||||
${srcdir}/scripts/pnglibconf.dfa 1>&2
|
||||
$(AWK) -f ${srcdir}/scripts/options.awk out=dfn2.out dfn1.out 1>&2
|
||||
|
||||
2
README
2
README
@@ -1,4 +1,4 @@
|
||||
README for libpng version 1.5.15beta07 - February 27, 2013 (shared library 15.0)
|
||||
README for libpng version 1.5.15rc01 - March 21, 2013 (shared library 15.0)
|
||||
See the note about version numbers near the top of png.h
|
||||
|
||||
See INSTALL for instructions on how to install libpng.
|
||||
|
||||
@@ -16,16 +16,7 @@
|
||||
|
||||
#include "../pngpriv.h"
|
||||
|
||||
#if defined(PNG_FILTER_OPTIMIZATIONS) && defined(__arm__) && \
|
||||
defined(__ARM_NEON__)
|
||||
/* __arm__ is defined by GCC, MSVC defines _M_ARM to the ARM version number,
|
||||
* Andoid intends to define __ANDROID__, however there are bugs in their
|
||||
* toolchain; use -D__ANDROID__ to work round this.
|
||||
*
|
||||
* __ARM_NEON__ is used to ensure that the compiler has the appropriate ARM
|
||||
* NEON support
|
||||
*/
|
||||
|
||||
#ifdef PNG_ARM_NEON_SUPPORTED
|
||||
#ifdef PNG_ARM_NEON_CHECK_SUPPORTED /* Do run-time checks */
|
||||
#include <signal.h> /* for sig_atomic_t */
|
||||
|
||||
@@ -45,7 +36,8 @@ png_have_neon(png_structp png_ptr)
|
||||
* implemented as below, therefore it is better to cache the result (these
|
||||
* function calls may be slow!)
|
||||
*/
|
||||
return andoid_getCpuFamily() == ANDROID_CPU_FAMILY_ARM &&
|
||||
PNG_UNUSED(png_ptr)
|
||||
return android_getCpuFamily() == ANDROID_CPU_FAMILY_ARM &&
|
||||
(android_getCpuFeatures() & ANDROID_CPU_ARM_FEATURE_NEON) != 0;
|
||||
}
|
||||
#elif defined(__linux__)
|
||||
@@ -161,15 +153,39 @@ png_have_neon(png_structp png_ptr)
|
||||
void
|
||||
png_init_filter_functions_neon(png_structp pp, unsigned int bpp)
|
||||
{
|
||||
#ifdef PNG_ARM_NEON_API_SUPPORTED
|
||||
switch ((pp->options >> PNG_ARM_NEON) & 3)
|
||||
{
|
||||
case PNG_OPTION_UNSET:
|
||||
/* Allow the run-time check to execute if it has been enabled -
|
||||
* thus both API and CHECK can be turned on. If it isn't supported
|
||||
* this case will fall through to the 'default' below, which just
|
||||
* returns.
|
||||
*/
|
||||
#endif /* PNG_ARM_NEON_API_SUPPORTED */
|
||||
#ifdef PNG_ARM_NEON_CHECK_SUPPORTED
|
||||
static volatile sig_atomic_t no_neon = -1; /* not checked */
|
||||
{
|
||||
static volatile sig_atomic_t no_neon = -1; /* not checked */
|
||||
|
||||
if (no_neon < 0)
|
||||
no_neon = !png_have_neon(pp);
|
||||
if (no_neon < 0)
|
||||
no_neon = !png_have_neon(pp);
|
||||
|
||||
if (no_neon)
|
||||
return;
|
||||
if (no_neon)
|
||||
return;
|
||||
}
|
||||
#ifdef PNG_ARM_NEON_API_SUPPORTED
|
||||
break;
|
||||
#endif
|
||||
#endif /* PNG_ARM_NEON_CHECK_SUPPORTED */
|
||||
#ifdef PNG_ARM_NEON_API_SUPPORTED
|
||||
case PNG_OPTION_ON:
|
||||
/* Option turned on */
|
||||
break;
|
||||
|
||||
default: /* OFF or INVALID */
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* IMPORTANT: any new external functions used here must be declared using
|
||||
* PNG_INTERNAL_FUNCTION in ../pngpriv.h. This is required so that the
|
||||
|
||||
15
config.h.in
15
config.h.in
@@ -73,14 +73,17 @@
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* Align row buffers */
|
||||
#undef PNG_ALIGNED_MEMORY_SUPPORTED
|
||||
/* Turn on ARM Neon optimizations at run-time */
|
||||
#undef PNG_ARM_NEON_API_SUPPORTED
|
||||
|
||||
/* ARM NEON filter initialization function */
|
||||
#undef PNG_FILTER_OPTIMIZATIONS
|
||||
/* Check for ARM Neon support at run-time */
|
||||
#undef PNG_ARM_NEON_CHECK_SUPPORTED
|
||||
|
||||
/* Turn off run-time checking for ARM NEON support */
|
||||
#undef PNG_NO_ARM_NEON_CHECK
|
||||
/* Enable ARM Neon optimizations */
|
||||
#undef PNG_ARM_NEON_SUPPORTED
|
||||
|
||||
/* Disable ARM Neon optimizations */
|
||||
#undef PNG_NO_ARM_NEON
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
56
configure
vendored
56
configure
vendored
@@ -1,6 +1,6 @@
|
||||
#! /bin/sh
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.69 for libpng 1.5.15beta07.
|
||||
# Generated by GNU Autoconf 2.69 for libpng 1.5.15rc01.
|
||||
#
|
||||
# Report bugs to <png-mng-implement@lists.sourceforge.net>.
|
||||
#
|
||||
@@ -590,8 +590,8 @@ MAKEFLAGS=
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME='libpng'
|
||||
PACKAGE_TARNAME='libpng'
|
||||
PACKAGE_VERSION='1.5.15beta07'
|
||||
PACKAGE_STRING='libpng 1.5.15beta07'
|
||||
PACKAGE_VERSION='1.5.15rc01'
|
||||
PACKAGE_STRING='libpng 1.5.15rc01'
|
||||
PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net'
|
||||
PACKAGE_URL=''
|
||||
|
||||
@@ -1343,7 +1343,7 @@ if test "$ac_init_help" = "long"; then
|
||||
# Omit some internal or obsolete options to make the list less imposing.
|
||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||
cat <<_ACEOF
|
||||
\`configure' configures libpng 1.5.15beta07 to adapt to many kinds of systems.
|
||||
\`configure' configures libpng 1.5.15rc01 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@@ -1413,7 +1413,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of libpng 1.5.15beta07:";;
|
||||
short | recursive ) echo "Configuration of libpng 1.5.15rc01:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@@ -1435,8 +1435,13 @@ Optional Features:
|
||||
--enable-fast-install[=PKGS]
|
||||
optimize for fast installation [default=yes]
|
||||
--disable-libtool-lock avoid locking (might break parallel builds)
|
||||
--enable-arm-neon Enable ARM NEON optimizations: use 'always' to turn
|
||||
off run-time checks
|
||||
--enable-arm-neon Enable ARM NEON optimizations: =off, check, api, on:
|
||||
off: disable the optimizations; check: use internal
|
||||
checking code (deprecated and poorly supported);
|
||||
api: disable by default, enable by a call to
|
||||
png_set_option; on: turn on unconditionally. The
|
||||
default is 'on' if __ARM_NEON__ is defined,
|
||||
otherwise 'off'.
|
||||
|
||||
Optional Packages:
|
||||
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
|
||||
@@ -1530,7 +1535,7 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
libpng configure 1.5.15beta07
|
||||
libpng configure 1.5.15rc01
|
||||
generated by GNU Autoconf 2.69
|
||||
|
||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
@@ -1953,7 +1958,7 @@ cat >config.log <<_ACEOF
|
||||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by libpng $as_me 1.5.15beta07, which was
|
||||
It was created by libpng $as_me 1.5.15rc01, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@@ -2816,7 +2821,7 @@ fi
|
||||
|
||||
# Define the identity of the package.
|
||||
PACKAGE='libpng'
|
||||
VERSION='1.5.15beta07'
|
||||
VERSION='1.5.15rc01'
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
@@ -2886,7 +2891,7 @@ fi
|
||||
|
||||
|
||||
|
||||
PNGLIB_VERSION=1.5.15beta07
|
||||
PNGLIB_VERSION=1.5.15rc01
|
||||
PNGLIB_MAJOR=1
|
||||
PNGLIB_MINOR=5
|
||||
PNGLIB_RELEASE=15
|
||||
@@ -12812,19 +12817,26 @@ AM_CCASFLAGS=-Wa,--noexecstack
|
||||
|
||||
# Check whether --enable-arm-neon was given.
|
||||
if test "${enable_arm_neon+set}" = set; then :
|
||||
enableval=$enable_arm_neon; if test "${enableval}" = "yes" -o "${enableval}" = "always"; then
|
||||
enableval=$enable_arm_neon; case "$enableval" in
|
||||
off)
|
||||
|
||||
$as_echo "#define PNG_FILTER_OPTIMIZATIONS png_init_filter_functions_neon" >>confdefs.h
|
||||
$as_echo "#define PNG_NO_ARM_NEON /**/" >>confdefs.h
|
||||
;;
|
||||
check)
|
||||
|
||||
$as_echo "#define PNG_ARM_NEON_CHECK_SUPPORTED /**/" >>confdefs.h
|
||||
;;
|
||||
api)
|
||||
|
||||
$as_echo "#define PNG_ALIGNED_MEMORY_SUPPORTED 1" >>confdefs.h
|
||||
$as_echo "#define PNG_ARM_NEON_API_SUPPORTED /**/" >>confdefs.h
|
||||
;;
|
||||
on)
|
||||
|
||||
if test "${enableval}" = "always"; then
|
||||
|
||||
$as_echo "#define PNG_NO_ARM_NEON_CHECK /**/" >>confdefs.h
|
||||
|
||||
fi
|
||||
fi
|
||||
$as_echo "#define PNG_ARM_NEON_SUPPORTED /**/" >>confdefs.h
|
||||
;;
|
||||
*)
|
||||
as_fn_error $? "arm-neon: option value required (off/check/api/on)" "$LINENO" 5;;
|
||||
esac
|
||||
fi
|
||||
|
||||
if test "${enable_arm_neon:-no}" != "no"; then
|
||||
@@ -13395,7 +13407,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
||||
# report actual input values of CONFIG_FILES etc. instead of their
|
||||
# values after options handling.
|
||||
ac_log="
|
||||
This file was extended by libpng $as_me 1.5.15beta07, which was
|
||||
This file was extended by libpng $as_me 1.5.15rc01, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@@ -13461,7 +13473,7 @@ _ACEOF
|
||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||
ac_cs_version="\\
|
||||
libpng config.status 1.5.15beta07
|
||||
libpng config.status 1.5.15rc01
|
||||
configured by $0, generated by GNU Autoconf 2.69,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
|
||||
37
configure.ac
37
configure.ac
@@ -18,12 +18,12 @@ AC_PREREQ(2.59)
|
||||
|
||||
dnl Version number stuff here:
|
||||
|
||||
AC_INIT([libpng], [1.5.15beta07], [png-mng-implement@lists.sourceforge.net])
|
||||
AC_INIT([libpng], [1.5.15rc01], [png-mng-implement@lists.sourceforge.net])
|
||||
AM_INIT_AUTOMAKE([serial-tests])
|
||||
dnl stop configure from automagically running automake
|
||||
AM_MAINTAINER_MODE
|
||||
|
||||
PNGLIB_VERSION=1.5.15beta07
|
||||
PNGLIB_VERSION=1.5.15rc01
|
||||
PNGLIB_MAJOR=1
|
||||
PNGLIB_MINOR=5
|
||||
PNGLIB_RELEASE=15
|
||||
@@ -173,18 +173,27 @@ AC_SUBST([AM_CCASFLAGS], [-Wa,--noexecstack])
|
||||
|
||||
AC_ARG_ENABLE([arm-neon],
|
||||
AS_HELP_STRING([[[--enable-arm-neon]]],
|
||||
[Enable ARM NEON optimizations: use 'always' to turn off run-time checks]),
|
||||
[if test "${enableval}" = "yes" -o "${enableval}" = "always"; then
|
||||
AC_DEFINE([PNG_FILTER_OPTIMIZATIONS],
|
||||
[png_init_filter_functions_neon],
|
||||
[ARM NEON filter initialization function])
|
||||
AC_DEFINE([PNG_ALIGNED_MEMORY_SUPPORTED], [1],
|
||||
[Align row buffers])
|
||||
if test "${enableval}" = "always"; then
|
||||
AC_DEFINE([PNG_NO_ARM_NEON_CHECK], [],
|
||||
[Turn off run-time checking for ARM NEON support])
|
||||
fi
|
||||
fi])
|
||||
[Enable ARM NEON optimizations: =off, check, api, on:]
|
||||
[off: disable the optimizations; check: use internal checking code]
|
||||
[(deprecated and poorly supported); api: disable by default, enable by]
|
||||
[a call to png_set_option; on: turn on unconditionally. The]
|
||||
[default is 'on' if __ARM_NEON__ is defined, otherwise 'off'.]),
|
||||
[case "$enableval" in
|
||||
off)
|
||||
AC_DEFINE([PNG_NO_ARM_NEON], [],
|
||||
[Disable ARM Neon optimizations]);;
|
||||
check)
|
||||
AC_DEFINE([PNG_ARM_NEON_CHECK_SUPPORTED], [],
|
||||
[Check for ARM Neon support at run-time]);;
|
||||
api)
|
||||
AC_DEFINE([PNG_ARM_NEON_API_SUPPORTED], [],
|
||||
[Turn on ARM Neon optimizations at run-time]);;
|
||||
on)
|
||||
AC_DEFINE([PNG_ARM_NEON_SUPPORTED], [],
|
||||
[Enable ARM Neon optimizations]);;
|
||||
*)
|
||||
AC_MSG_ERROR([arm-neon: option value required (off/check/api/on)]);;
|
||||
esac])
|
||||
AM_CONDITIONAL([PNG_ARM_NEON], [test "${enable_arm_neon:-no}" != "no"])
|
||||
|
||||
AC_MSG_NOTICE([[Extra options for compiler: $PNG_COPTS]])
|
||||
|
||||
@@ -215,6 +215,10 @@ uch *readpng_get_image(double display_exponent, int *pChannels, ulg *pRowbytes)
|
||||
* libpng function */
|
||||
|
||||
if (setjmp(png_jmpbuf(png_ptr))) {
|
||||
free(image_data);
|
||||
image_data = NULL;
|
||||
free(row_pointers);
|
||||
row_pointers = NULL;
|
||||
png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Libpng-manual.txt - A description on how to use and modify libpng
|
||||
|
||||
libpng version 1.5.15beta07 - February 27, 2013
|
||||
libpng version 1.5.15rc01 - March 21, 2013
|
||||
Updated and distributed by Glenn Randers-Pehrson
|
||||
<glennrp at users.sourceforge.net>
|
||||
Copyright (c) 1998-2013 Glenn Randers-Pehrson
|
||||
@@ -11,7 +11,7 @@ Libpng-manual.txt - A description on how to use and modify libpng
|
||||
|
||||
Based on:
|
||||
|
||||
libpng versions 0.97, January 1998, through 1.5.15beta07 - February 27, 2013
|
||||
libpng versions 0.97, January 1998, through 1.5.15rc01 - March 21, 2013
|
||||
Updated and distributed by Glenn Randers-Pehrson
|
||||
Copyright (c) 1998-2013 Glenn Randers-Pehrson
|
||||
|
||||
@@ -509,8 +509,7 @@ you can retrieve with
|
||||
|
||||
If you call the png_set_read_user_chunk_fn() function, then all unknown
|
||||
chunks will be saved when read, in case your callback function will need
|
||||
one or more of them. This behavior can be changed with the
|
||||
png_set_keep_unknown_chunks() function, described below.
|
||||
one or more of them.
|
||||
|
||||
At this point, you can set up a callback function that will be
|
||||
called after each row has been read, which you can use to control
|
||||
@@ -604,7 +603,11 @@ callback function:
|
||||
|
||||
#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED)
|
||||
/* ignore all unknown chunks: */
|
||||
# if PNG_LIBPNG_VER < 10700
|
||||
png_set_keep_unknown_chunks(read_ptr, 2, NULL, 0);
|
||||
# else
|
||||
png_set_keep_unknown_chunks(read_ptr, 1, NULL, 0);
|
||||
# endif
|
||||
|
||||
/* except for vpAg: */
|
||||
png_set_keep_unknown_chunks(read_ptr, 2, vpAg, 1);
|
||||
@@ -4622,13 +4625,13 @@ Other rules can be inferred by inspecting the libpng source.
|
||||
|
||||
XIV. Y2K Compliance in libpng
|
||||
|
||||
February 27, 2013
|
||||
March 21, 2013
|
||||
|
||||
Since the PNG Development group is an ad-hoc body, we can't make
|
||||
an official declaration.
|
||||
|
||||
This is your unofficial assurance that libpng from version 0.71 and
|
||||
upward through 1.5.15beta07 are Y2K compliant. It is my belief that earlier
|
||||
upward through 1.5.15rc01 are Y2K compliant. It is my belief that earlier
|
||||
versions were also Y2K compliant.
|
||||
|
||||
Libpng only has two year fields. One is a 2-byte unsigned integer that
|
||||
|
||||
29
libpng.3
29
libpng.3
@@ -1,6 +1,6 @@
|
||||
.TH LIBPNG 3 "February 27, 2013"
|
||||
.TH LIBPNG 3 "March 21, 2013"
|
||||
.SH NAME
|
||||
libpng \- Portable Network Graphics (PNG) Reference Library 1.5.15beta07
|
||||
libpng \- Portable Network Graphics (PNG) Reference Library 1.5.15rc01
|
||||
.SH SYNOPSIS
|
||||
\fB
|
||||
#include <png.h>\fP
|
||||
@@ -277,7 +277,7 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.5.15beta07
|
||||
|
||||
\fBvoid png_set_bKGD (png_structp \fP\fIpng_ptr\fP\fB, png_infop \fP\fIinfo_ptr\fP\fB, png_color_16p \fIbackground\fP\fB);\fP
|
||||
|
||||
\fBvoid png_set_check_for_invalid_index(png_structrp \fP\fIpng_ptr\fP\fB, int \fIallowed\fP\fB);\fP
|
||||
\fBvoid png_set_check_for_invalid_index(png_structp \fP\fIpng_ptr\fP\fB, int \fIallowed\fP\fB);\fP
|
||||
|
||||
\fBvoid png_set_cHRM (png_structp \fP\fIpng_ptr\fP\fB, png_infop \fP\fIinfo_ptr\fP\fB, double \fP\fIwhite_x\fP\fB, double \fP\fIwhite_y\fP\fB, double \fP\fIred_x\fP\fB, double \fP\fIred_y\fP\fB, double \fP\fIgreen_x\fP\fB, double \fP\fIgreen_y\fP\fB, double \fP\fIblue_x\fP\fB, double \fIblue_y\fP\fB);\fP
|
||||
|
||||
@@ -492,7 +492,7 @@ Following is a copy of the libpng-manual.txt file that accompanies libpng.
|
||||
.SH LIBPNG.TXT
|
||||
Libpng-manual.txt - A description on how to use and modify libpng
|
||||
|
||||
libpng version 1.5.15beta07 - February 27, 2013
|
||||
libpng version 1.5.15rc01 - March 21, 2013
|
||||
Updated and distributed by Glenn Randers-Pehrson
|
||||
<glennrp at users.sourceforge.net>
|
||||
Copyright (c) 1998-2013 Glenn Randers-Pehrson
|
||||
@@ -503,7 +503,7 @@ Libpng-manual.txt - A description on how to use and modify libpng
|
||||
|
||||
Based on:
|
||||
|
||||
libpng versions 0.97, January 1998, through 1.5.15beta07 - February 27, 2013
|
||||
libpng versions 0.97, January 1998, through 1.5.15rc01 - March 21, 2013
|
||||
Updated and distributed by Glenn Randers-Pehrson
|
||||
Copyright (c) 1998-2013 Glenn Randers-Pehrson
|
||||
|
||||
@@ -1001,8 +1001,7 @@ you can retrieve with
|
||||
|
||||
If you call the png_set_read_user_chunk_fn() function, then all unknown
|
||||
chunks will be saved when read, in case your callback function will need
|
||||
one or more of them. This behavior can be changed with the
|
||||
png_set_keep_unknown_chunks() function, described below.
|
||||
one or more of them.
|
||||
|
||||
At this point, you can set up a callback function that will be
|
||||
called after each row has been read, which you can use to control
|
||||
@@ -1096,7 +1095,11 @@ callback function:
|
||||
|
||||
#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED)
|
||||
/* ignore all unknown chunks: */
|
||||
# if PNG_LIBPNG_VER < 10700
|
||||
png_set_keep_unknown_chunks(read_ptr, 2, NULL, 0);
|
||||
# else
|
||||
png_set_keep_unknown_chunks(read_ptr, 1, NULL, 0);
|
||||
# endif
|
||||
|
||||
/* except for vpAg: */
|
||||
png_set_keep_unknown_chunks(read_ptr, 2, vpAg, 1);
|
||||
@@ -5115,13 +5118,13 @@ Other rules can be inferred by inspecting the libpng source.
|
||||
|
||||
.SH XIV. Y2K Compliance in libpng
|
||||
|
||||
February 27, 2013
|
||||
March 21, 2013
|
||||
|
||||
Since the PNG Development group is an ad-hoc body, we can't make
|
||||
an official declaration.
|
||||
|
||||
This is your unofficial assurance that libpng from version 0.71 and
|
||||
upward through 1.5.15beta07 are Y2K compliant. It is my belief that earlier
|
||||
upward through 1.5.15rc01 are Y2K compliant. It is my belief that earlier
|
||||
versions were also Y2K compliant.
|
||||
|
||||
Libpng only has two year fields. One is a 2-byte unsigned integer that
|
||||
@@ -5344,7 +5347,7 @@ the first widely used release:
|
||||
1.5.14beta01-08 15 10514 15.so.15.14[.0]
|
||||
1.5.14rc01-03 15 10514 15.so.15.14[.0]
|
||||
1.5.14 15 10514 15.so.15.14[.0]
|
||||
1.5.15beta01-07 15 10515 15.so.15.15[.0]
|
||||
1.5.15rc01 15 10515 15.so.15.15[.0]
|
||||
|
||||
Henceforth the source version will match the shared-library minor
|
||||
and patch numbers; the shared-library major version number will be
|
||||
@@ -5401,7 +5404,7 @@ possible without all of you.
|
||||
|
||||
Thanks to Frank J. T. Wojcik for helping with the documentation.
|
||||
|
||||
Libpng version 1.5.15beta07 - February 27, 2013:
|
||||
Libpng version 1.5.15rc01 - March 21, 2013:
|
||||
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
|
||||
Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
|
||||
|
||||
@@ -5424,7 +5427,7 @@ this sentence.
|
||||
|
||||
This code is released under the libpng license.
|
||||
|
||||
libpng versions 1.2.6, August 15, 2004, through 1.5.15beta07, February 27, 2013, are
|
||||
libpng versions 1.2.6, August 15, 2004, through 1.5.15rc01, March 21, 2013, are
|
||||
Copyright (c) 2004,2006-2007 Glenn Randers-Pehrson, and are
|
||||
distributed according to the same disclaimer and license as libpng-1.2.5
|
||||
with the following individual added to the list of Contributing Authors
|
||||
@@ -5523,7 +5526,7 @@ certification mark of the Open Source Initiative.
|
||||
|
||||
Glenn Randers-Pehrson
|
||||
glennrp at users.sourceforge.net
|
||||
February 27, 2013
|
||||
March 21, 2013
|
||||
|
||||
.\" end of man page
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
.TH LIBPNGPF 3 "February 27, 2013"
|
||||
.TH LIBPNGPF 3 "March 21, 2013"
|
||||
.SH NAME
|
||||
libpng \- Portable Network Graphics (PNG) Reference Library 1.5.15beta07
|
||||
libpng \- Portable Network Graphics (PNG) Reference Library 1.5.15rc01
|
||||
(private functions)
|
||||
.SH SYNOPSIS
|
||||
\fB#include \fI"pngpriv.h"
|
||||
|
||||
2
png.5
2
png.5
@@ -1,4 +1,4 @@
|
||||
.TH PNG 5 "February 27, 2013"
|
||||
.TH PNG 5 "March 21, 2013"
|
||||
.SH NAME
|
||||
png \- Portable Network Graphics (PNG) format
|
||||
.SH DESCRIPTION
|
||||
|
||||
27
png.c
27
png.c
@@ -14,7 +14,7 @@
|
||||
#include "pngpriv.h"
|
||||
|
||||
/* Generate a compiler error if there is an old png.h in the search path. */
|
||||
typedef png_libpng_version_1_5_15beta07 Your_png_h_is_not_version_1_5_15beta07;
|
||||
typedef png_libpng_version_1_5_15rc01 Your_png_h_is_not_version_1_5_15rc01;
|
||||
|
||||
/* Tells libpng that we have already handled the first "num_bytes" bytes
|
||||
* of the PNG file signature. If the PNG data is embedded into another
|
||||
@@ -658,13 +658,13 @@ png_get_copyright(png_const_structp png_ptr)
|
||||
#else
|
||||
# ifdef __STDC__
|
||||
return PNG_STRING_NEWLINE \
|
||||
"libpng version 1.5.15beta07 - February 27, 2013" PNG_STRING_NEWLINE \
|
||||
"libpng version 1.5.15rc01 - March 21, 2013" PNG_STRING_NEWLINE \
|
||||
"Copyright (c) 1998-2013 Glenn Randers-Pehrson" PNG_STRING_NEWLINE \
|
||||
"Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \
|
||||
"Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \
|
||||
PNG_STRING_NEWLINE;
|
||||
# else
|
||||
return "libpng version 1.5.15beta07 - February 27, 2013\
|
||||
return "libpng version 1.5.15rc01 - March 21, 2013\
|
||||
Copyright (c) 1998-2013 Glenn Randers-Pehrson\
|
||||
Copyright (c) 1996-1997 Andreas Dilger\
|
||||
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.";
|
||||
@@ -2878,3 +2878,24 @@ png_build_gamma_table(png_structp png_ptr, int bit_depth)
|
||||
}
|
||||
#endif /* READ_GAMMA */
|
||||
#endif /* defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED) */
|
||||
|
||||
/* HARDWARE OPTION SUPPORT */
|
||||
#ifdef PNG_SET_OPTION_SUPPORTED
|
||||
int PNGAPI
|
||||
png_set_option(png_structp png_ptr, int option, int onoff)
|
||||
{
|
||||
if (png_ptr != NULL && option >= 0 && option < PNG_OPTION_NEXT &&
|
||||
(option & 1) == 0)
|
||||
{
|
||||
int mask = 3 << option;
|
||||
int setting = (2 + (onoff != 0)) << option;
|
||||
int current = png_ptr->options;
|
||||
|
||||
png_ptr->options = (png_byte)((current & ~mask) | setting);
|
||||
|
||||
return (current & mask) >> option;
|
||||
}
|
||||
|
||||
return PNG_OPTION_INVALID;
|
||||
}
|
||||
#endif
|
||||
|
||||
66
png.h
66
png.h
@@ -1,7 +1,7 @@
|
||||
|
||||
/* png.h - header file for PNG reference library
|
||||
*
|
||||
* libpng version 1.5.15beta07 - February 27, 2013
|
||||
* libpng version 1.5.15rc01 - March 21, 2013
|
||||
* Copyright (c) 1998-2013 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||
@@ -11,7 +11,7 @@
|
||||
* Authors and maintainers:
|
||||
* libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
|
||||
* libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
|
||||
* libpng versions 0.97, January 1998, through 1.5.15beta07 - February 27, 2013: Glenn
|
||||
* libpng versions 0.97, January 1998, through 1.5.15rc01 - March 21, 2013: Glenn
|
||||
* See also "Contributing Authors", below.
|
||||
*
|
||||
* Note about libpng version numbers:
|
||||
@@ -184,7 +184,8 @@
|
||||
* 1.5.14beta01-08 15 10514 15.so.15.14[.0]
|
||||
* 1.5.14rc01-03 15 10514 15.so.15.14[.0]
|
||||
* 1.5.14 15 10514 15.so.15.14[.0]
|
||||
* 1.5.15beta01-07 15 10515 15.so.15.15[.0]
|
||||
* 1.5.15beta01-10 15 10515 15.so.15.15[.0]
|
||||
* 1.5.15rc01 15 10515 15.so.15.15[.0]
|
||||
*
|
||||
* Henceforth the source version will match the shared-library major
|
||||
* and minor numbers; the shared-library major version number will be
|
||||
@@ -216,7 +217,7 @@
|
||||
*
|
||||
* This code is released under the libpng license.
|
||||
*
|
||||
* libpng versions 1.2.6, August 15, 2004, through 1.5.15beta07, February 27, 2013, are
|
||||
* libpng versions 1.2.6, August 15, 2004, through 1.5.15rc01, March 21, 2013, are
|
||||
* Copyright (c) 2004, 2006-2013 Glenn Randers-Pehrson, and are
|
||||
* distributed according to the same disclaimer and license as libpng-1.2.5
|
||||
* with the following individual added to the list of Contributing Authors:
|
||||
@@ -328,13 +329,13 @@
|
||||
* Y2K compliance in libpng:
|
||||
* =========================
|
||||
*
|
||||
* February 27, 2013
|
||||
* March 21, 2013
|
||||
*
|
||||
* Since the PNG Development group is an ad-hoc body, we can't make
|
||||
* an official declaration.
|
||||
*
|
||||
* This is your unofficial assurance that libpng from version 0.71 and
|
||||
* upward through 1.5.15beta07 are Y2K compliant. It is my belief that
|
||||
* upward through 1.5.15rc01 are Y2K compliant. It is my belief that
|
||||
* earlier versions were also Y2K compliant.
|
||||
*
|
||||
* Libpng only has two year fields. One is a 2-byte unsigned integer
|
||||
@@ -393,9 +394,9 @@
|
||||
*/
|
||||
|
||||
/* Version information for png.h - this should match the version in png.c */
|
||||
#define PNG_LIBPNG_VER_STRING "1.5.15beta07"
|
||||
#define PNG_LIBPNG_VER_STRING "1.5.15rc01"
|
||||
#define PNG_HEADER_VERSION_STRING \
|
||||
" libpng version 1.5.15beta07 - February 27, 2013\n"
|
||||
" libpng version 1.5.15rc01 - March 21, 2013\n"
|
||||
|
||||
#define PNG_LIBPNG_VER_SONUM 15
|
||||
#define PNG_LIBPNG_VER_DLLNUM 15
|
||||
@@ -409,7 +410,7 @@
|
||||
* PNG_LIBPNG_VER_STRING, omitting any leading zero:
|
||||
*/
|
||||
|
||||
#define PNG_LIBPNG_VER_BUILD 07
|
||||
#define PNG_LIBPNG_VER_BUILD 01
|
||||
|
||||
/* Release Status */
|
||||
#define PNG_LIBPNG_BUILD_ALPHA 1
|
||||
@@ -426,7 +427,7 @@
|
||||
#define PNG_LIBPNG_BUILD_SPECIAL 32 /* Cannot be OR'ed with
|
||||
PNG_LIBPNG_BUILD_PRIVATE */
|
||||
|
||||
#define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_BETA
|
||||
#define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_RC
|
||||
|
||||
/* Careful here. At one time, Guy wanted to use 082, but that would be octal.
|
||||
* We must not include leading zeros.
|
||||
@@ -556,7 +557,7 @@ extern "C" {
|
||||
/* This triggers a compiler error in png.c, if png.c and png.h
|
||||
* do not agree upon the version number.
|
||||
*/
|
||||
typedef char* png_libpng_version_1_5_15beta07;
|
||||
typedef char* png_libpng_version_1_5_15rc01;
|
||||
|
||||
/* Three color definitions. The order of the red, green, and blue, (and the
|
||||
* exact size) is not important, although the size of the fields need to
|
||||
@@ -2660,6 +2661,47 @@ PNG_EXPORT(235, int, png_get_palette_max, (png_const_structp png_ptr,
|
||||
# endif
|
||||
#endif /* CHECK_FOR_INVALID_INDEX */
|
||||
|
||||
/*******************************************************************************
|
||||
* IMPLEMENTATION OPTIONS
|
||||
*******************************************************************************
|
||||
*
|
||||
* Support for arbitrary implementation-specific optimizations. The API allows
|
||||
* particular options to be turned on or off. 'Option' is the number of the
|
||||
* option and 'onoff' is 0 (off) or non-0 (on). The value returned is given
|
||||
* by the PNG_OPTION_ defines below.
|
||||
*
|
||||
* HARDWARE: normally hardware capabilites, such as the Intel SSE instructions,
|
||||
* are detected at run time, however sometimes it may be impossible
|
||||
* to do this in user mode, in which case it is necessary to discover
|
||||
* the capabilities in an OS specific way. Such capabilities are
|
||||
* listed here when libpng has support for them and must be turned
|
||||
* ON by the application if present.
|
||||
*
|
||||
* SOFTWARE: sometimes software optimizations actually result in performance
|
||||
* decrease on some architectures or systems, or with some sets of
|
||||
* PNG images. 'Software' options allow such optimizations to be
|
||||
* selected at run time.
|
||||
*/
|
||||
#ifdef PNG_SET_OPTION_SUPPORTED
|
||||
#ifdef PNG_ARM_NEON_API_SUPPORTED
|
||||
# define PNG_ARM_NEON 0 /* HARDWARE: ARM Neon SIMD instructions supported */
|
||||
#endif
|
||||
#define PNG_OPTION_NEXT 2 /* Next option - numbers must be even */
|
||||
|
||||
/* Return values: NOTE: there are four values and 'off' is *not* zero */
|
||||
#define PNG_OPTION_UNSET 0 /* Unset - defaults to off */
|
||||
#define PNG_OPTION_INVALID 1 /* Option number out of range */
|
||||
#define PNG_OPTION_OFF 2
|
||||
#define PNG_OPTION_ON 3
|
||||
|
||||
PNG_EXPORT(236, int, png_set_option, (png_structp png_ptr, int option,
|
||||
int onoff));
|
||||
#endif
|
||||
|
||||
/*******************************************************************************
|
||||
* END OF HARDWARE OPTIONS
|
||||
******************************************************************************/
|
||||
|
||||
/* Maintainer: Put new public prototypes here ^, in libpng.3, and project
|
||||
* defs
|
||||
*/
|
||||
@@ -2669,7 +2711,7 @@ PNG_EXPORT(235, int, png_get_palette_max, (png_const_structp png_ptr,
|
||||
* scripts/symbols.def as well.
|
||||
*/
|
||||
#ifdef PNG_EXPORT_LAST_ORDINAL
|
||||
PNG_EXPORT_LAST_ORDINAL(235);
|
||||
PNG_EXPORT_LAST_ORDINAL(236);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngconf.h - machine configurable file for libpng
|
||||
*
|
||||
* libpng version 1.5.15beta07 - February 27, 2013
|
||||
* libpng version 1.5.15rc01 - March 21, 2013
|
||||
*
|
||||
* Copyright (c) 1998-2013 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngrutil.c - utilities to read a PNG file
|
||||
*
|
||||
* Last changed in libpng 1.5.14 [January 24, 2013]
|
||||
* Last changed in libpng 1.5.15 [(PENDING RELEASE)]
|
||||
* Copyright (c) 1998-2013 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||
@@ -3161,7 +3161,7 @@ png_combine_row(png_structp png_ptr, png_bytep dp, int display)
|
||||
{
|
||||
png_uint_32p dp32 = (png_uint_32p)dp;
|
||||
png_const_uint_32p sp32 = (png_const_uint_32p)sp;
|
||||
unsigned int skip = (bytes_to_jump-bytes_to_copy) /
|
||||
size_t skip = (bytes_to_jump-bytes_to_copy) /
|
||||
sizeof (png_uint_32);
|
||||
|
||||
do
|
||||
@@ -3202,7 +3202,7 @@ png_combine_row(png_structp png_ptr, png_bytep dp, int display)
|
||||
{
|
||||
png_uint_16p dp16 = (png_uint_16p)dp;
|
||||
png_const_uint_16p sp16 = (png_const_uint_16p)sp;
|
||||
unsigned int skip = (bytes_to_jump-bytes_to_copy) /
|
||||
size_t skip = (bytes_to_jump-bytes_to_copy) /
|
||||
sizeof (png_uint_16);
|
||||
|
||||
do
|
||||
|
||||
2
pngset.c
2
pngset.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngset.c - storage of image information into info struct
|
||||
*
|
||||
* Last changed in libpng 1.5.15 [(PENDING RELEASE)]
|
||||
* Last changed in libpng 1.5.14 [January 24, 2013]
|
||||
* Copyright (c) 1998-2013 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||
|
||||
@@ -355,5 +355,10 @@ struct png_struct_def
|
||||
/* New member added in libpng-1.5.7 */
|
||||
void (*read_filter[PNG_FILTER_VALUE_LAST-1])(png_row_infop row_info,
|
||||
png_bytep row, png_const_bytep prev_row);
|
||||
|
||||
/* Options */
|
||||
#ifdef PNG_SET_OPTION_SUPPORTED
|
||||
png_byte options; /* On/off state (up to 4 options) */
|
||||
#endif
|
||||
};
|
||||
#endif /* PNGSTRUCT_H */
|
||||
|
||||
@@ -1949,4 +1949,4 @@ main(void)
|
||||
#endif
|
||||
|
||||
/* Generate a compiler error if there is an old png.h in the search path. */
|
||||
typedef png_libpng_version_1_5_15beta07 Your_png_h_is_not_version_1_5_15beta07;
|
||||
typedef png_libpng_version_1_5_15rc01 Your_png_h_is_not_version_1_5_15rc01;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
VisualStudio instructions
|
||||
|
||||
libpng version 1.5.15beta07 - February 27, 2013
|
||||
libpng version 1.5.15rc01 - March 21, 2013
|
||||
|
||||
Copyright (c) 1998-2010 Glenn Randers-Pehrson
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<!--
|
||||
* zlib.props - location of zlib source
|
||||
*
|
||||
* libpng version 1.5.15beta07 - February 27, 2013
|
||||
* libpng version 1.5.15rc01 - March 21, 2013
|
||||
*
|
||||
* Copyright (c) 1998-2011 Glenn Randers-Pehrson
|
||||
*
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
|
||||
Makefiles for libpng version 1.5.15beta07 - February 27, 2013
|
||||
Makefiles for libpng version 1.5.15rc01 - March 21, 2013
|
||||
|
||||
pnglibconf.h.prebuilt => Stores configuration settings
|
||||
makefile.linux => Linux/ELF makefile
|
||||
(gcc, creates libpng15.so.15.1.5.15beta07)
|
||||
(gcc, creates libpng15.so.15.1.5.15rc01)
|
||||
makefile.gcc => Generic makefile (gcc, creates static libpng.a)
|
||||
makefile.knr => Archaic UNIX Makefile that converts files with
|
||||
ansi2knr (Requires ansi2knr.c from
|
||||
@@ -21,7 +21,7 @@ pnglibconf.h.prebuilt => Stores configuration settings
|
||||
makefile.dec => DEC Alpha UNIX makefile
|
||||
makefile.dj2 => DJGPP 2 makefile
|
||||
makefile.elf => Linux/ELF makefile symbol versioning,
|
||||
(gcc, creates libpng15.so.15.1.5.15beta07)
|
||||
(gcc, creates libpng15.so.15.1.5.15rc01)
|
||||
makefile.freebsd => FreeBSD makefile
|
||||
makefile.gcc => Generic gcc makefile
|
||||
makefile.hpgcc => HPUX makefile using gcc
|
||||
@@ -36,12 +36,12 @@ pnglibconf.h.prebuilt => Stores configuration settings
|
||||
makefile.os2 => OS/2 Makefile (gcc and emx, requires libpng.def)
|
||||
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
|
||||
makefile.sggcc => Silicon Graphics (gcc,
|
||||
creates libpng15.so.15.1.5.15beta07)
|
||||
creates libpng15.so.15.1.5.15rc01)
|
||||
makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib)
|
||||
makefile.solaris => Solaris 2.X makefile (gcc,
|
||||
creates libpng15.so.15.1.5.15beta07)
|
||||
creates libpng15.so.15.1.5.15rc01)
|
||||
makefile.so9 => Solaris 9 makefile (gcc,
|
||||
creates libpng15.so.15.1.5.15beta07)
|
||||
creates libpng15.so.15.1.5.15rc01)
|
||||
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
|
||||
makefile.sunos => Sun makefile
|
||||
makefile.32sunu => Sun Ultra 32-bit makefile
|
||||
|
||||
@@ -5,8 +5,9 @@
|
||||
# awk -f checksym.awk official-def list-to-check
|
||||
#
|
||||
# Output is a file in the current directory called 'symbols.new',
|
||||
# stdout holds error messages. Error code indicates success or
|
||||
# failure.
|
||||
# the value of the awk variable "of" (which can be changed on the
|
||||
# command line if required.) stdout holds error messages. Error
|
||||
# code indicates success or failure.
|
||||
#
|
||||
# NOTE: this is a pure, old fashioned, awk script. It will
|
||||
# work with any awk
|
||||
@@ -21,6 +22,7 @@ BEGIN{
|
||||
mastero = 0 # highest ordinal in master file
|
||||
symbolo = 0 # highest ordinal in png.h
|
||||
missing = "error"# log an error on missing symbols
|
||||
of="symbols.new" # default to a fixed name
|
||||
}
|
||||
|
||||
# Read existing definitions from the master file (the first
|
||||
@@ -111,6 +113,16 @@ END{
|
||||
err = 1
|
||||
}
|
||||
unexported=0
|
||||
# Add a standard header to symbols.new:
|
||||
print ";Version INSERT-VERSION-HERE" >of
|
||||
print ";--------------------------------------------------------------" >of
|
||||
print "; LIBPNG symbol list as a Win32 DEF file" >of
|
||||
print "; Contains all the symbols that can be exported from libpng" >of
|
||||
print ";--------------------------------------------------------------" >of
|
||||
print "LIBRARY" >of
|
||||
print "" >of
|
||||
print "EXPORTS" >of
|
||||
|
||||
for (o=1; o<=lasto; ++o) {
|
||||
if (symbol[o] == "" && removed[o] == "") {
|
||||
if (unexported == 0) unexported = o
|
||||
@@ -151,11 +163,11 @@ END{
|
||||
|
||||
# Finally generate symbols.new
|
||||
if (symbol[o] != "")
|
||||
print " " symbol[o], "@" o > "symbols.new"
|
||||
print " " symbol[o], "@" o > of
|
||||
}
|
||||
|
||||
if (err != 0) {
|
||||
print "*** A new list is in symbols.new ***"
|
||||
print "*** A new list is in", of, "***"
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
|
||||
176
scripts/dfn.awk
176
scripts/dfn.awk
@@ -61,75 +61,143 @@ $1 ~ /^PNG_DFN_END_SORT/{
|
||||
}
|
||||
|
||||
/^[^"]*PNG_DFN *".*"[^"]*$/{
|
||||
# A definition line, apparently correctly formated, extract the
|
||||
# definition then replace any doubled "" that remain with a single
|
||||
# double quote. Notice that the original doubled double quotes
|
||||
# may have been split by tokenization
|
||||
orig=$0
|
||||
# A definition line, apparently correctly formated, extract the
|
||||
# definition then replace any doubled "" that remain with a single
|
||||
# double quote. Notice that the original doubled double quotes
|
||||
# may have been split by tokenization
|
||||
#
|
||||
# Sometimes GCC splits the PNG_DFN lines, we know this has happened
|
||||
# if the quotes aren't closed and must read another line. In this
|
||||
# case it is essential to reject lines that start '#' because those
|
||||
# are introduced #line directives.
|
||||
orig=$0
|
||||
line=$0
|
||||
lineno=FNR
|
||||
if (lineno == "") lineno=NR
|
||||
|
||||
if (gsub(/^[^"]*PNG_DFN *"/,"") != 1 || gsub(/"[^"]*$/, "") != 1) {
|
||||
print "line", NR, "processing failed:"
|
||||
if (sub(/^[^"]*PNG_DFN *"/,"",line) != 1) {
|
||||
print "line", lineno ": processing failed:"
|
||||
print orig
|
||||
print $0
|
||||
err=1
|
||||
} else {
|
||||
next
|
||||
} else {
|
||||
++out_count
|
||||
}
|
||||
}
|
||||
|
||||
# Now examine quotes within the value:
|
||||
#
|
||||
# @" - delete this and any following spaces
|
||||
# "@ - delete this and any original spaces
|
||||
# @' - replace this by a double quote
|
||||
#
|
||||
# This allows macro substitution by the C compiler thus:
|
||||
#
|
||||
# #define first_name John
|
||||
# #define last_name Smith
|
||||
#
|
||||
# PNG_DFN"#define name @'@" first_name "@ @" last_name "@@'"
|
||||
#
|
||||
# Might get C preprocessed to:
|
||||
#
|
||||
# PNG_DFN "#define foo @'@" John "@ @" Smith "@@'"
|
||||
#
|
||||
# Which this script reduces to:
|
||||
#
|
||||
# #define name "John Smith"
|
||||
#
|
||||
while (sub(/@" */, "")) {
|
||||
if (!sub(/ *"@/, "")) {
|
||||
print "unbalanced @\" ... \"@ pair"
|
||||
err=1
|
||||
break
|
||||
}
|
||||
}
|
||||
# Now examine quotes within the value:
|
||||
#
|
||||
# @" - delete this and any following spaces
|
||||
# "@ - delete this and any preceding spaces
|
||||
# @' - replace this by a double quote
|
||||
#
|
||||
# This allows macro substitution by the C compiler thus:
|
||||
#
|
||||
# #define first_name John
|
||||
# #define last_name Smith
|
||||
#
|
||||
# PNG_DFN"#define name @'@" first_name "@ @" last_name "@@'"
|
||||
#
|
||||
# Might get C preprocessed to:
|
||||
#
|
||||
# PNG_DFN "#define foo @'@" John "@ @" Smith "@@'"
|
||||
#
|
||||
# Which this script reduces to:
|
||||
#
|
||||
# #define name "John Smith"
|
||||
#
|
||||
while (1) {
|
||||
# While there is an @" remove it and the next "@
|
||||
if (line ~ /@"/) {
|
||||
if (line ~ /@".*"@/) {
|
||||
# Do this special case first to avoid swallowing extra spaces
|
||||
# before or after the @ stuff:
|
||||
if (!sub(/@" *"@/, "", line)) {
|
||||
# Ok, do it in pieces - there has to be a non-space between the
|
||||
# two. NOTE: really weird things happen if a leading @" is
|
||||
# lost - the code will error out below (I believe).
|
||||
if (!sub(/@" */, "", line) || !sub(/ *"@/, "", line)) {
|
||||
print "line", lineno, ": internal error:", orig
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Put any needed double quotes in
|
||||
gsub(/@'/,"\"")
|
||||
# There is no matching "@. Assume a split line
|
||||
else while (1) {
|
||||
if (getline nextline) {
|
||||
# If the line starts with '#' it is a preprocesor line directive
|
||||
# from cc -E, skip it:
|
||||
if (nextline !~ /^#/) {
|
||||
line = line " " nextline
|
||||
break
|
||||
}
|
||||
} else {
|
||||
# This is end-of-input - probably a missig "@ on the first line:
|
||||
print "line", lineno ": unbalanced @\" ... \"@ pair"
|
||||
err=1
|
||||
next
|
||||
}
|
||||
}
|
||||
|
||||
# Remove any trailing spaces (not really required, but for
|
||||
# editorial consistency
|
||||
sub(/ *$/, "")
|
||||
# Keep going until all the @" have gone
|
||||
continue
|
||||
}
|
||||
|
||||
if (sort)
|
||||
array[$(sort)] = $0
|
||||
# Attempt to remove a trailing " (not preceded by '@') - if this can
|
||||
# be done stop now, if not assume a split line again
|
||||
if (sub(/"[^"]*$/, "", line))
|
||||
break
|
||||
|
||||
else
|
||||
print $0 >out
|
||||
next
|
||||
# Read another line
|
||||
while (1) {
|
||||
if (getline nextline) {
|
||||
if (nextline !~ /^#/) {
|
||||
line = line " " nextline
|
||||
# Go back to stripping @" "@ pairs
|
||||
break
|
||||
}
|
||||
} else {
|
||||
print "line", lineno ": unterminated PNG_DFN string"
|
||||
err=1
|
||||
next
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Put any needed double quotes in (at the end, because these would otherwise
|
||||
# interfere with the processing above.)
|
||||
gsub(/@'/,"\"", line)
|
||||
|
||||
# Remove any trailing spaces (not really required, but for
|
||||
# editorial consistency
|
||||
sub(/ *$/, "", line)
|
||||
|
||||
# Remove trailing CR
|
||||
sub(/
|
||||
$/, "", line)
|
||||
|
||||
if (sort) {
|
||||
if (split(line, parts) < sort) {
|
||||
print "line", lineno ": missing sort field:", line
|
||||
err=1
|
||||
} else
|
||||
array[parts[sort]] = line
|
||||
}
|
||||
|
||||
else
|
||||
print line >out
|
||||
next
|
||||
}
|
||||
|
||||
print "line", NR, "incorrectly formated PNG_DFN line:"
|
||||
print $0
|
||||
err = 1
|
||||
/PNG_DFN/{
|
||||
print "line", NR, "incorrectly formated PNG_DFN line:"
|
||||
print $0
|
||||
err = 1
|
||||
}
|
||||
|
||||
if (out_count > 0 || err > 0)
|
||||
END{
|
||||
if (out_count > 0 || err > 0)
|
||||
exit err
|
||||
print "no definition lines found"
|
||||
exit 1
|
||||
|
||||
print "no definition lines found"
|
||||
exit 1
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
# Modeled after libxml-config.
|
||||
|
||||
version=1.5.15beta07
|
||||
version=1.5.15rc01
|
||||
prefix=""
|
||||
libdir=""
|
||||
libs=""
|
||||
|
||||
@@ -5,6 +5,6 @@ includedir=@includedir@/libpng15
|
||||
|
||||
Name: libpng
|
||||
Description: Loads and saves PNG files
|
||||
Version: 1.5.15beta07
|
||||
Version: 1.5.15rc01
|
||||
Libs: -L${libdir} -lpng15
|
||||
Cflags: -I${includedir}
|
||||
|
||||
@@ -17,7 +17,7 @@ INCSDIR=${LOCALBASE}/include/libpng15
|
||||
|
||||
LIB= png15
|
||||
SHLIB_MAJOR= 0
|
||||
SHLIB_MINOR= 1.5.15beta07
|
||||
SHLIB_MINOR= 1.5.15rc01
|
||||
SRCS= png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
|
||||
pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
|
||||
pngwtran.c pngmem.c pngerror.c pngpread.c
|
||||
|
||||
@@ -17,7 +17,7 @@ INCSDIR=${LOCALBASE}/include
|
||||
|
||||
LIB= png
|
||||
SHLIB_MAJOR= 15
|
||||
SHLIB_MINOR= 1.5.15beta07
|
||||
SHLIB_MINOR= 1.5.15rc01
|
||||
SRCS= png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
|
||||
pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
|
||||
pngwtran.c pngmem.c pngerror.c pngpread.c
|
||||
|
||||
@@ -11,7 +11,7 @@ LIBDIR= ${PREFIX}/lib
|
||||
MANDIR= ${PREFIX}/man/cat
|
||||
|
||||
SHLIB_MAJOR= 15
|
||||
SHLIB_MINOR= 1.5.15beta07
|
||||
SHLIB_MINOR= 1.5.15rc01
|
||||
|
||||
LIB= png
|
||||
SRCS= png.c pngerror.c pngget.c pngmem.c pngpread.c \
|
||||
|
||||
@@ -53,7 +53,7 @@ BEGIN{
|
||||
comment=start "/*" # Comment start
|
||||
cend="*/" end # Comment end
|
||||
def=start "#define PNG_" # Arbitrary define
|
||||
sup="_SUPPORTED 1" end # end supported option
|
||||
sup="_SUPPORTED" end # end supported option
|
||||
und=comment "#undef PNG_" # Unsupported option
|
||||
une="_SUPPORTED" cend # end unsupported option
|
||||
error=start "ERROR:" # error message, terminate with 'end'
|
||||
@@ -64,11 +64,15 @@ BEGIN{
|
||||
logunsupported=0 # write unsupported options too
|
||||
|
||||
# Precreate arrays
|
||||
# for each option:
|
||||
option[""] = "" # list of all options: default enabled/disabled
|
||||
done[""] = 1 # marks option as having been output
|
||||
requires[""] = "" # requires by option
|
||||
iffs[""] = "" # if by option
|
||||
enabledby[""] = "" # options that enable it by option
|
||||
sets[""] = "" # settings set by each option
|
||||
setval[""] = "" # value to set (indexed: 'option sets[option]')
|
||||
# for each setting:
|
||||
setting[""] = "" # requires by setting
|
||||
defaults[""] = "" # used for a defaulted value
|
||||
doneset[""] = 1 # marks setting as having been output
|
||||
@@ -200,7 +204,7 @@ $1 == "com"{
|
||||
if (NF > 1) {
|
||||
# sub(/^[ ]*com[ ]*/, "")
|
||||
$1 = ""
|
||||
print comment, $0, cend >out
|
||||
print comment $0, cend >out
|
||||
} else
|
||||
print start end >out
|
||||
next
|
||||
@@ -237,7 +241,9 @@ $1 == "file" && NF >= 2{
|
||||
next
|
||||
}
|
||||
|
||||
# option NAME ( (requires|enables|if) NAME* | on | off | disabled )*
|
||||
# option NAME ( (requires|enables|if) NAME* | on | off | disabled |
|
||||
# sets SETTING VALUE+ )*
|
||||
#
|
||||
# Declares an option 'NAME' and describes its default setting (disabled)
|
||||
# and its relationship to other options. The option is disabled
|
||||
# unless *all* the options listed after 'requires' are set and at
|
||||
@@ -252,95 +258,152 @@ $1 == "file" && NF >= 2{
|
||||
# be later) entry may turn an option on or off explicitly.
|
||||
|
||||
$1 == "option" && NF >= 2{
|
||||
onoff = option[$2] # records current (and the default is "", enabled)
|
||||
opt = $2
|
||||
sub(/,$/,"",opt)
|
||||
onoff = option[opt] # records current (and the default is "", enabled)
|
||||
key = ""
|
||||
for (i=3; i<=NF; ++i) {
|
||||
if ($(i) == "on" || $(i) == "off" || $(i) == "disabled") {
|
||||
key = ""
|
||||
if (onoff != $(i)) {
|
||||
# on or off can zap disabled or enabled:
|
||||
if (onoff == "" || (onoff == "disabled" || onoff == "enabled") && ($(i) == "on" || $(i) == "off")) {
|
||||
# It's easy to mis-spell the option when turning it
|
||||
# on or off, so warn about it here:
|
||||
if (onoff == "" && ($(i) == "on" || $(i) == "off")) {
|
||||
print $2 ": ERROR: turning unrecognized option", $(i)
|
||||
# For the moment error out - it is safer
|
||||
err = 1 # prevent END{} running
|
||||
exit 1
|
||||
}
|
||||
onoff = $(i)
|
||||
} else {
|
||||
# Print a message, otherwise the error
|
||||
# below is incomprehensible
|
||||
print $2 ": currently", onoff ": attempt to turn", $(i)
|
||||
break
|
||||
}
|
||||
istart = 3
|
||||
do {
|
||||
if (istart == 1) { # continuation line
|
||||
val = getline
|
||||
|
||||
if (val != 1) { # error reading it
|
||||
if (val == 0)
|
||||
print "option", opt ": ERROR: missing contination line"
|
||||
else
|
||||
print "option", opt ": ERROR: error reading continuation line"
|
||||
|
||||
# This is a hard error
|
||||
err = 1 # prevent END{} running
|
||||
exit 1
|
||||
}
|
||||
} else if ($(i) == "requires" || $(i) == "if" || $(i) == "enables") {
|
||||
key = $(i)
|
||||
} else if (key == "requires") {
|
||||
requires[$2] = requires[$2] " " $(i)
|
||||
} else if (key == "if") {
|
||||
iffs[$2] = iffs[$2] " " $(i)
|
||||
} else if (key == "enables") {
|
||||
enabledby[$(i)] = enabledby[$(i)] " " $2
|
||||
} else
|
||||
break # bad line format
|
||||
}
|
||||
}
|
||||
|
||||
for (i=istart; i<=NF; ++i) {
|
||||
val=$(i)
|
||||
sub(/,$/,"",val)
|
||||
if (val == "on" || val == "off" || val == "disabled") {
|
||||
key = ""
|
||||
if (onoff != val) {
|
||||
# on or off can zap disabled or enabled:
|
||||
if (onoff == "" || (onoff == "disabled" || onoff == "enabled") &&
|
||||
(val == "on" || val == "off")) {
|
||||
# It's easy to mis-spell the option when turning it
|
||||
# on or off, so warn about it here:
|
||||
if (onoff == "" && (val == "on" || val == "off")) {
|
||||
print "option", opt ": ERROR: turning unrecognized option", val
|
||||
# For the moment error out - it is safer
|
||||
err = 1 # prevent END{} running
|
||||
exit 1
|
||||
}
|
||||
onoff = val
|
||||
} else {
|
||||
# Print a message, otherwise the error
|
||||
# below is incomprehensible
|
||||
print "option", opt ": currently", onoff ": attempt to turn", val
|
||||
break
|
||||
}
|
||||
}
|
||||
} else if (val == "requires" || val == "if" || val == "enables" || val =="sets") {
|
||||
key = val
|
||||
} else if (key == "requires") {
|
||||
requires[opt] = requires[opt] " " val
|
||||
} else if (key == "if") {
|
||||
iffs[opt] = iffs[opt] " " val
|
||||
} else if (key == "enables") {
|
||||
enabledby[val] = enabledby[val] " " opt
|
||||
} else if (key == "sets") {
|
||||
sets[opt] = sets[opt] " " val
|
||||
key = "setval"
|
||||
set = val
|
||||
} else if (key == "setval") {
|
||||
setval[opt " " set] = setval[opt " " set] " " val
|
||||
} else
|
||||
break # bad line format
|
||||
}
|
||||
|
||||
istart = 1
|
||||
} while (i > NF && $0 ~ /,$/)
|
||||
|
||||
if (i > NF) {
|
||||
# Set the option, defaulting to 'enabled'
|
||||
if (onoff == "") onoff = "enabled"
|
||||
option[$2] = onoff
|
||||
option[opt] = onoff
|
||||
next
|
||||
}
|
||||
# Else fall through to the error handler
|
||||
}
|
||||
|
||||
# chunk NAME [requires OPT] [on|off|disabled]
|
||||
# chunk NAME [requires OPT] [enables LIST] [on|off|disabled]
|
||||
# Expands to the 'option' settings appropriate to the reading and
|
||||
# writing of an ancilliary PNG chunk 'NAME':
|
||||
#
|
||||
# option READ_NAME requires READ_ANCILLARY_CHUNKS [READ_OPT]
|
||||
# option READ_NAME enables NAME
|
||||
# option READ_NAME enables NAME LIST
|
||||
# [option READ_NAME off]
|
||||
# option WRITE_NAME requires WRITE_ANCILLARY_CHUNKS [WRITE_OPT]
|
||||
# option WRITE_NAME enables NAME
|
||||
# option WRITE_NAME enables NAME LIST
|
||||
# [option WRITE_NAME off]
|
||||
|
||||
pre != 0 && $1 == "chunk" && NF >= 2{
|
||||
# 'chunk' is handled on the first pass by writing appropriate
|
||||
# 'option' lines into the intermediate file.
|
||||
opt = $2
|
||||
sub(/,$/,"",opt)
|
||||
onoff = ""
|
||||
reqread = ""
|
||||
reqwrite = ""
|
||||
i = 3 # indicates format error
|
||||
if (NF > 2) {
|
||||
enables = ""
|
||||
req = 0
|
||||
istart = 3
|
||||
do {
|
||||
if (istart == 1) { # continuation line
|
||||
val = getline
|
||||
|
||||
if (val != 1) { # error reading it
|
||||
if (val == 0)
|
||||
print "chunk", opt ": ERROR: missing contination line"
|
||||
else
|
||||
print "chunk", opt ": ERROR: error reading continuation line"
|
||||
|
||||
# This is a hard error
|
||||
err = 1 # prevent END{} running
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
|
||||
# read the keywords/additional OPTS
|
||||
req = 0
|
||||
for (i=3; i<=NF; ++i) {
|
||||
if ($(i) == "on" || $(i) == "off" || $(i) == "disabled") {
|
||||
if (onoff != $(i)) {
|
||||
for (i=istart; i<=NF; ++i) {
|
||||
val = $(i)
|
||||
sub(/,$/,"",val)
|
||||
if (val == "on" || val == "off" || val == "disabled") {
|
||||
if (onoff != val) {
|
||||
if (onoff == "")
|
||||
onoff = $(i)
|
||||
onoff = val
|
||||
else
|
||||
break # on/off conflict
|
||||
}
|
||||
} else if ($(i) == "requires")
|
||||
req = 0
|
||||
} else if (val == "requires")
|
||||
req = 1
|
||||
else if (req != 1)
|
||||
else if (val == "enables")
|
||||
req = 2
|
||||
else if (req == 1){
|
||||
reqread = reqread " READ_" val
|
||||
reqwrite = reqwrite " WRITE_" val
|
||||
} else if (req == 2)
|
||||
enables = enables " " val
|
||||
else
|
||||
break # bad line: handled below
|
||||
else {
|
||||
reqread = reqread " READ_" $(i)
|
||||
reqwrite = reqwrite " WRITE_" $(i)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
istart = 1
|
||||
} while (i > NF && $0 ~ /,$/)
|
||||
|
||||
if (i > NF) {
|
||||
# Output new 'option' lines to the intermediate file (out)
|
||||
print "option READ_" $2, "requires READ_ANCILLARY_CHUNKS" reqread, "enables", $2, onoff >out
|
||||
print "option WRITE_" $2, "requires WRITE_ANCILLARY_CHUNKS" reqwrite, "enables", $2, onoff >out
|
||||
print "option READ_" opt, "requires READ_ANCILLARY_CHUNKS" reqread, "enables", opt enables , onoff >out
|
||||
print "option WRITE_" opt, "requires WRITE_ANCILLARY_CHUNKS" reqwrite, "enables", opt enables, onoff >out
|
||||
next
|
||||
}
|
||||
# Else hit the error handler below - bad line format!
|
||||
@@ -471,83 +534,7 @@ END{
|
||||
exit 0
|
||||
}
|
||||
|
||||
# Do the 'setting' values first, the algorithm the standard
|
||||
# tree walk (O(1)) done in an O(2) while/for loop; interations
|
||||
# settings x depth, outputing the deepest required macros
|
||||
# first.
|
||||
print "" >out
|
||||
print "/* SETTINGS */" >out
|
||||
print comment, "settings", cend >out
|
||||
# Sort (in dfn.awk) on field 2, the setting name
|
||||
print "PNG_DFN_START_SORT 2" >out
|
||||
finished = 0
|
||||
while (!finished) {
|
||||
finished = 1
|
||||
movement = 0 # done nothing
|
||||
for (i in setting) if (!doneset[i]) {
|
||||
nreqs = split(setting[i], r)
|
||||
if (nreqs > 0) {
|
||||
for (j=1; j<=nreqs; ++j) if (!doneset[r[j]]) {
|
||||
break
|
||||
}
|
||||
if (j<=nreqs) {
|
||||
finished = 0
|
||||
continue # try a different setting
|
||||
}
|
||||
}
|
||||
|
||||
# All the requirements have been processed, output
|
||||
# this setting.
|
||||
if (deb) print "setting", i
|
||||
deflt = defaults[i]
|
||||
# A leading @ means leave it unquoted so the preprocessor
|
||||
# can substitute the build time value
|
||||
if (deflt ~ /^ @/)
|
||||
deflt = " " subs substr(deflt, 3) sube
|
||||
# Remove any spurious trailing spaces
|
||||
sub(/ *$/,"",deflt)
|
||||
print "" >out
|
||||
print "/* setting: ", i >out
|
||||
print " * requires:" setting[i] >out
|
||||
print " * default: ", defaults[i] defltinfo, "*/" >out
|
||||
if (defaults[i] == "") { # no default, only check if defined
|
||||
print "#ifdef PNG_" i >out
|
||||
}
|
||||
for (j=1; j<=nreqs; ++j) {
|
||||
print "# ifndef PNG_" r[j] >out
|
||||
print error, i, "requires", r[j] end >out
|
||||
print "# endif" >out
|
||||
}
|
||||
if (defaults[i] != "") { # default handling
|
||||
print "#ifdef PNG_" i >out
|
||||
}
|
||||
# PNG_<i> is defined, so substitute the value:
|
||||
print def i, subs "PNG_" i sube end >out
|
||||
if (defaults[i] != "") {
|
||||
print "#else /*default*/" >out
|
||||
# And add the default definition for the benefit
|
||||
# of later settings an options test:
|
||||
print "# define PNG_" i deflt >out
|
||||
print def i deflt end >out
|
||||
}
|
||||
print "#endif" >out
|
||||
|
||||
doneset[i] = 1
|
||||
++movement
|
||||
}
|
||||
|
||||
if (!finished && !movement) {
|
||||
print "setting: loop or missing setting in 'requires', cannot process:"
|
||||
for (i in setting) if (!doneset[i]) {
|
||||
print " setting", i, "requires" setting[i]
|
||||
}
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
print "PNG_DFN_END_SORT" >out
|
||||
print comment, "end of settings", cend >out
|
||||
|
||||
# Now do the options - somewhat more complex. The dependency
|
||||
# Do the options first (allowing options to set settings). The dependency
|
||||
# tree is thus:
|
||||
#
|
||||
# name > name
|
||||
@@ -639,7 +626,7 @@ END{
|
||||
}
|
||||
if (err) exit 1
|
||||
|
||||
# Sort options too
|
||||
# Sort options:
|
||||
print "PNG_DFN_START_SORT 2" >out
|
||||
|
||||
# option[i] is now the complete list of all the tokens we may
|
||||
@@ -679,8 +666,9 @@ END{
|
||||
print "" >out
|
||||
print "/* option:", i, option[i] >out
|
||||
print " * requires: " requires[i] >out
|
||||
print " * if: " iffs[i] >out
|
||||
print " * enabled-by:" enabledby[i], "*/" >out
|
||||
print " * if: " iffs[i] >out
|
||||
print " * enabled-by:" enabledby[i] >out
|
||||
print " * sets: " sets[i], "*/" >out
|
||||
print "#undef PNG_on" >out
|
||||
print "#define PNG_on 1" >out
|
||||
|
||||
@@ -763,6 +751,21 @@ END{
|
||||
print error, i, "is on: enabled by:" iffs[i] enabledby[i] ", requires" requires[i] end >out
|
||||
} else if (i !~ /^ok_/) {
|
||||
print def i sup >out
|
||||
# Supported option, set required settings
|
||||
nreqs = split(sets[i], r)
|
||||
for (j=1; j<=nreqs; ++j) {
|
||||
print "# ifdef PNG_set_" r[j] >out
|
||||
# Some other option has already set a value:
|
||||
print error, i, "sets", r[j] ": duplicate setting" end >out
|
||||
print error, " previous value: " end "PNG_set_" r[j] >out
|
||||
print "# else" >out
|
||||
# Else set the default: note that this won't accept arbitrary
|
||||
# values, the setval string must be acceptable to all the C
|
||||
# compilers we use. That means it must be VERY simple; a number,
|
||||
# a name or a string.
|
||||
print "# define PNG_set_" r[j], setval[i " " r[j]] >out
|
||||
print "# endif" >out
|
||||
}
|
||||
}
|
||||
print "# endif /* definition */" >out
|
||||
print "#endif /*requires, if*/" >out
|
||||
@@ -796,6 +799,93 @@ END{
|
||||
print "PNG_DFN_END_SORT" >out
|
||||
print comment, "end of options", cend >out
|
||||
|
||||
# Do the 'setting' values second, the algorithm the standard
|
||||
# tree walk (O(1)) done in an O(2) while/for loop; interations
|
||||
# settings x depth, outputing the deepest required macros
|
||||
# first.
|
||||
print "" >out
|
||||
print "/* SETTINGS */" >out
|
||||
print comment, "settings", cend >out
|
||||
# Sort (in dfn.awk) on field 2, the setting name
|
||||
print "PNG_DFN_START_SORT 2" >out
|
||||
finished = 0
|
||||
while (!finished) {
|
||||
finished = 1
|
||||
movement = 0 # done nothing
|
||||
for (i in setting) if (!doneset[i]) {
|
||||
nreqs = split(setting[i], r)
|
||||
if (nreqs > 0) {
|
||||
# By default assume the requires values are options, but if there
|
||||
# is no option with that name check for a setting
|
||||
for (j=1; j<=nreqs; ++j) if (option[r[j]] == "" && !doneset[r[j]]) {
|
||||
break
|
||||
}
|
||||
if (j<=nreqs) {
|
||||
finished = 0
|
||||
continue # try a different setting
|
||||
}
|
||||
}
|
||||
|
||||
# All the requirements have been processed, output
|
||||
# this setting.
|
||||
if (deb) print "setting", i
|
||||
deflt = defaults[i]
|
||||
# Remove any spurious trailing spaces
|
||||
sub(/ *$/,"",deflt)
|
||||
# A leading @ means leave it unquoted so the preprocessor
|
||||
# can substitute the build time value
|
||||
if (deflt ~ /^ @/)
|
||||
deflt = " " subs substr(deflt, 3) sube
|
||||
print "" >out
|
||||
print "/* setting: ", i >out
|
||||
print " * requires:" setting[i] >out
|
||||
print " * default: ", defaults[i] deflt, "*/" >out
|
||||
for (j=1; j<=nreqs; ++j) {
|
||||
if (option[r[j]] != "")
|
||||
print "#ifndef PNG_" r[j] "_SUPPORTED" >out
|
||||
else
|
||||
print "#ifndef PNG_" r[j] >out
|
||||
print error, i, "requires", r[j] end >out
|
||||
print "# endif" >out
|
||||
}
|
||||
# The precedence is:
|
||||
#
|
||||
# 1) External definition; trumps:
|
||||
# 2) Option 'sets' value; trumps:
|
||||
# 3) Setting 'default'
|
||||
#
|
||||
print "#ifdef PNG_" i >out
|
||||
# PNG_<i> is defined, so substitute the value:
|
||||
print def i, subs "PNG_" i sube end >out
|
||||
print "#else /* use default */" >out
|
||||
print "# ifdef PNG_set_" i >out
|
||||
# Value from an option 'sets' argument
|
||||
print def i, subs "PNG_set_" i sube end >out
|
||||
# This is so that subsequent tests on the setting work:
|
||||
print "# define PNG_" i, "1" >out
|
||||
if (defaults[i] != "") {
|
||||
print "# else /*default*/" >out
|
||||
print def i deflt end >out
|
||||
print "# define PNG_" i, "1" >out
|
||||
}
|
||||
print "# endif /* defaults */" >out
|
||||
print "#endif /* setting", i, "*/" >out
|
||||
|
||||
doneset[i] = 1
|
||||
++movement
|
||||
}
|
||||
|
||||
if (!finished && !movement) {
|
||||
print "setting: loop or missing setting in 'requires', cannot process:"
|
||||
for (i in setting) if (!doneset[i]) {
|
||||
print " setting", i, "requires" setting[i]
|
||||
}
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
print "PNG_DFN_END_SORT" >out
|
||||
print comment, "end of settings", cend >out
|
||||
|
||||
# Regular end - everything looks ok
|
||||
if (protect != "") {
|
||||
print start "#endif", "/*", protect, "*/" end >out
|
||||
|
||||
@@ -27,7 +27,7 @@ file pnglibconf.h scripts/pnglibconf.dfa PNGLCONF_H
|
||||
# The syntax is detailed in scripts/options.awk, this is a summary
|
||||
# only:
|
||||
#
|
||||
# setting <name> [default]
|
||||
# setting <name> [requires ...] [default]
|
||||
# #define PNG_<name> <value> /* value comes from current setting */
|
||||
# option <name> [requires ...] [if ...] [enables ...] [disabled]
|
||||
# #define PNG_<name>_SUPPORTED if the requirements are met and
|
||||
@@ -191,12 +191,23 @@ option WRITE enables WRITE_INT_FUNCTIONS
|
||||
|
||||
setting FILTER_OPTIMIZATIONS
|
||||
|
||||
# This option turns on runtime checks for ARM NEON support, it is irrelevant
|
||||
# on other platforms and it is irrelevant unless NEON code is turned on. Checks
|
||||
# are on by default
|
||||
|
||||
option ARM_NEON_CHECK
|
||||
|
||||
# Implementation specific control of the optimizations, enabled by those
|
||||
# hardware or software options that need it (typically when run-time choices
|
||||
# must be made by the user)
|
||||
option SET_OPTION disabled
|
||||
|
||||
# These options are specific to the ARM NEON hardware optimizations:
|
||||
#
|
||||
# ARM_NEON: the optimization itself
|
||||
# ARM_NEON_API: allow the optimization to be switched on with png_set_hardware
|
||||
# ARM_NEON_CHECK: compile a run-time check to see if Neon extensions are
|
||||
# supported, this is poorly supported and deprectated - use the
|
||||
# png_set_hardware API.
|
||||
option ARM_NEON disabled,
|
||||
sets FILTER_OPTIMIZATIONS png_init_filter_functions_neon
|
||||
option ARM_NEON_API disabled enables SET_OPTION ARM_NEON
|
||||
option ARM_NEON_CHECK disabled enables ARM_NEON
|
||||
|
||||
# Generic options - affect both read and write.
|
||||
|
||||
option WARNINGS
|
||||
@@ -369,6 +380,12 @@ option INCH_CONVERSIONS
|
||||
|
||||
option BUILD_GRAYSCALE_PALETTE
|
||||
|
||||
# This changes the default for the ARM NEON optimizations according to
|
||||
# __ARM_NEON__
|
||||
@#ifdef __ARM_NEON__
|
||||
@# define PNG_ARM_NEON_SUPPORTED
|
||||
@#endif
|
||||
|
||||
# IN DEVELOPMENT
|
||||
# These are currently experimental features; define them if you want
|
||||
|
||||
|
||||
@@ -1,25 +1,176 @@
|
||||
|
||||
/* libpng STANDARD API DEFINITION */
|
||||
|
||||
/* 1.5.15rc01 STANDARD API DEFINITION */
|
||||
/* pnglibconf.h - library build configuration */
|
||||
|
||||
/* Libpng 1.5.15beta07 - February 27, 2013 */
|
||||
/* libpng version 1.5.15rc01 - March 21, 2013 */
|
||||
|
||||
/* Copyright (c) 1998-2012 Glenn Randers-Pehrson */
|
||||
/* Copyright (c) 1998-2013 Glenn Randers-Pehrson */
|
||||
|
||||
/* This code is released under the libpng license. */
|
||||
/* For conditions of distribution and use, see the disclaimer */
|
||||
/* and license in png.h */
|
||||
|
||||
/* pnglibconf.h */
|
||||
/* Machine generated file: DO NOT EDIT */
|
||||
/* Derived from: scripts/pnglibconf.dfa */
|
||||
/* If you edit this file by hand you must obey the rules expressed in */
|
||||
/* pnglibconf.dfa with respect to the dependencies between the following */
|
||||
/* symbols. It is much better to generate a new file using */
|
||||
/* scripts/libpngconf.mak */
|
||||
|
||||
#ifndef PNGLCONF_H
|
||||
#define PNGLCONF_H
|
||||
/* options */
|
||||
#define PNG_16BIT_SUPPORTED
|
||||
#define PNG_ALIGNED_MEMORY_SUPPORTED
|
||||
/*#undef PNG_ARM_NEON_API_SUPPORTED*/
|
||||
/*#undef PNG_ARM_NEON_CHECK_SUPPORTED*/
|
||||
/*#undef PNG_ARM_NEON_SUPPORTED*/
|
||||
#define PNG_BENIGN_ERRORS_SUPPORTED
|
||||
#define PNG_BUILD_GRAYSCALE_PALETTE_SUPPORTED
|
||||
#define PNG_CHECK_FOR_INVALID_INDEX_SUPPORTED
|
||||
#define PNG_CHECK_cHRM_SUPPORTED
|
||||
#define PNG_CONSOLE_IO_SUPPORTED
|
||||
#define PNG_CONVERT_tIME_SUPPORTED
|
||||
#define PNG_EASY_ACCESS_SUPPORTED
|
||||
/*#undef PNG_ERROR_NUMBERS_SUPPORTED*/
|
||||
#define PNG_ERROR_TEXT_SUPPORTED
|
||||
#define PNG_FIXED_POINT_SUPPORTED
|
||||
#define PNG_FLOATING_ARITHMETIC_SUPPORTED
|
||||
#define PNG_FLOATING_POINT_SUPPORTED
|
||||
#define PNG_GET_PALETTE_MAX_SUPPORTED
|
||||
#define PNG_HANDLE_AS_UNKNOWN_SUPPORTED
|
||||
#define PNG_INCH_CONVERSIONS_SUPPORTED
|
||||
#define PNG_INFO_IMAGE_SUPPORTED
|
||||
#define PNG_IO_STATE_SUPPORTED
|
||||
#define PNG_MNG_FEATURES_SUPPORTED
|
||||
#define PNG_POINTER_INDEXING_SUPPORTED
|
||||
#define PNG_PROGRESSIVE_READ_SUPPORTED
|
||||
#define PNG_READ_16BIT_SUPPORTED
|
||||
#define PNG_READ_ALPHA_MODE_SUPPORTED
|
||||
#define PNG_READ_ANCILLARY_CHUNKS_SUPPORTED
|
||||
#define PNG_READ_BACKGROUND_SUPPORTED
|
||||
#define PNG_READ_BGR_SUPPORTED
|
||||
#define PNG_READ_CHECK_FOR_INVALID_INDEX_SUPPORTED
|
||||
#define PNG_READ_COMPOSITE_NODIV_SUPPORTED
|
||||
#define PNG_READ_COMPRESSED_TEXT_SUPPORTED
|
||||
#define PNG_READ_EXPAND_16_SUPPORTED
|
||||
#define PNG_READ_EXPAND_SUPPORTED
|
||||
#define PNG_READ_FILLER_SUPPORTED
|
||||
#define PNG_READ_GAMMA_SUPPORTED
|
||||
#define PNG_READ_GET_PALETTE_MAX_SUPPORTED
|
||||
#define PNG_READ_GRAY_TO_RGB_SUPPORTED
|
||||
#define PNG_READ_INTERLACING_SUPPORTED
|
||||
#define PNG_READ_INT_FUNCTIONS_SUPPORTED
|
||||
#define PNG_READ_INVERT_ALPHA_SUPPORTED
|
||||
#define PNG_READ_INVERT_SUPPORTED
|
||||
#define PNG_READ_OPT_PLTE_SUPPORTED
|
||||
#define PNG_READ_PACKSWAP_SUPPORTED
|
||||
#define PNG_READ_PACK_SUPPORTED
|
||||
#define PNG_READ_QUANTIZE_SUPPORTED
|
||||
#define PNG_READ_RGB_TO_GRAY_SUPPORTED
|
||||
#define PNG_READ_SCALE_16_TO_8_SUPPORTED
|
||||
#define PNG_READ_SHIFT_SUPPORTED
|
||||
#define PNG_READ_STRIP_16_TO_8_SUPPORTED
|
||||
#define PNG_READ_STRIP_ALPHA_SUPPORTED
|
||||
#define PNG_READ_SUPPORTED
|
||||
#define PNG_READ_SWAP_ALPHA_SUPPORTED
|
||||
#define PNG_READ_SWAP_SUPPORTED
|
||||
#define PNG_READ_TEXT_SUPPORTED
|
||||
#define PNG_READ_TRANSFORMS_SUPPORTED
|
||||
#define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED
|
||||
#define PNG_READ_USER_CHUNKS_SUPPORTED
|
||||
#define PNG_READ_USER_TRANSFORM_SUPPORTED
|
||||
#define PNG_READ_bKGD_SUPPORTED
|
||||
#define PNG_READ_cHRM_SUPPORTED
|
||||
#define PNG_READ_gAMA_SUPPORTED
|
||||
#define PNG_READ_hIST_SUPPORTED
|
||||
#define PNG_READ_iCCP_SUPPORTED
|
||||
#define PNG_READ_iTXt_SUPPORTED
|
||||
#define PNG_READ_oFFs_SUPPORTED
|
||||
#define PNG_READ_pCAL_SUPPORTED
|
||||
#define PNG_READ_pHYs_SUPPORTED
|
||||
#define PNG_READ_sBIT_SUPPORTED
|
||||
#define PNG_READ_sCAL_SUPPORTED
|
||||
#define PNG_READ_sPLT_SUPPORTED
|
||||
#define PNG_READ_sRGB_SUPPORTED
|
||||
#define PNG_READ_tEXt_SUPPORTED
|
||||
#define PNG_READ_tIME_SUPPORTED
|
||||
#define PNG_READ_tRNS_SUPPORTED
|
||||
#define PNG_READ_zTXt_SUPPORTED
|
||||
/*#undef PNG_SAFE_LIMITS_SUPPORTED*/
|
||||
#define PNG_SAVE_INT_32_SUPPORTED
|
||||
#define PNG_SEQUENTIAL_READ_SUPPORTED
|
||||
#define PNG_SETJMP_SUPPORTED
|
||||
#define PNG_SET_CHUNK_CACHE_LIMIT_SUPPORTED
|
||||
#define PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED
|
||||
/*#undef PNG_SET_OPTION_SUPPORTED*/
|
||||
#define PNG_SET_USER_LIMITS_SUPPORTED
|
||||
#define PNG_STDIO_SUPPORTED
|
||||
#define PNG_TEXT_SUPPORTED
|
||||
#define PNG_TIME_RFC1123_SUPPORTED
|
||||
#define PNG_UNKNOWN_CHUNKS_SUPPORTED
|
||||
#define PNG_USER_CHUNKS_SUPPORTED
|
||||
#define PNG_USER_LIMITS_SUPPORTED
|
||||
#define PNG_USER_MEM_SUPPORTED
|
||||
#define PNG_USER_TRANSFORM_INFO_SUPPORTED
|
||||
#define PNG_USER_TRANSFORM_PTR_SUPPORTED
|
||||
#define PNG_WARNINGS_SUPPORTED
|
||||
#define PNG_WRITE_16BIT_SUPPORTED
|
||||
#define PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED
|
||||
#define PNG_WRITE_BGR_SUPPORTED
|
||||
#define PNG_WRITE_CHECK_FOR_INVALID_INDEX_SUPPORTED
|
||||
#define PNG_WRITE_COMPRESSED_TEXT_SUPPORTED
|
||||
#define PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED
|
||||
#define PNG_WRITE_FILLER_SUPPORTED
|
||||
#define PNG_WRITE_FILTER_SUPPORTED
|
||||
#define PNG_WRITE_FLUSH_SUPPORTED
|
||||
#define PNG_WRITE_GET_PALETTE_MAX_SUPPORTED
|
||||
#define PNG_WRITE_INTERLACING_SUPPORTED
|
||||
#define PNG_WRITE_INT_FUNCTIONS_SUPPORTED
|
||||
#define PNG_WRITE_INVERT_ALPHA_SUPPORTED
|
||||
#define PNG_WRITE_INVERT_SUPPORTED
|
||||
#define PNG_WRITE_OPTIMIZE_CMF_SUPPORTED
|
||||
#define PNG_WRITE_PACKSWAP_SUPPORTED
|
||||
#define PNG_WRITE_PACK_SUPPORTED
|
||||
#define PNG_WRITE_SHIFT_SUPPORTED
|
||||
#define PNG_WRITE_SUPPORTED
|
||||
#define PNG_WRITE_SWAP_ALPHA_SUPPORTED
|
||||
#define PNG_WRITE_SWAP_SUPPORTED
|
||||
#define PNG_WRITE_TEXT_SUPPORTED
|
||||
#define PNG_WRITE_TRANSFORMS_SUPPORTED
|
||||
#define PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED
|
||||
#define PNG_WRITE_USER_TRANSFORM_SUPPORTED
|
||||
#define PNG_WRITE_WEIGHTED_FILTER_SUPPORTED
|
||||
#define PNG_WRITE_bKGD_SUPPORTED
|
||||
#define PNG_WRITE_cHRM_SUPPORTED
|
||||
#define PNG_WRITE_gAMA_SUPPORTED
|
||||
#define PNG_WRITE_hIST_SUPPORTED
|
||||
#define PNG_WRITE_iCCP_SUPPORTED
|
||||
#define PNG_WRITE_iTXt_SUPPORTED
|
||||
#define PNG_WRITE_oFFs_SUPPORTED
|
||||
#define PNG_WRITE_pCAL_SUPPORTED
|
||||
#define PNG_WRITE_pHYs_SUPPORTED
|
||||
#define PNG_WRITE_sBIT_SUPPORTED
|
||||
#define PNG_WRITE_sCAL_SUPPORTED
|
||||
#define PNG_WRITE_sPLT_SUPPORTED
|
||||
#define PNG_WRITE_sRGB_SUPPORTED
|
||||
#define PNG_WRITE_tEXt_SUPPORTED
|
||||
#define PNG_WRITE_tIME_SUPPORTED
|
||||
#define PNG_WRITE_tRNS_SUPPORTED
|
||||
#define PNG_WRITE_zTXt_SUPPORTED
|
||||
#define PNG_bKGD_SUPPORTED
|
||||
#define PNG_cHRM_SUPPORTED
|
||||
#define PNG_gAMA_SUPPORTED
|
||||
#define PNG_hIST_SUPPORTED
|
||||
#define PNG_iCCP_SUPPORTED
|
||||
#define PNG_iTXt_SUPPORTED
|
||||
#define PNG_oFFs_SUPPORTED
|
||||
#define PNG_pCAL_SUPPORTED
|
||||
#define PNG_pHYs_SUPPORTED
|
||||
#define PNG_sBIT_SUPPORTED
|
||||
#define PNG_sCAL_SUPPORTED
|
||||
#define PNG_sPLT_SUPPORTED
|
||||
#define PNG_sRGB_SUPPORTED
|
||||
#define PNG_tEXt_SUPPORTED
|
||||
#define PNG_tIME_SUPPORTED
|
||||
#define PNG_tRNS_SUPPORTED
|
||||
#define PNG_zTXt_SUPPORTED
|
||||
/* end of options */
|
||||
/* settings */
|
||||
#define PNG_API_RULE 0
|
||||
#define PNG_CALLOC_SUPPORTED
|
||||
@@ -34,158 +185,4 @@
|
||||
#define PNG_ZBUF_SIZE 8192
|
||||
#define PNG_sCAL_PRECISION 5
|
||||
/* end of settings */
|
||||
/* options */
|
||||
#define PNG_16BIT_SUPPORTED 1
|
||||
#define PNG_ALIGNED_MEMORY_SUPPORTED
|
||||
#define PNG_ARM_NEON_CHECK_SUPPORTED
|
||||
#define PNG_BENIGN_ERRORS_SUPPORTED 1
|
||||
#define PNG_BUILD_GRAYSCALE_PALETTE_SUPPORTED 1
|
||||
#define PNG_CHECK_FOR_INVALID_INDEX_SUPPORTED 1
|
||||
#define PNG_CHECK_cHRM_SUPPORTED 1
|
||||
#define PNG_CONSOLE_IO_SUPPORTED 1
|
||||
#define PNG_CONVERT_tIME_SUPPORTED 1
|
||||
#define PNG_EASY_ACCESS_SUPPORTED 1
|
||||
/*#undef PNG_ERROR_NUMBERS_SUPPORTED*/
|
||||
#define PNG_ERROR_TEXT_SUPPORTED 1
|
||||
#define PNG_FIXED_POINT_SUPPORTED 1
|
||||
#define PNG_FLOATING_ARITHMETIC_SUPPORTED 1
|
||||
#define PNG_FLOATING_POINT_SUPPORTED 1
|
||||
#define PNG_GET_PALETTE_MAX_SUPPORTED 1
|
||||
#define PNG_HANDLE_AS_UNKNOWN_SUPPORTED 1
|
||||
#define PNG_INCH_CONVERSIONS_SUPPORTED 1
|
||||
#define PNG_INFO_IMAGE_SUPPORTED 1
|
||||
#define PNG_IO_STATE_SUPPORTED 1
|
||||
#define PNG_MNG_FEATURES_SUPPORTED 1
|
||||
#define PNG_POINTER_INDEXING_SUPPORTED 1
|
||||
#define PNG_PROGRESSIVE_READ_SUPPORTED 1
|
||||
#define PNG_READ_16BIT_SUPPORTED 1
|
||||
#define PNG_READ_ALPHA_MODE_SUPPORTED 1
|
||||
#define PNG_READ_ANCILLARY_CHUNKS_SUPPORTED 1
|
||||
#define PNG_READ_BACKGROUND_SUPPORTED 1
|
||||
#define PNG_READ_BGR_SUPPORTED 1
|
||||
#define PNG_READ_CHECK_FOR_INVALID_INDEX_SUPPORTED 1
|
||||
#define PNG_READ_COMPOSITE_NODIV_SUPPORTED 1
|
||||
#define PNG_READ_COMPRESSED_TEXT_SUPPORTED 1
|
||||
#define PNG_READ_EXPAND_16_SUPPORTED 1
|
||||
#define PNG_READ_EXPAND_SUPPORTED 1
|
||||
#define PNG_READ_FILLER_SUPPORTED 1
|
||||
#define PNG_READ_GAMMA_SUPPORTED 1
|
||||
#define PNG_READ_GET_PALETTE_MAX_SUPPORTED 1
|
||||
#define PNG_READ_GRAY_TO_RGB_SUPPORTED 1
|
||||
#define PNG_READ_INTERLACING_SUPPORTED 1
|
||||
#define PNG_READ_INT_FUNCTIONS_SUPPORTED 1
|
||||
#define PNG_READ_INVERT_ALPHA_SUPPORTED 1
|
||||
#define PNG_READ_INVERT_SUPPORTED 1
|
||||
#define PNG_READ_OPT_PLTE_SUPPORTED 1
|
||||
#define PNG_READ_PACKSWAP_SUPPORTED 1
|
||||
#define PNG_READ_PACK_SUPPORTED 1
|
||||
#define PNG_READ_QUANTIZE_SUPPORTED 1
|
||||
#define PNG_READ_RGB_TO_GRAY_SUPPORTED 1
|
||||
#define PNG_READ_SCALE_16_TO_8_SUPPORTED 1
|
||||
#define PNG_READ_SHIFT_SUPPORTED 1
|
||||
#define PNG_READ_STRIP_16_TO_8_SUPPORTED 1
|
||||
#define PNG_READ_STRIP_ALPHA_SUPPORTED 1
|
||||
#define PNG_READ_SUPPORTED 1
|
||||
#define PNG_READ_SWAP_ALPHA_SUPPORTED 1
|
||||
#define PNG_READ_SWAP_SUPPORTED 1
|
||||
#define PNG_READ_TEXT_SUPPORTED 1
|
||||
#define PNG_READ_TRANSFORMS_SUPPORTED 1
|
||||
#define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED 1
|
||||
#define PNG_READ_USER_CHUNKS_SUPPORTED 1
|
||||
#define PNG_READ_USER_TRANSFORM_SUPPORTED 1
|
||||
#define PNG_READ_bKGD_SUPPORTED 1
|
||||
#define PNG_READ_cHRM_SUPPORTED 1
|
||||
#define PNG_READ_gAMA_SUPPORTED 1
|
||||
#define PNG_READ_hIST_SUPPORTED 1
|
||||
#define PNG_READ_iCCP_SUPPORTED 1
|
||||
#define PNG_READ_iTXt_SUPPORTED 1
|
||||
#define PNG_READ_oFFs_SUPPORTED 1
|
||||
#define PNG_READ_pCAL_SUPPORTED 1
|
||||
#define PNG_READ_pHYs_SUPPORTED 1
|
||||
#define PNG_READ_sBIT_SUPPORTED 1
|
||||
#define PNG_READ_sCAL_SUPPORTED 1
|
||||
#define PNG_READ_sPLT_SUPPORTED 1
|
||||
#define PNG_READ_sRGB_SUPPORTED 1
|
||||
#define PNG_READ_tEXt_SUPPORTED 1
|
||||
#define PNG_READ_tIME_SUPPORTED 1
|
||||
#define PNG_READ_tRNS_SUPPORTED 1
|
||||
#define PNG_READ_zTXt_SUPPORTED 1
|
||||
/*#undef PNG_SAFE_LIMITS_SUPPORTED*/
|
||||
#define PNG_SAVE_INT_32_SUPPORTED 1
|
||||
#define PNG_SEQUENTIAL_READ_SUPPORTED 1
|
||||
#define PNG_SETJMP_SUPPORTED 1
|
||||
#define PNG_SET_CHUNK_CACHE_LIMIT_SUPPORTED 1
|
||||
#define PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED 1
|
||||
#define PNG_SET_USER_LIMITS_SUPPORTED 1
|
||||
#define PNG_STDIO_SUPPORTED 1
|
||||
#define PNG_TEXT_SUPPORTED 1
|
||||
#define PNG_TIME_RFC1123_SUPPORTED 1
|
||||
#define PNG_UNKNOWN_CHUNKS_SUPPORTED 1
|
||||
#define PNG_USER_CHUNKS_SUPPORTED 1
|
||||
#define PNG_USER_LIMITS_SUPPORTED 1
|
||||
#define PNG_USER_MEM_SUPPORTED 1
|
||||
#define PNG_USER_TRANSFORM_INFO_SUPPORTED 1
|
||||
#define PNG_USER_TRANSFORM_PTR_SUPPORTED 1
|
||||
#define PNG_WARNINGS_SUPPORTED 1
|
||||
#define PNG_WRITE_16BIT_SUPPORTED 1
|
||||
#define PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED 1
|
||||
#define PNG_WRITE_BGR_SUPPORTED 1
|
||||
#define PNG_WRITE_CHECK_FOR_INVALID_INDEX_SUPPORTED 1
|
||||
#define PNG_WRITE_COMPRESSED_TEXT_SUPPORTED 1
|
||||
#define PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED 1
|
||||
#define PNG_WRITE_FILLER_SUPPORTED 1
|
||||
#define PNG_WRITE_FILTER_SUPPORTED 1
|
||||
#define PNG_WRITE_FLUSH_SUPPORTED 1
|
||||
#define PNG_WRITE_GET_PALETTE_MAX_SUPPORTED 1
|
||||
#define PNG_WRITE_INTERLACING_SUPPORTED 1
|
||||
#define PNG_WRITE_INT_FUNCTIONS_SUPPORTED 1
|
||||
#define PNG_WRITE_INVERT_ALPHA_SUPPORTED 1
|
||||
#define PNG_WRITE_INVERT_SUPPORTED 1
|
||||
#define PNG_WRITE_OPTIMIZE_CMF_SUPPORTED 1
|
||||
#define PNG_WRITE_PACKSWAP_SUPPORTED 1
|
||||
#define PNG_WRITE_PACK_SUPPORTED 1
|
||||
#define PNG_WRITE_SHIFT_SUPPORTED 1
|
||||
#define PNG_WRITE_SUPPORTED 1
|
||||
#define PNG_WRITE_SWAP_ALPHA_SUPPORTED 1
|
||||
#define PNG_WRITE_SWAP_SUPPORTED 1
|
||||
#define PNG_WRITE_TEXT_SUPPORTED 1
|
||||
#define PNG_WRITE_TRANSFORMS_SUPPORTED 1
|
||||
#define PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED 1
|
||||
#define PNG_WRITE_USER_TRANSFORM_SUPPORTED 1
|
||||
#define PNG_WRITE_WEIGHTED_FILTER_SUPPORTED 1
|
||||
#define PNG_WRITE_bKGD_SUPPORTED 1
|
||||
#define PNG_WRITE_cHRM_SUPPORTED 1
|
||||
#define PNG_WRITE_gAMA_SUPPORTED 1
|
||||
#define PNG_WRITE_hIST_SUPPORTED 1
|
||||
#define PNG_WRITE_iCCP_SUPPORTED 1
|
||||
#define PNG_WRITE_iTXt_SUPPORTED 1
|
||||
#define PNG_WRITE_oFFs_SUPPORTED 1
|
||||
#define PNG_WRITE_pCAL_SUPPORTED 1
|
||||
#define PNG_WRITE_pHYs_SUPPORTED 1
|
||||
#define PNG_WRITE_sBIT_SUPPORTED 1
|
||||
#define PNG_WRITE_sCAL_SUPPORTED 1
|
||||
#define PNG_WRITE_sPLT_SUPPORTED 1
|
||||
#define PNG_WRITE_sRGB_SUPPORTED 1
|
||||
#define PNG_WRITE_tEXt_SUPPORTED 1
|
||||
#define PNG_WRITE_tIME_SUPPORTED 1
|
||||
#define PNG_WRITE_tRNS_SUPPORTED 1
|
||||
#define PNG_WRITE_zTXt_SUPPORTED 1
|
||||
#define PNG_bKGD_SUPPORTED 1
|
||||
#define PNG_cHRM_SUPPORTED 1
|
||||
#define PNG_gAMA_SUPPORTED 1
|
||||
#define PNG_hIST_SUPPORTED 1
|
||||
#define PNG_iCCP_SUPPORTED 1
|
||||
#define PNG_iTXt_SUPPORTED 1
|
||||
#define PNG_oFFs_SUPPORTED 1
|
||||
#define PNG_pCAL_SUPPORTED 1
|
||||
#define PNG_pHYs_SUPPORTED 1
|
||||
#define PNG_sBIT_SUPPORTED 1
|
||||
#define PNG_sCAL_SUPPORTED 1
|
||||
#define PNG_sPLT_SUPPORTED 1
|
||||
#define PNG_sRGB_SUPPORTED 1
|
||||
#define PNG_tEXt_SUPPORTED 1
|
||||
#define PNG_tIME_SUPPORTED 1
|
||||
#define PNG_tRNS_SUPPORTED 1
|
||||
#define PNG_zTXt_SUPPORTED 1
|
||||
/* end of options */
|
||||
#endif /* PNGLCONF_H */
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
;Version 1.5.15rc01
|
||||
;--------------------------------------------------------------
|
||||
; LIBPNG symbol list as a Win32 DEF file
|
||||
; Contains all the symbols that can be exported from libpng
|
||||
@@ -5,7 +6,6 @@
|
||||
LIBRARY
|
||||
|
||||
EXPORTS
|
||||
;Version 1.5.15beta07
|
||||
png_access_version_number @1
|
||||
png_set_sig_bytes @2
|
||||
png_sig_cmp @3
|
||||
@@ -241,3 +241,4 @@ EXPORTS
|
||||
png_set_cHRM_XYZ_fixed @233
|
||||
png_set_check_for_invalid_index @234
|
||||
png_get_palette_max @235
|
||||
png_set_option @236
|
||||
|
||||
@@ -35,13 +35,14 @@
|
||||
* defaulted to 'off' in scripts/pnglibconf.dfa
|
||||
*
|
||||
* Maintenance: if scripts/pnglibconf.dfa options are changed
|
||||
* from, or to, 'off' this needs updating!
|
||||
* from, or to, 'disabled' this needs updating!
|
||||
*/
|
||||
#define PNG_BENIGN_ERRORS_SUPPORTED
|
||||
#define PNG_ERROR_NUMBERS_SUPPORTED
|
||||
#define PNG_READ_BIG_ENDIAN_SUPPORTED /* should do nothing! */
|
||||
#define PNG_INCH_CONVERSIONS_SUPPORTED
|
||||
#define PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED
|
||||
#define PNG_SET_OPTION_SUPPORTED
|
||||
|
||||
#undef PNG_H
|
||||
#include "../png.h"
|
||||
|
||||
Reference in New Issue
Block a user