diff --git a/README b/README index 5b4d13352..a4a32ec25 100644 --- a/README +++ b/README @@ -157,8 +157,6 @@ Files included in this distribution "PNG: The Definitive Guide" by Greg Roelofs, O'Reilly, 1999 libtests/ => Test programs - oss-fuzz/ => Files used by the OSS-Fuzz project for fuzz-testing - libpng pngexif/ => Program to inspect the EXIF information in PNG files pngminim/ => Minimal decoder, encoder, and progressive decoder programs demonstrating the use of pngusr.dfa diff --git a/TODO b/TODO index 562dab069..8ddb7d123 100644 --- a/TODO +++ b/TODO @@ -1,23 +1,22 @@ -TODO - list of things to do for libpng: +TODO list for libpng +-------------------- -* Fix all defects (duh!) -* Better C++ wrapper / full C++ implementation (?) -* Fix the problems with C++ and 'extern "C"'. -* cHRM transformation. -* Palette creation. -* "grayscale->palette" transformation and "palette->grayscale" detection. -* Improved dithering. -* Multi-lingual error and warning message support. -* Complete sRGB transformation. (Currently it simply uses gamma=0.45455.) -* Man pages for function calls. -* Better documentation. -* Better filter selection - (e.g., counting huffman bits/precompression; filter inertia; filter costs). -* Histogram creation. -* Text conversion between different code pages (e.g., Latin-1 -> Mac). -* Avoid building gamma tables whenever possible. -* Greater precision in changing to linear gamma for compositing against - background, and in doing rgb-to-gray transformations. -* Investigate pre-incremented loop counters and other loop constructions. -* Interpolated method of handling interlacing. -* More validations for libpng transformations. + * Fix all defects (duh!) + * cHRM transformation. + * Palette creation. + * "grayscale->palette" transformation and "palette->grayscale" detection. + * Improved dithering. + * Multi-lingual error and warning message support. + * Complete sRGB transformation. (Currently it simply uses gamma=0.45455.) + * Man pages for function calls. + * Better documentation. + * Better filter selection + (e.g., counting huffman bits/precompression; filter inertia; filter costs). + * Histogram creation. + * Text conversion between different code pages (e.g., Latin-1 to Mac). + * Avoid building gamma tables whenever possible. + * Greater precision in changing to linear gamma for compositing against + background, and in doing rgb-to-gray transformations. + * Investigate pre-incremented loop counters and other loop constructions. + * Interpolated method of handling interlacing. + * More validations for libpng transformations. diff --git a/contrib/README.txt b/contrib/README.txt index 97963c6d5..34dfbae4c 100644 --- a/contrib/README.txt +++ b/contrib/README.txt @@ -1,3 +1,5 @@ +External contributions to libpng +-------------------------------- This "contrib" directory contains contributions which are not necessarily under the libpng license, although all are open source. They are not part of diff --git a/scripts/README.txt b/scripts/README.txt index 326160cbb..3764e79a7 100644 --- a/scripts/README.txt +++ b/scripts/README.txt @@ -1,79 +1,73 @@ +Scripts and makefiles for libpng +-------------------------------- -Makefiles for libpng + pnglibconf.h.prebuilt => Configuration settings -pnglibconf.h.prebuilt => Configuration settings - makefile.linux => Linux/ELF makefile - (gcc, creates shared libpng16.so.16.1.6.*) - makefile.linux-opt=> Linux/ELF makefile with hardware optimizations on - (gcc, creates shared libpng16.so.16.1.6.*) - makefile.gcc => Generic makefile (gcc, creates static libpng.a) - makefile.acorn => Acorn makefile - makefile.aix => AIX/gcc makefile - makefile.amiga => Amiga makefile - makefile.atari => Atari makefile - makefile.bc32 => 32-bit Borland C++ (all modules compiled in C mode) - makefile.beos => BeOS makefile - makefile.clang => Generic clang makefile - makefile.darwin => Darwin makefile, for macOS (formerly Mac OS X) - makefile.dec => DEC Alpha UNIX makefile - makefile.dj2 => DJGPP 2 makefile - makefile.freebsd => FreeBSD makefile - makefile.gcc => Generic gcc makefile - makefile.hpgcc => HPUX makefile using gcc - makefile.hpux => HPUX (10.20 and 11.00) makefile - makefile.hp64 => HPUX (10.20 and 11.00) makefile, 64-bit - makefile.ibmc => IBM C/C++ version 3.x for Win32 and OS/2 (static) - makefile.intel => Intel C/C++ version 4.0 and later - makefile.mips => MIPS makefile - makefile.netbsd => NetBSD/cc makefile, makes shared libpng.so - makefile.openbsd => OpenBSD makefile - makefile.sco => SCO OSr5 ELF and Unixware 7 with Native cc - makefile.sggcc => Silicon Graphics makefile - (gcc, creates shared libpng16.so.16.1.6.*) - makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib) - makefile.solaris => Solaris 2.X makefile - (gcc, creates shared libpng16.so.16.1.6.*) - makefile.so9 => Solaris 9 makefile - (gcc, creates shared libpng16.so.16.1.6.*) - makefile.std => Generic UNIX makefile (cc, creates static libpng.a) - makefile.sunos => Sun makefile - makefile.32sunu => Sun Ultra 32-bit makefile - makefile.64sunu => Sun Ultra 64-bit makefile - makefile.vcwin32 => makefile for Microsoft Visual C++ 4.0 and later - makevms.com => VMS build script - smakefile.ppc => AMIGA smakefile for SAS C V6.58/7.00 PPC compiler - (Requires SCOPTIONS, copied from scripts/SCOPTIONS.ppc) + makefile.aix => AIX/gcc makefile + makefile.amiga => Amiga makefile + makefile.atari => Atari makefile + makefile.bc32 => Borland C makefile, for Win32 + makefile.beos => BeOS makefile + makefile.clang => Generic clang makefile + makefile.darwin => Darwin makefile, for macOS (formerly Mac OS X) + makefile.dec => DEC Alpha UNIX makefile + makefile.dj2 => DJGPP 2 makefile + makefile.emcc => Emscripten makefile + makefile.freebsd => FreeBSD makefile + makefile.gcc => Generic gcc makefile + makefile.hpgcc => HPUX makefile using gcc + makefile.hpux => HPUX (10.20 and 11.00) makefile + makefile.hp64 => HPUX (10.20 and 11.00) makefile, 64-bit + makefile.ibmc => IBM C/C++ version 3.x for Win32 and OS/2 (static lib) + makefile.intel => Intel C/C++ version 4.0 and later + makefile.linux => Linux/ELF makefile + (gcc, creates shared libpng16.so.16.1.6.*) + makefile.mips => MIPS makefile + makefile.msys => MSYS (MinGW) makefile + makefile.netbsd => NetBSD/cc makefile, makes shared libpng.so + makefile.openbsd => OpenBSD makefile + makefile.riscos => Acorn RISCOS makefile + makefile.sco => SCO OSr5 ELF and Unixware 7 with Native cc + makefile.sgi => Silicon Graphics IRIX makefile (cc, static lib) + makefile.sggcc => Silicon Graphics makefile + (gcc, creates shared libpng16.so.16.1.6.*) + makefile.solaris => Solaris 2.X makefile + (gcc, creates shared libpng16.so.16.1.6.*) + makefile.so9 => Solaris 9 makefile + (gcc, creates shared libpng16.so.16.1.6.*) + makefile.std => Generic UNIX makefile (cc, static lib) + makefile.sunos => Sun makefile + makefile.32sunu => Sun Ultra 32-bit makefile + makefile.64sunu => Sun Ultra 64-bit makefile + makefile.vcwin32 => makefile for Microsoft Visual C++ 4.0 and later + makevms.com => VMS build script + smakefile.ppc => AMIGA smakefile for SAS C V6.58/7.00 PPC compiler + (Requires SCOPTIONS, copied from SCOPTIONS.ppc) -Other supporting scripts: - README.txt => This file - descrip.mms => VMS makefile for MMS or MMK - libpng-config-body.in => used by several makefiles to create libpng-config - libpng-config-head.in => used by several makefiles to create libpng-config - libpng.pc.in => Used by several makefiles to create libpng.pc - pngwin.rc => Used by the visualc71 project - pngwin.def => Used by makefile.os2 - pngwin.dfn => Used to maintain pngwin.def - SCOPTIONS.ppc => Used with smakefile.ppc +Other supporting scripts +------------------------ - checksym.awk => Used for maintaining pnglibconf.h - def.dfn => Used for maintaining pnglibconf.h - options.awk => Used for maintaining pnglibconf.h - pnglibconf.dfa => Used for maintaining pnglibconf.h - pnglibconf.mak => Used for maintaining pnglibconf.h - sym.dfn => Used for symbol versioning - symbols.def => Used for symbol versioning - symbols.dfn => Used for symbol versioning - vers.dfn => Used for symbol versioning + README.txt => This file + descrip.mms => VMS makefile for MMS or MMK + libpng-config-body.in => used by several makefiles to create libpng-config + libpng-config-head.in => used by several makefiles to create libpng-config + libpng.pc.in => Used by several makefiles to create libpng.pc + macro.lst => Used by GNU Autotools + pngwin.rc => Used by the visualc71 project + pngwin.def => Used by makefile.os2 + pngwin.dfn => Used to maintain pngwin.def + SCOPTIONS.ppc => Used with smakefile.ppc - libtool.m4 => Used by autoconf tools - ltoptions.m4 => Used by autoconf tools - ltsugar.m4 => Used by autoconf tools - ltversion.m4 => Used by autoconf tools - lt~obsolete.m4 => Used by autoconf tools - - intprefix.dfn => Used by autoconf tools - macro.lst => Used by autoconf tools - prefix.dfn => Used by autoconf tools + checksym.awk => Used for maintaining pnglibconf.h + dfn.awk => Used for maintaining pnglibconf.h + options.awk => Used for maintaining pnglibconf.h + pnglibconf.dfa => Used for maintaining pnglibconf.h + pnglibconf.mak => Used for maintaining pnglibconf.h + intprefix.c => Used for symbol versioning + prefix.c => Used for symbol versioning + sym.c => Used for symbol versioning + symbols.c => Used for symbol versioning + vers.c => Used for symbol versioning Further information can be found in comments in the individual scripts and makefiles.