Commit Graph

246 Commits

Author SHA1 Message Date
John Bowler
0ac91cc657 pngcp: tool to copy PNG files
This adds pngcp to the build together with a pngcp.dfa configuration test; the
test revealed some configuration bugs which are fixed by corrections to the
_SUPPORTED macros.

pngcp builds on all tested configurations and a number of bugs have been fixed
to make this happen relative to the version in libpng 1.7 contrib/examples.
pngcp.dfa will have to be different for 1.7 but pngcp.c should work fine (not
yet tested).  pngcp itself is still missing a usage message; this is a
preliminary version, although since it behaves the same way as 'cp' most unoids
shouldn't have a problem using it correctly.

Signed-off-by: John Bowler <jbowler@acm.org>
2016-07-01 11:27:43 -07:00
Glenn Randers-Pehrson
d6e5a72c84 [libpng16] Restored contrib/timepng to default build but check for check for
presence of clock_gettime() in configure.ac and Makefile.am.
2016-05-17 18:35:59 -05:00
Glenn Randers-Pehrson
45ad37b31b [libpng16] Removed contrib/timepng from default build; it does not build
on platforms that don't supply clock_gettime().
2016-05-16 16:14:12 -05:00
Glenn Randers-Pehrson
e0acad59cb [libpng16] Imported from libpng-1.6.22beta04.tar 2016-04-05 19:38:22 -05:00
Glenn Randers-Pehrson
6c3d5bd2a0 [libpng16] Moved contrib/intel/*.patch into INSTALL and added intel_sse.patch 2016-02-22 16:38:10 -06:00
John Bowler
23ddeb58a5 pngvalid tests: add --strict, fix test names
Signed-off-by: John Bowler <jbowler@acm.org>
2015-09-25 17:06:58 -07:00
John Bowler
fa5ba2e026 New test PNG files incorporated into make check
tests/pngstest-* are changed so that the new test files are divided into 8
groups by gamma and alpha channel.  This makes each test take just under 5
seconds on a moderately up-to-date x86_64 system using libpng16 (test times are
somewhat variable under libpng17 at present because of the lack of optimization
in some gamma processing paths.)

These tests have considerably better code and pixel-value coverage than
contrib/pngsuite however coverage is still incomplete.

Signed-off-by: John Bowler <jbowler@acm.org>
2015-09-25 12:41:56 -07:00
Glenn Randers-Pehrson
ea037b01eb [libpng16] Remove pnglibconf.dfn and pnglibconf.pre with "make clean". 2015-03-21 15:47:39 -05:00
Cosmin Truta
47e1315459 [libpng16] Remove pnglibconf.h, pnglibconf.c, and pnglibconf.out instead of
pnglibconf.* in "make clean" (Cosmin).
2015-03-15 17:04:17 -05:00
John Bowler
d040886dc4 [libpng16] Revised handling of scripts/*.dfn; renamed them to scripts/*.c 2014-12-14 19:17:56 -06:00
Bob Friesenhahn
530eec311d [libpng16] Revised Makefile.am and scripts/symbols.dfn to work with MinGW/MSYS 2014-12-14 12:37:12 -06:00
John Bowler
414d7b5f7d [libpng16] Backport recent changes from libpng-1.7.0beta30 and beta31. 2014-02-06 11:39:25 -06:00
John Bowler
d0479d24a0 [libpng16] Allow unversioned links created on install to be disabled in
configure.  In configure builds 'make install' changes/adds links like png.h
and libpng.a to point to the newly installed, versioned, files (e.g.
libpng17/png.h and libpng17.a). Three new configure options and some
rearrangement of Makefile.am allow creation of these links to be disabled.
2013-12-29 19:31:56 -06:00
John Bowler
9e9977e153 [libpng16] Revised pngvalid to generate size images with as many filters as
it can manage, limited by the number of rows.
2013-10-17 08:23:13 -05:00
John Bowler
83a841ab7c [libpng16] Fix compilation errors in filter_neon_intrinsics.c
Use filter_neon_intrinsics.c in preference to filter_neon.S when possible.
2013-10-15 21:19:56 -05:00
Glenn Randers-Pehrson
85c2ec9a69 [libpng16] Restored arm/arm_init.c to CSRCS in Makefile.am 2013-10-14 19:55:45 -05:00
Glenn Randers-Pehrson
063eb1b497 [libpng16] Added ARMv8 support (James Yu <james.yu at linaro.org>). Added file
arm/filter_neon_intrinsics.c; enable with configuration flag
PNG_ARM_NEON_INTRINSICS.
2013-10-14 11:14:36 -05:00
John Bowler
940b37b197 [libpng16] Made changes for compatibility with automake 1.14:
1) Added the 'compile' program to the list of programs that must be cleaned
       in autogen.sh
    2) Added 'subdir-objects' which causes .c files in sub-directories to be
       compiled such that the corresponding .o files are also in the
       sub-directory.  This is because automake 1.14 warns that the
       current behavior of compiling to the top level directory may be removed
       in the future.
    3) Updated dependencies on pnglibconf.h to match the new .o locations and
       added all the files in contrib/libtests and contrib/tools that depend
       on pnglibconf.h
    4) Added 'BUILD_SOURCES = pnglibconf.h'; this is the automake recommended
       way of handling the dependencies of sources that are machine generated;
       unfortunately it only works if the user does 'make all' or 'make check',
       so the dependencies (3) are still required.
2013-10-04 19:56:19 -05:00
Glenn Randers-Pehrson
d992e05da8 [libpng16] Renamed contrib/tools/png-fix-too-far-back.c to pngfix.c 2013-06-27 13:39:20 -05:00
Glenn Randers-Pehrson
4ea93e69bc [libpng16] Renamed pnginflate to png-fix-too-far-back in contrib/tools. 2013-05-08 21:57:00 -05:00
Glenn Randers-Pehrson
ff141eb21e [libpng16] Renamed contrib/tools/fixitxt to contrib/tools/png-fix-itxt.
Added information in the documentation about problems with and fixes for
the bad CRC and bad iTXt chunk situations.
2013-05-08 19:46:10 -05:00
John Bowler
9afb90f885 [libpng16] Attempt to detect configuration issues with pngdeflate,
which requires both the correct libpng and the correct zlib to function
correctly.
2013-05-08 14:21:46 -05:00
John Bowler
34b7d62488 [libpng16] Updated Makefile.am 2013-05-08 10:35:14 -05:00
John Bowler
0c7ac064d3 [libpng16] Added an option to force maximum window size for inflating.
For inflate, reverted previous fixes.
Added fixitxt and pngdeflate to the built programs and removed warnings
from the source code and timepng that are revealed as a result.  Fixed
fixitxt when the chunk length is more than 65535 (untested, no test case).
2013-05-07 21:59:05 -05:00
Glenn Randers-Pehrson
871b1d0fab [libpng16] Bump version to 1.6.1beta05 2013-03-02 15:03:15 -06:00
Glenn Randers-Pehrson
f3af706c2a [libpng16] Imported from libpng-1.6.0beta05.tar 2013-03-01 21:38:03 -06:00
Glenn Randers-Pehrson
45bb4530fd [libpng16] Revised INSTALL to recommend using CPPFLAGS instead of INCLUDES.
Revised scripts/makefile.freebsd to respect ZLIBDIR and ZLIBINC.
2013-02-22 20:19:49 -06:00
John Bowler
c9b11ff0d4 [libpng16] Fixed a race condition in the creation of the build 'scripts'
directory while building with a parallel make.
2013-02-16 07:38:46 -06:00
John Bowler
b724c812ec [libpng16] Enabled parallel tests - back ported from libpng-1.7. 2013-02-16 00:05:59 -06:00
John Bowler
42835d3d19 [libpng16] Ported libpng 1.5 options.awk/dfn file handling to 1.6, fixed one bug. 2013-02-15 23:40:34 -06:00
John Bowler
b8d0534e9d [libpng16] Fixed missing dependency in --prefix builds The intermediate
internal 'prefix.h' file can only be generated correctly after
pnglibconf.h, however the dependency was not in Makefile.am.  The
symptoms are unpredictable depending on the order make chooses to
build pngprefix.h and pnglibconf.h, often the error goes unnoticed
because there is a system pnglibconf.h to use instead.
2013-02-09 07:24:08 -06:00
John Bowler
408652acaf [libpng16] Fixed 'make distcheck' on SUN OS - libpng.so was not being removed 2012-12-27 09:56:41 -06:00
John Bowler
785a8b1505 [libpng16] Fixed cases of unquoted DESTDIR in Makefile.am 2012-12-15 07:57:31 -06:00
John Bowler
f758d6c813 [libpng16] Rearranged the ARM-NEON optimizations: Isolated the machine specific
code to the hardware subdirectory and added comments to pngrutil.c so that
implementors of other optimizations know what to do.
2012-12-13 11:26:50 -06:00
Glenn Randers-Pehrson
702053d110 [libpng16] Bump version to 1.6.0beta28 2012-08-17 21:54:45 -05:00
John Bowler
74a9c07fdd [libpng16] Revised Makefile.am to add unknown test support 2012-08-17 17:40:41 -05:00
Glenn Randers-Pehrson
9eb125e927 [libpng16] Updated Makefile.in
Added information about the new limits in the manual.
2012-02-24 22:04:53 -06:00
Glenn Randers-Pehrson
203e6dd7cf [libpng16] Checked in new Makefile.am that maintains pngusr.dfa 2012-02-24 15:56:01 -06:00
John Bowler
bce7988230 [libpng16] Fixed fixed/float API export conditionals. 1) If FIXED_POINT or
FLOATING_POINT options were switched off, png.h ended up with lone ';'
    characters.  This is not valid ANSI-C outside a function.  The ';'
    characters have been moved inside the definition of PNG_FP_EXPORT and
    PNG_FIXED_EXPORT. 2) If either option was switched off, the declaration
    of the corresponding functions were completely omitted, even though some
    of them are still used internally.  The result is still valid, but
    produces warnings from gcc with some warning options (including -Wall). The
    fix is to cause png.h to declare the functions with PNG_INTERNAL_FUNCTION
    when png.h is included from pngpriv.h.
2012-02-13 11:45:22 -06:00
John Bowler
516c9c97a6 [libpng16] Attempt to fix problem with autogen.sh
Renamed internal configure variable from prefix_TRUE to DO_PNG_PREFIX_TRUE
2012-02-01 07:14:24 -06:00
John Bowler
42369ccd85 [libpng16] Added symbol prefixing that allows all the libpng external symbols
to be prefixed (suggested by Reuben Hawkins).  This is work in progress that
breaks some non-configure builds.
2012-01-31 07:28:13 -06:00
John Bowler
05cbe5ae28 [libpng16] Moved automake options to AM_INIT_AUTOMAKE in configure.ac
Added color-tests, silent-rules (Not yet implemented in Makefile.am) and
version checking to configure.ac
2012-01-28 18:06:55 -06:00
John Bowler
a23f3dbcb6 [libpng16] Freeze libtool files in the 'scripts' directory.
This version of autogen.sh attempts to dissuade people from running it when
it is not, or should not, be necessary.
2012-01-27 10:24:21 -06:00
John Bowler
1eb2c48458 [libpng16] Updated configure.ac from autoupdate: added --enable-werror option.
Also some layout regularization and removal of introduced tab characters
(replaced with 3-character indentation).  Obsolete macros identified by
autoupdate have been removed; the replacements are all in 2.59 so
the pre-req hasn't been changed.  --enable-werror checks for support
for -Werror (or the given argument) in the compiler.  This mimics the
gcc configure option by allowing -Werror to be turned on safely; without
the option the tests written in configure itself fail compilation because
they cause compiler warnings.
2012-01-25 08:07:29 -06:00
John Bowler
5635573cfc [libpng16] Fixed Min/GW uninstall to remove libpng.dll.a 2012-01-23 23:01:27 -06:00
John Bowler
681c1fc02a [libpng16] Correct configure builds where build and source directories are
separate.  The include path of 'config.h' was erroneously made relative in
pngvalid.c in libpng 1.5.7.
2011-12-18 06:20:22 -06:00
John Bowler
ba6fbc57ba [libpng16] Revised config.h handling; added bsconfig.h, deleted pngconfig.h 2011-12-17 14:21:54 -06:00
Glenn Randers-Pehrson
0b3634bcc4 [libpng16] Reverted install of pngconfig.h 2011-12-17 09:57:00 -06:00
Glenn Randers-Pehrson
efaeadaa86 [libpng16] Added pngconfig.h file. This indirect reference to config.h avoids
problems with build scripts that search for config.h and find an
inappropriate one in the standard paths.
2011-12-17 09:06:34 -06:00
John Bowler
eb26ee6602 [libpng16] Fixed race conditions in parallel make builds. With higher degrees
of parallelism during 'make' the use of the same temporary file names such
as 'dfn*' can result in a race where a temporary file from one arm of the
build is deleted or overwritten in another arm.  This changes the
temporary files for suffix rules to always use $* and ensures that the
non-suffix rules use unique file names.
2011-12-08 09:37:24 -06:00