aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/libpng/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libpng/scripts')
-rw-r--r--third_party/libpng/scripts/README.txt77
-rw-r--r--third_party/libpng/scripts/SCOPTIONS.ppc7
-rwxr-xr-xthird_party/libpng/scripts/checksym.awk161
-rwxr-xr-xthird_party/libpng/scripts/chkfmt137
-rw-r--r--third_party/libpng/scripts/def.dfn38
-rw-r--r--third_party/libpng/scripts/descrip.mms52
-rwxr-xr-xthird_party/libpng/scripts/libpng-config-body.in96
-rwxr-xr-xthird_party/libpng/scripts/libpng-config-head.in24
-rw-r--r--third_party/libpng/scripts/libpng.pc.in10
-rw-r--r--third_party/libpng/scripts/list23
-rw-r--r--third_party/libpng/scripts/makefile.32sunu241
-rw-r--r--third_party/libpng/scripts/makefile.64sunu241
-rw-r--r--third_party/libpng/scripts/makefile.acorn57
-rw-r--r--third_party/libpng/scripts/makefile.aix121
-rw-r--r--third_party/libpng/scripts/makefile.amiga56
-rw-r--r--third_party/libpng/scripts/makefile.atari63
-rw-r--r--third_party/libpng/scripts/makefile.bc32151
-rw-r--r--third_party/libpng/scripts/makefile.beos215
-rw-r--r--third_party/libpng/scripts/makefile.bor161
-rw-r--r--third_party/libpng/scripts/makefile.cegcc116
-rw-r--r--third_party/libpng/scripts/makefile.darwin219
-rw-r--r--third_party/libpng/scripts/makefile.dec202
-rw-r--r--third_party/libpng/scripts/makefile.dj262
-rw-r--r--third_party/libpng/scripts/makefile.elf263
-rw-r--r--third_party/libpng/scripts/makefile.freebsd53
-rw-r--r--third_party/libpng/scripts/makefile.gcc87
-rw-r--r--third_party/libpng/scripts/makefile.hp64224
-rw-r--r--third_party/libpng/scripts/makefile.hpgcc230
-rw-r--r--third_party/libpng/scripts/makefile.hpux221
-rw-r--r--third_party/libpng/scripts/makefile.ibmc82
-rw-r--r--third_party/libpng/scripts/makefile.intel110
-rw-r--r--third_party/libpng/scripts/makefile.knr109
-rw-r--r--third_party/libpng/scripts/makefile.linux239
-rw-r--r--third_party/libpng/scripts/makefile.mips94
-rw-r--r--third_party/libpng/scripts/makefile.msc95
-rw-r--r--third_party/libpng/scripts/makefile.ne12bsd50
-rw-r--r--third_party/libpng/scripts/makefile.netbsd50
-rw-r--r--third_party/libpng/scripts/makefile.openbsd82
-rw-r--r--third_party/libpng/scripts/makefile.sco218
-rw-r--r--third_party/libpng/scripts/makefile.sggcc228
-rw-r--r--third_party/libpng/scripts/makefile.sgi229
-rw-r--r--third_party/libpng/scripts/makefile.so9239
-rw-r--r--third_party/libpng/scripts/makefile.solaris236
-rw-r--r--third_party/libpng/scripts/makefile.solaris-x86236
-rw-r--r--third_party/libpng/scripts/makefile.std123
-rw-r--r--third_party/libpng/scripts/makefile.sunos107
-rw-r--r--third_party/libpng/scripts/makefile.tc393
-rw-r--r--third_party/libpng/scripts/makefile.vcwin32108
-rw-r--r--third_party/libpng/scripts/makefile.watcom122
-rw-r--r--third_party/libpng/scripts/makevms.com142
-rwxr-xr-xthird_party/libpng/scripts/options.awk734
-rw-r--r--third_party/libpng/scripts/pnglibconf.dfa550
-rw-r--r--third_party/libpng/scripts/pnglibconf.h.prebuilt181
-rwxr-xr-xthird_party/libpng/scripts/pnglibconf.mak57
-rw-r--r--third_party/libpng/scripts/pngwin.rc112
-rw-r--r--third_party/libpng/scripts/smakefile.ppc34
-rw-r--r--third_party/libpng/scripts/sym.dfn15
-rw-r--r--third_party/libpng/scripts/symbols.def229
-rw-r--r--third_party/libpng/scripts/symbols.dfn57
-rw-r--r--third_party/libpng/scripts/vers.dfn26
60 files changed, 8595 insertions, 0 deletions
diff --git a/third_party/libpng/scripts/README.txt b/third_party/libpng/scripts/README.txt
new file mode 100644
index 0000000000..8f393fa38e
--- /dev/null
+++ b/third_party/libpng/scripts/README.txt
@@ -0,0 +1,77 @@
+
+Makefiles for libpng version 1.5.2 - March 31, 2011
+
+pnglibconf.h.prebuilt => Stores configuration settings
+ makefile.linux => Linux/ELF makefile
+ (gcc, creates libpng15.so.15.1.5.2)
+ makefile.gcc => Generic makefile (gcc, creates static libpng.a)
+ makefile.knr => Archaic UNIX Makefile that converts files with
+ ansi2knr (Requires ansi2knr.c from
+ ftp://ftp.cs.wisc.edu/ghost)
+ 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.bor => Borland makefile (uses bcc)
+ makefile.cegcc => minge32ce for Windows CE makefile
+ makefile.darwin => Darwin makefile, can use on MacosX
+ 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.2)
+ 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.msc => Microsoft C makefile
+ makefile.netbsd => NetBSD/cc makefile, makes libpng.so.
+ makefile.openbsd => OpenBSD makefile
+ 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.2)
+ makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib)
+ makefile.solaris => Solaris 2.X makefile (gcc,
+ creates libpng15.so.15.1.5.2)
+ makefile.so9 => Solaris 9 makefile (gcc,
+ creates libpng15.so.15.1.5.2)
+ 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.tc3 => Turbo C 3.0 makefile
+ makefile.vcwin32 => makefile for Microsoft Visual C++ 4.0 and later
+ makefile.watcom => Watcom 10a+ Makefile, 32-bit flat memory model
+ 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)
+
+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 visualc6 and visualc71 projects.
+ pngwin.def => Used by makefile.os2
+ pngwin.dfn => Used to maintain pngwin.def
+ SCOPTIONS.ppc => Used with smakefile.ppc
+
+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
+
+
+Further information can be found in comments in the individual makefiles.
diff --git a/third_party/libpng/scripts/SCOPTIONS.ppc b/third_party/libpng/scripts/SCOPTIONS.ppc
new file mode 100644
index 0000000000..2c3503e9eb
--- /dev/null
+++ b/third_party/libpng/scripts/SCOPTIONS.ppc
@@ -0,0 +1,7 @@
+OPTIMIZE
+OPTPEEP
+OPTTIME
+OPTSCHED
+AUTOREGISTER
+PARMS=REGISTERS
+INCLUDEDIR=hlp:ppc/include
diff --git a/third_party/libpng/scripts/checksym.awk b/third_party/libpng/scripts/checksym.awk
new file mode 100755
index 0000000000..ba4c99b564
--- /dev/null
+++ b/third_party/libpng/scripts/checksym.awk
@@ -0,0 +1,161 @@
+#!/bin/awk -f
+# Check a list of symbols against the master definition
+# (official) list. Arguments:
+#
+# 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.
+#
+# NOTE: this is a pure, old fashioned, awk script. It will
+# work with any awk
+
+BEGIN{
+ err=0
+ master="" # master file
+ official[1] = "" # defined symbols from master file
+ symbol[1] = "" # defined symbols from png.h
+ removed[1] = "" # removed symbols from png.h
+ lasto = 0 # last ordinal value from png.h
+ mastero = 0 # highest ordinal in master file
+ symbolo = 0 # highest ordinal in png.h
+ missing = "error"# log an error on missing symbols
+}
+
+# Read existing definitions from the master file (the first
+# file on the command line.) This must be a def file and it
+# has definition lines (others are ignored) of the form:
+#
+# symbol @ordinal
+#
+master == "" {
+ master = FILENAME
+}
+FILENAME==master && NF==2 && $2~/^@/ && $1!~/^;/ {
+ o=0+substr($2,2)
+ if (o > 0) {
+ if (official[o] == "") {
+ official[o] = $1
+ if (o > mastero) mastero = o
+ next
+ } else
+ print master ": duplicated symbol:", official[o] ":", $0
+ } else
+ print master ": bad export line format:", $0
+ err = 1
+}
+FILENAME==master && $1==";missing" && NF==2{
+ # This allows the master file to control how missing symbols
+ # are handled; symbols that aren't in either the master or
+ # the new file. Valid values are 'ignore', 'warning' and
+ # 'error'
+ missing = $2
+}
+FILENAME==master {
+ next
+}
+
+# Read new definitions, these are free form but the lines must
+# just be symbol definitions. Lines will be commented out for
+# 'removed' symbols, introduced in png.h using PNG_REMOVED rather
+# than PNG_EXPORT. Use symbols.dfn or pngwin.dfn to generate the
+# input file.
+#
+# symbol @ordinal # two fields, exported symbol
+# ; symbol @ordinal # three fields, removed symbol
+# ; @ordinal # two fields, the last ordinal
+NF==2 && $1 == ";" && $2 ~ /^@[1-9][0-9]*$/ { # last ordinal
+ o=0+substr($2,2)
+ if (lasto == 0 || lasto == o)
+ lasto=o
+ else {
+ print "png.h: duplicated last ordinal:", lasto, o
+ err = 1
+ }
+ next
+}
+NF==3 && $1 == ";" && $3 ~ /^@[1-9][0-9]*$/ { # removed symbol
+ o=0+substr($3,2)
+ if (removed[o] == "" || removed[o] == $2) {
+ removed[o] = $2
+ if (o > symbolo) symbolo = o
+ } else {
+ print "png.h: duplicated removed symbol", o ": '" removed[o] "' != '" $2 "'"
+ err = 1
+ }
+ next
+}
+NF==2 && $2 ~ /^@[1-9][0-9]*$/ { # exported symbol
+ o=0+substr($2,2)
+ if (symbol[o] == "" || symbol[o] == $1) {
+ symbol[o] = $1
+ if (o > symbolo) symbolo = o
+ } else {
+ print "png.h: duplicated symbol", o ": '" symbol[o] "' != '" $1 "'"
+ err = 1
+ }
+}
+{
+ next # skip all other lines
+}
+
+# At the end check for symbols marked as both duplicated and removed
+END{
+ if (symbolo > lasto) {
+ print "highest symbol ordinal in png.h,", symbolo ", exceeds last ordinal from png.h", lasto
+ err = 1
+ }
+ if (mastero > lasto) {
+ print "highest symbol ordinal in", master ",", mastero ", exceeds last ordinal from png.h", lasto
+ err = 1
+ }
+ unexported=0
+ for (o=1; o<=lasto; ++o) {
+ if (symbol[o] == "" && removed[o] == "") {
+ if (unexported == 0) unexported = o
+ if (official[o] == "") {
+ # missing in export list too, so ok
+ if (o < lasto) continue
+ }
+ }
+ if (unexported != 0) {
+ # Symbols in the .def but not in the new file are errors, but
+ # the 'unexported' symbols aren't in either. By default this
+ # is an error too (see the setting of 'missing' at the start),
+ # but this can be reset on the command line or by stuff in the
+ # file - see the comments above.
+ if (missing != "ignore") {
+ if (o-1 > unexported)
+ print "png.h:", missing ": missing symbols:", unexported "-" o-1
+ else
+ print "png.h:", missing ": missing symbol:", unexported
+ if (missing != "warning")
+ err = 1
+ }
+ unexported = 0
+ }
+ if (symbol[o] != "" && removed[o] != "") {
+ print "png.h: symbol", o, "both exported as '" symbol[o] "' and removed as '" removed[o] "'"
+ err = 1
+ } else if (symbol[o] != official[o]) {
+ # either the symbol is missing somewhere or it changed
+ err = 1
+ if (symbol[o] == "")
+ print "png.h: symbol", o, "is exported as '" official[o] "' in", master
+ else if (official[o] == "")
+ print "png.h: exported symbol", o, "'" symbol[o] "' not present in", master
+ else
+ print "png.h: exported symbol", o, "'" symbol[o] "' exists as '" official[o] "' in", master
+ }
+
+ # Finally generate symbols.new
+ if (symbol[o] != "")
+ print " " symbol[o], "@" o > "symbols.new"
+ }
+
+ if (err != 0) {
+ print "*** A new list is in symbols.new ***"
+ exit 1
+ }
+}
diff --git a/third_party/libpng/scripts/chkfmt b/third_party/libpng/scripts/chkfmt
new file mode 100755
index 0000000000..9da6475fd4
--- /dev/null
+++ b/third_party/libpng/scripts/chkfmt
@@ -0,0 +1,137 @@
+#!/bin/sh
+#
+# Check the format of the source files in the current directory - checks for a
+# line length of 80 characters max and no tab characters.
+#
+# Optionally arguments are files or directories to check.
+#
+# -v: output the long lines (makes fixing them easier)
+# -e: spawn an editor for each file that needs a change ($EDITOR must be
+# defined). When using -e the script MUST be run from an interactive
+# command line.
+verbose=
+edit=
+vers=
+test "$1" = "-v" && {
+ shift
+ verbose=yes
+}
+test "$1" = "-e" && {
+ shift
+ if test -n "$EDITOR"
+ then
+ edit=yes
+
+ # Copy the standard streams for the editor
+ exec 3>&0 4>&1 5>&2
+ else
+ echo "chkfmt -e: EDITOR must be defined" >&2
+ exit 1
+ fi
+}
+
+# Function to edit a single file - if the file isn't changed ask the user
+# whether or not to continue. This stuff only works if the script is run from
+# the command line (otherwise, don't specify -e or you will be sorry).
+doed(){
+ cp "$file" "$file".orig
+ "$EDITOR" "$file" 0>&3 1>&4 2>&5 3>&- 4>&- 5>&- || exit 1
+ if cmp -s "$file".orig "$file"
+ then
+ rm "$file".orig
+ echo -n "$file: file not changed, type anything to continue: " >&5
+ read ans 0>&3
+ test -n "$ans" || return 1
+ fi
+ return 0
+}
+
+# In beta versions the version string which appears in files can be a little
+# long and cause spuriously overlong lines. To avoid this subtitute the version
+# string with a 'standard' version a.b.cc before checking for long lines.
+if test -r png.h
+then
+ vers="`sed -n -e \
+ 's/^#define PNG_LIBPNG_VER_STRING .\([0-9]\.[0-9]\.[0-9][0-9a-z]*\).$/\1/p' \
+ png.h`"
+ echo "chkfmt: checking version $vers"
+fi
+if test -z "$vers"
+then
+ echo "chkfmt: png.h not found, ignoring version number" >&2
+fi
+
+test -n "$1" || set -- .
+find "$@" \( -type d \( -name '.git' -o -name '.libs' -o -name 'projects' \) \
+ -prune \) -o \( -type f \
+ ! -name '*.[oa]' ! -name '*.l[oa]' ! -name '*.png' ! -name '*.out' \
+ ! -name '*.jpg' ! -name '*.patch' ! -name '*.obj' ! -name '*.exe' \
+ ! -name '*.com' ! -name '*.tar.*' ! -name '*.zip' ! -name '*.ico' \
+ ! -name '*.res' ! -name '*.rc' ! -name '*.mms' ! -name '*.rej' \
+ ! -name '*.dsp' ! -name '*.orig' ! -name '*.dfn' ! -name '*.swp' \
+ ! -name '~*' ! -name '*.3' \
+ ! -name 'missing' ! -name 'mkinstalldirs' ! -name 'depcomp' \
+ ! -name 'aclocal.m4' ! -name 'install-sh' ! -name 'Makefile.in' \
+ ! -name 'ltmain.sh' ! -name 'config*' -print \) | {
+ st=0
+ while read file
+ do
+ case "$file" in
+ *.mak|*[Mm]akefile.*|*[Mm]akefile)
+ # Makefiles require tabs, dependency lines can be this long.
+ check_tabs=
+ line_length=100;;
+ *.awk)
+ # Includes literal tabs
+ check_tabs=
+ # The following is arbitrary
+ line_length=132;;
+ *contrib/*/*.[ch])
+ check_tabs=yes
+ line_length=96;;
+ *)
+ check_tabs=yes
+ line_length=80;;
+ esac
+
+ # Note that vers can only contain 0-9, . and a-z
+ if test -n "$vers"
+ then
+ sed -e "s/$vers/a.b.cc/g" "$file" >"$file".$$
+ else
+ cp "$file" "$file".$$
+ fi
+ splt="`fold -$line_length "$file".$$ | diff -c "$file".$$ -`"
+ rm "$file".$$
+
+ if test -n "$splt"
+ then
+ echo "$file: lines too long"
+ st=1
+ if test -n "$EDITOR" -a -n "$edit"
+ then
+ doed "$file" || exit 1
+ elif test -n "$verbose"
+ then
+ echo "$splt"
+ fi
+ fi
+ if test -n "$check_tabs"
+ then
+ tab="`tr -c -d '\t' <"$file"`"
+ if test -n "$tab"
+ then
+ echo "$file: file contains tab characters"
+ st=1
+ if test -n "$EDITOR" -a -n "$edit"
+ then
+ doed "$file" || exit 1
+ elif test -n "$verbose"
+ then
+ echo "$splt"
+ fi
+ fi
+ fi
+ done
+ exit $st
+}
diff --git a/third_party/libpng/scripts/def.dfn b/third_party/libpng/scripts/def.dfn
new file mode 100644
index 0000000000..d918d4c3c8
--- /dev/null
+++ b/third_party/libpng/scripts/def.dfn
@@ -0,0 +1,38 @@
+/* def.dfn - define format of libpng.def
+ *
+ * Last changed in libpng version 1.5.0 [(PENDING RELEASE)]
+ * Copyright (c) 2010-2011 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
+ */
+
+/* These macros exist to make the header and trailer shorter below: */
+#define S PNG_DEFN_MAGIC
+#define E PNG_DEFN_END
+
+/* Write the export file header: */
+S-;---------------------------------------------------------------E
+S-; LIBPNG module definition file for OS/2-E
+S-;---------------------------------------------------------------E
+S--E
+S-; If you give the library an explicit name one or other files-E
+S-; may need modifying to support the new name on one or more-E
+S-; systems.-E
+S-LIBRARY-E
+S-OS2 DESCRIPTION "PNG image compression library"-E
+S-OS2 CODE PRELOAD MOVEABLE DISCARDABLE-E
+S--E
+S-EXPORTS-E
+S-;Version 1.5.0beta58-E
+
+/* NOTE: @@@ is interpreted by the calling script as a signal to
+ * join the two things on either side, so we can do symbol
+ * substitution within the name, regular C ## joins the pp-tokens,
+ * not their final values.
+ */
+#define PNG_EXPORTA(ordinal, type, name, args, attributes)\
+ PNG_DEFN_MAGIC- SYMBOL_PREFIX @@@ name-PNG_DEFN_END
+
+#include "../png.h"
diff --git a/third_party/libpng/scripts/descrip.mms b/third_party/libpng/scripts/descrip.mms
new file mode 100644
index 0000000000..99ea1abccd
--- /dev/null
+++ b/third_party/libpng/scripts/descrip.mms
@@ -0,0 +1,52 @@
+
+cc_defs = /inc=$(ZLIBSRC)
+c_deb =
+
+.ifdef __DECC__
+pref = /prefix=all
+.endif
+
+
+
+OBJS = png.obj, pngset.obj, pngget.obj, pngrutil.obj, pngtrans.obj,\
+ pngwutil.obj, pngread.obj, pngmem.obj, pngwrite.obj, pngrtran.obj,\
+ pngwtran.obj, pngrio.obj, pngwio.obj, pngerror.obj, pngpread.obj
+
+
+CFLAGS= $(C_DEB) $(CC_DEFS) $(PREF)
+
+all : pngtest.exe libpng.olb
+ @ write sys$output " pngtest available"
+
+libpng.olb : libpng.olb($(OBJS))
+ @ write sys$output " Libpng available"
+
+
+pngtest.exe : pngtest.obj libpng.olb
+ link pngtest,libpng.olb/lib,$(ZLIBSRC)libz.olb/lib
+
+test : pngtest.exe
+ run pngtest
+
+clean :
+ delete *.obj;*,*.exe;
+
+
+# Other dependencies.
+png.obj : png.h, pngconf.h, pnglibconf.h, pngpriv.h, pngstruct.h, pnginfo.h, pngdebug.h
+pngpread.obj : png.h, pngconf.h, pnglibconf.h, pngpriv.h, pngstruct.h, pnginfo.h, pngdebug.h
+pngset.obj : png.h, pngconf.h, pnglibconf.h, pngpriv.h, pngstruct.h, pnginfo.h, pngdebug.h
+pngget.obj : png.h, pngconf.h, pnglibconf.h, pngpriv.h, pngstruct.h, pnginfo.h, pngdebug.h
+pngread.obj : png.h, pngconf.h, pnglibconf.h, pngpriv.h, pngstruct.h, pnginfo.h, pngdebug.h
+pngrtran.obj : png.h, pngconf.h, pnglibconf.h, pngpriv.h, pngstruct.h, pnginfo.h, pngdebug.h
+pngrutil.obj : png.h, pngconf.h, pnglibconf.h, pngpriv.h, pngstruct.h, pnginfo.h, pngdebug.h
+pngerror.obj : png.h, pngconf.h, pnglibconf.h, pngpriv.h, pngstruct.h, pnginfo.h, pngdebug.h
+pngmem.obj : png.h, pngconf.h, pnglibconf.h, pngpriv.h, pngstruct.h, pnginfo.h, pngdebug.h
+pngrio.obj : png.h, pngconf.h, pnglibconf.h, pngpriv.h, pngstruct.h, pnginfo.h, pngdebug.h
+pngwio.obj : png.h, pngconf.h, pnglibconf.h, pngpriv.h, pngstruct.h, pnginfo.h, pngdebug.h
+pngtrans.obj : png.h, pngconf.h, pnglibconf.h, pngpriv.h, pngstruct.h, pnginfo.h, pngdebug.h
+pngwrite.obj : png.h, pngconf.h, pnglibconf.h, pngpriv.h, pngstruct.h, pnginfo.h, pngdebug.h
+pngwtran.obj : png.h, pngconf.h, pnglibconf.h, pngpriv.h, pngstruct.h, pnginfo.h, pngdebug.h
+pngwutil.obj : png.h, pngconf.h, pnglibconf.h, pngpriv.h, pngstruct.h, pnginfo.h, pngdebug.h
+
+pngtest.obj : png.h, pngconf.h
diff --git a/third_party/libpng/scripts/libpng-config-body.in b/third_party/libpng/scripts/libpng-config-body.in
new file mode 100755
index 0000000000..b466432d54
--- /dev/null
+++ b/third_party/libpng/scripts/libpng-config-body.in
@@ -0,0 +1,96 @@
+
+usage()
+{
+ cat <<EOF
+Usage: libpng-config [OPTION] ...
+
+Known values for OPTION are:
+
+ --prefix print libpng prefix
+ --libdir print path to directory containing library
+ --libs print library linking information
+ --ccopts print compiler options
+ --cppflags print pre-processor flags
+ --cflags print preprocessor flags, I_opts, and compiler options
+ --I_opts print "-I" include options
+ --L_opts print linker "-L" flags for dynamic linking
+ --R_opts print dynamic linker "-R" or "-rpath" flags
+ --ldopts print linker options
+ --ldflags print linker flags (ldopts, L_opts, R_opts, and libs)
+ --static revise subsequent outputs for static linking
+ --help print this help and exit
+ --version print version information
+EOF
+
+ exit $1
+}
+
+if test $# -eq 0; then
+ usage 1
+fi
+
+while test $# -gt 0; do
+ case "$1" in
+
+ --prefix)
+ echo ${prefix}
+ ;;
+
+ --version)
+ echo ${version}
+ exit 0
+ ;;
+
+ --help)
+ usage 0
+ ;;
+
+ --ccopts)
+ echo ${ccopts}
+ ;;
+
+ --cppflags)
+ echo ${cppflags}
+ ;;
+
+ --cflags)
+ echo ${I_opts} ${cppflags} ${ccopts}
+ ;;
+
+ --libdir)
+ echo ${libdir}
+ ;;
+
+ --libs)
+ echo ${libs}
+ ;;
+
+ --I_opts)
+ echo ${I_opts}
+ ;;
+
+ --L_opts)
+ echo ${L_opts}
+ ;;
+
+ --R_opts)
+ echo ${R_opts}
+ ;;
+
+ --ldflags)
+ echo ${ldflags} ${L_opts} ${R_opts} ${libs}
+ ;;
+
+ --static)
+ R_opts=""
+ ;;
+
+ *)
+ usage
+ exit 1
+ ;;
+ esac
+ shift
+done
+
+exit 0
diff --git a/third_party/libpng/scripts/libpng-config-head.in b/third_party/libpng/scripts/libpng-config-head.in
new file mode 100755
index 0000000000..6918d126e5
--- /dev/null
+++ b/third_party/libpng/scripts/libpng-config-head.in
@@ -0,0 +1,24 @@
+#! /bin/sh
+
+# libpng-config
+# provides configuration info for libpng.
+
+# Copyright (C) 2002 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
+
+# Modeled after libxml-config.
+
+version=1.5.2
+prefix=""
+libdir=""
+libs=""
+I_opts=""
+L_opts=""
+R_opts=""
+cppflags=""
+ccopts=""
+ldopts=""
+
diff --git a/third_party/libpng/scripts/libpng.pc.in b/third_party/libpng/scripts/libpng.pc.in
new file mode 100644
index 0000000000..85beca6e0b
--- /dev/null
+++ b/third_party/libpng/scripts/libpng.pc.in
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@/libpng15
+
+Name: libpng
+Description: Loads and saves PNG files
+Version: 1.5.2
+Libs: -L${libdir} -lpng15
+Cflags: -I${includedir}
diff --git a/third_party/libpng/scripts/list b/third_party/libpng/scripts/list
new file mode 100644
index 0000000000..3a2c563308
--- /dev/null
+++ b/third_party/libpng/scripts/list
@@ -0,0 +1,23 @@
+vers.dfn
+symbols.dfn
+sym.dfn
+pnglibconf.h.prebuilt
+pnglibconf.dfa
+options.awk
+makefile.netbsd
+makefile.solaris-x86
+makefile.solaris
+makefile.so9
+makefile.sgi
+makefile.sggcc
+makefile.openbsd
+makefile.sco
+makefile.linux
+makefile.hpux
+makefile.hpgcc
+makefile.elf
+makefile.dec
+makefile.beos
+makefile.64sunu
+makefile.32sunu
+def.dfn
diff --git a/third_party/libpng/scripts/makefile.32sunu b/third_party/libpng/scripts/makefile.32sunu
new file mode 100644
index 0000000000..b5e5a33a06
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.32sunu
@@ -0,0 +1,241 @@
+# makefile for libpng on Solaris 2.x with cc
+# Contributed by William L. Sebok, based on makefile.linux
+# Copyright (C) 2002, 2006, 2010-2011 Glenn Randers-Pehrson
+# Copyright (C) 1998 Greg Roelofs
+# Copyright (C) 1996, 1997 Andreas Dilger
+
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+
+# Library name:
+LIBNAME=libpng15
+PNGMAJ = 15
+
+# Shared library names:
+LIBSO=$(LIBNAME).so
+LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
+LIBSOREL=$(LIBSOMAJ).$(RELEASE)
+OLDSO=libpng.so
+
+# Utilities:
+CC=cc
+AR_RC=ar rc
+MKDIR_P=mkdir -p
+LN_SF=ln -f -s
+RANLIB=echo
+RM_F=/bin/rm -f
+
+SUN_CC_FLAGS=-fast -xtarget=ultra
+SUN_LD_FLAGS=-fast -xtarget=ultra
+
+# where make install puts libpng.a, libpng15.so and libpng15/png.h
+prefix=/a
+exec_prefix=$(prefix)
+
+# Where the zlib library and include files are located
+# Changing these to ../zlib poses a security risk. If you want
+# to have zlib in an adjacent directory, specify the full path instead of "..".
+#ZLIBLIB=../zlib
+#ZLIBINC=../zlib
+
+ZLIBLIB=/usr/lib
+ZLIBINC=/usr/include
+
+WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
+ -Wmissing-declarations -Wtraditional -Wcast-align \
+ -Wstrict-prototypes -Wmissing-prototypes #-Wconversion
+CFLAGS=-I$(ZLIBINC) $(SUN_CC_FLAGS) \
+ # $(WARNMORE) -g -DPNG_DEBUG=5
+LDFLAGS=$(SUN_LD_FLAGS) -L$(ZLIBLIB) -R$(ZLIBLIB) libpng.a -lz -lm
+
+INCPATH=$(prefix)/include
+LIBPATH=$(exec_prefix)/lib
+MANPATH=$(prefix)/man
+BINPATH=$(exec_prefix)/bin
+
+# override DESTDIR= on the make install command line to easily support
+# installing into a temporary location. Example:
+#
+# make install DESTDIR=/tmp/build/libpng
+#
+# If you're going to install into a temporary location
+# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
+# you execute make install.
+DESTDIR=
+
+DB=$(DESTDIR)$(BINPATH)
+DI=$(DESTDIR)$(INCPATH)
+DL=$(DESTDIR)$(LIBPATH)
+DM=$(DESTDIR)$(MANPATH)
+
+OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
+ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
+ pngwtran.o pngmem.o pngerror.o pngpread.o
+
+OBJSDLL = $(OBJS:.o=.pic.o)
+
+.SUFFIXES: .c .o .pic.o
+
+.c.pic.o:
+ $(CC) -c $(CFLAGS) -KPIC -o $@ $*.c
+
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
+
+include scripts/pnglibconf.mak
+DELETE = $(RM_F)
+DFNFLAGS = $(DEFS) $(CPPFLAGS)
+
+libpng.a: $(OBJS)
+ $(AR_RC) $@ $(OBJS)
+ $(RANLIB) $@
+
+libpng.pc:
+ cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+ -e s!@exec_prefix@!$(exec_prefix)! \
+ -e s!@libdir@!$(LIBPATH)! \
+ -e s!@includedir@!$(INCPATH)! \
+ -e s!-lpng15!-lpng15\ -lz\ -lm! > libpng.pc
+
+libpng-config:
+ ( cat scripts/libpng-config-head.in; \
+ echo prefix=\"$(prefix)\"; \
+ echo libdir=\"$(LIBPATH)\"; \
+ echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
+ echo L_opts=\"-L$(LIBPATH)\"; \
+ echo R_opts=\"-R$(LIBPATH)\"; \
+ echo ccopts=\"-xtarget=ultra\"; \
+ echo ldopts=\"-xtarget=ultra\"; \
+ echo libs=\"-lpng15 -lz -lm\"; \
+ cat scripts/libpng-config-body.in ) > libpng-config
+ chmod +x libpng-config
+
+$(LIBSO): $(LIBSOMAJ)
+ $(LN_SF) $(LIBSOMAJ) $(LIBSO)
+
+$(LIBSOMAJ): $(OBJSDLL)
+ @case "`type ld`" in *ucb*) \
+ echo; \
+ echo '## WARNING:'; \
+ echo '## The commands "CC" and "LD" must NOT refer to /usr/ucb/cc'; \
+ echo '## and /usr/ucb/ld. If they do, you need to adjust your PATH'; \
+ echo '## environment variable to put /usr/ccs/bin ahead of /usr/ucb.'; \
+ echo '## The environment variable LD_LIBRARY_PATH should not be set'; \
+ echo '## at all. If it is, things are likely to break because of'; \
+ echo '## the libucb dependency that is created.'; \
+ echo; \
+ ;; \
+ esac
+ $(LD) -G -L$(ZLIBLIB) -R$(ZLIBLIB) -h $(LIBSOMAJ) \
+ -o $(LIBSOMAJ) $(OBJSDLL)
+
+pngtest: pngtest.o $(LIBSO)
+ $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
+
+test: pngtest
+ ./pngtest
+
+install-headers: png.h pngconf.h pnglibconf.h
+ -@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
+ -@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
+ cp png.h pngconf.h pnglibconf.h $(DI)/$(LIBNAME)
+ chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h $(DI)/$(LIBNAME)/pnglibconf.h
+ -@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pnglibconf.h
+ -@$(RM_F) $(DI)/libpng
+ (cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
+
+install-static: install-headers libpng.a
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ cp libpng.a $(DL)/$(LIBNAME).a
+ chmod 644 $(DL)/$(LIBNAME).a
+ -@$(RM_F) $(DL)/libpng.a
+ (cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
+
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ -@$(RM_F) $(DL)/$(LIBSO)
+ -@$(RM_F) $(DL)/$(LIBSOREL)
+ -@$(RM_F) $(DL)/$(OLDSO)
+ cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+ chmod 755 $(DL)/$(LIBSOREL)
+ (cd $(DL); \
+ $(LN_SF) $(LIBSOREL) $(LIBSO); \
+ $(LN_SF) $(LIBSO) $(OLDSO))
+ -@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
+ -@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
+ -@$(RM_F) $(DL)/pkgconfig/libpng.pc
+ cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
+ chmod 644 $(DL)/pkgconfig/$(LIBNAME).pc
+ (cd $(DL)/pkgconfig; $(LN_SF) $(LIBNAME).pc libpng.pc)
+
+install-man: libpng.3 libpngpf.3 png.5
+ -@if [ ! -d $(DM) ]; then $(MKDIR_P) $(DM); fi
+ -@if [ ! -d $(DM)/man3 ]; then $(MKDIR_P) $(DM)/man3; fi
+ -@$(RM_F) $(DM)/man3/libpng.3
+ -@$(RM_F) $(DM)/man3/libpngpf.3
+ cp libpng.3 $(DM)/man3
+ cp libpngpf.3 $(DM)/man3
+ -@if [ ! -d $(DM)/man5 ]; then $(MKDIR_P) $(DM)/man5; fi
+ -@$(RM_F) $(DM)/man5/png.5
+ cp png.5 $(DM)/man5
+
+install-config: libpng-config
+ -@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi
+ -@$(RM_F) $(DB)/libpng-config
+ -@$(RM_F) $(DB)/$(LIBNAME)-config
+ cp libpng-config $(DB)/$(LIBNAME)-config
+ chmod 755 $(DB)/$(LIBNAME)-config
+ (cd $(DB); $(LN_SF) $(LIBNAME)-config libpng-config)
+
+install: install-static install-shared install-man install-config
+
+# If you installed in $(DESTDIR), test-installed won't work until you
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) $(SUN_CC_FLAGS) -I$(DI) -I$(ZLIBINC) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -o pngtestd -L$(DL) -R$(DL) `$(BINPATH)/$(LIBNAME)-config --ldflags` \
+ $(SUN_LD_FLAGS) -L$(ZLIBLIB) -R$(ZLIBLIB)
+ ./pngtestd pngtest.png
+
+test-installed:
+ echo
+ echo Testing installed dynamic shared library.
+ $(CC) $(SUN_CC_FLAGS) -I$(ZLIBINC) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -o pngtesti `$(BINPATH)/$(LIBNAME)-config --ldflags` \
+ $(SUN_LD_FLAGS) -L$(ZLIBLIB) -R$(ZLIBLIB)
+ ./pngtesti pngtest.png
+
+clean:
+ $(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
+ libpng-config $(LIBSO) $(LIBSOMAJ)* \
+ libpng.pc
+
+DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
+writelock:
+ chmod a-w *.[ch35] $(DOCS) scripts/*
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+
+png.o png.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngset.o pngset.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngget.o pngget.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngread.o pngread.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+
+pngtest.o: png.h pngconf.h pnglibconf.h
diff --git a/third_party/libpng/scripts/makefile.64sunu b/third_party/libpng/scripts/makefile.64sunu
new file mode 100644
index 0000000000..a0331d670e
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.64sunu
@@ -0,0 +1,241 @@
+# makefile for libpng on Solaris 2.x with cc
+# Contributed by William L. Sebok, based on makefile.linux
+# Copyright (C) 2002, 2006, 2010-2011 Glenn Randers-Pehrson
+# Copyright (C) 1998 Greg Roelofs
+# Copyright (C) 1996, 1997 Andreas Dilger
+
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+
+# Library name:
+LIBNAME=libpng15
+PNGMAJ = 15
+
+# Shared library names:
+LIBSO=$(LIBNAME).so
+LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
+LIBSOREL=$(LIBSOMAJ).$(RELEASE)
+OLDSO=libpng.so
+
+# Utilities:
+CC=cc
+AR_RC=ar rc
+MKDIR_P=mkdir -p
+LN_SF=ln -f -s
+RANLIB=echo
+RM_F=/bin/rm -f
+
+SUN_CC_FLAGS=-fast -xtarget=ultra -xarch=v9
+SUN_LD_FLAGS=-fast -xtarget=ultra -xarch=v9
+
+# where make install puts libpng.a, libpng15.so and libpng15/png.h
+prefix=/a
+exec_prefix=$(prefix)
+
+# Where the zlib library and include files are located
+# Changing these to ../zlib poses a security risk. If you want
+# to have zlib in an adjacent directory, specify the full path instead of "..".
+#ZLIBLIB=../zlib
+#ZLIBINC=../zlib
+
+ZLIBLIB=/usr/lib
+ZLIBINC=/usr/include
+
+WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
+ -Wmissing-declarations -Wtraditional -Wcast-align \
+ -Wstrict-prototypes -Wmissing-prototypes #-Wconversion
+CFLAGS=-I$(ZLIBINC) $(SUN_CC_FLAGS) \
+ # $(WARNMORE) -g -DPNG_DEBUG=5
+LDFLAGS=-L. -R. $(SUN_LD_FLAGS) -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng15 -lz -lm
+
+INCPATH=$(prefix)/include
+LIBPATH=$(exec_prefix)/lib
+MANPATH=$(prefix)/man
+BINPATH=$(exec_prefix)/bin
+
+# override DESTDIR= on the make install command line to easily support
+# installing into a temporary location. Example:
+#
+# make install DESTDIR=/tmp/build/libpng
+#
+# If you're going to install into a temporary location
+# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
+# you execute make install.
+DESTDIR=
+
+DB=$(DESTDIR)$(BINPATH)
+DI=$(DESTDIR)$(INCPATH)
+DL=$(DESTDIR)$(LIBPATH)
+DM=$(DESTDIR)$(MANPATH)
+
+OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
+ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
+ pngwtran.o pngmem.o pngerror.o pngpread.o
+
+OBJSDLL = $(OBJS:.o=.pic.o)
+
+.SUFFIXES: .c .o .pic.o
+
+.c.pic.o:
+ $(CC) -c $(CFLAGS) -KPIC -o $@ $*.c
+
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
+
+include scripts/pnglibconf.mak
+DELETE = $(RM_F)
+DFNFLAGS = $(DEFS) $(CPPFLAGS)
+
+libpng.a: $(OBJS)
+ $(AR_RC) $@ $(OBJS)
+ $(RANLIB) $@
+
+libpng.pc:
+ cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+ -e s!@exec_prefix@!$(exec_prefix)! \
+ -e s!@libdir@!$(LIBPATH)! \
+ -e s!@includedir@!$(INCPATH)! \
+ -e s!-lpng15!-lpng15\ -lz\ -lm! > libpng.pc
+
+libpng-config:
+ ( cat scripts/libpng-config-head.in; \
+ echo prefix=\"$(prefix)\"; \
+ echo libdir=\"$(LIBPATH)\"; \
+ echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
+ echo L_opts=\"-L$(LIBPATH)\"; \
+ echo R_opts=\"-R$(LIBPATH)\"; \
+ echo ccopts=\"-xtarget=ultra -xarch=v9\"; \
+ echo ldopts=\"-xtarget=ultra -xarch=v9\"; \
+ echo libs=\"-lpng15 -lz -lm\"; \
+ cat scripts/libpng-config-body.in ) > libpng-config
+ chmod +x libpng-config
+
+$(LIBSO): $(LIBSOMAJ)
+ $(LN_SF) $(LIBSOMAJ) $(LIBSO)
+
+$(LIBSOMAJ): $(OBJSDLL)
+ @case "`type ld`" in *ucb*) \
+ echo; \
+ echo '## WARNING:'; \
+ echo '## The commands "CC" and "LD" must NOT refer to /usr/ucb/cc'; \
+ echo '## and /usr/ucb/ld. If they do, you need to adjust your PATH'; \
+ echo '## environment variable to put /usr/ccs/bin ahead of /usr/ucb.'; \
+ echo '## The environment variable LD_LIBRARY_PATH should not be set'; \
+ echo '## at all. If it is, things are likely to break because of'; \
+ echo '## the libucb dependency that is created.'; \
+ echo; \
+ ;; \
+ esac
+ $(LD) -G -L$(ZLIBLIB) -R$(ZLIBLIB) -h $(LIBSOMAJ) \
+ -o $(LIBSOMAJ) $(OBJSDLL)
+
+pngtest: pngtest.o $(LIBSO)
+ $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
+
+test: pngtest
+ ./pngtest
+
+install-headers: png.h pngconf.h
+ -@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
+ -@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
+ cp png.h pngconf.h pnglibconf.h $(DI)/$(LIBNAME)
+ chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h $(DI)/$(LIBNAME)/pnglibconf.h
+ -@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pnglibconf.h
+ -@$(RM_F) $(DI)/libpng
+ (cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
+
+install-static: install-headers libpng.a
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ cp libpng.a $(DL)/$(LIBNAME).a
+ chmod 644 $(DL)/$(LIBNAME).a
+ -@$(RM_F) $(DL)/libpng.a
+ (cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
+
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ -@$(RM_F) $(DL)/$(LIBSO)
+ -@$(RM_F) $(DL)/$(LIBSOREL)
+ -@$(RM_F) $(DL)/$(OLDSO)
+ cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+ chmod 755 $(DL)/$(LIBSOREL)
+ (cd $(DL); \
+ $(LN_SF) $(LIBSOREL) $(LIBSO); \
+ $(LN_SF) $(LIBSO) $(OLDSO))
+ -@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
+ -@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
+ -@$(RM_F) $(DL)/pkgconfig/libpng.pc
+ cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
+ chmod 644 $(DL)/pkgconfig/$(LIBNAME).pc
+ (cd $(DL)/pkgconfig; $(LN_SF) $(LIBNAME).pc libpng.pc)
+
+install-man: libpng.3 libpngpf.3 png.5
+ -@if [ ! -d $(DM) ]; then $(MKDIR_P) $(DM); fi
+ -@if [ ! -d $(DM)/man3 ]; then $(MKDIR_P) $(DM)/man3; fi
+ -@$(RM_F) $(DM)/man3/libpng.3
+ -@$(RM_F) $(DM)/man3/libpngpf.3
+ cp libpng.3 $(DM)/man3
+ cp libpngpf.3 $(DM)/man3
+ -@if [ ! -d $(DM)/man5 ]; then $(MKDIR_P) $(DM)/man5; fi
+ -@$(RM_F) $(DM)/man5/png.5
+ cp png.5 $(DM)/man5
+
+install-config: libpng-config
+ -@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi
+ -@$(RM_F) $(DB)/libpng-config
+ -@$(RM_F) $(DB)/$(LIBNAME)-config
+ cp libpng-config $(DB)/$(LIBNAME)-config
+ chmod 755 $(DB)/$(LIBNAME)-config
+ (cd $(DB); $(LN_SF) $(LIBNAME)-config libpng-config)
+
+install: install-static install-shared install-man install-config
+
+# If you installed in $(DESTDIR), test-installed won't work until you
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) $(SUN_CC_FLAGS) -I$(DI) -I$(ZLIBINC) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -o pngtestd -L$(DL) -R$(DL) `$(BINPATH)/$(LIBNAME)-config --ldflags` \
+ $(SUN_LD_FLAGS) -L$(ZLIBLIB) -R$(ZLIBLIB)
+ ./pngtestd pngtest.png
+
+test-installed:
+ echo
+ echo Testing installed dynamic shared library.
+ $(CC) $(SUN_CC_FLAGS) -I$(ZLIBINC) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -o pngtesti `$(BINPATH)/$(LIBNAME)-config --ldflags` \
+ $(SUN_LD_FLAGS) -L$(ZLIBLIB) -R$(ZLIBLIB)
+ ./pngtesti pngtest.png
+
+clean:
+ $(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
+ libpng-config $(LIBSO) $(LIBSOMAJ)* \
+ libpng.pc
+
+DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
+writelock:
+ chmod a-w *.[ch35] $(DOCS) scripts/*
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+
+png.o png.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngset.o pngset.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngget.o pngget.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngread.o pngread.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+
+pngtest.o: png.h pngconf.h pnglibconf.h
diff --git a/third_party/libpng/scripts/makefile.acorn b/third_party/libpng/scripts/makefile.acorn
new file mode 100644
index 0000000000..00b8fb5b35
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.acorn
@@ -0,0 +1,57 @@
+# Project: libpng
+
+
+# Toolflags:
+CCflags = -c -depend !Depend -IC:,Zlib: -g -throwback -DRISCOS -fnah
+C++flags = -c -depend !Depend -IC: -throwback
+Linkflags = -aif -c++ -o $@
+ObjAsmflags = -throwback -NoCache -depend !Depend
+CMHGflags =
+LibFileflags = -c -l -o $@
+Squeezeflags = -o $@
+
+# Final targets:
+@.libpng-lib: @.o.png @.o.pngerror @.o.pngrio @.o.pngwio @.o.pngmem \
+ @.o.pngpread @.o.pngset @.o.pngget @.o.pngread @.o.pngrtran \
+ @.o.pngrutil @.o.pngtrans @.o.pngwrite @.o.pngwtran @.o.pngwutil
+ LibFile $(LibFileflags) @.o.png @.o.pngerror @.o.pngrio @.o.pngrtran \
+ @.o.pngmem @.o.pngpread @.o.pngset @.o.pngget @.o.pngread @.o.pngwio \
+ @.o.pngrutil @.o.pngtrans @.o.pngwrite @.o.pngwtran @.o.pngwutil
+@.mm-libpng-lib: @.mm.png @.mm.pngerror @.mm.pngrio @.mm.pngwio @.mm.pngmem \
+ @.mm.pngpread @.mm.pngset @.mm.pngget @.mm.pngread @.mm.pngrtran \
+ @.mm.pngrutil @.mm.pngtrans @.mm.pngwrite @.mm.pngwtran @.mm.pngwutil
+ LibFile $(LibFileflags) @.mm.png @.mm.pngerror @.mm.pngrio \
+ @.mm.pngwio @.mm.pngmem @.mm.pngpread @.mm.pngset @.mm.pngget \
+ @.mm.pngread @.mm.pngrtran @.mm.pngrutil @.mm.pngtrans @.mm.pngwrite \
+ @.mm.pngwtran @.mm.pngwutil
+
+
+# User-editable dependencies:
+# (C) Copyright 1997 Tom Tanner
+Test: @.pngtest
+ <Prefix$Dir>.pngtest
+ @remove <Prefix$Dir>.pngtest
+
+#It would be nice if you could stop "make" listing from here on!
+@.pngtest: @.o.pngtest @.libpng-lib C:o.Stubs Zlib:zlib_lib
+ Link $(Linkflags) @.o.pngtest @.libpng-lib C:o.Stubs Zlib:zlib_lib
+
+.SUFFIXES: .o .mm .c
+
+.c.mm:
+ MemCheck.CC cc $(ccflags) -o $@ LibPng:$<
+.c.o:
+ cc $(ccflags) -o $@ $<
+
+# See scripts.mak.libpngconf for how to generate this:
+@.h.libpngconf: @.scripts.h.libpngconf
+ copy @.scripts.h.libpngconf $@
+
+# Static dependencies:
+@.o.png @.o.pngerror @.o.pngrio @.o.pngwio @.o.pngmem \
+@.o.pngpread @.o.pngset @.o.pngget @.o.pngread @.o.pngrtran \
+@.o.pngrutil @.o.pngtrans @.o.pngwrite @.o.pngwtran @.o.pngwutil \
+@.o.pngtest: @.h.libpngconf
+
+
+# Dynamic dependencies:
diff --git a/third_party/libpng/scripts/makefile.aix b/third_party/libpng/scripts/makefile.aix
new file mode 100644
index 0000000000..bb4c40d4b0
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.aix
@@ -0,0 +1,121 @@
+# makefile for libpng using gcc (generic, static library)
+# Copyright (C) 2002, 2006-2009 Glenn Randers-Pehrson
+# Copyright (C) 2000 Cosmin Truta
+# Copyright (C) 2000 Marc O. Gloor (AIX support added, from makefile.gcc)
+# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
+#
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+
+# Location of the zlib library and include files
+ZLIBINC = ../zlib
+ZLIBLIB = ../zlib
+
+# Compiler, linker, lib and other tools
+CC = gcc
+LD = $(CC)
+AR_RC = ar rcs
+MKDIR_P = mkdir -p
+RANLIB = ranlib
+RM_F = rm -f
+LN_SF = ln -f -s
+
+LIBNAME=libpng15
+PNGMAJ = 15
+
+prefix=/usr/local
+INCPATH=$(prefix)/include
+LIBPATH=$(prefix)/lib
+
+# override DESTDIR= on the make install command line to easily support
+# installing into a temporary location. Example:
+#
+# make install DESTDIR=/tmp/build/libpng
+#
+# If you're going to install into a temporary location
+# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
+# you execute make install.
+DESTDIR=
+
+DI=$(DESTDIR)$(INCPATH)
+DL=$(DESTDIR)$(LIBPATH)
+
+CDEBUG = -g -DPNG_DEBUG=5
+LDDEBUG =
+CRELEASE = -O2
+LDRELEASE = -s
+WARNMORE=-W -Wall
+CFLAGS = -I$(ZLIBINC) $(WARNMORE) $(CRELEASE)
+LDFLAGS = -L. -L$(ZLIBLIB) -lpng15 -lz -lm $(LDRELEASE)
+
+# File extensions
+O=.o
+A=.a
+E=
+
+# Variables
+OBJS = png$(O) pngerror$(O) pngget$(O) pngmem$(O) pngpread$(O) \
+ pngread$(O) pngrio$(O) pngrtran$(O) pngrutil$(O) pngset$(O) \
+ pngtrans$(O) pngwio$(O) pngwrite$(O) pngwtran$(O) pngwutil$(O)
+
+# Targets
+all: $(LIBNAME)$(A) pngtest$(E)
+
+include scripts/pnglibconf.mak
+REMOVE = $(RM_F)
+DFNFLAGS = $(DEFS) $(CPPFLAGS)
+
+$(LIBNAME)$(A): $(OBJS)
+ $(AR_RC) $@ $(OBJS)
+ $(RANLIB) $@
+
+test: pngtest$(E)
+ ./pngtest$(E)
+
+pngtest$(E): pngtest$(O) $(LIBNAME)$(A)
+ $(LD) -o $@ pngtest$(O) $(LDFLAGS)
+
+install: $(LIBNAME)$(A)
+ -@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
+ -@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ -@$(RM_F) $(DI)/$(LIBNAME)/png.h
+ -@$(RM_F) $(DI)/$(LIBNAME)/pngconf.h
+ -@$(RM_F) $(DI)/$(LIBNAME)/pnglibconf.h
+ -@$(RM_F) $(DI)/png.h
+ -@$(RM_F) $(DI)/pngconf.h
+ -@$(RM_F) $(DI)/pnglibconf.h
+ cp png.h pngconf.h pnglibconf.h $(DI)/$(LIBNAME)
+ chmod 644 $(DI)/$(LIBNAME)/png.h \
+ $(DI)/$(LIBNAME)/pngconf.h \
+ $(DI)/$(LIBNAME)/pnglibconf.h
+ -@$(RM_F) -r $(DI)/libpng
+ (cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
+ -@$(RM_F) $(DL)/$(LIBNAME)$(A)
+ -@$(RM_F) $(DL)/libpng$(A)
+ cp $(LIBNAME)$(A) $(DL)/$(LIBNAME)$(A)
+ chmod 644 $(DL)/$(LIBNAME)$(A)
+ (cd $(DL); $(LN_SF) $(LIBNAME)$(A) libpng$(A))
+ (cd $(DI); $(LN_SF) libpng/* .;)
+
+clean:
+ $(RM_F) *.o $(LIBNAME)$(A) pngtest pngout.png pnglibconf.h
+
+png$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngerror$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngget$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngmem$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngpread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngset$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngtrans$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwrite$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+
+pngtest$(O): png.h pngconf.h pnglibconf.h
diff --git a/third_party/libpng/scripts/makefile.amiga b/third_party/libpng/scripts/makefile.amiga
new file mode 100644
index 0000000000..228b5c22a7
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.amiga
@@ -0,0 +1,56 @@
+# Commodore Amiga Makefile
+# makefile for libpng and SAS C V6.5x compiler
+# Copyright (C) 1995-2000 Wolf Faust
+#
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+#
+# Location/path of zlib include files
+ZLIB=/zlib
+#compiler
+CC=sc
+#compiler flags
+# WARNING: a bug in V6.51 causes bad code with OPTGO
+# So use V6.55 or set NOOPTGO!!!!!!!!!
+CFLAGS= NOSTKCHK PARMS=REG OPTIMIZE OPTGO OPTPEEP OPTINLOCAL OPTINL\
+ OPTLOOP OPTRDEP=4 OPTDEP=4 OPTCOMP=4 INCLUDEDIR=$(ZLIB) \
+ DEFINE=PNG_INTERNAL
+#linker flags
+LDFLAGS= SD ND BATCH
+#link libs
+LDLIBS= libpng.lib libgz.lib LIB:scm.lib LIB:sc.lib Lib:amiga.lib
+# linker
+LN= slink
+# file deletion command
+RM= delete quiet
+# file copy command?
+CP= copy
+# library (.lib) file creation command
+AR= oml
+# make directory command
+MKDIR= makedir
+
+OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
+ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
+ pngwtran.o pngmem.o pngerror.o pngpread.o
+
+all: libpng.lib pngtest
+
+libpng.lib: $(OBJS)
+-$(RM) libpng.lib
+$(AR) libpng.lib r $(OBJS)
+
+$(OBJS): pngpriv.h png.h pngconf.h pnglibconf.h pnginfo.h pngstruct.h pngdebug.h
+
+pnglibconf.h: scripts/pnglibconf.h.prebuilt
+$(CP) scripts/pnglibconf.h.prebuilt pnglibconf.h
+
+pngtest: pngtest.o libpng.lib
+$(LN) <WITH <
+$(LDFLAGS)
+TO pngtest
+FROM LIB:c.o pngtest.o
+LIB $(LDLIBS)
+<
+
diff --git a/third_party/libpng/scripts/makefile.atari b/third_party/libpng/scripts/makefile.atari
new file mode 100644
index 0000000000..1aeb7d5b7d
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.atari
@@ -0,0 +1,63 @@
+# makefile for libpng
+# Copyright (C) 2002 Glenn Randers-Pehrson
+# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
+#
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+#
+# Modified for LC56/ATARI assumes libz.lib is in same dir and uses default
+# rules for library management
+#
+CFLAGS=-I..\zlib -O
+LBR = png.lib
+LDFLAGS=-lpng -lz -lm
+
+# where make install puts libpng.a and png.h
+prefix=/usr/local
+INCPATH=$(prefix)/include
+LIBPATH=$(prefix)/lib
+
+# override DESTDIR= on the make install command line to easily support
+# installing into a temporary location. Example:
+#
+# make install DESTDIR=/tmp/build/libpng
+#
+# If you're going to install into a temporary location
+# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
+# you execute make install.
+DESTDIR=
+
+OBJS = $(LBR)(png.o) $(LBR)(pngset.o) $(LBR)(pngget.o) $(LBR)(pngrutil.o)\
+ $(LBR)(pngtrans.o) $(LBR)(pngwutil.o)\
+ $(LBR)(pngread.o) $(LBR)(pngerror.o) $(LBR)(pngwrite.o)\
+ $(LBR)(pngrtran.o) $(LBR)(pngwtran.o)\
+ $(LBR)(pngmem.o) $(LBR)(pngrio.o) $(LBR)(pngwio.o) $(LBR)(pngpread.o)
+
+all: $(LBR) pngtest.ttp
+
+$(LBR): $(OBJS)
+
+$(OBJS): pngpriv.h png.h pngconf.h pnglibconf.h pnginfo.h pngstruct.h pngdebug.h
+
+pnglibconf.h: scripts/pnglibconf.h.prebuilt
+ cp scripts/pnglibconf.h.prebuilt pnglibconf.h
+
+pngtest.ttp: pngtest.o $(LBR)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o$@ pngtest.o
+
+install: libpng.a
+ -@mkdir $(DESTDIR)$(INCPATH)
+ -@mkdir $(DESTDIR)$(INCPATH)/libpng
+ -@mkdir $(DESTDIR)$(LIBPATH)
+ -@rm -f $(DESTDIR)$(INCPATH)/png.h
+ -@rm -f $(DESTDIR)$(INCPATH)/pngconf.h
+ -@rm -f $(DESTDIR)$(INCPATH)/pnglibconf.h
+ cp png.h $(DESTDIR)$(INCPATH)/libpng
+ cp pngconf.h $(DESTDIR)$(INCPATH)/libpng
+ cp pnglibconf.h $(DESTDIR)$(INCPATH)/libpng
+ chmod 644 $(DESTDIR)$(INCPATH)/libpng/png.h
+ chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngconf.h
+ chmod 644 $(DESTDIR)$(INCPATH)/libpng/pnglibconf.h
+ (cd $(DESTDIR)$(INCPATH); ln -f -s $(LIBNAME) libpng; \
+ ln -f -s $(LIBNAME)/* .)
diff --git a/third_party/libpng/scripts/makefile.bc32 b/third_party/libpng/scripts/makefile.bc32
new file mode 100644
index 0000000000..ebbd5ce3d2
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.bc32
@@ -0,0 +1,151 @@
+# Makefile for libpng
+# 32-bit Borland C++ (Note: All modules are compiled in C mode)
+# To build the library, do:
+# "make -fmakefile.bc32"
+#
+# -------------------- 32-bit Borland C++ --------------------
+
+### Absolutely necessary for this makefile to work
+.AUTODEPEND
+
+## Where zlib.h, zconf.h and zlib.lib are
+ZLIB_DIR=..\zlib
+
+## Compiler, linker and lib stuff
+CC=bcc32
+LD=bcc32
+LIB=tlib
+
+# -3 = 386, -4 = 486, -5 = Pentium etc.
+!ifndef TARGET_CPU
+#TARGET_CPU=-6
+!endif
+
+# Use this if you don't want Borland's fancy exception handling
+# (Caution: doesn't work with CBuilderX)
+#NOEHLIB=noeh32.lib
+
+!ifdef DEBUG
+CDEBUG=-v
+LDEBUG=-v
+!else
+CDEBUG=
+LDEBUG=
+!endif
+
+# STACKOFLOW=1
+!ifdef STACKOFLOW
+CDEBUG=$(CDEBUG) -N
+LDEBUG=$(LDEBUG) -N
+!endif
+
+# -O2 optimize for speed
+# -d merge duplicate strings
+# -k- turn off standard stack frame
+# -w display all warnings
+CFLAGS=-I$(ZLIB_DIR) -O2 -d -k- -w $(TARGET_CPU) $(CDEBUG)
+
+# -M generate map file
+LDFLAGS=-L$(ZLIB_DIR) -M $(LDEBUG)
+
+## Variables
+OBJS = \
+ png.obj \
+ pngerror.obj \
+ pngget.obj \
+ pngmem.obj \
+ pngpread.obj \
+ pngread.obj \
+ pngrio.obj \
+ pngrtran.obj \
+ pngrutil.obj \
+ pngset.obj \
+ pngtrans.obj \
+ pngwio.obj \
+ pngwrite.obj \
+ pngwtran.obj \
+ pngwutil.obj
+
+LIBOBJS = \
+ +png.obj \
+ +pngerror.obj \
+ +pngget.obj \
+ +pngmem.obj \
+ +pngpread.obj \
+ +pngread.obj \
+ +pngrio.obj \
+ +pngrtran.obj \
+ +pngrutil.obj \
+ +pngset.obj \
+ +pngtrans.obj \
+ +pngwio.obj \
+ +pngwrite.obj \
+ +pngwtran.obj \
+ +pngwutil.obj
+
+LIBNAME=libpng.lib
+
+## Implicit rules
+# Braces let make "batch" calls to the compiler,
+# 2 calls instead of 12; space is important.
+.c.obj:
+ $(CC) $(CFLAGS) -c {$*.c }
+
+.c.exe:
+ $(CC) $(CFLAGS) $(LDFLAGS) $*.c $(LIBNAME) zlib.lib $(NOEHLIB)
+
+.obj.exe:
+ $(LD) $(LDFLAGS) $*.obj $(LIBNAME) zlib.lib $(NOEHLIB)
+
+## Major targets
+all: libpng pngtest
+
+libpng: $(LIBNAME)
+
+pngtest: pngtest.exe
+
+test: pngtest.exe
+ pngtest
+
+## Minor Targets
+
+# see scripts\pnglibconf.mak for how to make this file
+# with different options
+pnglibconf.h: scripts\pnglibconf.h.prebuilt
+ copy scripts\pnglibconf.h.prebuilt $@
+
+png.obj: png.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngerror.obj: pngerror.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngget.obj: pngget.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngmem.obj: pngmem.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngpread.obj: pngpread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngread.obj: pngread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrio.obj: pngrio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrtran.obj: pngrtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrutil.obj: pngrutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngset.obj: pngset.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngtrans.obj: pngtrans.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwio.obj: pngwio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwrite.obj: pngwrite.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwtran.obj: pngwtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwutil.obj: pngwutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngtest.obj: pngtest.c png.h pngconf.h pnglibconf.h
+
+$(LIBNAME): $(OBJS)
+ -del $(LIBNAME)
+ $(LIB) $(LIBNAME) @&&|
+$(LIBOBJS), libpng
+|
+
+# Cleanup
+clean:
+ -del pnglibconf.h
+ -del *.obj
+ -del $(LIBNAME)
+ -del pngtest.exe
+ -del *.lst
+ -del *.map
+ -del *.tds
+ -del pngout.png
+
+# End of makefile for libpng
diff --git a/third_party/libpng/scripts/makefile.beos b/third_party/libpng/scripts/makefile.beos
new file mode 100644
index 0000000000..749db78ad3
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.beos
@@ -0,0 +1,215 @@
+# makefile for libpng on BeOS x86 ELF with gcc
+# modified from makefile.linux by Sander Stoks
+# Copyright (C) 2002, 2006, 2008, 2010-2011 Glenn Randers-Pehrson
+# Copyright (C) 1999 Greg Roelofs
+# Copyright (C) 1996, 1997 Andreas Dilger
+#
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+
+# Library name:
+LIBNAME=libpng15
+PNGMAJ = 15
+
+# Shared library names:
+LIBSO=$(LIBNAME).so
+LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
+LIBSOREL=$(LIBSOMAJ).$(RELEASE)
+OLDSO=libpng.so
+
+# Utilities:
+CC=gcc
+AR_RC=ar rc
+MKDIR_P=mkdir -p
+LN_SF=ln -sf
+RANLIB=ranlib
+RM_F=/bin/rm -f
+
+# Where the zlib library and include files are located
+ZLIBLIB=/usr/local/lib
+ZLIBINC=/usr/local/include
+
+ALIGN=
+# For i386:
+# ALIGN=-malign-loops=2 -malign-functions=2
+
+WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
+ -Wmissing-declarations -Wtraditional -Wcast-align \
+ -Wstrict-prototypes -Wmissing-prototypes #-Wconversion
+
+# On BeOS, -O1 is actually better than -O3. This is a known bug but it's
+# still here in R4.5
+CFLAGS=-I$(ZLIBINC) -W -Wall -O1 -funroll-loops \
+ $(ALIGN) # $(WARNMORE) -g -DPNG_DEBUG=5
+# LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng -lz
+LDFLAGS=-L. -Wl,-soname=$(LIBSOMAJ) -L$(ZLIBLIB) -lz
+
+# where make install puts libpng.a, libpng15.so*, and png.h
+prefix=/usr/local
+exec_prefix=$(prefix)
+INCPATH=$(prefix)/include
+LIBPATH=$(exec_prefix)/lib
+MANPATH=$(prefix)/man
+BINPATH=$(exec_prefix)/bin
+
+# override DESTDIR= on the make install command line to easily support
+# installing into a temporary location. Example:
+#
+# make install DESTDIR=/tmp/build/libpng
+#
+# If you're going to install into a temporary location
+# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
+# you execute make install.
+DESTDIR=
+
+DB=$(DESTDIR)$(BINPATH)
+DI=$(DESTDIR)$(INCPATH)
+DL=$(DESTDIR)$(LIBPATH)
+DM=$(DESTDIR)$(MANPATH)
+
+OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
+ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
+ pngwtran.o pngmem.o pngerror.o pngpread.o
+
+OBJSDLL = $(OBJS)
+
+.SUFFIXES: .c .o
+
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
+
+# try include scripts/pnglibconf.mak for more options
+pnglibconf.h: scripts/pnglibconf.h.prebuilt
+ cp scripts/pnglibconf.h.prebuilt $@
+
+libpng.a: $(OBJS)
+ $(AR_RC) $@ $(OBJS)
+ $(RANLIB) $@
+
+libpng.pc:
+ cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+ -e s!@exec_prefix@!$(exec_prefix)! \
+ -e s!@libdir@!$(LIBPATH)! \
+ -e s!@includedir@!$(INCPATH)! \
+ -e s!-lpng15!-lpng15\ -lz\ -lm! > libpng.pc
+
+libpng-config:
+ ( cat scripts/libpng-config-head.in; \
+ echo prefix=\"$(prefix)\"; \
+ echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
+ echo libs=\"-lpng15 -lz \"; \
+ cat scripts/libpng-config-body.in ) > libpng-config
+ chmod +x libpng-config
+
+$(LIBSO): $(LIBSOMAJ)
+ $(LN_SF) $(LIBSOMAJ) $(LIBSO)
+ cp $(LIBSO)* /boot/home/config/lib
+
+$(LIBSOMAJ): $(OBJSDLL)
+ $(CC) -nostart -Wl,-soname,$(LIBSOMAJ) -o \
+ $(LIBSOMAJ) $(OBJSDLL) $(LDFLAGS)
+
+pngtest: pngtest.o $(LIBSO)
+ $(CC) -L$(ZLIBLIB) -L. -lz -lpng15 -o pngtest pngtest.o
+
+test: pngtest
+ ./pngtest
+
+install-headers: png.h pngconf.h pnglibconf.h
+ -@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
+ -@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
+ cp png.h pngconf.h pnglibconf.h $(DI)/$(LIBNAME)
+ chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h $(DI)/$(LIBNAME)/pnglibconf.h
+ -@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pnglibconf.h
+ -@$(RM_F) $(DI)/libpng
+ (cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
+
+install-static: install-headers libpng.a
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ cp libpng.a $(DL)/$(LIBNAME).a
+ chmod 644 $(DL)/$(LIBNAME).a
+ -@$(RM_F) $(DL)/libpng.a
+ (cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
+
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ -@$(RM_F) $(DL)/$(LIBSO)
+ -@$(RM_F) $(DL)/$(LIBSOREL)
+ -@$(RM_F) $(DL)/$(OLDSO)
+ cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+ chmod 755 $(DL)/$(LIBSOREL)
+ (cd $(DL); \
+ $(LN_SF) $(LIBSOREL) $(LIBSO); \
+ $(LN_SF) $(LIBSO) $(OLDSO))
+ -@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
+ -@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
+ -@$(RM_F) $(DL)/pkgconfig/libpng.pc
+ cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
+ chmod 644 $(DL)/pkgconfig/$(LIBNAME).pc
+ (cd $(DL)/pkgconfig; $(LN_SF) $(LIBNAME).pc libpng.pc)
+
+install-man: libpng.3 libpngpf.3 png.5
+ -@if [ ! -d $(DM) ]; then $(MKDIR_P) $(DM); fi
+ -@if [ ! -d $(DM)/man3 ]; then $(MKDIR_P) $(DM)/man3; fi
+ -@$(RM_F) $(DM)/man3/libpng.3
+ -@$(RM_F) $(DM)/man3/libpngpf.3
+ cp libpng.3 $(DM)/man3
+ cp libpngpf.3 $(DM)/man3
+ -@if [ ! -d $(DM)/man5 ]; then $(MKDIR_P) $(DM)/man5; fi
+ -@$(RM_F) $(DM)/man5/png.5
+ cp png.5 $(DM)/man5
+
+install-config: libpng-config
+ -@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi
+ -@$(RM_F) $(DB)/libpng-config
+ -@$(RM_F) $(DB)/$(LIBNAME)-config
+ cp libpng-config $(DB)/$(LIBNAME)-config
+ chmod 755 $(DB)/$(LIBNAME)-config
+ (cd $(DB); $(LN_SF) $(LIBNAME)-config libpng-config)
+
+install: install-static install-shared install-man install-config
+
+# If you installed in $(DESTDIR), test-installed won't work until you
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) -I$(DI) $(CFLAGS) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -L$(DL) -L$(ZLIBLIB) -Wl,-rpath $(ZLIBLIB):$(DL) \
+ -o pngtestd `$(BINPATH)/$(LIBNAME)-config --ldflags`
+ ./pngtestd pngtest.png
+
+test-installed:
+ $(CC) $(CFLAGS) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) \
+ -o pngtesti `$(BINPATH)/$(LIBNAME)-config --ldflags`
+ ./pngtesti pngtest.png
+
+clean:
+ $(RM_F) *.o libpng.a pngtest pngout.png libpng-config \
+ $(LIBSO) $(LIBSOMAJ)* pngtesti \
+ pnglibconf.h libpng.pc
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+
+png.o png.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngset.o pngset.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngget.o pngget.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngread.o pngread.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+
+pngtest.o: png.h pngconf.h pnglibconf.h
diff --git a/third_party/libpng/scripts/makefile.bor b/third_party/libpng/scripts/makefile.bor
new file mode 100644
index 0000000000..96d5e861a3
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.bor
@@ -0,0 +1,161 @@
+# Makefile for libpng
+# 16-bit Borland C++ (Note: All modules are compiled in C mode)
+# To build the library, do:
+# "make -fmakefile.bor -DMODEL=c"
+# or: "make -fmakefile.bor -DMODEL=l"
+#
+# ------------ Borland C++ ------------
+
+### Absolutely necessary for this makefile to work
+.AUTODEPEND
+
+## Where zlib.h, zconf.h and zlib_MODEL.lib are
+ZLIB_DIR=..\zlib
+
+## Compiler, linker and lib stuff
+CC=bcc
+LD=bcc
+LIB=tlib
+
+!ifndef MODEL
+MODEL=l
+!endif
+
+MODEL_ARG=-m$(MODEL)
+
+#TARGET_CPU=3
+# 2 = 286, 3 = 386, etc.
+!ifndef TARGET_CPU
+TARGET_CPU=2
+!endif
+
+# Use this if you don't want Borland's fancy exception handling
+# (for Borland C++ 4.0 or later)
+#NOEHLIB=noeh$(MODEL).lib
+
+!ifdef DEBUG
+CDEBUG=-v
+LDEBUG=-v
+!else
+CDEBUG=
+LDEBUG=
+!endif
+
+# STACKOFLOW=1
+!ifdef STACKOFLOW
+CDEBUG=$(CDEBUG) -N
+LDEBUG=$(LDEBUG) -N
+!endif
+
+# -X- turn on dependency generation in the object file
+# -w set all warnings on
+# -O2 optimize for speed
+# -Z global optimization
+CFLAGS=-O2 -Z -X- -w -I$(ZLIB_DIR) -$(TARGET_CPU) $(MODEL_ARG) $(CDEBUG)
+
+# -M generate map file
+LDFLAGS=-M -L$(ZLIB_DIR) $(MODEL_ARG) $(LDEBUG)
+
+## Variables
+
+OBJS = \
+ png.obj \
+ pngerror.obj \
+ pngget.obj \
+ pngmem.obj \
+ pngpread.obj \
+ pngread.obj \
+ pngrio.obj \
+ pngrtran.obj \
+ pngrutil.obj \
+ pngset.obj \
+ pngtrans.obj \
+ pngwio.obj \
+ pngwrite.obj \
+ pngwtran.obj \
+ pngwutil.obj
+
+LIBOBJS = \
+ +png.obj \
+ +pngerror.obj \
+ +pngget.obj \
+ +pngmem.obj \
+ +pngpread.obj \
+ +pngread.obj \
+ +pngrio.obj \
+ +pngrtran.obj \
+ +pngrutil.obj \
+ +pngset.obj \
+ +pngtrans.obj \
+ +pngwio.obj \
+ +pngwrite.obj \
+ +pngwtran.obj \
+ +pngwutil.obj
+
+LIBNAME=libpng$(MODEL).lib
+
+## Implicit rules
+
+# Braces let make "batch" calls to the compiler,
+# 2 calls instead of 12; space is important.
+.c.obj:
+ $(CC) $(CFLAGS) -c {$*.c }
+
+.c.exe:
+ $(CC) $(CFLAGS) $(LDFLAGS) $*.c $(LIBNAME) zlib_$(MODEL).lib $(NOEHLIB)
+
+## Major targets
+
+all: libpng pngtest
+
+# try !inlude scripts\pnglibconf.mak for more options
+pnglibconf.h: scripts\pnglibconf.h.prebuilt
+ copy scripts\pnglibconf.h.prebuilt $@
+
+libpng: $(LIBNAME)
+
+pngtest: pngtest$(MODEL).exe
+
+test: pngtest$(MODEL).exe
+ pngtest$(MODEL)
+
+## Minor Targets
+
+png.obj: png.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngerror.obj: pngerror.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngget.obj: pngget.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngmem.obj: pngmem.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngpread.obj: pngpread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngread.obj: pngread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrio.obj: pngrio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrtran.obj: pngrtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrutil.obj: pngrutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngset.obj: pngset.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngtrans.obj: pngtrans.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwio.obj: pngwio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwrite.obj: pngwrite.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwtran.obj: pngwtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwutil.obj: pngwutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+
+$(LIBNAME): $(OBJS)
+ -del $(LIBNAME)
+ $(LIB) $(LIBNAME) @&&|
+$(LIBOBJS), libpng$(MODEL)
+|
+
+pngtest$(MODEL).obj: pngtest.c png.h pngconf.h pnglibconf.h
+ $(CC) $(CFLAGS) -opngtest$(MODEL) -c pngtest.c
+
+pngtest$(MODEL).exe: pngtest$(MODEL).obj
+ $(LD) $(LDFLAGS) pngtest$(MODEL).obj $(LIBNAME) zlib_$(MODEL).lib $(NOEHLIB)
+
+# Clean up anything else you want
+clean:
+ -del pnglibconf.h
+ -del *.obj
+ -del *.exe
+ -del *.lib
+ -del *.lst
+ -del *.map
+
+# End of makefile for libpng
diff --git a/third_party/libpng/scripts/makefile.cegcc b/third_party/libpng/scripts/makefile.cegcc
new file mode 100644
index 0000000000..28fb3ac6ad
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.cegcc
@@ -0,0 +1,116 @@
+# Makefile for creating Windows CE release archives, with the
+# mingw32ce compiler.
+
+# Last updated: 22-Jul-2008
+
+# Copyright (C) 2008 Vincent Torri
+
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+
+# To get some help, type
+#
+# make help
+#
+# To create the archives
+#
+# make
+#
+# To remove everything, type:
+#
+# make clean
+
+VERMAJ = 1
+VERMIN = 5
+VERMIC = 2
+VER = $(VERMAJ).$(VERMIN).$(VERMIC)
+NAME = libpng
+PACKAGE = $(NAME)-$(VER)
+
+BIN = libpng15-0.dll
+LIB = libpng15.a libpng15.dll.a libpng.a libpng.dll.a
+INCLUDE = png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+PC = libpng15.pc libpng.pc
+
+MANIFESTVERBIN = "Libpng-$(VER): Binary files"
+MANIFESTVERDEV = "Libpng-$(VER): Developer files"
+MANIFESTVERDESC = "Libpng: the official PNG reference library"
+
+all: $(NAME)
+
+$(NAME): remove-old copy-src compilation copy manifest archive
+ @echo " * Removal of the directories"
+ @rm -rf $(PACKAGE)/ $(PACKAGE)-bin/ $(PACKAGE)-dev/
+
+remove-old:
+ @echo " * Removal of the old files"
+ @rm -rf $(PACKAGE)-bin*
+ @rm -rf $(PACKAGE)-dev*
+
+copy-src:
+ @echo " * Copy of source files"
+ @cp -R ../src/$(PACKAGE) .
+ @echo " * Creation of directories and files"
+ @mkdir -p $(PACKAGE)-bin/bin
+ @mkdir -p $(PACKAGE)-bin/manifest
+ @mkdir -p $(PACKAGE)-dev/lib/pkgconfig
+ @mkdir -p $(PACKAGE)-dev/include/$(NAME)$(VERMAJ)$(VERMIN)
+ @mkdir -p $(PACKAGE)-dev/manifest
+ @touch $(PACKAGE)-bin/manifest/$(PACKAGE)-bin.mft
+ @touch $(PACKAGE)-bin/manifest/$(PACKAGE)-bin.ver
+ @touch $(PACKAGE)-dev/manifest/$(PACKAGE)-dev.mft
+ @touch $(PACKAGE)-dev/manifest/$(PACKAGE)-dev.ver
+
+compilation:
+ @echo " * Compilation of $(PACKAGE)"
+ cd $(PACKAGE) && CPPFLAGS="$(CPPFLAGS) -DPNG_CONSOLE_IO_SUPPORTED -D_WIN32_WCE=0x0420" \
+ CFLAGS="$(CFLAGS) -mms-bitfields -O3 -pipe -fomit-frame-pointer" \
+ LDFLAGS="$(LDFLAGS) -Wl,--enable-auto-import -Wl,-s" \
+ ./configure --prefix=/opt/wince --host=arm-mingw32ce && make
+
+copy:
+ @echo " * Copy of binary and development files"
+ @for i in $(BIN); do \
+ cp $(PACKAGE)/.libs/$$i $(PACKAGE)-bin/bin; \
+ done
+ @for i in $(LIB); do \
+ cp $(PACKAGE)/.libs/$$i $(PACKAGE)-dev/lib; \
+ done
+ @for i in $(INCLUDE); do \
+ cp $(PACKAGE)/$$i $(PACKAGE)-dev/include/$(NAME)$(VERMAJ)$(VERMIN); \
+ done
+ @for i in $(PC); do \
+ cp $(PACKAGE)/$$i $(PACKAGE)-dev/lib/pkgconfig; \
+ done
+
+manifest:
+ @echo " * Creation of the manifest"
+ @cd $(PACKAGE)-bin && find * >> manifest/$(PACKAGE)-bin.mft
+ @cd $(PACKAGE)-bin && \
+ echo $(MANIFESTVERBIN) >> manifest/$(PACKAGE)-bin.ver && \
+ echo $(MANIFESTVERDESC) >> manifest/$(PACKAGE)-bin.ver
+ @cd $(PACKAGE)-dev && find * >> manifest/$(PACKAGE)-dev.mft
+ @cd $(PACKAGE)-dev && \
+ echo $(MANIFESTVERDEV) >> manifest/$(PACKAGE)-dev.ver && \
+ echo $(MANIFESTVERDESC) >> manifest/$(PACKAGE)-dev.ver
+
+archive:
+ @echo " * Creation of the archives"
+ @tar cf $(PACKAGE)-bin.tar $(PACKAGE)-bin
+ @bzip2 -9 $(PACKAGE)-bin.tar
+ @tar cf $(PACKAGE)-dev.tar $(PACKAGE)-dev
+ @bzip2 -9 $(PACKAGE)-dev.tar
+
+clean:
+ @echo " * Cleaning"
+ @rm -rf $(PACKAGE)*
+
+help:
+ @echo
+ @echo "To create the archives, type:"
+ @echo " make"
+ @echo
+ @echo "To remove everything, type:"
+ @echo " make clean"
+ @echo
diff --git a/third_party/libpng/scripts/makefile.darwin b/third_party/libpng/scripts/makefile.darwin
new file mode 100644
index 0000000000..aaec54dcb3
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.darwin
@@ -0,0 +1,219 @@
+# makefile for libpng on Darwin / Mac OS X
+# Copyright (C) 2002, 2004, 2006, 2008, 2010-2011 Glenn Randers-Pehrson
+# Copyright (C) 2001 Christoph Pfisterer
+# derived from makefile.linux:
+# Copyright (C) 1998, 1999 Greg Roelofs
+# Copyright (C) 1996, 1997 Andreas Dilger
+#
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+
+# where "make install" puts libpng.a, libpng15.dylib, png.h, pngconf.h,
+# and pnglibconf.h
+prefix=/usr/local
+exec_prefix=$(prefix)
+
+# Where the zlib library and include files are located
+#ZLIBLIB=/usr/local/lib
+#ZLIBINC=/usr/local/include
+ZLIBLIB=../zlib
+ZLIBINC=../zlib
+
+# Library name:
+LIBNAME = libpng15
+PNGMAJ = 15
+
+# Shared library names:
+LIBSO=$(LIBNAME).dylib
+LIBSOMAJ=$(LIBNAME).$(PNGMAJ).dylib
+LIBSOREL=$(LIBNAME).$(PNGMAJ).$(RELEASE).dylib
+OLDSO=libpng.dylib
+
+# Utilities:
+CC=cc
+AR_RC=ar rc
+MKDIR_P=mkdir -p
+LN_SF=ln -sf
+RANLIB=ranlib
+RM_F=/bin/rm -f
+
+# CFLAGS=-I$(ZLIBINC) -W -Wall -O3 -funroll-loops
+CFLAGS=-I$(ZLIBINC) -W -Wall -O -funroll-loops
+LDFLAGS=-L. -L$(ZLIBLIB) -lpng15 -lz
+
+INCPATH=$(prefix)/include
+LIBPATH=$(exec_prefix)/lib
+MANPATH=$(prefix)/man
+BINPATH=$(exec_prefix)/bin
+
+# override DESTDIR= on the make install command line to easily support
+# installing into a temporary location. Example:
+#
+# make install DESTDIR=/tmp/build/libpng
+#
+# If you're going to install into a temporary location
+# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
+# you execute make install.
+DESTDIR=
+
+DB=$(DESTDIR)$(BINPATH)
+DI=$(DESTDIR)$(INCPATH)
+DL=$(DESTDIR)$(LIBPATH)
+DM=$(DESTDIR)$(MANPATH)
+
+OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
+ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
+ pngwtran.o pngmem.o pngerror.o pngpread.o
+
+OBJSDLL = $(OBJS:.o=.pic.o)
+
+.SUFFIXES: .c .o .pic.o
+
+.c.pic.o:
+ $(CC) -c $(CFLAGS) -fno-common -o $@ $*.c
+
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
+
+# see scripts/pnglibconf.mak for more options
+pnglibconf.h: scripts/pnglibconf.h.prebuilt
+ cp scripts/pnglibconf.h.prebuilt $@
+
+libpng.a: $(OBJS)
+ $(AR_RC) $@ $(OBJS)
+ $(RANLIB) $@
+
+libpng.pc:
+ cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+ -e s!@exec_prefix@!$(exec_prefix)! \
+ -e s!@libdir@!$(LIBPATH)! \
+ -e s!@includedir@!$(INCPATH)! \
+ -e s!-lpng15!-lpng15\ -lz! > libpng.pc
+
+libpng-config:
+ ( cat scripts/libpng-config-head.in; \
+ echo prefix=\"$(prefix)\"; \
+ echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
+ echo L_opts=\"-L$(LIBPATH)\"; \
+ echo libs=\"-lpng15 -lz\"; \
+ cat scripts/libpng-config-body.in ) > libpng-config
+ chmod +x libpng-config
+
+$(LIBSO): $(LIBSOMAJ)
+ $(LN_SF) $(LIBSOMAJ) $(LIBSO)
+
+$(LIBSOMAJ): $(OBJSDLL)
+ $(CC) -dynamiclib \
+ -install_name $(LIBPATH)/$(LIBSOMAJ) \
+ -current_version 15 -compatibility_version 15 \
+ -o $(LIBSOMAJ) \
+ $(OBJSDLL) -L$(ZLIBLIB) -lz
+
+pngtest: pngtest.o $(LIBSO)
+ $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
+
+test: pngtest
+ ./pngtest
+
+install-headers: png.h pngconf.h pnglibconf.h
+ -@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
+ -@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
+ cp png.h pngconf.h pnglibconf.h $(DI)/$(LIBNAME)
+ chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h $(DI)/$(LIBNAME)/pnglibconf.h
+ -@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pnglibconf.h
+ -@$(RM_F) $(DI)/libpng
+ (cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
+
+install-static: install-headers libpng.a
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ cp libpng.a $(DL)/$(LIBNAME).a
+ chmod 644 $(DL)/$(LIBNAME).a
+ $(RANLIB) $(DL)/$(LIBNAME).a
+ -@$(RM_F) $(DL)/libpng.a
+ (cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
+
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ -@$(RM_F) $(DL)/$(LIBSO)
+ -@$(RM_F) $(DL)/$(LIBSOREL)
+ -@$(RM_F) $(DL)/$(OLDSO)
+ cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+ chmod 755 $(DL)/$(LIBSOREL)
+ (cd $(DL); \
+ $(LN_SF) $(LIBSOREL) $(LIBSO); \
+ $(LN_SF) $(LIBSO) $(OLDSO))
+ -@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
+ -@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
+ -@$(RM_F) $(DL)/pkgconfig/libpng.pc
+ cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
+ chmod 644 $(DL)/pkgconfig/$(LIBNAME).pc
+ (cd $(DL)/pkgconfig; $(LN_SF) $(LIBNAME).pc libpng.pc)
+
+install-man: libpng.3 libpngpf.3 png.5
+ -@if [ ! -d $(DM) ]; then $(MKDIR_P) $(DM); fi
+ -@if [ ! -d $(DM)/man3 ]; then $(MKDIR_P) $(DM)/man3; fi
+ -@$(RM_F) $(DM)/man3/libpng.3
+ -@$(RM_F) $(DM)/man3/libpngpf.3
+ cp libpng.3 $(DM)/man3
+ cp libpngpf.3 $(DM)/man3
+ -@if [ ! -d $(DM)/man5 ]; then $(MKDIR_P) $(DM)/man5; fi
+ -@$(RM_F) $(DM)/man5/png.5
+ cp png.5 $(DM)/man5
+
+install-config: libpng-config
+ -@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi
+ -@$(RM_F) $(DB)/libpng-config
+ -@$(RM_F) $(DB)/$(LIBNAME)-config
+ cp libpng-config $(DB)/$(LIBNAME)-config
+ chmod 755 $(DB)/$(LIBNAME)-config
+ (cd $(DB); $(LN_SF) $(LIBNAME)-config libpng-config)
+
+install: install-static install-shared install-man install-config
+
+# If you installed in $(DESTDIR), test-installed won't work until you
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) -I$(DI) -I$(ZLIBINC) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -L$(DL) -L$(ZLIBLIB) \
+ -o pngtestd `$(BINPATH)/$(LIBNAME)-config --ldflags`
+ ./pngtestd pngtest.png
+
+test-installed:
+ $(CC) $(CFLAGS) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -L$(ZLIBLIB) \
+ -o pngtesti `$(BINPATH)/$(LIBNAME)-config --ldflags`
+ ./pngtesti pngtest.png
+
+clean:
+ $(RM_F) *.o libpng.a pngtest pngout.png libpng-config \
+ libpng.pc $(LIBNAME).*dylib pngtesti pnglibconf.h
+
+DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
+writelock:
+ chmod a-w *.[ch35] $(DOCS) scripts/*
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+
+png.o png.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngset.o pngset.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngget.o pngget.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngread.o pngread.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+
+pngtest.o: png.h pngconf.h pnglibconf.h
diff --git a/third_party/libpng/scripts/makefile.dec b/third_party/libpng/scripts/makefile.dec
new file mode 100644
index 0000000000..5301d87d33
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.dec
@@ -0,0 +1,202 @@
+# makefile for libpng on DEC Alpha Unix
+# Copyright (C) 2000-2002, 2006, 2010-2011 Glenn Randers-Pehrson
+# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
+#
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+
+# Library name:
+PNGMAJ = 15
+LIBNAME = libpng15
+
+# Shared library names:
+LIBSO=$(LIBNAME).so
+LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
+LIBSOREL=$(LIBSOMAJ).$(RELEASE)
+OLDSO=libpng.so
+
+# Utilities:
+AR_RC=ar rc
+CC=cc
+MKDIR_P=mkdir
+LN_SF=ln -f -s
+RANLIB=ranlib
+RM_F=/bin/rm -f
+
+# where make install puts libpng.a and png.h
+prefix=/usr/local
+exec_prefix=$(prefix)
+INCPATH=$(prefix)/include
+LIBPATH=$(exec_prefix)/lib
+MANPATH=$(prefix)/man
+BINPATH=$(exec_prefix)/bin
+
+# override DESTDIR= on the make install command line to easily support
+# installing into a temporary location. Example:
+#
+# make install DESTDIR=/tmp/build/libpng
+#
+# If you're going to install into a temporary location
+# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
+# you execute make install.
+DESTDIR=
+
+DB=$(DESTDIR)$(BINPATH)
+DI=$(DESTDIR)$(INCPATH)
+DL=$(DESTDIR)$(LIBPATH)
+DM=$(DESTDIR)$(MANPATH)
+
+# Where the zlib library and include files are located
+#ZLIBLIB=/usr/local/lib
+#ZLIBINC=/usr/local/include
+ZLIBLIB=../zlib
+ZLIBINC=../zlib
+
+CFLAGS=-std -w1 -I$(ZLIBINC) -O # -g -DPNG_DEBUG=1
+LDFLAGS=-L$(ZLIBLIB) -rpath $(ZLIBLIB) libpng.a -lz -lm
+
+OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
+ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
+ pngwtran.o pngmem.o pngerror.o pngpread.o
+
+all: $(LIBSO) libpng.a pngtest libpng.pc libpng-config
+
+# see scripts/pnglibconf.mak for more options
+pnglibconf.h: scripts/pnglibconf.h.prebuilt
+ cp scripts/pnglibconf.h.prebuilt $@
+
+libpng.a: $(OBJS)
+ $(AR_RC) $@ $(OBJS)
+ $(RANLIB) $@
+
+libpng.pc:
+ cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+ -e s!@exec_prefix@!$(exec_prefix)! \
+ -e s!@libdir@!$(LIBPATH)! \
+ -e s!@includedir@!$(INCPATH)! \
+ -e s!-lpng15!-lpng15\ -lz\ -lm! > libpng.pc
+
+libpng-config:
+ ( cat scripts/libpng-config-head.in; \
+ echo prefix=\"$(prefix)\"; \
+ echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
+ echo ccopts=\"-std\"; \
+ echo L_opts=\"-L$(LIBPATH)\"; \
+ echo libs=\"-lpng15 -lz -lm\"; \
+ cat scripts/libpng-config-body.in ) > libpng-config
+ chmod +x libpng-config
+
+$(LIBSO): $(LIBSOMAJ)
+ $(LN_SF) $(LIBSOMAJ) $(LIBSO)
+
+$(LIBSOMAJ): $(OBJS)
+ $(CC) -shared -o $@ $(OBJS) -L$(ZLIBLIB) \
+ -soname $(LIBSOMAJ)
+
+pngtest: pngtest.o libpng.a
+ $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
+
+test: pngtest
+ ./pngtest
+
+install-headers: png.h pngconf.h pnglibconf.h
+ -@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
+ -@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
+ cp png.h pngconf.h pnglibconf.h $(DI)/$(LIBNAME)
+ chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h $(DI)/$(LIBNAME)/pnglibconf.h
+ -@/bin/rm -f $(DI)/png.h $(DI)/pngconf.h $(DI)/pnglibconf.h
+ -@/bin/rm -f $(DI)/libpng
+ (cd $(DI); $(LN_SF)(LIBNAME) libpng; $(LN_SF)(LIBNAME)/* .)
+
+install-static: install-headers libpng.a
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ cp libpng.a $(DL)/$(LIBNAME).a
+ chmod 644 $(DL)/$(LIBNAME).a
+ -@/bin/rm -f $(DL)/libpng.a
+ (cd $(DL); $(LN_SF)(LIBNAME).a libpng.a)
+
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ -@$(RM_F) $(DL)/$(LIBSO)
+ -@$(RM_F) $(DL)/$(LIBSOREL)
+ -@$(RM_F) $(DL)/$(OLDSO)
+ cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+ chmod 755 $(DL)/$(LIBSOREL)
+ (cd $(DL); \
+ $(LN_SF) $(LIBSOREL) $(LIBSO); \
+ $(LN_SF) $(LIBSO) $(OLDSO))
+ -@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
+ -@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
+ -@$(RM_F) $(DL)/pkgconfig/libpng.pc
+ cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
+ chmod 644 $(DL)/pkgconfig/$(LIBNAME).pc
+ (cd $(DL)/pkgconfig; $(LN_SF) $(LIBNAME).pc libpng.pc)
+
+install-man: libpng.3 libpngpf.3 png.5
+ -@if [ ! -d $(DM) ]; then $(MKDIR_P) $(DM); fi
+ -@if [ ! -d $(DM)/man3 ]; then $(MKDIR_P) $(DM)/man3; fi
+ -@/bin/rm -f $(DM)/man3/libpng.3
+ -@/bin/rm -f $(DM)/man3/libpngpf.3
+ cp libpng.3 $(DM)/man3
+ cp libpngpf.3 $(DM)/man3
+ -@if [ ! -d $(DM)/man5 ]; then $(MKDIR_P) $(DM)/man5; fi
+ -@/bin/rm -f $(DM)/man5/png.5
+ cp png.5 $(DM)/man5
+
+install-config: libpng-config
+ -@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi
+ -@/bin/rm -f $(DB)/libpng-config
+ -@/bin/rm -f $(DB)/$(LIBNAME)-config
+ cp libpng-config $(DB)/$(LIBNAME)-config
+ chmod 755 $(DB)/$(LIBNAME)-config
+ (cd $(DB); $(LN_SF)(LIBNAME)-config libpng-config)
+
+install: install-static install-shared install-man install-config
+
+# If you installed in $(DESTDIR), test-installed won't work until you
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) -w1 -I$(DI) -I$(ZLIBINC) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -L$(DL) -L$(ZLIBLIB) -R$(ZLIBLIB) -R$(DL) \
+ -o pngtestd `$(BINPATH)/$(LIBNAME)-config --ldflags`
+ ./pngtestd pngtest.png
+
+test-installed:
+ echo
+ echo Testing installed dynamic shared library.
+ $(CC) -w1 -I$(ZLIBINC) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -L$(ZLIBLIB) -R$(ZLIBLIB) \
+ -o pngtesti `$(BINPATH)/$(LIBNAME)-config --ldflags`
+ ./pngtesti pngtest.png
+
+clean:
+ /bin/rm -f *.o libpng.a pngtest pngtesti pngout.png \
+ libpng-config $(LIBSO) $(LIBSOMAJ)* \
+ libpng.pc pnglibconf.h
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+
+png.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngerror.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngmem.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngset.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngget.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngtrans.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwrite.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngpread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+
+pngtest.o: png.h pngconf.h pnglibconf.h
diff --git a/third_party/libpng/scripts/makefile.dj2 b/third_party/libpng/scripts/makefile.dj2
new file mode 100644
index 0000000000..87a05a364a
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.dj2
@@ -0,0 +1,62 @@
+# DJGPP (DOS gcc) makefile for libpng
+# Copyright (C) 2002, 2006, 2009-2010-2011 Glenn Randers-Pehrson
+# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
+#
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+
+# where make install will put libpng.a and png.h
+#prefix=/usr/local
+prefix=.
+INCPATH=$(prefix)/include
+LIBPATH=$(prefix)/lib
+
+CC=gcc
+CFLAGS=-I../zlib -O -DPNG_NO_SNPRINTF
+LDFLAGS=-L. -L../zlib/ -lpng -lz -lm
+
+RANLIB=ranlib
+
+OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
+ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o pngwtran.o \
+ pngmem.o pngerror.o pngpread.o
+
+all: libpng.a pngtest
+
+# see scripts/pnglibconf.mak for more options
+pnglibconf.h: scripts/pnglibconf.h.prebuilt
+ cp scripts/pnglibconf.h.prebuilt $@
+
+libpng.a: $(OBJS)
+ ar rc $@ $(OBJS)
+ $(RANLIB) $@
+
+pngtest: pngtest.o libpng.a
+ $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
+ coff2exe pngtest
+
+test: pngtest
+ ./pngtest
+clean:
+ rm -f *.o libpng.a pngtest pngout.png pnglibconf.h
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+
+png.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngerror.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngmem.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngset.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngget.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngpread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngtrans.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwrite.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+
+pngtest.o: png.h pngconf.h pnglibconf.h
diff --git a/third_party/libpng/scripts/makefile.elf b/third_party/libpng/scripts/makefile.elf
new file mode 100644
index 0000000000..5af43b1845
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.elf
@@ -0,0 +1,263 @@
+# makefile for libpng.a and libpng15.so on Linux ELF with gcc
+# Copyright (C) 1998, 1999, 2002, 2006, 2008, 2010-2011 Greg Roelofs
+# and Glenn Randers-Pehrson
+# Copyright (C) 1996, 1997 Andreas Dilger
+#
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+
+# Modified for Debian by Junichi Uekawa and Josselin Mouette
+# Major modifications are:
+# * link libpng explicitly with libz and libm
+# * $(OLDSO).15 is a symlink rather than a different library
+# * versioned symbols
+
+# Library name:
+LIBNAME = libpng15
+PNGMAJ = 15
+
+# Shared library names:
+LIBSO=$(LIBNAME).so
+LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
+LIBSOREL=$(LIBSOMAJ).$(RELEASE)
+OLDSO=libpng.so
+OLDSOMAJ=libpng.so.15
+
+# Utilities:
+AR_RC=ar rc
+CC=gcc
+MKDIR_P=mkdir -p
+LN_SF=ln -sf
+RANLIB=ranlib
+RM_F=/bin/rm -f
+
+# where "make install" puts libpng15.a, libpng15.so*,
+# libpng15/png.h, libpng15/pngconf.h, and libpng15/pnglibconf.h
+# Prefix must be a full pathname.
+prefix=/usr/local
+exec_prefix=$(prefix)
+
+# Where the zlib library and include files are located.
+ZLIBLIB=/usr/local/lib
+ZLIBINC=/usr/local/include
+# ZLIBLIB=../zlib
+# ZLIBINC=../zlib
+
+ALIGN=
+# for i386:
+#ALIGN=-malign-loops=2 -malign-functions=2
+
+WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
+ -Wmissing-declarations -Wtraditional -Wcast-align \
+ -Wstrict-prototypes -Wmissing-prototypes #-Wconversion
+
+# for pgcc version 2.95.1, -O3 is buggy; don't use it.
+
+CFLAGS=-W -Wall -D_REENTRANT -O2 \
+ $(ALIGN) # $(WARNMORE) -g -DPNG_DEBUG=5
+
+LDFLAGS=-L. -lpng15
+LDFLAGS_A=libpng.a -lz -lm
+LIBADDFLAGS=-lz -lm
+
+
+INCPATH=$(prefix)/include
+LIBPATH=$(exec_prefix)/lib
+MANPATH=$(prefix)/man
+BINPATH=$(exec_prefix)/bin
+
+# override DESTDIR= on the make install command line to easily support
+# installing into a temporary location. Example:
+#
+# make install DESTDIR=/tmp/build/libpng
+#
+# If you're going to install into a temporary location
+# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
+# you execute make install.
+DESTDIR=
+
+DB=$(DESTDIR)$(BINPATH)
+DI=$(DESTDIR)$(INCPATH)
+DL=$(DESTDIR)$(LIBPATH)
+DM=$(DESTDIR)$(MANPATH)
+
+OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
+ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
+ pngwtran.o pngmem.o pngerror.o pngpread.o
+
+OBJSDLL = $(OBJS:.o=.pic.o)
+
+.SUFFIXES: .c .o .pic.o
+
+.c.pic.o:
+ $(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
+
+all: libpng.a $(LIBSO) pngtest pngtest-static libpng.pc libpng-config
+
+# see scripts/pnglibconf.mak for more options
+pnglibconf.h: scripts/pnglibconf.h.prebuilt
+ cp scripts/pnglibconf.h.prebuilt $@
+
+libpng.a: $(OBJS)
+ $(AR_RC) $@ $(OBJS)
+ $(RANLIB) $@
+
+libpng.pc:
+ cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+ -e s!@exec_prefix@!$(exec_prefix)! \
+ -e s!@libdir@!$(LIBPATH)! \
+ -e s!@includedir@!$(INCPATH)! \
+ -e s!-lpng15!-lpng15\ -lz\ -lm! > libpng.pc
+
+libpng.syms: png.h pngconf.h pnglibconf.h
+ $(CC) $(CFLAGS) -E -DPNG_BUILDSYMS -DPNG_INTERNAL png.h |\
+ awk -F '[\t [\\]();]' -v PNGMAJ=$(PNGMAJ) 'BEGIN{printf("PNG15_%s {global:\n",PNGMAJ)}\
+ { for (i=1;i+2<=NF;++i)\
+ if ($$(i)=="PNG_FUNCTION_EXPORT" && $$(i+2)=="END")\
+ print $$(i+1) ";";\
+ for (i=1;i+1<=NF;++i)\
+ if ($$(i)=="PNG_DATA_EXPORT")\
+ print $$(i+1) ";";}\
+ END{print "local: *; };"}' >$@.new
+ $(RM_F) $@
+ mv $@.new $@
+
+libpng-config:
+ ( cat scripts/libpng-config-head.in; \
+ echo prefix=\"$(prefix)\"; \
+ echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
+ echo L_opts=\"\"; \
+ echo R_opts=\"\"; \
+ echo libs=\"-lpng15\"; \
+ echo all_libs=\"-lpng15 $(LIBADDFLAGS)\"; \
+ cat scripts/libpng-config-body.in ) > libpng-config
+ chmod +x libpng-config
+
+$(LIBSO): $(LIBSOMAJ)
+ $(LN_SF) $(LIBSOMAJ) $(LIBSO)
+
+$(LIBSOMAJ): $(OBJSDLL) libpng.syms
+ $(CC) -shared -Wl,-soname,$(LIBSOMAJ) \
+ -Wl,-version-script,libpng.syms \
+ -o $(LIBSOMAJ) \
+ $(OBJSDLL)
+
+pngtest: pngtest.o $(LIBSO)
+ $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
+
+pngtest-static: pngtest.o libpng.a
+ $(CC) -o pngtest-static $(CFLAGS) pngtest.o $(LDFLAGS_A)
+
+test: pngtest pngtest-static
+ @echo ""
+ @echo " Running pngtest dynamically linked with $(LIBSO):"
+ @echo ""
+ LD_LIBRARY_PATH=".:${LD_LIBRARY_PATH}" ./pngtest
+ @echo ""
+ @echo " Running pngtest statically linked with libpng.a:"
+ @echo ""
+ ./pngtest-static
+
+install-headers: png.h pngconf.h pnglibconf.h
+ -@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
+ -@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
+ cp png.h pngconf.h pnglibconf.h $(DI)/$(LIBNAME)
+ chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h $(DI)/$(LIBNAME)/pnglibconf.h
+ -@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pnglibconf.h
+ -@$(RM_F) $(DI)/libpng
+ (cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
+
+install-static: install-headers libpng.a
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ cp libpng.a $(DL)/$(LIBNAME).a
+ chmod 644 $(DL)/$(LIBNAME).a
+ -@$(RM_F) $(DL)/libpng.a
+ (cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
+
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ -@$(RM_F) $(DL)/$(LIBSO)
+ -@$(RM_F) $(DL)/$(LIBSOREL)
+ -@$(RM_F) $(DL)/$(OLDSO)
+ cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+ chmod 755 $(DL)/$(LIBSOREL)
+ (cd $(DL); \
+ $(LN_SF) $(LIBSOREL) $(LIBSO); \
+ $(LN_SF) $(LIBSO) $(OLDSO))
+ -@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
+ -@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
+ -@$(RM_F) $(DL)/pkgconfig/libpng.pc
+ cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
+ chmod 644 $(DL)/pkgconfig/$(LIBNAME).pc
+ (cd $(DL)/pkgconfig; $(LN_SF) $(LIBNAME).pc libpng.pc)
+
+install-man: libpng.3 libpngpf.3 png.5
+ -@if [ ! -d $(DM) ]; then $(MKDIR_P) $(DM); fi
+ -@if [ ! -d $(DM)/man3 ]; then $(MKDIR_P) $(DM)/man3; fi
+ -@$(RM_F) $(DM)/man3/libpng.3
+ -@$(RM_F) $(DM)/man3/libpngpf.3
+ cp libpng.3 $(DM)/man3
+ cp libpngpf.3 $(DM)/man3
+ -@if [ ! -d $(DM)/man5 ]; then $(MKDIR_P) $(DM)/man5; fi
+ -@$(RM_F) $(DM)/man5/png.5
+ cp png.5 $(DM)/man5
+
+install-config: libpng-config
+ -@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi
+ -@$(RM_F) $(DB)/libpng-config
+ -@$(RM_F) $(DB)/$(LIBNAME)-config
+ cp libpng-config $(DB)/$(LIBNAME)-config
+ chmod 755 $(DB)/$(LIBNAME)-config
+ (cd $(DB); $(LN_SF) $(LIBNAME)-config libpng-config)
+
+install: install-static install-shared install-man install-config
+
+# If you installed in $(DESTDIR), test-installed won't work until you
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) -I$(DI) -I$(ZLIBINC) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -L$(DL) -L$(ZLIBLIB) -Wl, -rpath,$(DL) -Wl,-rpath,$(ZLIBLIB) \
+ -o pngtestd `$(BINPATH)/$(LIBNAME)-config --ldflags`
+ ./pngtestd pngtest.png
+
+test-installed:
+ $(CC) -I$(ZLIBINC) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) \
+ -o pngtesti `$(BINPATH)/$(LIBNAME)-config --ldflags`
+ ./pngtesti pngtest.png
+
+clean:
+ $(RM_F) *.o libpng.a libpng.syms pngtest pngout.png libpng-config \
+ $(LIBSO) $(LIBSOMAJ)* pngtest-static pngtesti \
+ libpng.pc pnglibconf.h
+
+DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
+writelock:
+ chmod a-w *.[ch35] $(DOCS) scripts/*
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+
+png.o png.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngset.o pngset.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngget.o pngget.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngread.o pngread.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+
+pngtest.o: png.h pngconf.h pnglibconf.h
diff --git a/third_party/libpng/scripts/makefile.freebsd b/third_party/libpng/scripts/makefile.freebsd
new file mode 100644
index 0000000000..994608c993
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.freebsd
@@ -0,0 +1,53 @@
+# makefile for libpng under FreeBSD
+# Copyright (C) 2002, 2007, 2009 Glenn Randers-Pehrson and Andrey A. Chernov
+#
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+
+PREFIX?= /usr/local
+SHLIB_VER?= 15
+
+LIB= png
+SHLIB_MAJOR= ${SHLIB_VER}
+SHLIB_MINOR= 0
+NOPROFILE= YES
+NOOBJ= YES
+
+# where make install puts libpng.a and png.h
+DESTDIR= ${PREFIX}
+LIBDIR= /lib
+INCS= png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+INCSDIR= /include/libpng
+INCDIR= ${INCSDIR} # for 4.x bsd.lib.mk
+MAN= libpng.3 libpngpf.3 png.5
+MANDIR= /man/man
+SYMLINKS= libpng/png.h ${INCSDIR}/../png.h \
+ libpng/pngconf.h ${INCSDIR}/../pngconf.h \
+ libpng/pnglibconf.h ${INCSDIR}/../pnglibconf.h
+LDADD+= -lm -lz
+DPADD+= ${LIBM} ${LIBZ}
+
+CFLAGS+= -I.
+
+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
+
+pngtest: pngtest.o libpng.a
+ ${CC} ${CFLAGS} -L. -static -o pngtest pngtest.o -lpng -lz -lm
+
+CLEANFILES= pngtest pngtest.o pngout.png
+
+test: pngtest
+ ./pngtest
+
+# see scripts/pnglibconf.mak for more options
+pnglibconf.h: scripts/pnglibconf.h.prebuilt
+ cp scripts/pnglibconf.h.prebuilt $@
+
+DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
+writelock:
+ chmod a-w *.[ch35] $(DOCS) scripts/*
+
+.include <bsd.lib.mk>
diff --git a/third_party/libpng/scripts/makefile.gcc b/third_party/libpng/scripts/makefile.gcc
new file mode 100644
index 0000000000..2e5b611367
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.gcc
@@ -0,0 +1,87 @@
+# makefile for libpng using gcc (generic, static library)
+# Copyright (C) 2008 Glenn Randers-Pehrson
+# Copyright (C) 2000 Cosmin Truta
+# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
+#
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+
+# Location of the zlib library and include files
+ZLIBINC = ../zlib
+ZLIBLIB = ../zlib
+
+# Compiler, linker, lib and other tools
+CC = gcc
+LD = $(CC)
+AR_RC = ar rcs
+RANLIB = ranlib
+RM_F = rm -f
+
+CDEBUG = -g -DPNG_DEBUG=5
+LDDEBUG =
+CRELEASE = -O2
+LDRELEASE = -s
+#CFLAGS = -W -Wall $(CDEBUG)
+CFLAGS = -W -Wall $(CRELEASE)
+#LDFLAGS = $(LDDEBUG)
+LDFLAGS = $(LDRELEASE)
+LIBS = -lz -lm
+
+# File extensions
+O=.o
+A=.a
+EXE=
+
+# Variables
+OBJS = png$(O) pngerror$(O) pngget$(O) pngmem$(O) pngpread$(O) \
+ pngread$(O) pngrio$(O) pngrtran$(O) pngrutil$(O) pngset$(O) \
+ pngtrans$(O) pngwio$(O) pngwrite$(O) pngwtran$(O) pngwutil$(O)
+
+# Targets
+all: static
+
+# see scripts/pnglibconf.mak for more options
+pnglibconf.h: scripts/pnglibconf.h.prebuilt
+ cp scripts/pnglibconf.h.prebuilt $@
+
+.c$(O):
+ $(CC) -c $(CFLAGS) -I$(ZLIBINC) $<
+
+static: libpng$(A) pngtest$(EXE)
+
+shared:
+ @echo This is a generic makefile that cannot create shared libraries.
+ @echo Please use a configuration that is specific to your platform.
+ @false
+
+libpng$(A): $(OBJS)
+ $(AR_RC) $@ $(OBJS)
+ $(RANLIB) $@
+
+test: pngtest$(EXE)
+ ./pngtest$(EXE)
+
+pngtest$(EXE): pngtest$(O) libpng$(A)
+ $(LD) $(LDFLAGS) -L$(ZLIBLIB) -o $@ pngtest$(O) libpng$(A) $(LIBS)
+
+clean:
+ $(RM_F) *$(O) libpng$(A) pngtest$(EXE) pngout.png pnglibconf.h
+
+png$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngerror$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngget$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngmem$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngpread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngset$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngtrans$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwrite$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+
+pngtest$(O): png.h pngconf.h pnglibconf.h
diff --git a/third_party/libpng/scripts/makefile.hp64 b/third_party/libpng/scripts/makefile.hp64
new file mode 100644
index 0000000000..b5b631d11c
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.hp64
@@ -0,0 +1,224 @@
+# makefile for libpng, HPUX (10.20 and 11.00) using the ANSI/C product.
+# Copyright (C) 1999-2002, 2006, 2009, 2010-2011 Glenn Randers-Pehrson
+# Copyright (C) 1995 Guy Eric Schalnat, Group 42
+# contributed by Jim Rice and updated by Chris Schleicher, Hewlett Packard
+#
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+
+# Where the zlib library and include files are located
+ZLIBLIB=/opt/zlib/lib
+ZLIBINC=/opt/zlib/include
+
+# Note that if you plan to build a libpng shared library, zlib must also
+# be a shared library, which zlib's configure does not do. After running
+# zlib's configure, edit the appropriate lines of makefile to read:
+# CFLAGS=-O1 -DHAVE_UNISTD -DUSE_MAP -fPIC \
+# LDSHARED=ld -b
+# SHAREDLIB=libz.sl
+
+# Library name:
+LIBNAME = libpng15
+PNGMAJ = 15
+
+# Shared library names:
+LIBSO=$(LIBNAME).sl
+LIBSOMAJ=$(LIBNAME).sl.$(PNGMAJ)
+LIBSOREL=$(LIBSOMAJ).$(RELEASE)
+OLDSO=libpng.sl
+
+# Utilities:
+AR_RC=ar rc
+CC=cc
+MKDIR_P=mkdir -p
+LN_SF=ln -sf
+RANLIB=ranlib
+RM_F=/bin/rm -f
+
+CFLAGS=-I$(ZLIBINC) -O -Ae -Wl,+vnocompatwarnings +DD64 \
+-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 +Z -DHAVE_UNISTD_H -DUSE_MMAP
+# Caution: be sure you have built zlib with the same CFLAGS.
+CCFLAGS=-I$(ZLIBINC) -O -Ae -Wl,+vnocompatwarnings +DD64 \
+-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 +Z -DHAVE_UNISTD_H -DUSE_MMAP
+
+LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
+
+# where make install puts libpng.a, libpng15.sl, and png.h
+prefix=/opt/libpng
+exec_prefix=$(prefix)
+INCPATH=$(prefix)/include
+LIBPATH=$(exec_prefix)/lib
+MANPATH=$(prefix)/man
+BINPATH=$(exec_prefix)/bin
+
+# override DESTDIR= on the make install command line to easily support
+# installing into a temporary location. Example:
+#
+# make install DESTDIR=/tmp/build/libpng
+#
+# If you're going to install into a temporary location
+# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
+# you execute make install.
+DESTDIR=
+
+DB=$(DESTDIR)$(BINPATH)
+DI=$(DESTDIR)$(INCPATH)
+DL=$(DESTDIR)$(LIBPATH)
+DM=$(DESTDIR)$(MANPATH)
+
+OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
+ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
+ pngwtran.o pngmem.o pngerror.o pngpread.o
+
+OBJSDLL = $(OBJS:.o=.pic.o)
+
+.SUFFIXES: .c .o .pic.o
+
+.c.pic.o:
+ $(CC) -c $(CFLAGS) +z -o $@ $*.c
+
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
+
+# see scripts/pnglibconf.mak for more options
+pnglibconf.h: scripts/pnglibconf.h.prebuilt
+ cp scripts/pnglibconf.h.prebuilt $@
+
+libpng.a: $(OBJS)
+ $(AR_RC) $@ $(OBJS)
+ $(RANLIB) $@
+
+libpng.pc:
+ cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+ -e s!@exec_prefix@!$(exec_prefix)! \
+ -e s!@libdir@!$(LIBPATH)! \
+ -e s!@includedir@!$(INCPATH)! \
+ -e s!-lpng15!-lpng15\ -lz\ -lm! > libpng.pc
+
+libpng-config:
+ ( cat scripts/libpng-config-head.in; \
+ echo prefix=\"$(prefix)\"; \
+ echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
+ echo ccopts=\"-Ae +DA1.1 +DS2.0\"; \
+ echo L_opts=\"-L$(LIBPATH)\"; \
+ echo libs=\"-lpng15 -lz -lm\"; \
+ cat scripts/libpng-config-body.in ) > libpng-config
+ chmod +x libpng-config
+
+$(LIBSO): $(LIBSOMAJ)
+ $(LN_SF) $(LIBSOMAJ) $(LIBSO)
+
+$(LIBSOMAJ): $(OBJSDLL)
+ $(LD) -b +s \
+ +h $(LIBSOMAJ) -o $(LIBSOMAJ) $(OBJSDLL)
+
+pngtest: pngtest.o libpng.a
+ $(CC) -o pngtest $(CCFLAGS) pngtest.o $(LDFLAGS)
+
+test: pngtest
+ ./pngtest
+
+install-headers: png.h pngconf.h pnglibconf.h
+ -@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
+ -@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
+ cp png.h pngconf.h pnglibconf.h $(DI)/$(LIBNAME)
+ chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h $(DI)/$(LIBNAME)/pnglibconf.h
+ -@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pnglibconf.h
+ -@$(RM_F) $(DI)/libpng
+ (cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
+
+install-static: install-headers libpng.a
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ cp libpng.a $(DL)/$(LIBNAME).a
+ chmod 644 $(DL)/$(LIBNAME).a
+ -@$(RM_F) $(DL)/libpng.a
+ (cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
+
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ -@$(RM_F) $(DL)/$(LIBSO)
+ -@$(RM_F) $(DL)/$(LIBSOREL)
+ -@$(RM_F) $(DL)/$(OLDSO)
+ cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+ chmod 755 $(DL)/$(LIBSOREL)
+ (cd $(DL); \
+ $(LN_SF) $(LIBSOREL) $(LIBSO); \
+ $(LN_SF) $(LIBSO) $(OLDSO))
+ -@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
+ -@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
+ -@$(RM_F) $(DL)/pkgconfig/libpng.pc
+ cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
+ chmod 644 $(DL)/pkgconfig/$(LIBNAME).pc
+ (cd $(DL)/pkgconfig; $(LN_SF) $(LIBNAME).pc libpng.pc)
+
+install-man: libpng.3 libpngpf.3 png.5
+ -@if [ ! -d $(DM) ]; then $(MKDIR_P) $(DM); fi
+ -@if [ ! -d $(DM)/man3 ]; then $(MKDIR_P) $(DM)/man3; fi
+ -@$(RM_F) $(DM)/man3/libpng.3
+ -@$(RM_F) $(DM)/man3/libpngpf.3
+ cp libpng.3 $(DM)/man3
+ cp libpngpf.3 $(DM)/man3
+ -@if [ ! -d $(DM)/man5 ]; then $(MKDIR_P) $(DM)/man5; fi
+ -@$(RM_F) $(DM)/man5/png.5
+ cp png.5 $(DM)/man5
+
+install-config: libpng-config
+ -@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi
+ -@$(RM_F) $(DB)/libpng-config
+ -@$(RM_F) $(DB)/$(LIBNAME)-config
+ cp libpng-config $(DB)/$(LIBNAME)-config
+ chmod 755 $(DB)/$(LIBNAME)-config
+ (cd $(DB); $(LN_SF) $(LIBNAME)-config libpng-config)
+
+install: install-static install-shared install-man install-config
+
+# If you installed in $(DESTDIR), test-installed won't work until you
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) -I$(DI) -I$(ZLIBINC) $(CCFLAGS) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -L$(DL) -L$(ZLIBLIB) \
+ -o pngtestd `$(BINPATH)/$(LIBNAME)-config --ldflags`
+ ./pngtestd pngtest.png
+
+test-installed:
+ echo
+ echo Testing installed dynamic shared library.
+ $(CC) $(CCFLAGS) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -L$(ZLIBLIB) \
+ -o pngtesti `$(BINPATH)/$(LIBNAME)-config --ldflags`
+ ./pngtesti pngtest.png
+
+clean:
+ $(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
+ libpng-config $(LIBSO) $(LIBSOMAJ)* \
+ libpng.pc pnglibconf.h
+
+DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
+writelock:
+ chmod a-w *.[ch35] $(DOCS) scripts/*
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+
+png.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngerror.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngmem.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngset.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngget.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngtrans.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwrite.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngpread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+
+pngtest.o: png.h pngconf.h pnglibconf.h
diff --git a/third_party/libpng/scripts/makefile.hpgcc b/third_party/libpng/scripts/makefile.hpgcc
new file mode 100644
index 0000000000..3fe21177a4
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.hpgcc
@@ -0,0 +1,230 @@
+# makefile for libpng on HP-UX using GCC with the HP ANSI/C linker.
+# Copyright (C) 2002, 2006-2008, 2010-2011 Glenn Randers-Pehrson
+# Copyright (C) 2001, Laurent faillie
+# Copyright (C) 1998, 1999 Greg Roelofs
+# Copyright (C) 1996, 1997 Andreas Dilger
+#
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+
+# Library name:
+LIBNAME = libpng15
+PNGMAJ = 15
+
+# Shared library names:
+LIBSO=$(LIBNAME).sl
+LIBSOMAJ=$(LIBNAME).sl.$(PNGMAJ)
+LIBSOREL=$(LIBSOMAJ).$(RELEASE)
+OLDSO=libpng.sl
+
+# Utilities:
+CC=gcc
+LD=ld
+AR_RC=ar rc
+MKDIR_P=mkdir -p
+LN_SF=ln -sf
+RANLIB=ranlib
+RM_F=/bin/rm -f
+
+# where "make install" puts libpng.a, $(OLDSO)*, png.h, pngconf.h
+# and pnglibconf.h
+prefix=/usr/local
+exec_prefix=$(prefix)
+
+# Where the zlib library and include files are located
+ZLIBLIB=/opt/zlib/lib
+ZLIBINC=/opt/zlib/include
+
+# Note that if you plan to build a libpng shared library, zlib must also
+# be a shared library, which zlib's configure does not do. After running
+# zlib's configure, edit the appropriate lines of makefile to read:
+# CFLAGS=-O1 -DHAVE_UNISTD -DUSE_MAP -fPIC \
+# LDSHARED=ld -b
+# SHAREDLIB=libz.sl
+
+ALIGN=
+# for i386:
+#ALIGN=-malign-loops=2 -malign-functions=2
+
+WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
+ -Wmissing-declarations -Wtraditional -Wcast-align \
+ -Wstrict-prototypes -Wmissing-prototypes #-Wconversion
+
+# for pgcc version 2.95.1, -O3 is buggy; don't use it.
+
+CFLAGS=-I$(ZLIBINC) -W -Wall -O3 -funroll-loops -DPNG_NO_MMX_CODE \
+ $(ALIGN) # $(WARNMORE) -g -DPNG_DEBUG=5
+#LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng15 -lz -lm
+LDFLAGS=-L. -L$(ZLIBLIB) -lpng15 -lz -lm
+
+INCPATH=$(prefix)/include
+LIBPATH=$(exec_prefix)/lib
+MANPATH=$(prefix)/man
+BINPATH=$(exec_prefix)/bin
+
+# override DESTDIR= on the make install command line to easily support
+# installing into a temporary location. Example:
+#
+# make install DESTDIR=/tmp/build/libpng
+#
+# If you're going to install into a temporary location
+# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
+# you execute make install.
+DESTDIR=
+
+DB=$(DESTDIR)$(BINPATH)
+DI=$(DESTDIR)$(INCPATH)
+DL=$(DESTDIR)$(LIBPATH)
+DM=$(DESTDIR)$(MANPATH)
+
+OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
+ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
+ pngwtran.o pngmem.o pngerror.o pngpread.o
+
+OBJSDLL = $(OBJS:.o=.pic.o)
+
+.SUFFIXES: .c .o .pic.o
+
+.c.pic.o:
+ $(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
+
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
+
+libpng.a: $(OBJS)
+ $(AR_RC) $@ $(OBJS)
+ $(RANLIB) $@
+
+libpng.pc:
+ cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+ -e s!@exec_prefix@!$(exec_prefix)! \
+ -e s!@libdir@!$(LIBPATH)! \
+ -e s!@includedir@!$(INCPATH)! \
+ -e s!-lpng15!-lpng15\ -lz\ -lm! > libpng.pc
+
+libpng-config:
+ ( cat scripts/libpng-config-head.in; \
+ echo prefix=\"$(prefix)\"; \
+ echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
+ echo libs=\"-lpng15 -lz -lm\"; \
+ cat scripts/libpng-config-body.in ) > libpng-config
+ chmod +x libpng-config
+
+$(LIBSO): $(LIBSOMAJ)
+ $(LN_SF) $(LIBSOMAJ) $(LIBSO)
+
+$(LIBSOMAJ): $(OBJSDLL)
+ $(LD) -b +s \
+ +h $(LIBSOMAJ) -o $(LIBSOMAJ) $(OBJSDLL)
+
+pngtest: pngtest.o $(LIBSO)
+ $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
+
+test: pngtest
+ ./pngtest
+
+
+install-headers: png.h pngconf.h pnglibconf.h
+ -@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
+ -@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
+ cp png.h pngconf.h pnglibconf.h $(DI)/$(LIBNAME)
+ chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h $(DI)/$(LIBNAME)/pnglibconf.h
+ -@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pnglibconf.h
+ -@$(RM_F) $(DI)/libpng
+ (cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
+
+install-static: install-headers libpng.a
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ cp libpng.a $(DL)/$(LIBNAME).a
+ chmod 644 $(DL)/$(LIBNAME).a
+ -@$(RM_F) $(DL)/libpng.a
+ (cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
+
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ -@$(RM_F) $(DL)/$(LIBSO)
+ -@$(RM_F) $(DL)/$(LIBSOREL)
+ -@$(RM_F) $(DL)/$(OLDSO)
+ cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+ chmod 755 $(DL)/$(LIBSOREL)
+ (cd $(DL); \
+ $(LN_SF) $(LIBSOREL) $(LIBSO); \
+ $(LN_SF) $(LIBSO) $(OLDSO))
+ -@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
+ -@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
+ -@$(RM_F) $(DL)/pkgconfig/libpng.pc
+ cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
+ chmod 644 $(DL)/pkgconfig/$(LIBNAME).pc
+ (cd $(DL)/pkgconfig; $(LN_SF) $(LIBNAME).pc libpng.pc)
+
+install-man: libpng.3 libpngpf.3 png.5
+ -@if [ ! -d $(DM) ]; then $(MKDIR_P) $(DM); fi
+ -@if [ ! -d $(DM)/man3 ]; then $(MKDIR_P) $(DM)/man3; fi
+ -@$(RM_F) $(DM)/man3/libpng.3
+ -@$(RM_F) $(DM)/man3/libpngpf.3
+ cp libpng.3 $(DM)/man3
+ cp libpngpf.3 $(DM)/man3
+ -@if [ ! -d $(DM)/man5 ]; then $(MKDIR_P) $(DM)/man5; fi
+ -@$(RM_F) $(DM)/man5/png.5
+ cp png.5 $(DM)/man5
+
+install-config: libpng-config
+ -@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi
+ -@$(RM_F) $(DB)/libpng-config
+ -@$(RM_F) $(DB)/$(LIBNAME)-config
+ cp libpng-config $(DB)/$(LIBNAME)-config
+ chmod 755 $(DB)/$(LIBNAME)-config
+ (cd $(DB); $(LN_SF) $(LIBNAME)-config libpng-config)
+
+install: install-static install-shared install-man install-config
+
+# If you installed in $(DESTDIR), test-installed won't work until you
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) -I$(DI) -I$(ZLIBINC) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -L$(DL) -L$(ZLIBLIB) -Wl,-rpath,$(DL) -Wl,-rpath,$(ZLIBLIB) \
+ -o pngtestd `$(BINPATH)/$(LIBNAME)-config --ldflags`
+ ./pngtestd pngtest.png
+
+test-installed:
+ echo
+ echo Testing installed dynamic shared library.
+ $(CC) -I$(ZLIBINC) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) \
+ -o pngtesti `$(BINPATH)/$(LIBNAME)-config --ldflags`
+ ./pngtesti pngtest.png
+
+clean:
+ $(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
+ libpng-config $(LIBSO) $(LIBSOMAJ)* \
+ libpng.pc pnglibconf.h
+
+DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
+writelock:
+ chmod a-w *.[ch35] $(DOCS) scripts/*
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+
+png.o png.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngset.o pngset.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngget.o pngget.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngread.o pngread.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+
+pngtest.o: png.h pngconf.h pnglibconf.h
diff --git a/third_party/libpng/scripts/makefile.hpux b/third_party/libpng/scripts/makefile.hpux
new file mode 100644
index 0000000000..650ab4f662
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.hpux
@@ -0,0 +1,221 @@
+# makefile for libpng, HPUX (10.20 and 11.00) using the ANSI/C product.
+# Copyright (C) 1999-2002, 2006, 2010-2011 Glenn Randers-Pehrson
+# Copyright (C) 1995 Guy Eric Schalnat, Group 42
+# contributed by Jim Rice and updated by Chris Schleicher, Hewlett Packard
+#
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+
+# Where the zlib library and include files are located
+ZLIBLIB=/opt/zlib/lib
+ZLIBINC=/opt/zlib/include
+
+# Note that if you plan to build a libpng shared library, zlib must also
+# be a shared library, which zlib's configure does not do. After running
+# zlib's configure, edit the appropriate lines of makefile to read:
+# CFLAGS=-O1 -DHAVE_UNISTD -DUSE_MAP -fPIC \
+# LDSHARED=ld -b
+# SHAREDLIB=libz.sl
+
+# Library name:
+LIBNAME = libpng15
+PNGMAJ = 15
+
+# Shared library names:
+LIBSO=$(LIBNAME).sl
+LIBSOMAJ=$(LIBNAME).sl.$(PNGMAJ)
+LIBSOREL=$(LIBSOMAJ).$(RELEASE)
+OLDSO=libpng.sl
+
+# Utilities:
+AR_RC=ar rc
+CC=cc
+MKDIR_P=mkdir -p
+LN_SF=ln -sf
+RANLIB=ranlib
+RM_F=/bin/rm -f
+
+# where make install puts libpng.a, libpng15.sl, and png.h
+prefix=/opt/libpng
+exec_prefix=$(prefix)
+INCPATH=$(prefix)/include
+LIBPATH=$(exec_prefix)/lib
+MANPATH=$(prefix)/man
+BINPATH=$(exec_prefix)/bin
+
+CFLAGS=-I$(ZLIBINC) -O -Ae +DA1.1 +DS2.0
+# Caution: be sure you have built zlib with the same CFLAGS.
+CCFLAGS=-I$(ZLIBINC) -O -Ae +DA1.1 +DS2.0
+LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
+
+# override DESTDIR= on the make install command line to easily support
+# installing into a temporary location. Example:
+#
+# make install DESTDIR=/tmp/build/libpng
+#
+# If you're going to install into a temporary location
+# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
+# you execute make install.
+DESTDIR=
+
+DB=$(DESTDIR)$(BINPATH)
+DI=$(DESTDIR)$(INCPATH)
+DL=$(DESTDIR)$(LIBPATH)
+DM=$(DESTDIR)$(MANPATH)
+
+OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
+ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
+ pngwtran.o pngmem.o pngerror.o pngpread.o
+
+OBJSDLL = $(OBJS:.o=.pic.o)
+
+.SUFFIXES: .c .o .pic.o
+
+.c.pic.o:
+ $(CC) -c $(CFLAGS) +z -o $@ $*.c
+
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
+
+# see scripts/pnglibconf.mak for more options
+pnglibconf.h: scripts/pnglibconf.h.prebuilt
+ cp scripts/pnglibconf.h.prebuilt $@
+
+libpng.a: $(OBJS)
+ $(AR_RC) $@ $(OBJS)
+ $(RANLIB) $@
+
+libpng.pc:
+ cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+ -e s!@exec_prefix@!$(exec_prefix)! \
+ -e s!@libdir@!$(LIBPATH)! \
+ -e s!@includedir@!$(INCPATH)! \
+ -e s!-lpng15!-lpng15\ -lz\ -lm! > libpng.pc
+
+libpng-config:
+ ( cat scripts/libpng-config-head.in; \
+ echo prefix=\"$(prefix)\"; \
+ echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
+ echo ccopts=\"-Ae +DA1.1 +DS2.0\"; \
+ echo L_opts=\"-L$(LIBPATH)\"; \
+ echo libs=\"-lpng15 -lz -lm\"; \
+ cat scripts/libpng-config-body.in ) > libpng-config
+ chmod +x libpng-config
+
+$(LIBSO): $(LIBSOMAJ)
+ $(LN_SF) $(LIBSOMAJ) $(LIBSO)
+
+$(LIBSOMAJ): $(OBJSDLL)
+ $(LD) -b +s \
+ +h $(LIBSOMAJ) -o $(LIBSOMAJ) $(OBJSDLL)
+
+pngtest: pngtest.o libpng.a
+ $(CC) -o pngtest $(CCFLAGS) pngtest.o $(LDFLAGS)
+
+test: pngtest
+ ./pngtest
+
+install-headers: png.h pngconf.h pnglibconf.h
+ -@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
+ -@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
+ cp png.h pngconf.h pnglibconf.h $(DI)/$(LIBNAME)
+ chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h $(DI)/$(LIBNAME)/pnglibconf.h
+ -@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pnglibconf.h
+ -@$(RM_F) $(DI)/libpng
+ (cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
+
+install-static: install-headers libpng.a
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ cp libpng.a $(DL)/$(LIBNAME).a
+ chmod 644 $(DL)/$(LIBNAME).a
+ -@$(RM_F) $(DL)/libpng.a
+ (cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
+
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ -@$(RM_F) $(DL)/$(LIBSO)
+ -@$(RM_F) $(DL)/$(LIBSOREL)
+ -@$(RM_F) $(DL)/$(OLDSO)
+ cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+ chmod 755 $(DL)/$(LIBSOREL)
+ (cd $(DL); \
+ $(LN_SF) $(LIBSOREL) $(LIBSO); \
+ $(LN_SF) $(LIBSO) $(OLDSO))
+ -@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
+ -@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
+ -@$(RM_F) $(DL)/pkgconfig/libpng.pc
+ cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
+ chmod 644 $(DL)/pkgconfig/$(LIBNAME).pc
+ (cd $(DL)/pkgconfig; $(LN_SF) $(LIBNAME).pc libpng.pc)
+
+install-man: libpng.3 libpngpf.3 png.5
+ -@if [ ! -d $(DM) ]; then $(MKDIR_P) $(DM); fi
+ -@if [ ! -d $(DM)/man3 ]; then $(MKDIR_P) $(DM)/man3; fi
+ -@$(RM_F) $(DM)/man3/libpng.3
+ -@$(RM_F) $(DM)/man3/libpngpf.3
+ cp libpng.3 $(DM)/man3
+ cp libpngpf.3 $(DM)/man3
+ -@if [ ! -d $(DM)/man5 ]; then $(MKDIR_P) $(DM)/man5; fi
+ -@$(RM_F) $(DM)/man5/png.5
+ cp png.5 $(DM)/man5
+
+install-config: libpng-config
+ -@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi
+ -@$(RM_F) $(DB)/libpng-config
+ -@$(RM_F) $(DB)/$(LIBNAME)-config
+ cp libpng-config $(DB)/$(LIBNAME)-config
+ chmod 755 $(DB)/$(LIBNAME)-config
+ (cd $(DB); $(LN_SF) $(LIBNAME)-config libpng-config)
+
+install: install-static install-shared install-man install-config
+
+# If you installed in $(DESTDIR), test-installed won't work until you
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) -I$(DI) -I$(ZLIBINC) $(CCFLAGS) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -L$(DL) -L$(ZLIBLIB) \
+ -o pngtestd `$(BINPATH)/$(LIBNAME)-config --ldflags`
+ ./pngtestd pngtest.png
+
+test-installed:
+ echo
+ echo Testing installed dynamic shared library.
+ $(CC) $(CCFLAGS) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -L$(ZLIBLIB) \
+ -o pngtesti `$(BINPATH)/$(LIBNAME)-config --ldflags`
+ ./pngtesti pngtest.png
+
+clean:
+ $(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
+ libpng-config $(LIBSO) $(LIBSOMAJ)* \
+ libpng.pc pnglibconf.h
+
+DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
+writelock:
+ chmod a-w *.[ch35] $(DOCS) scripts/*
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+
+png.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngerror.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngmem.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngset.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngget.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngtrans.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwrite.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngpread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+
+pngtest.o: png.h pngconf.h pnglibconf.h
diff --git a/third_party/libpng/scripts/makefile.ibmc b/third_party/libpng/scripts/makefile.ibmc
new file mode 100644
index 0000000000..209d513b1c
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.ibmc
@@ -0,0 +1,82 @@
+# Makefile for libpng (static)
+# IBM C version 3.x for Win32 and OS/2
+# Copyright (C) 2006 Glenn Randers-Pehrson
+# Copyright (C) 2000 Cosmin Truta
+#
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+#
+# Notes:
+# Derived from makefile.std
+# All modules are compiled in C mode
+# Tested under Win32, expected to work under OS/2
+# Can be easily adapted for IBM VisualAge/C++ for AIX
+
+# Location of the zlib library and include files
+ZLIBINC = ../zlib
+ZLIBLIB = ../zlib
+
+# Compiler, linker, lib and other tools
+CC = icc
+LD = ilink
+AR = ilib
+RM = del
+
+CFLAGS = -I$(ZLIBINC) -Mc -O2 -W3
+LDFLAGS =
+
+# File extensions
+O=.obj
+A=.lib
+E=.exe
+
+# Variables
+OBJS = png$(O) pngerror$(O) pngget$(O) pngmem$(O) pngpread$(O) \
+ pngread$(O) pngrio$(O) pngrtran$(O) pngrutil$(O) pngset$(O) \
+ pngtrans$(O) pngwio$(O) pngwrite$(O) pngwtran$(O) pngwutil$(O)
+
+LIBS = libpng$(A) $(ZLIBLIB)/zlib$(A)
+
+# Targets
+all: libpng$(A) pngtest$(E)
+
+# see scripts/pnglibconf.mak for more options
+pnglibconf.h: scripts/pnglibconf.h.prebuilt
+ cp scripts/pnglibconf.h.prebuilt $@
+
+libpng$(A): $(OBJS)
+ $(AR) -out:$@ $(OBJS)
+
+test: pngtest$(E)
+ pngtest$(E)
+
+pngtest: pngtest$(E)
+
+pngtest$(E): pngtest$(O) libpng$(A)
+ $(LD) $(LDFLAGS) pngtest$(O) $(LIBS)
+
+clean:
+ $(RM) *$(O)
+ $(RM) libpng$(A)
+ $(RM) pnglibconf.h
+ $(RM) pngtest$(E)
+ $(RM) pngout.png
+
+png$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngerror$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngget$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngmem$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngpread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngset$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngtrans$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwrite$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+
+pngtest$(O): png.h pngconf.h pnglibconf.h
diff --git a/third_party/libpng/scripts/makefile.intel b/third_party/libpng/scripts/makefile.intel
new file mode 100644
index 0000000000..1cb9ef3749
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.intel
@@ -0,0 +1,110 @@
+# Makefile for libpng
+# Microsoft Visual C++ with Intel C/C++ Compiler 4.0 and later
+
+# Copyright (C) 2006 Glenn Randers-Pehrson
+# Copyright (C) 2000, Pawel Mrochen, based on makefile.msc which is
+# copyright 1995 Guy Eric Schalnat, Group 42, Inc.
+#
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+#
+# To use, do "nmake /f scripts\makefile.intel"
+#
+# ------------------- Intel C/C++ Compiler 4.0 and later -------------------
+
+# Where the zlib library and include files are located
+ZLIBLIB=..\zlib
+ZLIBINC=..\zlib
+
+# Target CPU
+CPU=6 # Pentium II
+#CPU=5 # Pentium
+
+# Calling convention
+CALLING=r # __fastcall
+#CALLING=z # __stdcall
+#CALLING=d # __cdecl
+
+# Uncomment next to put error messages in a file
+#ERRFILE=>>pngerrs
+
+# --------------------------------------------------------------------------
+
+CC=icl -c
+CFLAGS=-O2 -G$(CPU)$(CALLING) -Qip -Qunroll4 -I$(ZLIBINC) -nologo
+LD=link
+LDFLAGS=/SUBSYSTEM:CONSOLE /NOLOGO
+
+O=.obj
+
+OBJS=png$(O) pngset$(O) pngget$(O) pngrutil$(O) pngtrans$(O) pngwutil$(O) \
+pngmem$(O) pngpread$(O) pngread$(O) pngerror$(O) pngwrite$(O) \
+pngrtran$(O) pngwtran$(O) pngrio$(O) pngwio$(O)
+
+all: test
+
+# see scripts/pnglibconf.mak for more options
+pnglibconf.h: scripts/pnglibconf.h.prebuilt
+ cp scripts/pnglibconf.h.prebuilt $@
+
+png$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+pngset$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+pngget$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+pngread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+pngpread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+pngrtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+pngrutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+pngerror$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+pngmem$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+pngrio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+pngwio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+pngtrans$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+pngwrite$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+pngwtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+pngwutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+libpng.lib: $(OBJS)
+ if exist libpng.lib del libpng.lib
+ lib /NOLOGO /OUT:libpng.lib $(OBJS)
+
+pngtest.exe: pngtest.obj libpng.lib
+ $(LD) $(LDFLAGS) /OUT:pngtest.exe pngtest.obj libpng.lib $(ZLIBLIB)\zlib.lib
+
+pngtest$(O): png.h pngconf.h pnglibconf.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+test: pngtest.exe
+ pngtest.exe
+
+
+# End of makefile for libpng
diff --git a/third_party/libpng/scripts/makefile.knr b/third_party/libpng/scripts/makefile.knr
new file mode 100644
index 0000000000..18a39f5375
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.knr
@@ -0,0 +1,109 @@
+# makefile for libpng
+# Copyright (C) 2002, 2006, 2009 Glenn Randers-Pehrson
+# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
+#
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+#
+# This makefile requires the file ansi2knr.c, which you can get
+# from the Ghostscript ftp site at ftp://ftp.cs.wisc.edu/ghost/
+# If you have libjpeg, you probably already have ansi2knr.c in the jpeg
+# source distribution.
+
+# where make install puts libpng.a and png.h
+prefix=/usr/local
+INCPATH=$(prefix)/include
+LIBPATH=$(prefix)/lib
+
+# override DESTDIR= on the make install command line to easily support
+# installing into a temporary location. Example:
+#
+# make install DESTDIR=/tmp/build/libpng
+#
+# If you're going to install into a temporary location
+# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
+# you execute make install.
+DESTDIR=
+
+CC=cc
+CFLAGS=-I../zlib -O
+LDFLAGS=-L. -L../zlib/ -lpng -lz -lm
+# flags for ansi2knr
+ANSI2KNRFLAGS=
+
+RANLIB=ranlib
+#RANLIB=echo
+
+OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
+ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
+ pngwtran.o pngmem.o pngerror.o pngpread.o
+
+all: ansi2knr libpng.a pngtest
+
+# see scripts/pnglibconf.mak for more options
+pnglibconf.h: scripts/pnglibconf.h.prebuilt
+ cp scripts/pnglibconf.h.prebuilt $@
+
+# general rule to allow ansi2knr to work
+.c.o:
+ ./ansi2knr $*.c T$*.c
+ $(CC) $(CFLAGS) -c T$*.c
+ rm -f T$*.c $*.o
+ mv T$*.o $*.o
+
+ansi2knr: ansi2knr.c
+ $(CC) $(CFLAGS) $(ANSI2KNRFLAGS) -o ansi2knr ansi2knr.c
+
+libpng.a: ansi2knr $(OBJS)
+ ar rc $@ $(OBJS)
+ $(RANLIB) $@
+
+pngtest: pngtest.o libpng.a
+ $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
+
+test: pngtest
+ ./pngtest
+
+install: libpng.a png.h pngconf.h pnglibconf.h
+ -@mkdir $(DESTDIR)$(INCPATH)
+ -@mkdir $(DESTDIR)$(INCPATH)/libpng
+ -@mkdir $(DESTDIR)$(LIBPATH)
+ -@rm -f $(DESTDIR)$(INCPATH)/png.h
+ -@rm -f $(DESTDIR)$(INCPATH)/pngconf.h
+ cp png.h $(DESTDIR)$(INCPATH)/libpng
+ cp pngconf.h $(DESTDIR)$(INCPATH)/libpng
+ cp pnglibconf.h $(DESTDIR)$(INCPATH)/libpng
+ chmod 644 $(DESTDIR)$(INCPATH)/libpng/png.h
+ chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngconf.h
+ chmod 644 $(DESTDIR)$(INCPATH)/libpng/pnglibconf.h
+ (cd $(DESTDIR)$(INCPATH); ln -f -s libpng/* .)
+ cp libpng.a $(DESTDIR)$(LIBPATH)
+ chmod 644 $(DESTDIR)$(LIBPATH)/libpng.a
+
+clean:
+ rm -f *.o libpng.a pngtest pngout.png ansi2knr pnglibconf.h
+
+DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
+writelock:
+ chmod a-w *.[ch35] $(DOCS) scripts/*
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+
+png.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngerror.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngmem.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngset.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngget.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngpread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngtrans.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwrite.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+
+pngtest.o: png.h pngconf.h pnglibconf.h
diff --git a/third_party/libpng/scripts/makefile.linux b/third_party/libpng/scripts/makefile.linux
new file mode 100644
index 0000000000..59296562b6
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.linux
@@ -0,0 +1,239 @@
+# makefile for libpng.a and libpng15.so on Linux ELF with gcc
+# Copyright (C) 1998, 1999, 2002, 2006, 2008, 2010-2011 Greg Roelofs and
+# Glenn Randers-Pehrson
+# Copyright (C) 1996, 1997 Andreas Dilger
+#
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+
+# Library name:
+LIBNAME = libpng15
+PNGMAJ = 15
+RELEASE = 2
+
+# Shared library names:
+LIBSO=$(LIBNAME).so
+LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
+LIBSOREL=$(LIBSOMAJ).$(RELEASE)
+OLDSO=libpng.so
+
+# Utilities:
+AR_RC=ar rc
+CC=gcc
+MKDIR_P=mkdir -p
+LN_SF=ln -sf
+RANLIB=ranlib
+RM_F=/bin/rm -f
+
+# where "make install" puts libpng15.a, libpng15.so*,
+# libpng15/png.h, libpng15/pngconf.h, and libpng15/pnglibconf.h
+# Prefix must be a full pathname.
+prefix=/usr/local
+exec_prefix=$(prefix)
+
+# Where the zlib library and include files are located.
+#ZLIBLIB=/usr/local/lib
+#ZLIBINC=/usr/local/include
+ZLIBLIB=../zlib
+ZLIBINC=../zlib
+
+ALIGN=
+# for i386:
+#ALIGN=-malign-loops=2 -malign-functions=2
+
+WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
+ -Wmissing-declarations -Wtraditional -Wcast-align \
+ -Wstrict-prototypes -Wmissing-prototypes #-Wconversion
+
+# for pgcc version 2.95.1, -O3 is buggy; don't use it.
+
+CFLAGS=-I$(ZLIBINC) -W -Wall -O3 -funroll-loops \
+ $(ALIGN) # $(WARNMORE) -g -DPNG_DEBUG=5
+
+LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng15 -lz -lm
+LDFLAGS_A=-L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) libpng.a -lz -lm
+
+INCPATH=$(prefix)/include
+LIBPATH=$(exec_prefix)/lib
+MANPATH=$(prefix)/man
+BINPATH=$(exec_prefix)/bin
+
+# override DESTDIR= on the make install command line to easily support
+# installing into a temporary location. Example:
+#
+# make install DESTDIR=/tmp/build/libpng
+#
+# If you're going to install into a temporary location
+# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
+# you execute make install.
+DESTDIR=
+
+DB=$(DESTDIR)$(BINPATH)
+DI=$(DESTDIR)$(INCPATH)
+DL=$(DESTDIR)$(LIBPATH)
+DM=$(DESTDIR)$(MANPATH)
+
+OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
+ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
+ pngwtran.o pngmem.o pngerror.o pngpread.o
+
+OBJSDLL = $(OBJS:.o=.pic.o)
+
+.SUFFIXES: .c .o .pic.o
+
+.c.pic.o:
+ $(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
+
+all: libpng.a $(LIBSO) pngtest pngtest-static libpng.pc libpng-config
+
+# see scripts/pnglibconf.mak for more options
+pnglibconf.h: scripts/pnglibconf.h.prebuilt
+ cp scripts/pnglibconf.h.prebuilt $@
+
+libpng.a: $(OBJS)
+ $(AR_RC) $@ $(OBJS)
+ $(RANLIB) $@
+
+libpng.pc:
+ cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+ -e s!@exec_prefix@!$(exec_prefix)! \
+ -e s!@libdir@!$(LIBPATH)! \
+ -e s!@includedir@!$(INCPATH)! \
+ -e s!-lpng15!-lpng15\ -lz\ -lm! > libpng.pc
+
+libpng-config:
+ ( cat scripts/libpng-config-head.in; \
+ echo prefix=\"$(prefix)\"; \
+ echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
+ echo L_opts=\"-L$(LIBPATH)\"; \
+ echo R_opts=\"-Wl,-rpath,$(LIBPATH)\"; \
+ echo libs=\"-lpng15 -lz -lm\"; \
+ cat scripts/libpng-config-body.in ) > libpng-config
+ chmod +x libpng-config
+
+$(LIBSO): $(LIBSOMAJ)
+ $(LN_SF) $(LIBSOMAJ) $(LIBSO)
+
+$(LIBSOMAJ): $(OBJSDLL)
+ $(CC) -shared -Wl,-soname,$(LIBSOMAJ) -o $(LIBSOMAJ) $(OBJSDLL)
+
+pngtest: pngtest.o $(LIBSO)
+ $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
+
+pngtest-static: pngtest.o libpng.a
+ $(CC) -o pngtest-static $(CFLAGS) pngtest.o $(LDFLAGS_A)
+
+test: pngtest pngtest-static
+ @echo ""
+ @echo " Running pngtest dynamically linked with $(LIBSO):"
+ @echo ""
+ ./pngtest
+ @echo ""
+ @echo " Running pngtest statically linked with libpng.a:"
+ @echo ""
+ ./pngtest-static
+
+install-headers: png.h pngconf.h pnglibconf.h
+ -@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
+ -@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
+ cp png.h pngconf.h pnglibconf.h $(DI)/$(LIBNAME)
+ chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h $(DI)/$(LIBNAME)/pnglibconf.h
+ -@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pnglibconf.h
+ -@$(RM_F) $(DI)/libpng
+ (cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
+
+install-static: install-headers libpng.a
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ cp libpng.a $(DL)/$(LIBNAME).a
+ chmod 644 $(DL)/$(LIBNAME).a
+ -@$(RM_F) $(DL)/libpng.a
+ (cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
+
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ -@$(RM_F) $(DL)/$(LIBSO)
+ -@$(RM_F) $(DL)/$(LIBSOREL)
+ -@$(RM_F) $(DL)/$(OLDSO)
+ cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+ chmod 755 $(DL)/$(LIBSOREL)
+ (cd $(DL); \
+ $(LN_SF) $(LIBSOREL) $(LIBSO); \
+ $(LN_SF) $(LIBSO) $(OLDSO))
+
+ -@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
+ -@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
+ -@$(RM_F) $(DL)/pkgconfig/libpng.pc
+ cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
+ chmod 644 $(DL)/pkgconfig/$(LIBNAME).pc
+ (cd $(DL)/pkgconfig; $(LN_SF) $(LIBNAME).pc libpng.pc)
+
+install-man: libpng.3 libpngpf.3 png.5
+ -@if [ ! -d $(DM) ]; then $(MKDIR_P) $(DM); fi
+ -@if [ ! -d $(DM)/man3 ]; then $(MKDIR_P) $(DM)/man3; fi
+ -@$(RM_F) $(DM)/man3/libpng.3
+ -@$(RM_F) $(DM)/man3/libpngpf.3
+ cp libpng.3 $(DM)/man3
+ cp libpngpf.3 $(DM)/man3
+ -@if [ ! -d $(DM)/man5 ]; then $(MKDIR_P) $(DM)/man5; fi
+ -@$(RM_F) $(DM)/man5/png.5
+ cp png.5 $(DM)/man5
+
+install-config: libpng-config
+ -@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi
+ -@$(RM_F) $(DB)/libpng-config
+ -@$(RM_F) $(DB)/$(LIBNAME)-config
+ cp libpng-config $(DB)/$(LIBNAME)-config
+ chmod 755 $(DB)/$(LIBNAME)-config
+ (cd $(DB); $(LN_SF) $(LIBNAME)-config libpng-config)
+
+install: install-static install-shared install-man install-config
+
+# If you installed in $(DESTDIR), test-installed won't work until you
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) -I$(DI) -I$(ZLIBINC) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -L$(DL) -L$(ZLIBLIB) -Wl, -rpath,$(DL) -Wl,-rpath,$(ZLIBLIB) \
+ -o pngtestd `$(BINPATH)/$(LIBNAME)-config --ldflags`
+ ./pngtestd pngtest.png
+
+test-installed:
+ $(CC) -I$(ZLIBINC) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) \
+ -o pngtesti `$(BINPATH)/$(LIBNAME)-config --ldflags`
+ ./pngtesti pngtest.png
+
+clean:
+ $(RM_F) *.o libpng.a pngtest pngout.png libpng-config \
+ $(LIBSO) $(LIBSOMAJ)* pngtest-static pngtesti \
+ libpng.pc pnglibconf.h
+
+DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
+writelock:
+ chmod a-w *.[ch35] $(DOCS) scripts/*
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+
+png.o png.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngset.o pngset.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngget.o pngget.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngread.o pngread.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+
+pngtest.o: png.h pngconf.h
diff --git a/third_party/libpng/scripts/makefile.mips b/third_party/libpng/scripts/makefile.mips
new file mode 100644
index 0000000000..179d3850b6
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.mips
@@ -0,0 +1,94 @@
+# makefile for libpng
+# Copyright (C) Glenn Randers-Pehrson
+# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
+#
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+
+# where make install puts libpng.a and png.h
+prefix=/usr/local
+INCPATH=$(prefix)/include
+LIBPATH=$(prefix)/lib
+
+# override DESTDIR= on the make install command line to easily support
+# installing into a temporary location. Example:
+#
+# make install DESTDIR=/tmp/build/libpng
+#
+# If you're going to install into a temporary location
+# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
+# you execute make install.
+DESTDIR=
+
+CC=cc
+CFLAGS=-I../zlib -O -systype sysv -DSYSV -w -Dmips
+#CFLAGS=-O
+LDFLAGS=-L. -L../zlib/ -lpng -lz -lm
+
+#RANLIB=ranlib
+RANLIB=echo
+
+OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
+ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
+ pngwtran.o pngmem.o pngerror.o pngpread.o
+
+all: libpng.a pngtest
+
+# see scripts/pnglibconf.mak for more options
+pnglibconf.h: scripts/pnglibconf.h.prebuilt
+ cp scripts/pnglibconf.h.prebuilt $@
+
+libpng.a: $(OBJS)
+ ar rc $@ $(OBJS)
+ $(RANLIB) $@
+
+pngtest: pngtest.o libpng.a
+ $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
+
+test: pngtest
+ ./pngtest
+
+install: libpng.a
+ -@mkdir $(DESTDIR)$(INCPATH)
+ -@mkdir $(DESTDIR)$(INCPATH)/libpng
+ -@mkdir $(DESTDIR)$(LIBPATH)
+ -@rm -f $(DESTDIR)$(INCPATH)/png.h
+ -@rm -f $(DESTDIR)$(INCPATH)/pngconf.h
+ -@rm -f $(DESTDIR)$(INCPATH)/pnglibconf.h
+ cp png.h $(DESTDIR)$(INCPATH)/libpng
+ cp pngconf.h $(DESTDIR)$(INCPATH)/libpng
+ cp pnglibconf.h $(DESTDIR)$(INCPATH)/libpng
+ chmod 644 $(DESTDIR)$(INCPATH)/libpng/png.h
+ chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngconf.h
+ chmod 644 $(DESTDIR)$(INCPATH)/libpng/pnglibconf.h
+ (cd $(DESTDIR)$(INCPATH); ln -f -s libpng/* .)
+ cp libpng.a $(DESTDIR)$(LIBPATH)
+ chmod 644 $(DESTDIR)$(LIBPATH)/libpng.a
+
+clean:
+ rm -f *.o libpng.a pngtest pngout.png pnglibconf.h
+
+DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
+writelock:
+ chmod a-w *.[ch35] $(DOCS) scripts/*
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+
+png.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngerror.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngmem.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngset.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngget.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngpread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngtrans.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwrite.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+
+pngtest.o: png.h pngconf.h pnglibconf.h
diff --git a/third_party/libpng/scripts/makefile.msc b/third_party/libpng/scripts/makefile.msc
new file mode 100644
index 0000000000..baa863dad9
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.msc
@@ -0,0 +1,95 @@
+# makefile for libpng
+# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
+# Copyright (C) 2006, 2009 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
+#
+# Assumes that zlib.lib, zconf.h, and zlib.h have been copied to ..\zlib
+
+# -------- Microsoft C 5.1 and later, does not use assembler code --------
+MODEL=L
+CFLAGS=-Oait -Gs -nologo -W3 -A$(MODEL) -I..\zlib
+#-Ox generates bad code with MSC 5.1
+CC=cl
+LD=link
+LDFLAGS=/e/st:0x1500/noe
+O=.obj
+
+#uncomment next to put error messages in a file
+ERRFILE= >> pngerrs
+
+# variables
+OBJS1 = png$(O) pngset$(O) pngget$(O) pngrutil$(O) pngtrans$(O) pngwutil$(O)
+OBJS2 = pngmem$(O) pngpread$(O) pngread$(O) pngerror$(O) pngwrite$(O)
+OBJS3 = pngrtran$(O) pngwtran$(O) pngrio$(O) pngwio$(O)
+
+all: libpng.lib
+
+# see scripts/pnglibconf.mak for more options
+pnglibconf.h: scripts/pnglibconf.h.prebuilt
+ cp scripts/pnglibconf.h.prebuilt $@
+
+png$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngset$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngget$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngpread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngrtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngrutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngerror$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngmem$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngrio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngwio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngtrans$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngwrite$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngwtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngwutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+libpng.lib: $(OBJS1) $(OBJS2) $(OBJS3)
+ del libpng.lib
+ lib libpng $(OBJS1);
+ lib libpng $(OBJS2);
+ lib libpng $(OBJS3);
+
+pngtest$(O): png.h pngconf.h pnglibconf.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngtest.exe: pngtest.obj libpng.lib
+ $(LD) $(LDFLAGS) pngtest.obj,,,libpng.lib ..\zlib\zlib.lib ;
+
+test: pngtest.exe
+ pngtest
+
+# End of makefile for libpng
+
diff --git a/third_party/libpng/scripts/makefile.ne12bsd b/third_party/libpng/scripts/makefile.ne12bsd
new file mode 100644
index 0000000000..1db9cf9511
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.ne12bsd
@@ -0,0 +1,50 @@
+# makefile for libpng for NetBSD for the standard
+# make obj && make depend && make && make test
+# make includes && make install
+# Copyright (C) 2002 Patrick R.L. Welche
+# Copyright (C) 2007, 2009 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
+
+# You should also run makefile.netbsd
+
+LOCALBASE?=/usr/local
+LIBDIR= ${LOCALBASE}/lib
+MANDIR= ${LOCALBASE}/man
+INCSDIR=${LOCALBASE}/include/libpng15
+
+LIB= png15
+SHLIB_MAJOR= 0
+SHLIB_MINOR= 1.5.2
+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
+INCS= png.h pngconf.h pnglibconf.h
+MAN= libpng.3 libpngpf.3 png.5
+
+CPPFLAGS+=-I${.CURDIR}
+
+# We should be able to do something like this instead of the manual
+# uncommenting, but it core dumps for me at the moment:
+# .if ${MACHINE_ARCH} == "i386"
+# MKLINT= no
+# .endif
+
+CLEANFILES+=pngtest.o pngtest pnglibconf.h
+
+# see scripts/pnglibconf.mak for more options
+pnglibconf.h: scripts/pnglibconf.h.prebuilt
+ cp scripts/pnglibconf.h.prebuilt $@
+
+pngtest.o: pngtest.c
+ ${CC} -c ${CPPFLAGS} ${CFLAGS} ${.ALLSRC} -o ${.TARGET}
+
+pngtest: pngtest.o libpng.a
+ ${CC} ${LDFLAGS} ${.ALLSRC} -o${.TARGET} -lz -lm
+
+test: pngtest
+ cd ${.CURDIR} && ${.OBJDIR}/pngtest
+
+.include <bsd.lib.mk>
diff --git a/third_party/libpng/scripts/makefile.netbsd b/third_party/libpng/scripts/makefile.netbsd
new file mode 100644
index 0000000000..8a1fa967ea
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.netbsd
@@ -0,0 +1,50 @@
+# makefile for libpng for NetBSD for the standard
+# make obj && make depend && make && make test
+# make includes && make install
+# Copyright (C) 2002 Patrick R.L. Welche
+# Copyright (C) 2007-2009 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
+
+# You should also run makefile.ne15bsd
+
+LOCALBASE?=/usr/local
+LIBDIR= ${LOCALBASE}/lib
+MANDIR= ${LOCALBASE}/man
+INCSDIR=${LOCALBASE}/include
+
+LIB= png
+SHLIB_MAJOR= 15
+SHLIB_MINOR= 1.5.2
+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
+INCS= png.h pngconf.h pnglibconf.h
+MAN= libpng.3 libpngpf.3 png.5
+
+CPPFLAGS+=-I${.CURDIR}
+
+# We should be able to do something like this instead of the manual
+# uncommenting, but it core dumps for me at the moment:
+# .if ${MACHINE_ARCH} == "i386"
+# MKLINT= no
+# .endif
+
+CLEANFILES+=pngtest.o pngtest pnglibconf.h
+
+# see scripts/pnglibconf.mak for more options
+pnglibconf.h: scripts/pnglibconf.h.prebuilt
+ cp scripts/pnglibconf.h.prebuilt $@
+
+pngtest.o: pngtest.c
+ ${CC} -c ${CPPFLAGS} ${CFLAGS} ${.ALLSRC} -o ${.TARGET}
+
+pngtest: pngtest.o libpng.a
+ ${CC} ${LDFLAGS} ${.ALLSRC} -o${.TARGET} -lz -lm
+
+test: pngtest
+ cd ${.CURDIR} && ${.OBJDIR}/pngtest
+
+.include <bsd.lib.mk>
diff --git a/third_party/libpng/scripts/makefile.openbsd b/third_party/libpng/scripts/makefile.openbsd
new file mode 100644
index 0000000000..4ec9d2f5a6
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.openbsd
@@ -0,0 +1,82 @@
+# makefile for libpng
+# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
+# Copyright (C) 2007-2009 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
+
+PREFIX?= /usr/local
+LIBDIR= ${PREFIX}/lib
+MANDIR= ${PREFIX}/man/cat
+
+SHLIB_MAJOR= 15
+SHLIB_MINOR= 1.5.2
+
+LIB= png
+SRCS= png.c pngerror.c pngget.c pngmem.c pngpread.c \
+ pngread.c pngrio.c pngrtran.c pngrutil.c pngset.c pngtrans.c \
+ pngwio.c pngwrite.c pngwtran.c pngwutil.c
+
+HDRS= png.h pngconf.h pnglibconf.h
+
+CFLAGS+= -W -Wall
+CPPFLAGS+= -I${.CURDIR}
+
+NOPROFILE= Yes
+
+CLEANFILES+= pngtest.o pngtest pnglibconf.h
+
+MAN= libpng.3 libpngpf.3 png.5
+DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO \
+ libpng-manual.txt
+
+# see scripts/pnglibconf.mak for more options
+pnglibconf.h: scripts/pnglibconf.h.prebuilt
+ cp scripts/pnglibconf.h.prebuilt $@
+
+pngtest.o: pngtest.c
+ ${CC} ${CPPFLAGS} ${CFLAGS} -c ${.ALLSRC} -o ${.TARGET}
+
+pngtest: pngtest.o
+ ${CC} ${LDFLAGS} ${.ALLSRC} -o ${.TARGET} -L${.OBJDIR} -lpng -lz -lm
+
+test: pngtest
+ cd ${.OBJDIR} && env \
+ LD_LIBRARY_PATH="${.OBJDIR}" ${.OBJDIR}/pngtest
+
+beforeinstall:
+ if [ ! -d ${DESTDIR}${PREFIX}/include/libpng ]; then \
+ ${INSTALL} -d -o root -g wheel ${DESTDIR}${PREFIX}/include; \
+ fi
+ if [ ! -d ${DESTDIR}${LIBDIR} ]; then \
+ ${INSTALL} -d -o root -g wheel ${DESTDIR}${LIBDIR}; \
+ fi
+ if [ ! -d ${DESTDIR}${LIBDIR}/debug ]; then \
+ ${INSTALL} -d -o root -g wheel ${DESTDIR}${LIBDIR}/debug; \
+ fi
+ if [ ! -d ${DESTDIR}${MANDIR}3 ]; then \
+ ${INSTALL} -d -o root -g wheel ${DESTDIR}${MANDIR}3; \
+ fi
+ if [ ! -d ${DESTDIR}${MANDIR}5 ]; then \
+ ${INSTALL} -d -o root -g wheel ${DESTDIR}${MANDIR}5; \
+ fi
+ if [ ! -d ${DESTDIR}${PREFIX}/share/doc/png ]; then \
+ ${INSTALL} -d -o root -g wheel ${DESTDIR}${PREFIX}/share/doc/png; \
+ fi
+
+afterinstall:
+ @rm -f ${DESTDIR}${LIBDIR}/libpng_pic.a
+ @rm -f ${DESTDIR}${LIBDIR}/debug/libpng.a
+ @rm -f ${DESTDIR}${PREFIX}/include/png.h
+ @rm -f ${DESTDIR}${PREFIX}/include/pngconf.h
+ @rm -f ${DESTDIR}${PREFIX}/include/pnglibconf.h
+ @rmdir ${DESTDIR}${LIBDIR}/debug 2>/dev/null || true
+ ${INSTALL} ${INSTALL_COPY} -o ${SHAREOWN} -g ${SHAREGRP} \
+ -m ${NONBINMODE} ${HDRS} ${DESTDIR}${PREFIX}/include
+ ${INSTALL} ${INSTALL_COPY} -o ${SHAREOWN} -g ${SHAREGRP} \
+ -m ${NONBINMODE} ${HDRS} ${DESTDIR}${PREFIX}/include
+ ${INSTALL} ${INSTALL_COPY} -o ${SHAREOWN} -g ${SHAREGRP} \
+ -m ${NONBINMODE} ${DOCS} ${DESTDIR}${PREFIX}/share/doc/png
+
+.include <bsd.lib.mk>
diff --git a/third_party/libpng/scripts/makefile.sco b/third_party/libpng/scripts/makefile.sco
new file mode 100644
index 0000000000..0aad789a98
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.sco
@@ -0,0 +1,218 @@
+# makefile for SCO OSr5 ELF and Unixware 7 with Native cc
+# Contributed by Mike Hopkirk (hops@sco.com) modified from Makefile.lnx
+# force ELF build dynamic linking, SONAME setting in lib and RPATH in app
+# Copyright (C) 2002, 2006, 2010-2011 Glenn Randers-Pehrson
+# Copyright (C) 1998 Greg Roelofs
+# Copyright (C) 1996, 1997 Andreas Dilger
+#
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+
+# Library name:
+LIBNAME = libpng15
+PNGMAJ = 15
+
+# Shared library names:
+LIBSO=$(LIBNAME).so
+LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
+LIBSOREL=$(LIBSOMAJ).$(RELEASE)
+OLDSO=libpng.so
+
+# Utilities:
+CC=cc
+AR_RC=ar rc
+MKDIR_P=mkdir
+LN_SF=ln -f -s
+RANLIB=echo
+RM_F=/bin/rm -f
+
+# where make install puts libpng.a, $(OLDSO)*, and png.h
+prefix=/usr/local
+exec_prefix=$(prefix)
+
+# Where the zlib library and include files are located
+#ZLIBLIB=/usr/local/lib
+#ZLIBINC=/usr/local/include
+ZLIBLIB=../zlib
+ZLIBINC=../zlib
+
+CFLAGS= -dy -belf -I$(ZLIBINC) -O3
+LDFLAGS=-L. -L$(ZLIBLIB) -lpng15 -lz -lm
+
+INCPATH=$(prefix)/include
+LIBPATH=$(exec_prefix)/lib
+MANPATH=$(prefix)/man
+BINPATH=$(exec_prefix)/bin
+
+# override DESTDIR= on the make install command line to easily support
+# installing into a temporary location. Example:
+#
+# make install DESTDIR=/tmp/build/libpng
+#
+# If you're going to install into a temporary location
+# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
+# you execute make install.
+DESTDIR=
+
+DB=$(DESTDIR)$(BINPATH)
+DI=$(DESTDIR)$(INCPATH)
+DL=$(DESTDIR)$(LIBPATH)
+DM=$(DESTDIR)$(MANPATH)
+
+OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
+ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
+ pngwtran.o pngmem.o pngerror.o pngpread.o
+
+OBJSDLL = $(OBJS:.o=.pic.o)
+
+.SUFFIXES: .c .o .pic.o
+
+.c.pic.o:
+ $(CC) -c $(CFLAGS) -KPIC -o $@ $*.c
+
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
+
+# see scripts/pnglibconf.mak for more options
+pnglibconf.h: scripts/pnglibconf.h.prebuilt
+ cp scripts/pnglibconf.h.prebuilt $@
+
+libpng.a: $(OBJS)
+ $(AR_RC) $@ $(OBJS)
+ $(RANLIB) $@
+
+libpng.pc:
+ cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+ -e s!@exec_prefix@!$(exec_prefix)! \
+ -e s!@libdir@!$(LIBPATH)! \
+ -e s!@includedir@!$(INCPATH)! \
+ -e s!-lpng15!-lpng15\ -lz\ -lm! > libpng.pc
+
+libpng-config:
+ ( cat scripts/libpng-config-head.in; \
+ echo prefix=\"$(prefix)\"; \
+ echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
+ echo ccopts=\"-belf\"; \
+ echo L_opts=\"-L$(LIBPATH)\"; \
+ echo libs=\"-lpng15 -lz -lm\"; \
+ cat scripts/libpng-config-body.in ) > libpng-config
+ chmod +x libpng-config
+
+$(LIBSO): $(LIBSOMAJ)
+ $(LN_SF) $(LIBSOMAJ) $(LIBSO)
+
+$(LIBSOMAJ): $(OBJSDLL)
+ $(CC) -G -Wl,-h,$(LIBSOMAJ) -o $(LIBSOMAJ) \
+ $(OBJSDLL)
+
+pngtest: pngtest.o $(LIBSO)
+ LD_RUN_PATH=.:$(ZLIBLIB) $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
+
+test: pngtest
+ ./pngtest
+
+install-headers: png.h pngconf.h pnglibconf.h
+ -@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
+ -@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
+ -@$(RM_F) $(DI)/png.h
+ -@$(RM_F) $(DI)/pngconf.h
+ -@$(RM_F) $(DI)/pnglibconf.h
+ cp png.h pngconf.h pnglibconf.h $(DI)/$(LIBNAME)
+ chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h $(DI)/$(LIBNAME)/pnglibconf.h
+ -@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pnglibconf.h
+ -@$(RM_F) $(DI)/libpng
+ (cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
+
+install-static: install-headers libpng.a
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ cp libpng.a $(DL)/$(LIBNAME).a
+ chmod 644 $(DL)/$(LIBNAME).a
+ -@$(RM_F) $(DL)/libpng.a
+ (cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
+
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ -@$(RM_F) $(DL)/$(LIBSO)
+ -@$(RM_F) $(DL)/$(LIBSOREL)
+ -@$(RM_F) $(DL)/$(OLDSO)
+ cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+ chmod 755 $(DL)/$(LIBSOREL)
+ (cd $(DL); \
+ $(LN_SF) $(LIBSOREL) $(LIBSO); \
+ $(LN_SF) $(LIBSO) $(OLDSO))
+ -@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
+ -@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
+ -@$(RM_F) $(DL)/pkgconfig/libpng.pc
+ cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
+ chmod 644 $(DL)/pkgconfig/$(LIBNAME).pc
+ (cd $(DL)/pkgconfig; $(LN_SF) $(LIBNAME).pc libpng.pc)
+
+install-man: libpng.3 libpngpf.3 png.5
+ -@if [ ! -d $(DM) ]; then $(MKDIR_P) $(DM); fi
+ -@if [ ! -d $(DM)/man3 ]; then $(MKDIR_P) $(DM)/man3; fi
+ -@$(RM_F) $(DM)/man3/libpng.3
+ -@$(RM_F) $(DM)/man3/libpngpf.3
+ cp libpng.3 $(DM)/man3
+ cp libpngpf.3 $(DM)/man3
+ -@if [ ! -d $(DM)/man5 ]; then $(MKDIR_P) $(DM)/man5; fi
+ -@$(RM_F) $(DM)/man5/png.5
+ cp png.5 $(DM)/man5
+
+install-config: libpng-config
+ -@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi
+ -@$(RM_F) $(DB)/libpng-config
+ -@$(RM_F) $(DB)/$(LIBNAME)-config
+ cp libpng-config $(DB)/$(LIBNAME)-config
+ chmod 755 $(DB)/$(LIBNAME)-config
+ (cd $(DB); $(LN_SF) $(LIBNAME)-config libpng-config)
+
+install: install-static install-shared install-man install-config
+
+# If you installed in $(DESTDIR), test-installed won't work until you
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) -I$(DI) $(CFLAGS) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -L$(DL) -L$(ZLIBLIB) \
+ -o pngtestd `$(BINPATH)/$(LIBNAME)-config --ldflags`
+ ./pngtestd pngtest.png
+
+test-installed:
+ $(CC) $(CFLAGS) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -L$(ZLIBLIB) \
+ -o pngtesti `$(BINPATH)/$(LIBNAME)-config --ldflags`
+ ./pngtesti pngtest.png
+
+clean:
+ $(RM_F) *.o libpng.a pngtest pngout.png libpng-config \
+ $(LIBSO) $(LIBSOMAJ)* pngtest-static pngtesti \
+ pnglibconf.h libpng.pc
+
+DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
+writelock:
+ chmod a-w *.[ch35] $(DOCS) scripts/*
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+
+png.o png.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngset.o pngset.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngget.o pngget.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngread.o pngread.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+
+pngtest.o: png.h pngconf.h pnglibconf.h
diff --git a/third_party/libpng/scripts/makefile.sggcc b/third_party/libpng/scripts/makefile.sggcc
new file mode 100644
index 0000000000..1611638ba6
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.sggcc
@@ -0,0 +1,228 @@
+# makefile for libpng.a and libpng15.so, SGI IRIX with 'cc'
+# Copyright (C) 2001-2002, 2006, 2010-2011 Glenn Randers-Pehrson
+# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
+#
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+
+# Library name:
+LIBNAME=libpng15
+PNGMAJ = 15
+
+# Shared library names:
+LIBSO=$(LIBNAME).so
+LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
+LIBSOREL=$(LIBSOMAJ).$(RELEASE)
+OLDSO=libpng.so
+
+# Utilities:
+AR_RC=ar rc
+CC=gcc
+MKDIR_P=mkdir -p
+LN_SF=ln -sf
+RANLIB=echo
+RM_F=/bin/rm -f
+
+# Where make install puts libpng.a, libpng15.so, and libpng15/png.h
+# Prefix must be a full pathname.
+
+prefix=/usr/local
+exec_prefix=$(prefix)
+
+# Where the zlib library and include files are located
+#ZLIBLIB=/usr/local/lib32
+#ZLIBINC=/usr/local/include
+#ZLIBLIB=/usr/local/lib
+#ZLIBINC=/usr/local/include
+ZLIBLIB=../zlib
+ZLIBINC=../zlib
+
+# ABI can be blank to use default for your system, -32, -o32, -n32, or -64
+# See "man abi". zlib must be built with the same ABI.
+ABI=
+
+WARNMORE= # -g -DPNG_DEBUG=5
+CFLAGS=$(ABI) -I$(ZLIBINC) -O $(WARNMORE) -fPIC -mabi=n32
+LDFLAGS=$(ABI) -L. -L$(ZLIBLIB) -lpng -lz -lm
+LDSHARED=cc $(ABI) -shared -soname $(LIBSOMAJ) \
+ -set_version sgi$(PNGMAJ).0
+# See "man dso" for info about shared objects
+
+INCPATH=$(prefix)/include
+LIBPATH=$(exec_prefix)/lib
+#LIBPATH=$(exec_prefix)/lib32
+MANPATH=$(prefix)/man
+BINPATH=$(exec_prefix)/bin
+
+# override DESTDIR= on the make install command line to easily support
+# installing into a temporary location. Example:
+#
+# make install DESTDIR=/tmp/build/libpng
+#
+# If you're going to install into a temporary location
+# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
+# you execute make install.
+DESTDIR=
+
+DB=$(DESTDIR)$(BINPATH)
+DI=$(DESTDIR)$(INCPATH)
+DL=$(DESTDIR)$(LIBPATH)
+DM=$(DESTDIR)$(MANPATH)
+
+OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
+ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
+ pngwtran.o pngmem.o pngerror.o pngpread.o
+
+all: libpng.a pngtest shared libpng.pc libpng-config
+
+# see scripts/pnglibconf.mak for more options
+pnglibconf.h: scripts/pnglibconf.h.prebuilt
+ cp scripts/pnglibconf.h.prebuilt $@
+
+libpng.a: $(OBJS)
+ $(AR_RC) $@ $(OBJS)
+ $(RANLIB) $@
+
+shared: $(LIBSOMAJ)
+
+libpng.pc:
+ cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+ -e s!@exec_prefix@!$(exec_prefix)! \
+ -e s!@libdir@!$(LIBPATH)! \
+ -e s!@includedir@!$(INCPATH)! \
+ -e s!-lpng15!-lpng15\ -lz\ -lm! > libpng.pc
+
+libpng-config:
+ ( cat scripts/libpng-config-head.in; \
+ echo prefix=\"$(prefix)\"; \
+ echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
+ echo ccopts=\"$(ABI)\"; \
+ echo cppflags=\"\"; \
+ echo ldopts=\"$(ABI)\"; \
+ echo L_opts=\"-L$(LIBPATH)\"; \
+ echo libdir=\"$(LIBPATH)\"; \
+ echo libs=\"-lpng15 -lz -lm\"; \
+ cat scripts/libpng-config-body.in ) > libpng-config
+ chmod +x libpng-config
+
+$(LIBSO): $(LIBSOMAJ)
+ $(LN_SF) $(LIBSOMAJ) $(LIBSO)
+
+$(LIBSOMAJ): $(OBJS)
+ $(LDSHARED) -o $@ $(OBJS)
+ $(RM_F) $(LIBSO) $(LIBSOMAJ)
+
+pngtest: pngtest.o libpng.a
+ $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
+
+test: pngtest
+ echo
+ echo Testing local static library.
+ ./pngtest
+
+install-headers: png.h pngconf.h pnglibconf.h
+ -@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
+ -@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
+ cp png.h pngconf.h pnglibconf.h $(DI)/$(LIBNAME)
+ chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h $(DI)/$(LIBNAME)/pnglibconf.h
+ -@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pnglibconf.h
+ -@$(RM_F) $(DI)/libpng
+ (cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
+
+install-static: install-headers libpng.a
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ cp libpng.a $(DL)/$(LIBNAME).a
+ chmod 644 $(DL)/$(LIBNAME).a
+ -@$(RM_F) $(DL)/libpng.a
+ (cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
+
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ -@$(RM_F) $(DL)/$(LIBSO)
+ -@$(RM_F) $(DL)/$(LIBSOREL)
+ -@$(RM_F) $(DL)/$(OLDSO)
+ cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+ chmod 755 $(DL)/$(LIBSOREL)
+ (cd $(DL); \
+ $(LN_SF) $(LIBSOREL) $(LIBSO); \
+ $(LN_SF) $(LIBSO) $(OLDSO))
+ -@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
+ -@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
+ -@$(RM_F) $(DL)/pkgconfig/libpng.pc
+ cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
+ chmod 644 $(DL)/pkgconfig/$(LIBNAME).pc
+ (cd $(DL)/pkgconfig; $(LN_SF) $(LIBNAME).pc libpng.pc)
+
+install-man: libpng.3 libpngpf.3 png.5
+ -@if [ ! -d $(DM) ]; then $(MKDIR_P) $(DM); fi
+ -@if [ ! -d $(DM)/man3 ]; then $(MKDIR_P) $(DM)/man3; fi
+ -@$(RM_F) $(DM)/man3/libpng.3
+ -@$(RM_F) $(DM)/man3/libpngpf.3
+ cp libpng.3 $(DM)/man3
+ cp libpngpf.3 $(DM)/man3
+ -@if [ ! -d $(DM)/man5 ]; then $(MKDIR_P) $(DM)/man5; fi
+ -@$(RM_F) $(DM)/man5/png.5
+ cp png.5 $(DM)/man5
+
+install-config: libpng-config
+ -@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi
+ -@$(RM_F) $(DB)/libpng-config
+ -@$(RM_F) $(DB)/$(LIBNAME)-config
+ cp libpng-config $(DB)/$(LIBNAME)-config
+ chmod 755 $(DB)/$(LIBNAME)-config
+ (cd $(DB); $(LN_SF) $(LIBNAME)-config libpng-config)
+
+install: install-static install-shared install-man install-config
+
+# If you installed in $(DESTDIR), test-installed won't work until you
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) -I$(DI) -I$(ZLIBINC) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -L$(DL) -L$(ZLIBLIB) \
+ -rpath $(ZLIBLIB):$(DL) \
+ -o pngtestd `$(BINPATH)/$(LIBNAME)-config --ldflags`
+ ./pngtestd pngtest.png
+
+test-installed:
+ echo
+ echo Testing installed dynamic shared library.
+ $(CC) -I$(ZLIBINC) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -L$(ZLIBLIB) \
+ -rpath $(ZLIBLIB):`$(BINPATH)/$(LIBNAME)-config --libdir` \
+ -o pngtesti `$(BINPATH)/$(LIBNAME)-config --ldflags`
+ ./pngtesti pngtest.png
+
+clean:
+ $(RM_F) libpng.a pngtest pngtesti pngout.png libpng.pc \
+ so_locations libpng-config $(LIBSO) $(LIBSOMAJ)* pnglibconf.h
+
+DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
+writelock:
+ chmod a-w *.[ch35] $(DOCS) scripts/*
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+
+png.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngerror.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngmem.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngset.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngget.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngtrans.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwrite.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngpread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+
+pngtest.o: png.h pngconf.h pnglibconf.h
diff --git a/third_party/libpng/scripts/makefile.sgi b/third_party/libpng/scripts/makefile.sgi
new file mode 100644
index 0000000000..83db59f817
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.sgi
@@ -0,0 +1,229 @@
+# makefile for libpng.a and libpng15.so, SGI IRIX with 'cc'
+# Copyright (C) 2001-2002, 2006, 2007, 2010-2011 Glenn Randers-Pehrson
+# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
+#
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+
+# Library name:
+LIBNAME=libpng15
+PNGMAJ = 15
+
+# Shared library names:
+LIBSO=$(LIBNAME).so
+LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
+LIBSOREL=$(LIBSOMAJ).$(RELEASE)
+OLDSO=libpng.so
+
+# Utilities:
+AR_RC=ar rc
+CC=cc
+MKDIR_P=mkdir -p
+LN_SF=ln -sf
+RANLIB=echo
+RM_F=/bin/rm -f
+
+# Where make install puts libpng.a, libpng15.so, and libpng15/png.h
+# Prefix must be a full pathname.
+
+prefix=/usr/local
+exec_prefix=$(prefix)
+
+# Where the zlib library and include files are located
+#ZLIBLIB=/usr/local/lib32
+#ZLIBINC=/usr/local/include
+#ZLIBLIB=/usr/local/lib
+#ZLIBINC=/usr/local/include
+ZLIBLIB=../zlib
+ZLIBINC=../zlib
+
+# ABI can be blank to use default for your system, -32, -o32, -n32, or -64
+# See "man abi". zlib must be built with the same ABI.
+ABI=
+
+WARNMORE=-fullwarn
+# Note: -KPIC is the default anyhow
+#CFLAGS= $(ABI) -I$(ZLIBINC) -O $(WARNMORE) -KPIC # -g -DPNG_DEBUG=5
+CFLAGS=$(ABI) -I$(ZLIBINC) -O $(WARNMORE)
+LDFLAGS_A=$(ABI) -L. -L$(ZLIBLIB) -lpng15 -lz -lm
+LDFLAGS=$(ABI) -L. -L$(ZLIBLIB) -lpng -lz -lm
+LDSHARED=cc $(ABI) -shared -soname $(LIBSOMAJ) \
+ -set_version sgi$(PNGMAJ).0
+# See "man dso" for info about shared objects
+
+INCPATH=$(prefix)/include
+LIBPATH=$(exec_prefix)/lib
+#LIBPATH=$(exec_prefix)/lib32
+MANPATH=$(prefix)/man
+BINPATH=$(exec_prefix)/bin
+
+# override DESTDIR= on the make install command line to easily support
+# installing into a temporary location. Example:
+#
+# make install DESTDIR=/tmp/build/libpng
+#
+# If you're going to install into a temporary location
+# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
+# you execute make install.
+DESTDIR=
+
+DB=$(DESTDIR)$(BINPATH)
+DI=$(DESTDIR)$(INCPATH)
+DL=$(DESTDIR)$(LIBPATH)
+DM=$(DESTDIR)$(MANPATH)
+
+OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
+ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
+ pngwtran.o pngmem.o pngerror.o pngpread.o
+
+all: libpng.a pngtest shared libpng.pc libpng-config
+
+# see scripts/pnglibconf.mak for more options
+pnglibconf.h: scripts/pnglibconf.h.prebuilt
+ cp scripts/pnglibconf.h.prebuilt $@
+
+libpng.a: $(OBJS)
+ $(AR_RC) $@ $(OBJS)
+ $(RANLIB) $@
+
+libpng.pc:
+ cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+ -e s!@exec_prefix@!$(exec_prefix)! \
+ -e s!@libdir@!$(LIBPATH)! \
+ -e s!@includedir@!$(INCPATH)! \
+ -e s!-lpng15!-lpng15\ -lz\ -lm! > libpng.pc
+
+libpng-config:
+ ( cat scripts/libpng-config-head.in; \
+ echo prefix=\"$(prefix)\"; \
+ echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
+ echo ccopts=\"$(ABI)\"; \
+ echo ldopts=\"$(ABI)\"; \
+ echo L_opts=\"-L$(LIBPATH)\"; \
+ echo libdir=\"$(LIBPATH)\"; \
+ echo libs=\"-lpng15 -lz -lm\"; \
+ cat scripts/libpng-config-body.in ) > libpng-config
+ chmod +x libpng-config
+
+$(LIBSO): $(LIBSOMAJ)
+ $(LN_SF) $(LIBSOMAJ) $(LIBSO)
+
+$(LIBSOMAJ): $(OBJS)
+ $(LDSHARED) -o $@ $(OBJS)
+ $(RM_F) $(LIBSO) $(LIBSOMAJ)
+
+pngtest: pngtest.o libpng.a
+ $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
+
+test: pngtest
+ echo
+ echo Testing local static library.
+ ./pngtest
+
+install-headers: png.h pngconf.h pnglibconf.h
+ -@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
+ -@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
+ cp png.h pngconf.h pnglibconf.h $(DI)/$(LIBNAME)
+ chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h $(DI)/$(LIBNAME)/pnglibconf.h
+ -@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pnglibconf.h
+ -@$(RM_F) $(DI)/libpng
+ (cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
+
+install-static: install-headers libpng.a
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ cp libpng.a $(DL)/$(LIBNAME).a
+ chmod 644 $(DL)/$(LIBNAME).a
+ -@$(RM_F) $(DL)/libpng.a
+ (cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
+
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ -@$(RM_F) $(DL)/$(LIBSO)
+ -@$(RM_F) $(DL)/$(LIBSOREL)
+ -@$(RM_F) $(DL)/$(OLDSO)
+ cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+ chmod 755 $(DL)/$(LIBSOREL)
+ (cd $(DL); \
+ $(LN_SF) $(LIBSOREL) $(LIBSO); \
+ $(LN_SF) $(LIBSO) $(OLDSO))
+ -@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
+ -@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
+ -@$(RM_F) $(DL)/pkgconfig/libpng.pc
+ cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
+ chmod 644 $(DL)/pkgconfig/$(LIBNAME).pc
+ (cd $(DL)/pkgconfig; $(LN_SF) $(LIBNAME).pc libpng.pc)
+
+install-man: libpng.3 libpngpf.3 png.5
+ -@if [ ! -d $(DM) ]; then $(MKDIR_P) $(DM); fi
+ -@if [ ! -d $(DM)/man3 ]; then $(MKDIR_P) $(DM)/man3; fi
+ -@$(RM_F) $(DM)/man3/libpng.3
+ -@$(RM_F) $(DM)/man3/libpngpf.3
+ cp libpng.3 $(DM)/man3
+ cp libpngpf.3 $(DM)/man3
+ -@if [ ! -d $(DM)/man5 ]; then $(MKDIR_P) $(DM)/man5; fi
+ -@$(RM_F) $(DM)/man5/png.5
+ cp png.5 $(DM)/man5
+
+install-config: libpng-config
+ -@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi
+ -@$(RM_F) $(DB)/libpng-config
+ -@$(RM_F) $(DB)/$(LIBNAME)-config
+ cp libpng-config $(DB)/$(LIBNAME)-config
+ chmod 755 $(DB)/$(LIBNAME)-config
+ (cd $(DB); $(LN_SF) $(LIBNAME)-config libpng-config)
+
+install: install-static install-shared install-man install-config
+
+# If you installed in $(DESTDIR), test-installed won't work until you
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) -I$(DI) -I$(ZLIBINC) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -L$(DL) -L$(ZLIBLIB) \
+ -rpath $(ZLIBLIB):$(DL) \
+ -o pngtestd `$(BINPATH)/$(LIBNAME)-config --ldflags`
+ ./pngtestd pngtest.png
+
+test-installed:
+ echo
+ echo Testing installed dynamic shared library.
+ $(CC) -I$(ZLIBINC) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -L$(ZLIBLIB) \
+ -rpath $(ZLIBLIB):`$(BINPATH)/$(LIBNAME)-config --libdir` \
+ -o pngtesti `$(BINPATH)/$(LIBNAME)-config --ldflags`
+ ./pngtesti pngtest.png
+
+clean:
+ $(RM_F) *.o libpng.a pngtest pngtesti pngout.png libpng.pc libpng-config \
+ $(LIBSO) $(LIBSOMAJ)* \
+ so_locations pnglibconf.h
+
+DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
+writelock:
+ chmod a-w *.[ch35] $(DOCS) scripts/*
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+
+png.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngerror.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngmem.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngset.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngget.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngtrans.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwrite.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngpread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+
+pngtest.o: png.h pngconf.h pnglibconf.h
diff --git a/third_party/libpng/scripts/makefile.so9 b/third_party/libpng/scripts/makefile.so9
new file mode 100644
index 0000000000..615c2e3458
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.so9
@@ -0,0 +1,239 @@
+# makefile for libpng on Solaris 9 (beta) with Forte cc
+# Updated by Chad Schrock for Solaris 9
+# Contributed by William L. Sebok, based on makefile.linux
+# Copyright (C) 2002, 2006, 2008, 2010-2011 Glenn Randers-Pehrson
+# Copyright (C) 1998-2001 Greg Roelofs
+# Copyright (C) 1996-1997 Andreas Dilger
+#
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+
+# Library name:
+PNGMAJ = 15
+LIBNAME = libpng15
+
+# Shared library names:
+LIBSO=$(LIBNAME).so
+LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
+LIBSOREL=$(LIBSOMAJ).$(RELEASE)
+OLDSO=libpng.so
+
+# Utilities:
+# gcc 2.95 doesn't work.
+CC=cc
+AR_RC=ar rc
+MKDIR_P=mkdir -p
+LN_SF=ln -f -s
+RANLIB=echo
+RM_F=/bin/rm -f
+
+# Where make install puts libpng.a, $(OLDSO)*, and png.h
+prefix=/usr/local
+exec_prefix=$(prefix)
+
+# Where the zlib library and include files are located
+# Changing these to ../zlib poses a security risk. If you want
+# to have zlib in an adjacent directory, specify the full path instead of "..".
+#ZLIBLIB=../zlib
+#ZLIBINC=../zlib
+#ZLIBLIB=/usr/local/lib
+#ZLIBINC=/usr/local/include
+#Use the preinstalled zlib that comes with Solaris 9:
+ZLIBLIB=/usr/lib
+ZLIBINC=/usr/include
+
+#WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
+ -Wmissing-declarations -Wtraditional -Wcast-align \
+ -Wstrict-prototypes -Wmissing-prototypes #-Wconversion
+#CFLAGS=-I$(ZLIBINC) -W -Wall -O3 $(WARNMORE) -g -DPNG_DEBUG=5 -DPNG_NO_MMX_CODE
+CFLAGS=-I$(ZLIBINC) -O3 -DPNG_NO_MMX_CODE
+LDFLAGS=-L. -R. -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng15 -lz -lm
+
+INCPATH=$(prefix)/include
+LIBPATH=$(exec_prefix)/lib
+MANPATH=$(prefix)/man
+BINPATH=$(exec_prefix)/bin
+
+# override DESTDIR= on the make install command line to easily support
+# installing into a temporary location. Example:
+#
+# make install DESTDIR=/tmp/build/libpng
+#
+# If you're going to install into a temporary location
+# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
+# you execute make install.
+DESTDIR=
+
+DB=$(DESTDIR)$(BINPATH)
+DI=$(DESTDIR)$(INCPATH)
+DL=$(DESTDIR)$(LIBPATH)
+DM=$(DESTDIR)$(MANPATH)
+
+OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
+ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
+ pngwtran.o pngmem.o pngerror.o pngpread.o
+
+OBJSDLL = $(OBJS:.o=.pic.o)
+
+.SUFFIXES: .c .o .pic.o
+
+.c.pic.o:
+ $(CC) -c $(CFLAGS) -KPIC -o $@ $*.c
+
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
+
+# see scripts/pnglibconf.mak for more options
+pnglibconf.h: scripts/pnglibconf.h.prebuilt
+ cp scripts/pnglibconf.h.prebuilt $@
+
+libpng.a: $(OBJS)
+ $(AR_RC) $@ $(OBJS)
+ $(RANLIB) $@
+
+libpng.pc:
+ cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+ -e s!@exec_prefix@!$(exec_prefix)! \
+ -e s!@libdir@!$(LIBPATH)! \
+ -e s!@includedir@!$(INCPATH)! \
+ -e s!-lpng15!-lpng15\ -lz\ -lm! > libpng.pc
+
+libpng-config:
+ ( cat scripts/libpng-config-head.in; \
+ echo prefix=\"$(prefix)\"; \
+ echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
+ echo L_opts=\"-L$(LIBPATH)\"; \
+ echo R_opts=\"-R$(LIBPATH)\"; \
+ echo libs=\"-lpng15 -lz -lm\"; \
+ cat scripts/libpng-config-body.in ) > libpng-config
+ chmod +x libpng-config
+
+$(LIBSO): $(LIBSOMAJ)
+ $(LN_SF) $(LIBSOMAJ) $(LIBSO)
+
+$(LIBSOMAJ): $(OBJSDLL)
+ @case "`type ld`" in *ucb*) \
+ echo; \
+ echo '## WARNING:'; \
+ echo '## The commands "CC" and "LD" must NOT refer to /usr/ucb/cc'; \
+ echo '## and /usr/ucb/ld. If they do, you need to adjust your PATH'; \
+ echo '## environment variable to put /usr/ccs/bin ahead of /usr/ucb.'; \
+ echo '## The environment variable LD_LIBRARY_PATH should not be set'; \
+ echo '## at all. If it is, things are likely to break because of'; \
+ echo '## the libucb dependency that is created.'; \
+ echo; \
+ ;; \
+ esac
+ $(LD) -G -h $(LIBSOMAJ) \
+ -o $(LIBSOMAJ) $(OBJSDLL)
+
+pngtest: pngtest.o $(LIBSO)
+ $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
+
+test: pngtest
+ ./pngtest
+
+install-headers: png.h pngconf.h pnglibconf.h
+ -@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
+ -@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
+ cp png.h pngconf.h pnglibconf.h $(DI)/$(LIBNAME)
+ chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h $(DI)/$(LIBNAME)/pnglibconf.h
+ -@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pnglibconf.h
+ -@$(RM_F) $(DI)/libpng
+ (cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
+
+install-static: install-headers libpng.a
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ cp libpng.a $(DL)/$(LIBNAME).a
+ chmod 644 $(DL)/$(LIBNAME).a
+ -@$(RM_F) $(DL)/libpng.a
+ (cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
+
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ -@$(RM_F) $(DL)/$(LIBSO)
+ -@$(RM_F) $(DL)/$(LIBSOREL)
+ -@$(RM_F) $(DL)/$(OLDSO)
+ cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+ chmod 755 $(DL)/$(LIBSOREL)
+ (cd $(DL); \
+ $(LN_SF) $(LIBSOREL) $(LIBSO); \
+ $(LN_SF) $(LIBSO) $(OLDSO))
+ -@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
+ -@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
+ -@$(RM_F) $(DL)/pkgconfig/libpng.pc
+ cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
+ chmod 644 $(DL)/pkgconfig/$(LIBNAME).pc
+ (cd $(DL)/pkgconfig; $(LN_SF) $(LIBNAME).pc libpng.pc)
+
+install-man: libpng.3 libpngpf.3 png.5
+ -@if [ ! -d $(DM) ]; then $(MKDIR_P) $(DM); fi
+ -@if [ ! -d $(DM)/man3 ]; then $(MKDIR_P) $(DM)/man3; fi
+ -@$(RM_F) $(DM)/man3/libpng.3
+ -@$(RM_F) $(DM)/man3/libpngpf.3
+ cp libpng.3 $(DM)/man3
+ cp libpngpf.3 $(DM)/man3
+ -@if [ ! -d $(DM)/man5 ]; then $(MKDIR_P) $(DM)/man5; fi
+ -@$(RM_F) $(DM)/man5/png.5
+ cp png.5 $(DM)/man5
+
+install-config: libpng-config
+ -@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi
+ -@$(RM_F) $(DB)/libpng-config
+ -@$(RM_F) $(DB)/$(LIBNAME)-config
+ cp libpng-config $(DB)/$(LIBNAME)-config
+ chmod 755 $(DB)/$(LIBNAME)-config
+ (cd $(DB); $(LN_SF) $(LIBNAME)-config libpng-config)
+
+install: install-static install-shared install-man install-config
+
+# If you installed in $(DESTDIR), test-installed won't work until you
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) -I$(DI) -I$(ZLIBINC) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -o pngtestd `$(BINPATH)/$(LIBNAME)-config --ldflags` \
+ -L$(DL) -L$(ZLIBLIB) -R$(ZLIBLIB) -R$(DL)
+ ./pngtestd pngtest.png
+
+test-installed:
+ echo
+ echo Testing installed dynamic shared library.
+ $(CC) -I$(ZLIBINC) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -o pngtesti `$(BINPATH)/$(LIBNAME)-config --ldflags` \
+ -L$(ZLIBLIB) -R$(ZLIBLIB)
+ ./pngtesti pngtest.png
+
+clean:
+ $(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
+ libpng-config $(LIBSO) $(LIBSOMAJ)* \
+ libpng.pc pnglibconf.h
+
+DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
+writelock:
+ chmod a-w *.[ch35] $(DOCS) scripts/*
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+
+png.o png.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngset.o pngset.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngget.o pngget.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngread.o pngread.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+
+pngtest.o: png.h pngconf.h pnglibconf.h
diff --git a/third_party/libpng/scripts/makefile.solaris b/third_party/libpng/scripts/makefile.solaris
new file mode 100644
index 0000000000..24bd61033c
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.solaris
@@ -0,0 +1,236 @@
+# makefile for libpng on Solaris 2.x with gcc
+# Copyright (C) 2004, 2006-2008, 2010-2011 Glenn Randers-Pehrson
+# Contributed by William L. Sebok, based on makefile.linux
+# Copyright (C) 1998 Greg Roelofs
+# Copyright (C) 1996, 1997 Andreas Dilger
+#
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+
+# Library name:
+LIBNAME = libpng15
+PNGMAJ = 15
+
+# Shared library names:
+LIBSO=$(LIBNAME).so
+LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
+LIBSOREL=$(LIBSOMAJ).$(RELEASE)
+OLDSO=libpng.so
+
+# Utilities:
+AR_RC=ar rc
+CC=gcc
+MKDIR_P=mkdir -p
+LN_SF=ln -f -s
+RANLIB=echo
+RM_F=/bin/rm -f
+
+# Where make install puts libpng.a, libpng15.so*, and png.h
+prefix=/usr/local
+exec_prefix=$(prefix)
+
+# Where the zlib library and include files are located
+# Changing these to ../zlib poses a security risk. If you want
+# to have zlib in an adjacent directory, specify the full path instead of "..".
+#ZLIBLIB=../zlib
+#ZLIBINC=../zlib
+
+ZLIBLIB=/usr/local/lib
+ZLIBINC=/usr/local/include
+
+WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
+ -Wmissing-declarations -Wtraditional -Wcast-align \
+ -Wstrict-prototypes -Wmissing-prototypes #-Wconversion
+CFLAGS=-I$(ZLIBINC) -W -Wall -O \
+ # $(WARNMORE) -g -DPNG_DEBUG=5
+LDFLAGS=-L. -R. -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng15 -lz -lm
+
+INCPATH=$(prefix)/include
+LIBPATH=$(exec_prefix)/lib
+MANPATH=$(prefix)/man
+BINPATH=$(exec_prefix)/bin
+
+# override DESTDIR= on the make install command line to easily support
+# installing into a temporary location. Example:
+#
+# make install DESTDIR=/tmp/build/libpng
+#
+# If you're going to install into a temporary location
+# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
+# you execute make install.
+DESTDIR=
+
+DB=$(DESTDIR)$(BINPATH)
+DI=$(DESTDIR)$(INCPATH)
+DL=$(DESTDIR)$(LIBPATH)
+DM=$(DESTDIR)$(MANPATH)
+
+OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
+ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
+ pngwtran.o pngmem.o pngerror.o pngpread.o
+
+OBJSDLL = $(OBJS:.o=.pic.o)
+
+.SUFFIXES: .c .o .pic.o
+
+.c.pic.o:
+ $(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
+
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
+
+# see scripts/pnglibconf.mak for more options
+pnglibconf.h: scripts/pnglibconf.h.prebuilt
+ cp scripts/pnglibconf.h.prebuilt $@
+
+libpng.a: $(OBJS)
+ $(AR_RC) $@ $(OBJS)
+ $(RANLIB) $@
+
+libpng.pc:
+ cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+ -e s!@exec_prefix@!$(exec_prefix)! \
+ -e s!@libdir@!$(LIBPATH)! \
+ -e s!@includedir@!$(INCPATH)! \
+ -e s!-lpng15!-lpng15\ -lz\ -lm! > libpng.pc
+
+libpng-config:
+ ( cat scripts/libpng-config-head.in; \
+ echo prefix=\"$(prefix)\"; \
+ echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
+ echo cppflags=\"\"; \
+ echo L_opts=\"-L$(LIBPATH)\"; \
+ echo R_opts=\"-R$(LIBPATH)\"; \
+ echo libs=\"-lpng15 -lz -lm\"; \
+ cat scripts/libpng-config-body.in ) > libpng-config
+ chmod +x libpng-config
+
+$(LIBSO): $(LIBSOMAJ)
+ $(LN_SF) $(LIBSOMAJ) $(LIBSO)
+
+$(LIBSOMAJ): $(OBJSDLL)
+ @case "`type ld`" in *ucb*) \
+ echo; \
+ echo '## WARNING:'; \
+ echo '## The commands "CC" and "LD" must NOT refer to /usr/ucb/cc'; \
+ echo '## and /usr/ucb/ld. If they do, you need to adjust your PATH'; \
+ echo '## environment variable to put /usr/ccs/bin ahead of /usr/ucb.'; \
+ echo '## The environment variable LD_LIBRARY_PATH should not be set'; \
+ echo '## at all. If it is, things are likely to break because of'; \
+ echo '## the libucb dependency that is created.'; \
+ echo; \
+ ;; \
+ esac
+ $(LD) -G -h $(LIBSOMAJ) \
+ -o $(LIBSOMAJ) $(OBJSDLL)
+
+pngtest: pngtest.o $(LIBSO)
+ $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
+
+test: pngtest
+ ./pngtest
+
+install-headers: png.h pngconf.h pnglibconf.h
+ -@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
+ -@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
+ cp png.h pngconf.h pnglibconf.h $(DI)/$(LIBNAME)
+ chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h $(DI)/$(LIBNAME)/pnglibconf.h
+ -@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pnglibconf.h
+ -@$(RM_F) $(DI)/libpng
+ (cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
+
+install-static: install-headers libpng.a
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ cp libpng.a $(DL)/$(LIBNAME).a
+ chmod 644 $(DL)/$(LIBNAME).a
+ -@$(RM_F) $(DL)/libpng.a
+ (cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
+
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ -@$(RM_F) $(DL)/$(LIBSO)
+ -@$(RM_F) $(DL)/$(LIBSOREL)
+ -@$(RM_F) $(DL)/$(OLDSO)
+ cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+ chmod 755 $(DL)/$(LIBSOREL)
+ (cd $(DL); \
+ $(LN_SF) $(LIBSOREL) $(LIBSO); \
+ $(LN_SF) $(LIBSO) $(OLDSO))
+ -@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
+ -@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
+ -@$(RM_F) $(DL)/pkgconfig/libpng.pc
+ cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
+ chmod 644 $(DL)/pkgconfig/$(LIBNAME).pc
+ (cd $(DL)/pkgconfig; $(LN_SF) $(LIBNAME).pc libpng.pc)
+
+install-man: libpng.3 libpngpf.3 png.5
+ -@if [ ! -d $(DM) ]; then $(MKDIR_P) $(DM); fi
+ -@if [ ! -d $(DM)/man3 ]; then $(MKDIR_P) $(DM)/man3; fi
+ -@$(RM_F) $(DM)/man3/libpng.3
+ -@$(RM_F) $(DM)/man3/libpngpf.3
+ cp libpng.3 $(DM)/man3
+ cp libpngpf.3 $(DM)/man3
+ -@if [ ! -d $(DM)/man5 ]; then $(MKDIR_P) $(DM)/man5; fi
+ -@$(RM_F) $(DM)/man5/png.5
+ cp png.5 $(DM)/man5
+
+install-config: libpng-config
+ -@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi
+ -@$(RM_F) $(DB)/libpng-config
+ -@$(RM_F) $(DB)/$(LIBNAME)-config
+ cp libpng-config $(DB)/$(LIBNAME)-config
+ chmod 755 $(DB)/$(LIBNAME)-config
+ (cd $(DB); $(LN_SF) $(LIBNAME)-config libpng-config)
+
+install: install-static install-shared install-man install-config
+
+# If you installed in $(DESTDIR), test-installed won't work until you
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) -I$(DI) -I$(ZLIBINC) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -o pngtestd `$(BINPATH)/$(LIBNAME)-config --ldflags` \
+ -L$(DL) -L$(ZLIBLIB) -R$(ZLIBLIB) -R$(DL)
+ ./pngtestd pngtest.png
+
+test-installed:
+ echo
+ echo Testing installed dynamic shared library.
+ $(CC) -I$(ZLIBINC) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -o pngtesti `$(BINPATH)/$(LIBNAME)-config --ldflags` \
+ -L$(ZLIBLIB) -R$(ZLIBLIB)
+ ./pngtesti pngtest.png
+
+clean:
+ $(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
+ libpng-config $(LIBSO) $(LIBSOMAJ)* \
+ libpng.pc pnglibconf.h
+
+DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
+writelock:
+ chmod a-w *.[ch35] $(DOCS) scripts/*
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+
+png.o png.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngset.o pngset.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngget.o pngget.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngread.o pngread.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+
+pngtest.o: png.h pngconf.h pnglibconf.h
diff --git a/third_party/libpng/scripts/makefile.solaris-x86 b/third_party/libpng/scripts/makefile.solaris-x86
new file mode 100644
index 0000000000..76467622a8
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.solaris-x86
@@ -0,0 +1,236 @@
+# makefile for libpng on Solaris 2.x with gcc
+# Copyright (C) 2004, 2006-2008, 2010-2011 Glenn Randers-Pehrson
+# Contributed by William L. Sebok, based on makefile.linux
+# Copyright (C) 1998 Greg Roelofs
+# Copyright (C) 1996, 1997 Andreas Dilger
+
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+
+# Library name:
+LIBNAME = libpng15
+PNGMAJ = 15
+
+# Shared library names:
+LIBSO=$(LIBNAME).so
+LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
+LIBSOREL=$(LIBSOMAJ).$(RELEASE)
+OLDSO=libpng.so
+
+# Utilities:
+AR_RC=ar rc
+CC=gcc
+MKDIR_P=mkdir -p
+LN_SF=ln -f -s
+RANLIB=echo
+RM_F=/bin/rm -f
+
+# Where make install puts libpng.a, libpng15.so*, and png.h
+prefix=/usr/local
+exec_prefix=$(prefix)
+
+# Where the zlib library and include files are located
+# Changing these to ../zlib poses a security risk. If you want
+# to have zlib in an adjacent directory, specify the full path instead of "..".
+#ZLIBLIB=../zlib
+#ZLIBINC=../zlib
+
+ZLIBLIB=/usr/local/lib
+ZLIBINC=/usr/local/include
+
+WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
+ -Wmissing-declarations -Wtraditional -Wcast-align \
+ -Wstrict-prototypes -Wmissing-prototypes #-Wconversion
+CFLAGS=-I$(ZLIBINC) -W -Wall -O \
+ # $(WARNMORE) -g -DPNG_DEBUG=5
+LDFLAGS=-L. -R. -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng15 -lz -lm
+
+INCPATH=$(prefix)/include
+LIBPATH=$(exec_prefix)/lib
+MANPATH=$(prefix)/man
+BINPATH=$(exec_prefix)/bin
+
+# override DESTDIR= on the make install command line to easily support
+# installing into a temporary location. Example:
+#
+# make install DESTDIR=/tmp/build/libpng
+#
+# If you're going to install into a temporary location
+# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
+# you execute make install.
+DESTDIR=
+
+DB=$(DESTDIR)$(BINPATH)
+DI=$(DESTDIR)$(INCPATH)
+DL=$(DESTDIR)$(LIBPATH)
+DM=$(DESTDIR)$(MANPATH)
+
+OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
+ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
+ pngwtran.o pngmem.o pngerror.o pngpread.o
+
+OBJSDLL = $(OBJS:.o=.pic.o)
+
+.SUFFIXES: .c .o .pic.o
+
+.c.pic.o:
+ $(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
+
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
+
+# see scripts/pnglibconf.mak for more options
+pnglibconf.h: scripts/pnglibconf.h.prebuilt
+ cp scripts/pnglibconf.h.prebuilt $@
+
+libpng.a: $(OBJS)
+ $(AR_RC) $@ $(OBJS)
+ $(RANLIB) $@
+
+libpng.pc:
+ cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+ -e s!@exec_prefix@!$(exec_prefix)! \
+ -e s!@libdir@!$(LIBPATH)! \
+ -e s!@includedir@!$(INCPATH)! \
+ -e s!-lpng15!-lpng15\ -lz\ -lm! > libpng.pc
+
+libpng-config:
+ ( cat scripts/libpng-config-head.in; \
+ echo prefix=\"$(prefix)\"; \
+ echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
+ echo cppflags=\""; \
+ echo L_opts=\"-L$(LIBPATH)\"; \
+ echo R_opts=\"-R$(LIBPATH)\"; \
+ echo libs=\"-lpng15 -lz -lm\"; \
+ cat scripts/libpng-config-body.in ) > libpng-config
+ chmod +x libpng-config
+
+$(LIBSO): $(LIBSOMAJ)
+ $(LN_SF) $(LIBSOMAJ) $(LIBSO)
+
+$(LIBSOMAJ): $(OBJSDLL)
+ @case "`type ld`" in *ucb*) \
+ echo; \
+ echo '## WARNING:'; \
+ echo '## The commands "CC" and "LD" must NOT refer to /usr/ucb/cc'; \
+ echo '## and /usr/ucb/ld. If they do, you need to adjust your PATH'; \
+ echo '## environment variable to put /usr/ccs/bin ahead of /usr/ucb.'; \
+ echo '## The environment variable LD_LIBRARY_PATH should not be set'; \
+ echo '## at all. If it is, things are likely to break because of'; \
+ echo '## the libucb dependency that is created.'; \
+ echo; \
+ ;; \
+ esac
+ $(LD) -G -h $(LIBSOMAJ) \
+ -o $(LIBSOMAJ) $(OBJSDLL)
+
+pngtest: pngtest.o $(LIBSO)
+ $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
+
+test: pngtest
+ ./pngtest
+
+install-headers: png.h pngconf.h pnglibconf.h
+ -@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
+ -@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
+ cp png.h pngconf.h pnglibconf.h $(DI)/$(LIBNAME)
+ chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h $(DI)/$(LIBNAME)/pnglibconf.h
+ -@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pnglibconf.h
+ -@$(RM_F) $(DI)/libpng
+ (cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
+
+install-static: install-headers libpng.a
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ cp libpng.a $(DL)/$(LIBNAME).a
+ chmod 644 $(DL)/$(LIBNAME).a
+ -@$(RM_F) $(DL)/libpng.a
+ (cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
+
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ -@$(RM_F) $(DL)/$(LIBSO)
+ -@$(RM_F) $(DL)/$(LIBSOREL)
+ -@$(RM_F) $(DL)/$(OLDSO)
+ cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+ chmod 755 $(DL)/$(LIBSOREL)
+ (cd $(DL); \
+ $(LN_SF) $(LIBSOREL) $(LIBSO); \
+ $(LN_SF) $(LIBSO) $(OLDSO))
+ -@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
+ -@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
+ -@$(RM_F) $(DL)/pkgconfig/libpng.pc
+ cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
+ chmod 644 $(DL)/pkgconfig/$(LIBNAME).pc
+ (cd $(DL)/pkgconfig; $(LN_SF) $(LIBNAME).pc libpng.pc)
+
+install-man: libpng.3 libpngpf.3 png.5
+ -@if [ ! -d $(DM) ]; then $(MKDIR_P) $(DM); fi
+ -@if [ ! -d $(DM)/man3 ]; then $(MKDIR_P) $(DM)/man3; fi
+ -@$(RM_F) $(DM)/man3/libpng.3
+ -@$(RM_F) $(DM)/man3/libpngpf.3
+ cp libpng.3 $(DM)/man3
+ cp libpngpf.3 $(DM)/man3
+ -@if [ ! -d $(DM)/man5 ]; then $(MKDIR_P) $(DM)/man5; fi
+ -@$(RM_F) $(DM)/man5/png.5
+ cp png.5 $(DM)/man5
+
+install-config: libpng-config
+ -@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi
+ -@$(RM_F) $(DB)/libpng-config
+ -@$(RM_F) $(DB)/$(LIBNAME)-config
+ cp libpng-config $(DB)/$(LIBNAME)-config
+ chmod 755 $(DB)/$(LIBNAME)-config
+ (cd $(DB); $(LN_SF) $(LIBNAME)-config libpng-config)
+
+install: install-static install-shared install-man install-config
+
+# If you installed in $(DESTDIR), test-installed won't work until you
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) -I$(DI) -I$(ZLIBINC) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -o pngtestd `$(BINPATH)/$(LIBNAME)-config --ldflags` \
+ -L$(DL) -L$(ZLIBLIB) -R$(ZLIBLIB) -R$(DL)
+ ./pngtestd pngtest.png
+
+test-installed:
+ echo
+ echo Testing installed dynamic shared library.
+ $(CC) -I$(ZLIBINC) \
+ `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
+ -o pngtesti `$(BINPATH)/$(LIBNAME)-config --ldflags` \
+ -L$(ZLIBLIB) -R$(ZLIBLIB)
+ ./pngtesti pngtest.png
+
+clean:
+ $(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
+ libpng-config $(LIBSO) $(LIBSOMAJ)* \
+ libpng.pc pnglibconf.h
+
+DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
+writelock:
+ chmod a-w *.[ch35] $(DOCS) scripts/*
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+
+png.o png.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngset.o pngset.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngget.o pngget.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngread.o pngread.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+
+pngtest.o: png.h pngconf.h pnglibconf.h
diff --git a/third_party/libpng/scripts/makefile.std b/third_party/libpng/scripts/makefile.std
new file mode 100644
index 0000000000..30e1646436
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.std
@@ -0,0 +1,123 @@
+# makefile for libpng
+# Copyright (C) 2002, 2006 Glenn Randers-Pehrson
+# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
+#
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+
+# where make install puts libpng.a and png.h
+prefix=/usr/local
+INCPATH=$(prefix)/include
+LIBPATH=$(prefix)/lib
+
+# override DESTDIR= on the make install command line to easily support
+# installing into a temporary location. Example:
+#
+# make install DESTDIR=/tmp/build/libpng
+#
+# If you're going to install into a temporary location
+# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
+# you execute make install.
+DESTDIR=
+
+# Where the zlib library and include files are located
+#ZLIBLIB=/usr/local/lib
+#ZLIBINC=/usr/local/include
+ZLIBLIB=../zlib
+ZLIBINC=../zlib
+
+CC=cc
+AR_RC=ar rc
+MKDIR_P=mkdir
+LN_SF=ln -sf
+RANLIB=ranlib
+RM_F=rm -f
+AWK = awk
+SED = sed
+CPP = $(CC) -E
+ECHO = echo
+
+DFNFLAGS = # DFNFLAGS contains -D options to use in the libpng build
+CFLAGS=-I$(ZLIBINC) -O # -g -DPNG_DEBUG=5
+LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
+
+OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
+ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
+ pngwtran.o pngmem.o pngerror.o pngpread.o
+
+all: libpng.a pngtest
+
+# The standard pnglibconf.h exists as scripts/pnglibconf.h.prebuilt,
+# copy this if the following doesn't work.
+pnglibconf.dfn: scripts/pnglibconf.dfa scripts/options.awk
+ $(RM_F) $@ dfn?.out
+ $(AWK) -f scripts/options.awk out=dfn1.out\
+ scripts/pnglibconf.dfa $(DFA_XTRA) 1>&2
+ $(AWK) -f scripts/options.awk out=dfn2.out dfn1.out 1>&2
+ cp dfn2.out $@
+ $(RM_F) dfn?.out
+
+pnglibconf.h: pnglibconf.dfn
+ $(RM_F) $@ dfn.c dfn?.out
+ $(ECHO) '#include "pnglibconf.dfn"' >dfn.c
+ $(CPP) $(DFNFLAGS) dfn.c >dfn1.out
+ $(SED) -n -e 's|^.*PNG_DEFN_MAGIC-\(.*\)-PNG_DEFN_END.*$$|\1|p'\
+ dfn1.out >dfn2.out
+ $(SED) -e 's| *@@@ *||g' -e 's| *$$||' dfn2.out >dfn3.out
+ cp dfn3.out $@
+ $(RM_F) dfn.c dfn?.out
+
+libpng.a: $(OBJS)
+ $(AR_RC) $@ $(OBJS)
+ $(RANLIB) $@
+
+pngtest: pngtest.o libpng.a
+ $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
+
+test: pngtest
+ ./pngtest
+
+install: libpng.a pnglibconf.h
+ -@$(MKDIR_P) $(DESTDIR)$(INCPATH)
+ -@$(MKDIR_P) $(DESTDIR)$(INCPATH)/libpng
+ -@$(MKDIR_P) $(DESTDIR)$(LIBPATH)
+ -@$(RM_F) $(DESTDIR)$(INCPATH)/png.h
+ -@$(RM_F) $(DESTDIR)$(INCPATH)/pngconf.h
+ -@$(RM_F) $(DESTDIR)$(INCPATH)/pnglibconf.h
+ cp png.h $(DESTDIR)$(INCPATH)/libpng
+ cp pngconf.h $(DESTDIR)$(INCPATH)/libpng
+ cp pnglibconf.h $(DESTDIR)$(INCPATH)/libpng
+ chmod 644 $(DESTDIR)$(INCPATH)/libpng/png.h
+ chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngconf.h
+ chmod 644 $(DESTDIR)$(INCPATH)/libpng/pnglibconf.h
+ (cd $(DESTDIR)$(INCPATH); ln -f -s libpng/* .)
+ cp libpng.a $(DESTDIR)$(LIBPATH)
+ chmod 644 $(DESTDIR)$(LIBPATH)/libpng.a
+
+clean:
+ $(RM_F) *.o libpng.a pngtest pngout.png pnglibconf.* dfn.c dfn?.out
+
+DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
+writelock:
+ chmod a-w *.[ch35] $(DOCS) scripts/*
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+
+png.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngerror.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngmem.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngset.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngget.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngtrans.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwrite.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngpread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+
+pngtest.o: png.h pngconf.h pnglibconf.h
diff --git a/third_party/libpng/scripts/makefile.sunos b/third_party/libpng/scripts/makefile.sunos
new file mode 100644
index 0000000000..383954987e
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.sunos
@@ -0,0 +1,107 @@
+# makefile for libpng
+# Copyright (C) 2002, 2006 Glenn Randers-Pehrson
+# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
+#
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+
+# where make install puts libpng.a and png.h
+prefix=/usr/local
+INCPATH=$(prefix)/include
+LIBPATH=$(prefix)/lib
+
+# override DESTDIR= on the make install command line to easily support
+# installing into a temporary location. Example:
+#
+# make install DESTDIR=/tmp/build/libpng
+#
+# If you're going to install into a temporary location
+# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
+# you execute make install.
+DESTDIR=
+
+# Where the zlib library and include files are located
+#ZLIBLIB=/usr/local/lib
+#ZLIBINC=/usr/local/include
+ZLIBLIB=../zlib
+ZLIBINC=../zlib
+
+
+WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow -Wconversion \
+ -Wmissing-declarations -Wtraditional -Wcast-align \
+ -Wstrict-prototypes -Wmissing-prototypes
+
+CC=gcc
+AR_RC=ar rc
+MKDIR_P=mkdir -p
+LN_SF=ln -f -s
+RANLIB=ranlib
+RM_F=/bin/rm -f
+
+CFLAGS=-I$(ZLIBINC) -O # $(WARNMORE) -DPNG_DEBUG=5
+LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
+
+OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
+ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
+ pngwtran.o pngmem.o pngerror.o pngpread.o
+
+all: libpng.a pngtest
+
+# see scripts/pnglibconf.mak for more options
+pnglibconf.h: scripts/pnglibconf.h.prebuilt
+ cp scripts/pnglibconf.h.prebuilt $@
+
+libpng.a: $(OBJS)
+ $(AR_RC) $@ $(OBJS)
+ $(RANLIB) $@
+
+pngtest: pngtest.o libpng.a
+ $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
+
+test: pngtest
+ ./pngtest
+
+install: libpng.a
+ -@$(MKDIR_P) $(DESTDIR)$(INCPATH)
+ -@$(MKDIR_P) $(DESTDIR)$(INCPATH)/libpng
+ -@$(MKDIR_P) $(DESTDIR)$(LIBPATH)
+ -@$(RM_F) $(DESTDIR)$(INCPATH)/png.h
+ -@$(RM_F) $(DESTDIR)$(INCPATH)/pngconf.h
+ -@$(RM_F) $(DESTDIR)$(INCPATH)/pnglibconf.h
+ cp png.h $(DESTDIR)$(INCPATH)/libpng
+ cp pngconf.h $(DESTDIR)$(INCPATH)/libpng
+ cp pnglibconf.h $(DESTDIR)$(INCPATH)/libpng
+ chmod 644 $(DESTDIR)$(INCPATH)/libpng/png.h
+ chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngconf.h
+ chmod 644 $(DESTDIR)$(INCPATH)/libpng/pnglibconf.h
+ (cd $(DESTDIR)$(INCPATH); $(LN_SF) libpng/* .)
+ cp libpng.a $(DESTDIR)$(LIBPATH)
+ chmod 644 $(DESTDIR)$(LIBPATH)/libpng.a
+
+clean:
+ $(RM_F) *.o libpng.a pngtest pngout.png pnglibconf.h
+
+DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
+writelock:
+ chmod a-w *.[ch35] $(DOCS) scripts/*
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+
+png.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngerror.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngmem.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngset.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngget.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngtrans.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwrite.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngpread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+
+pngtest.o: png.h pngconf.h pnglibconf.h
diff --git a/third_party/libpng/scripts/makefile.tc3 b/third_party/libpng/scripts/makefile.tc3
new file mode 100644
index 0000000000..462c47fece
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.tc3
@@ -0,0 +1,93 @@
+# Makefile for libpng
+# TurboC/C++ (Note: All modules are compiled in C mode)
+
+# To use, do "make -fmakefile.tc3"
+
+# ----- Turbo C 3.00 (can be modified to work with earlier versions) -----
+
+MODEL=l
+CFLAGS=-O2 -Z -m$(MODEL) -I..\zlib
+#CFLAGS=-D_NO_PROTO -O2 -Z -m$(MODEL) -I..\zlib # Turbo C older than 3.00
+CC=tcc
+LD=tcc
+LIB=tlib
+LDFLAGS=-m$(MODEL) -L..\zlib
+O=.obj
+E=.exe
+
+# variables
+OBJS1 = png$(O) pngset$(O) pngget$(O) pngrutil$(O) pngtrans$(O) pngwutil$(O)
+OBJS2 = pngmem$(O) pngpread$(O) pngread$(O) pngerror$(O) pngwrite$(O)
+OBJS3 = pngrtran$(O) pngwtran$(O) pngrio$(O) pngwio$(O)
+OBJSL1 = +png$(O) +pngset$(O) +pngget$(O) +pngrutil$(O) +pngtrans$(O)
+OBJSL2 = +pngwutil$(O) +pngmem$(O) +pngpread$(O) +pngread$(O) +pngerror$(O)
+OBJSL3 = +pngwrite$(O) +pngrtran$(O) +pngwtran$(O) +pngrio$(O) +pngwio$(O)
+
+all: libpng$(MODEL).lib pngtest$(E)
+
+# see scripts/pnglibconf.mak for more options
+pnglibconf.h: scripts/pnglibconf.h.prebuilt
+ cp scripts/pnglibconf.h.prebuilt $@
+
+pngtest: pngtest$(E)
+
+test: pngtest$(E)
+ pngtest$(E)
+
+png$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c
+
+pngset$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c
+
+pngget$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c
+
+pngread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c
+
+pngpread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c
+
+pngrtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c
+
+pngrutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c
+
+pngerror$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c
+
+pngmem$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c
+
+pngrio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c
+
+pngwio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c
+
+pngtest$(O): png.h pngconf.h pnglibconf.h
+ $(CC) -c $(CFLAGS) $*.c
+
+pngtrans$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c
+
+pngwrite$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c
+
+pngwtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c
+
+pngwutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c
+
+libpng$(MODEL).lib: $(OBJS1) $(OBJS2) $(OBJS3)
+ $(LIB) libpng$(MODEL) +$(OBJSL1)
+ $(LIB) libpng$(MODEL) +$(OBJSL2)
+ $(LIB) libpng$(MODEL) +$(OBJSL3)
+
+pngtest$(E): pngtest$(O) libpng$(MODEL).lib
+ $(LD) $(LDFLAGS) pngtest.obj libpng$(MODEL).lib zlib_$(MODEL).lib
+
+# End of makefile for libpng
diff --git a/third_party/libpng/scripts/makefile.vcwin32 b/third_party/libpng/scripts/makefile.vcwin32
new file mode 100644
index 0000000000..6bfeac03f7
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.vcwin32
@@ -0,0 +1,108 @@
+# makefile for libpng
+# Copyright (C) 1998 Tim Wegner
+# Copyright (C) 2006,2009,2011 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
+#
+# Assumes that zlib.lib, zconf.h, and zlib.h have been copied to ..\zlib
+# To use, do "nmake /f scripts\makefile.vcwin32"
+
+# -------- Microsoft Visual C++ 2.0 and later, no assembler code --------
+
+# Compiler, linker, librarian, and other tools
+CC = cl
+LD = link
+AR = lib
+CFLAGS = -nologo -D_CRT_SECURE_NO_DEPRECATE -MD -O2 -W3 -I..\zlib
+LDFLAGS = -nologo
+ARFLAGS = -nologo
+RM = del
+
+# File extensions
+O=.obj
+
+#uncomment next to put error messages in a file
+#ERRFILE= >> pngerrs.log
+
+# Variables
+OBJS1 = png$(O) pngerror$(O) pngget$(O) pngmem$(O) pngpread$(O)
+OBJS2 = pngread$(O) pngrio$(O) pngrtran$(O) pngrutil$(O) pngset$(O)
+OBJS3 = pngtrans$(O) pngwio$(O) pngwrite$(O) pngwtran$(O) pngwutil$(O)
+OBJS = $(OBJS1) $(OBJS2) $(OBJS3)
+
+# Targets
+all: libpng.lib
+
+# see scripts/pnglibconf.mak for more options
+pnglibconf.h: scripts\pnglibconf.h.prebuilt
+ copy scripts\pnglibconf.h.prebuilt $@
+
+png$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngset$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngget$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngpread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngrtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngrutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngerror$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngmem$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngrio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngwio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngtrans$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngwrite$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngwtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngwutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+libpng.lib: $(OBJS)
+ -$(RM) $@
+ $(AR) $(ARFLAGS) -out:$@ $(OBJS) $(ERRFILE)
+
+pngtest$(O): png.h pngconf.h pnglibconf.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngtest.exe: pngtest$(O) libpng.lib
+ $(LD) $(LDFLAGS) -out:$@ pngtest$(O) libpng.lib ..\zlib\zlib.lib $(ERRFILE)
+
+test: pngtest.exe
+ pngtest
+
+clean:
+ -$(RM) *$(O)
+ -$(RM) libpng.lib
+ -$(RM) pnglibconf.h
+ -$(RM) pngtest.exe
+ -$(RM) pngout.png
+
+# End of makefile for libpng
+
diff --git a/third_party/libpng/scripts/makefile.watcom b/third_party/libpng/scripts/makefile.watcom
new file mode 100644
index 0000000000..983b4e3091
--- /dev/null
+++ b/third_party/libpng/scripts/makefile.watcom
@@ -0,0 +1,122 @@
+# Makefile for libpng
+# Watcom C/C++ 10.0 and later, 32-bit protected mode, flat memory model
+
+# Copyright (C) 2000, Pawel Mrochen, based on makefile.msc which is
+# copyright 1995 Guy Eric Schalnat, Group 42, Inc.
+#
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+
+# To use, do "wmake /f scripts\makefile.watcom"
+
+
+# ---------------------- Watcom C/C++ 10.0 and later -----------------------
+
+# Where the zlib library and include files are located
+ZLIBLIB=..\zlib
+ZLIBINC=..\zlib
+
+# Target OS
+OS=DOS
+#OS=NT
+
+# Target CPU
+CPU=6 # Pentium Pro
+#CPU=5 # Pentium
+
+# Calling convention
+CALLING=r # registers
+#CALLING=s # stack
+
+# Uncomment next to put error messages in a file
+#ERRFILE=>>pngerrs
+
+# --------------------------------------------------------------------------
+
+
+CC=wcc386
+CFLAGS=-$(CPU)$(CALLING) -fp$(CPU) -fpi87 -oneatx -mf -bt=$(OS) -i=$(ZLIBINC) -zq
+LD=wcl386
+LDFLAGS=-zq
+
+O=.obj
+
+OBJS1=png$(O) pngset$(O) pngget$(O) pngrutil$(O) pngtrans$(O) pngwutil$(O)
+OBJS2=pngmem$(O) pngpread$(O) pngread$(O) pngerror$(O) pngwrite$(O)
+OBJS3=pngrtran$(O) pngwtran$(O) pngrio$(O) pngwio$(O)
+
+
+all: test
+
+# see scripts/pnglibconf.mak for more options
+# to support watcom calling conventions it is necessary to set PNG_API_RULE to 2
+# in pnglibconf.h - copy scripts/pnglibconf.h.prebuilt, delete the first line and change
+# the definition of PNG_API_RULE from 0 to 2.
+#
+# If you know how to do this with the Watcom build system please supply a patch
+# for this makefile to the PNG implementation list.
+pnglibconf.h: scripts/pnglibconf.h.prebuilt
+ @echo please copy scripts/pnglibconf.h.prebuilt and change PNG_API_RULE to 2
+
+png$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+pngset$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+pngget$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+pngread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+pngpread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+pngrtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+pngrutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+pngerror$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+pngmem$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+pngrio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+pngwio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+pngtest$(O): png.h pngconf.h pnglibconf.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+pngtrans$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+pngwrite$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+pngwtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+pngwutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+ $(CC) $(CFLAGS) $*.c $(ERRFILE)
+
+libpng.lib: $(OBJS1) $(OBJS2) $(OBJS3)
+ wlib -b -c -n -q libpng.lib $(OBJS1)
+ wlib -b -c -q libpng.lib $(OBJS2)
+ wlib -b -c -q libpng.lib $(OBJS3)
+
+pngtest.exe: pngtest.obj libpng.lib
+ $(LD) $(LDFLAGS) pngtest.obj libpng.lib $(ZLIBLIB)\zlib.lib
+
+test: pngtest.exe .symbolic
+ pngtest.exe
+
+
+# End of makefile for libpng
diff --git a/third_party/libpng/scripts/makevms.com b/third_party/libpng/scripts/makevms.com
new file mode 100644
index 0000000000..f6c326103c
--- /dev/null
+++ b/third_party/libpng/scripts/makevms.com
@@ -0,0 +1,142 @@
+$! make libpng under VMS
+$!
+$!
+$! Check for MMK/MMS
+$!
+$! This procedure accepts one parameter (contrib), which causes it to build
+$! the programs from the contrib directory instead of libpng.
+$!
+$ p1 = f$edit(p1,"UPCASE")
+$ if p1 .eqs. "CONTRIB"
+$ then
+$ set def [.contrib.gregbook]
+$ @makevms
+$ set def [-.pngminus]
+$ @makevms
+$ set def [--]
+$ exit
+$ endif
+$ Make = ""
+$ If F$Search ("Sys$System:MMS.EXE") .nes. "" Then Make = "MMS"
+$ If F$Type (MMK) .eqs. "STRING" Then Make = "MMK"
+$!
+$! Look for the compiler used
+$!
+$ zlibsrc = "[-.zlib]"
+$ ccopt="/include=''zlibsrc'"
+$ if f$getsyi("HW_MODEL").ge.1024
+$ then
+$ ccopt = "/prefix=all"+ccopt
+$ comp = "__decc__=1"
+$ if f$trnlnm("SYS").eqs."" then define sys sys$library:
+$ else
+$ if f$search("SYS$SYSTEM:DECC$COMPILER.EXE").eqs.""
+$ then
+$ if f$trnlnm("SYS").eqs."" then define sys sys$library:
+$ if f$search("SYS$SYSTEM:VAXC.EXE").eqs.""
+$ then
+$ comp = "__gcc__=1"
+$ CC :== GCC
+$ else
+$ comp = "__vaxc__=1"
+$ endif
+$ else
+$ if f$trnlnm("SYS").eqs."" then define sys decc$library_include:
+$ ccopt = "/decc/prefix=all"+ccopt
+$ comp = "__decc__=1"
+$ endif
+$ endif
+$!
+$! Build the thing plain or with mms/mmk
+$!
+$ write sys$output "Compiling Libpng sources ..."
+$ if make.eqs.""
+$ then
+$ dele pngtest.obj;*
+$ CALL MAKE png.OBJ "cc ''CCOPT' png" -
+ png.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+$ CALL MAKE pngset.OBJ "cc ''CCOPT' pngset" -
+ pngset.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+$ CALL MAKE pngget.OBJ "cc ''CCOPT' pngget" -
+ pngget.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+$ CALL MAKE pngread.OBJ "cc ''CCOPT' pngread" -
+ pngread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+$ CALL MAKE pngpread.OBJ "cc ''CCOPT' pngpread" -
+ pngpread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+$ CALL MAKE pngrtran.OBJ "cc ''CCOPT' pngrtran" -
+ pngrtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+$ CALL MAKE pngrutil.OBJ "cc ''CCOPT' pngrutil" -
+ pngrutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+$ CALL MAKE pngerror.OBJ "cc ''CCOPT' pngerror" -
+ pngerror.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+$ CALL MAKE pngmem.OBJ "cc ''CCOPT' pngmem" -
+ pngmem.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+$ CALL MAKE pngrio.OBJ "cc ''CCOPT' pngrio" -
+ pngrio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+$ CALL MAKE pngwio.OBJ "cc ''CCOPT' pngwio" -
+ pngwio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+$ CALL MAKE pngtrans.OBJ "cc ''CCOPT' pngtrans" -
+ pngtrans.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+$ CALL MAKE pngwrite.OBJ "cc ''CCOPT' pngwrite" -
+ pngwrite.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+$ CALL MAKE pngwtran.OBJ "cc ''CCOPT' pngwtran" -
+ pngwtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+$ CALL MAKE pngwutil.OBJ "cc ''CCOPT' pngwutil" -
+ pngwutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+$ write sys$output "Building Libpng ..."
+$ CALL MAKE libpng.OLB "lib/crea libpng.olb *.obj" *.OBJ
+$ write sys$output "Building pngtest..."
+$ CALL MAKE pngtest.OBJ "cc ''CCOPT' pngtest" -
+ pngtest.c png.h pngconf.h pnglibconf.h
+$ call make pngtest.exe -
+ "LINK pngtest,libpng.olb/lib,''zlibsrc'libz.olb/lib" -
+ pngtest.obj libpng.olb
+$ write sys$output "Testing Libpng..."
+$ run pngtest
+$ else
+$ if f$search("DESCRIP.MMS") .eqs. "" then copy/nolog [.SCRIPTS]DESCRIP.MMS []
+$ 'make'/macro=('comp',zlibsrc='zlibsrc')
+$ endif
+$ write sys$output "Libpng build completed"
+$ exit
+$!
+$!
+$MAKE: SUBROUTINE !SUBROUTINE TO CHECK DEPENDENCIES
+$ V = 'F$Verify(0)
+$! P1 = What we are trying to make
+$! P2 = Command to make it
+$! P3 - P8 What it depends on
+$
+$ If F$Search(P1) .Eqs. "" Then Goto Makeit
+$ Time = F$CvTime(F$File(P1,"RDT"))
+$arg=3
+$Loop:
+$ Argument = P'arg
+$ If Argument .Eqs. "" Then Goto Exit
+$ El=0
+$Loop2:
+$ File = F$Element(El," ",Argument)
+$ If File .Eqs. " " Then Goto Endl
+$ AFile = ""
+$Loop3:
+$ OFile = AFile
+$ AFile = F$Search(File)
+$ If AFile .Eqs. "" .Or. AFile .Eqs. OFile Then Goto NextEl
+$ If F$CvTime(F$File(AFile,"RDT")) .Ges. Time Then Goto Makeit
+$ Goto Loop3
+$NextEL:
+$ El = El + 1
+$ Goto Loop2
+$EndL:
+$ arg=arg+1
+$ If arg .Le. 8 Then Goto Loop
+$ Goto Exit
+$
+$Makeit:
+$ VV=F$VERIFY(0)
+$ write sys$output P2
+$ 'P2
+$ VV='F$Verify(VV)
+$Exit:
+$ If V Then Set Verify
+$ENDSUBROUTINE
diff --git a/third_party/libpng/scripts/options.awk b/third_party/libpng/scripts/options.awk
new file mode 100755
index 0000000000..96c600eab0
--- /dev/null
+++ b/third_party/libpng/scripts/options.awk
@@ -0,0 +1,734 @@
+#!/bin/awk -f
+# scripts/options.awk - library build configuration control
+#
+# last changed in libpng version 1.5.0 - January 6, 2011
+#
+# Copyright (c) 1998-2011 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
+
+# The output of this script is written to the file given by
+# the variable 'out'. The script is run twice, once with
+# an intermediate output file, 'options.tmp' then again on
+# that file to produce the final output:
+#
+# awk -f scripts/options.awk out=options.tmp scripts/options.dfa 1>&2
+# awk -f scripts/options.awk out=options.dfn options.tmp 1>&2
+#
+# Some options may be specified on the command line:
+#
+# deb=1 Causes debugging to be output
+# logunsupported=1 Causes all options to be recorded in the output
+# everything=off Causes all options to be disabled by default
+# everything=on Causes all options to be enabled by default
+#
+# If awk fails on your platform, try nawk instead.
+#
+# These options may also be specified in the original input file (and
+# are copied to the preprocessed file).
+
+BEGIN{
+ out="/dev/null" # intermediate, preprocessed, file
+ pre=-1 # preprocess (first line)
+ err=0 # in-line exit sets this
+ start="PNG_DEFN_MAGIC-" # Arbitrary start
+ end="-PNG_DEFN_END" # Arbitrary end
+ cx= "/@@@*" # Open C comment for output file
+ comment=start cx # Comment start
+ cend="*/" end # Comment end
+ def=start "#define PNG_@@@" # Arbitrary define
+ sup="@@@_SUPPORTED" end # end supported option
+ und=comment "#undef PNG_@@@" # Unsupported option
+ une="@@@_SUPPORTED" cend # end unsupported option
+ error=start "ERROR:" # error message
+
+ # Variables
+ deb=0 # debug - set on command line
+ everything="" # do not override defaults
+ logunsupported=0 # write unsupported options too
+
+ # Precreate arrays
+ 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
+ setting[""] = "" # requires by setting
+ defaults[""] = "" # used for a defaulted value
+ doneset[""] = 1 # marks setting as having been output
+ r[""] = "" # Temporary array
+
+ # For decorating the output file
+ protect = ""
+}
+
+# The output file must be specified before any input:
+out == "/dev/null" {
+ print "out=output.file must be given on the command line"
+ err = 1
+ exit 1
+}
+
+# The very first line indicates whether we are reading pre-processed
+# input or not, this must come *first* because 'PREPROCESSED' needs
+# to be the very first line in the temporary file.
+pre == -1{
+ if ($0 == "PREPROCESSED") {
+ pre = 0
+ next
+ } else {
+ pre = 1
+ print "PREPROCESSED" >out
+ # And fall through to continue processing
+ }
+}
+
+# variable=value
+# Sets the given variable to the given value (the syntax is fairly
+# free form, except for deb (you are expected to understand how to
+# set the debug variable...)
+#
+# This happens before the check on 'pre' below skips most of the
+# rest of the actions, so the variable settings happen during
+# preprocessing but are recorded in the END action too. This
+# allows them to be set on the command line too.
+$0 ~ /^[ ]*everything[ =]*off[ ]*$/{
+ everything = "off"
+ next
+}
+$0 ~ /^[ ]*everything[ =]*on[ ]*$/{
+ everything = "on"
+ next
+}
+$0 ~ /^[ ]*logunsupported[ =]*0[ ]*$/{
+ logunsupported = 0
+ next
+}
+$0 ~ /^[ ]*logunsupported[ =]*1[ ]*$/{
+ logunsupported = 1
+ next
+}
+$1 == "deb" && $2 == "=" && NF == 3{
+ deb = $3
+ next
+}
+
+# Preprocessing - this just copies the input file with lines
+# that need preprocessing (just chunk at present) expanded
+# The bare "pre" instead of "pre != 0" crashes under Sunos awk
+pre && $1 != "chunk"{
+ print >out
+ next
+}
+
+# The first characters of the line determine how it is processed,
+# leading spaces are ignored. In general tokens that are not
+# keywords are the names of options. An option 'name' is
+# controlled by the definition of the corresponding macros:
+#
+# PNG_name_SUPPORTED The option is turned on
+# PNG_NO_name
+# PNG_NO_name_SUPPORTED If the first macro is not defined
+# either of these will turn the option off
+#
+# If none of these macros are defined the option is turned on, unless
+# the keyword 'off' is given in a line relating to the option. The
+# keyword 'on' can also be given, but it will be ignored (since it is
+# the default.)
+#
+# In the syntax below a 'name' is indicated by "NAME", other macro
+# values are indicated by "MACRO", as with "NAME" the leading "PNG_"
+# is omitted, but in this case the "NO_" prefix and the "_SUPPORTED"
+# suffix are never used.
+#
+# Each line is introduced by a keyword - the first non-space characters
+# on the line. A line starting with a '#' is a comment - it is totally
+# ignored. Keywords are as follows, a NAME, is simply a macro name
+# without the leading PNG_, PNG_NO_ or the trailing _SUPPORTED.
+
+$1 ~ /^#/ || $0 ~ /^[ ]*$/{
+ next
+}
+
+# com <comment>
+# The whole line is placed in the output file as a comment with
+# the preceding 'com' removed
+$1 == "com"{
+ if (NF > 1) {
+ # sub(/^[ ]*com[ ]*/, "")
+ $1 = ""
+ print comment, $0, cend >out
+ } else
+ print start end >out
+ next
+}
+
+# file output input protect
+# Informational: the official name of the input file (without
+# make generated local directories), the official name of the
+# output file and, if required, a name to use in a protection
+# macro for the contents.
+$1 == "file" && NF >= 2{
+ print comment, $2, cend >out
+ print comment, "Machine generated file: DO NOT EDIT", cend >out
+ if (NF >= 3)
+ print comment, "Derived from:", $3, cend >out
+ protect = $4
+ if (protect != "") {
+ print start "#ifndef", protect end >out
+ print start "#define", protect end >out
+ }
+ next
+}
+
+# option NAME ( (requires|enables|if) NAME* | on | off | disabled )*
+# 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
+# least one of the options listed after 'if' is set. If the
+# option is set then it turns on all the options listed after 'enables'.
+#
+# Note that "enables" takes priority over the required/if/disabled/off
+# setting of the target option.
+#
+# The definition file may list an option as 'disabled': off by default,
+# otherwise the option is enabled: on by default. A later (and it must
+# 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)
+ 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
+ }
+ }
+ } 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
+ }
+
+ if (i > NF) {
+ # Set the option, defaulting to 'enabled'
+ if (onoff == "") onoff = "enabled"
+ option[$2] = onoff
+ next
+ }
+ # Else fall through to the error handler
+}
+
+# chunk NAME [requires OPT] [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 off]
+# option WRITE_NAME requires WRITE_ANCILLARY_CHUNKS [WRITE_OPT]
+# option WRITE_NAME enables NAME
+# [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.
+ onoff = ""
+ reqread = ""
+ reqwrite = ""
+ i = 3 # indicates format error
+ if (NF > 2) {
+ # read the keywords/additional OPTS
+ req = 0
+ for (i=3; i<=NF; ++i) {
+ if ($(i) == "on" || $(i) == "off" || $(i) == "disabled") {
+ if (onoff != $(i)) {
+ if (onoff == "")
+ onoff = $(i)
+ else
+ break # on/off conflict
+ }
+ } else if ($(i) == "requires")
+ req = 1
+ else if (req != 1)
+ break # bad line: handled below
+ else {
+ reqread = reqread " READ_" $(i)
+ reqwrite = reqwrite " WRITE_" $(i)
+ }
+ }
+ }
+
+ 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
+ next
+ }
+ # Else hit the error handler below - bad line format!
+}
+
+# setting MACRO ( requires MACRO* )* [ default VALUE ]
+# Behaves in a similar way to 'option' without looking for NO_ or
+# _SUPPORTED; the macro is enabled if it is defined so long as all
+# the 'requires' macros are also defined. The definitions may be
+# empty, an error will be issued if the 'requires' macros are
+# *not* defined. If given the 'default' value is used if the
+# macro is not defined. The default value will be re-tokenised.
+# (BTW: this is somewhat restrictive, it mainly exists for the
+# support of non-standard configurations and numeric parameters,
+# see the uses in scripts/options.dat
+
+$1 == "setting" && (NF == 2 || NF >= 3 && ($3 == "requires" || $3 == "default")){
+ reqs = ""
+ deflt = ""
+ isdef = 0
+ key = ""
+ for (i=3; i<=NF; ++i)
+ if ($(i) == "requires" || $(i) == "default") {
+ key = $(i)
+ if (key == "default") isdef = 1
+ } else if (key == "requires")
+ reqs = reqs " " $(i)
+ else if (key == "default")
+ deflt = deflt " " $(i)
+ else
+ break # Format error, handled below
+
+ setting[$2] = reqs
+ # NOTE: this overwrites a previous value silently
+ if (isdef && deflt == "")
+ deflt = " " # as a flag to force output
+ defaults[$2] = deflt
+ next
+}
+
+# The order of the dependency lines (option, chunk, setting) is irrelevant
+# - the 'enables', 'requires' and 'if' settings will be used to determine
+# the correct order in the output and the final values in pnglibconf.h are
+# not order dependent. 'requires' and 'if' entries take precedence over
+# 'enables' from other options; if an option requires another option it
+# won't be set regardless of any options that enable it unless the other
+# option is also enabled.
+#
+# Similarly 'enables' trumps a NO_ definition in CFLAGS or pngusr.h
+#
+# For simplicity cycles in the definitions are regarded as errors,
+# even if they are not ambiguous.
+# A given NAME can be specified in as many 'option' lines as required, the
+# definitions are additive.
+
+# For backwards compatibility equivalent macros may be listed thus:
+#
+# = [NO_]NAME MACRO
+# Makes -DMACRO equivalent to -DPNG_NO_NAME or -DPNG_NAME_SUPPORTED
+# as appropriate.
+#
+# The definition is injected into the C compiler input when encountered
+# in the second pass (so all these definitions appear *after* the @
+# lines!)
+#
+# 'NAME' is as above, but 'MACRO' is the full text of the equivalent
+# old, deprecated, macro.
+
+$1 == "=" && NF == 3{
+ print "#ifdef PNG_" $3 >out
+ if ($2 ~ /^NO_/)
+ print "# define PNG_" $2 >out
+ else
+ print "# define PNG_" $2 "_SUPPORTED" >out
+ print "#endif" >out
+ next
+}
+
+# Lines may be injected into the C compiler input by preceding them
+# with an "@" character. The line is copied with just the leading
+# @ removed.
+
+$1 ~ /^@/{
+ # sub(/^[ ]*@/, "")
+ $1 = substr($1, 2)
+ print >out
+ next
+}
+
+# Check for unreognized lines, because of the preprocessing chunk
+# format errors will be detected on the first pass independent of
+# any other format errors.
+{
+ print "options.awk: bad line (" NR "):", $0
+ err = 1 # prevent END{} running
+ exit 1
+}
+
+# For checking purposes names that start with "ok_" or "fail_" are
+# not output to pnglibconf.h and must be either enabled or disabled
+# respectively for the build to succeed. This allows interdependencies
+# between options of the form "at least one of" or "at most one of"
+# to be checked. For example:
+#
+# option FLOATING_POINT enables ok_math
+# option FIXED_POINT enables ok_math
+# This ensures that at least one of FLOATING_POINT and FIXED_POINT
+# must be set for the build to succeed.
+#
+# option fail_math requires FLOATING_POINT FIXED_POINT
+# This means the build will fail if *both* FLOATING_POINT and
+# FIXED_POINT are set (this is an example; in fact both are allowed.)
+#
+# If all these options were given the build would require exactly one
+# of the names to be enabled.
+
+END{
+ # END{} gets run on an exit (a traditional awk feature)
+ if (err) exit 1
+
+ if (pre) {
+ # Record the final value of the variables
+ print "deb =", deb >out
+ if (everything != "") {
+ print "everything =", everything >out
+ }
+ print "logunsupported =", logunsupported >out
+ 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
+ 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
+ print "" >out
+ print "/* setting: ", i >out
+ print " * requires:" setting[i] >out
+ print " * default: ", defaults[i], "*/" >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
+ }
+ print def i, "PNG_" i 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 defaults[i] >out
+ print def i defaults[i] 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 comment, "end of settings", cend >out
+
+ # Now do the options - somewhat more complex. The dependency
+ # tree is thus:
+ #
+ # name > name
+ # name requires name
+ # name if name
+ # name enabledby name
+ #
+ # First build a list 'tree' by option of all the things on which
+ # it depends.
+ print "" >out
+ print "/* OPTIONS */" >out
+ print comment, "options", cend >out
+ for (opt in enabledby) tree[opt] = 1 # may not be explicit options
+ for (opt in option) if (opt != "") {
+ o = option[opt]
+ # option should always be one of the following values
+ if (o != "on" && o != "off" && o != "disabled" && o != "enabled") {
+ print "internal option error (" o ")"
+ exit 1
+ }
+ tree[opt] = "" # so unlisted options marked
+ }
+ for (opt in tree) if (opt != "") {
+ if (tree[opt] == 1) {
+ tree[opt] = ""
+ if (option[opt] != "") {
+ print "internal error (1)"
+ exit 1
+ }
+ # Macros only listed in 'enables' remain off unless
+ # one of the enabling macros is on.
+ option[opt] = "disabled"
+ }
+
+ split("", list) # clear 'list'
+ # Now add every requires, iffs or enabledby entry to 'list'
+ # so that we can add a unique list of requirements to tree[i]
+ split(requires[opt] iffs[opt] enabledby[opt], r)
+ for (i in r) list[r[i]] = 1
+ for (i in list) tree[opt] = tree[opt] " " i
+ }
+
+ # print the tree for extreme debugging
+ if (deb > 2) for (i in tree) if (i != "") print i, "depends-on" tree[i]
+
+ # Ok, now check all options marked explicitly 'on' or 'off':
+ #
+ # If an option[opt] is 'on' then turn on all requires[opt]
+ # If an option[opt] is 'off' then turn off all enabledby[opt]
+ #
+ # Error out if we have to turn 'on' an 'off' option or vice versa.
+ npending = 0
+ for (opt in option) if (opt != "") {
+ if (option[opt] == "on" || option[opt] == "off") {
+ pending[++npending] = opt
+ }
+ }
+
+ err = 0 # set on error
+ while (npending > 0) {
+ opt = pending[npending--]
+ if (option[opt] == "on") {
+ nreqs = split(requires[opt], r)
+ for (j=1; j<=nreqs; ++j) {
+ if (option[r[j]] == "off") {
+ print "option", opt, "turned on, but requirement", r[j], "is turned off"
+ err = 1
+ } else if (option[r[j]] != "on") {
+ option[r[j]] = "on"
+ pending[++npending] = r[j]
+ }
+ }
+ } else {
+ if (option[opt] != "off") {
+ print "internal error (2)"
+ exit 1
+ }
+ nreqs = split(enabledby[opt], r)
+ for (j=1; j<=nreqs; ++j) {
+ if (option[r[j]] == "on") {
+ print "option", opt, "turned off, but enabled by", r[j], "which is turned on"
+ err = 1
+ } else if (option[r[j]] != "off") {
+ option[r[j]] = "off"
+ pending[++npending] = r[j]
+ }
+ }
+ }
+ }
+ if (err) exit 1
+
+ # option[i] is now the complete list of all the tokens we may
+ # need to output, go through it as above, depth first.
+ finished = 0
+ while (!finished) {
+ finished = 1
+ movement = 0 # done nothing
+ for (i in option) if (!done[i]) {
+ nreqs = split(tree[i], r)
+ if (nreqs > 0) {
+ for (j=1; j<=nreqs; ++j) if (!done[r[j]]) {
+ break
+ }
+ if (j<=nreqs) {
+ finished = 0
+ continue # next option
+ }
+ }
+
+ # All the requirements have been processed, output
+ # this option. An option is _SUPPORTED if:
+ #
+ # all 'requires' are _SUPPORTED AND
+ # at least one of the 'if' options are _SUPPORTED AND
+ # EITHER:
+ # The name is _SUPPORTED (on the command line)
+ # OR:
+ # an 'enabledby' is _SUPPORTED
+ # OR:
+ # NO_name is not defined AND
+ # the option is not disabled; an option is disabled if:
+ # option == off
+ # option == disabled && everything != on
+ # option == "" && everything == off
+ if (deb) print "option", i
+ 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 "#undef PNG_on" >out
+ print "#define PNG_on 1" >out
+
+ # requires
+ nreqs = split(requires[i], r)
+ for (j=1; j<=nreqs; ++j) {
+ print "#ifndef PNG_" r[j] "_SUPPORTED" >out
+ print "# undef PNG_on /*!" r[j] "*/" >out
+ # this error appears in the final output if something
+ # was switched 'on' but the processing above to force
+ # the requires did not work
+ if (option[i] == "on") {
+ print error, i, "requires", r[j] end >out
+ }
+ print "#endif" >out
+ }
+
+ # if
+ nreqs = split(iffs[i], r)
+ print "#undef PNG_no_if" >out
+ if (nreqs > 0) {
+ print "/* if" iffs[i], "*/" >out
+ print "#define PNG_no_if 1" >out
+ for (j=1; j<=nreqs; ++j) {
+ print "#ifdef PNG_" r[j] "_SUPPORTED" >out
+ print "# undef PNG_no_if /*" r[j] "*/" >out
+ print "#endif" >out
+ }
+ print "#ifdef PNG_no_if /*missing if*/" >out
+ print "# undef PNG_on" >out
+ # There is no checking above for this, because we
+ # don't know which 'if' to choose, so whine about
+ # it here:
+ if (option[i] == "on") {
+ print error, i, "needs one of:", iffs[i] end >out
+ }
+ print "#endif" >out
+ }
+
+ print "#ifdef PNG_on /*requires, if*/" >out
+ # enables
+ print "# undef PNG_not_enabled" >out
+ print "# define PNG_not_enabled 1" >out
+ print " /* enabled by" enabledby[i], "*/" >out
+ nreqs = split(enabledby[i], r)
+ for (j=1; j<=nreqs; ++j) {
+ print "#ifdef PNG_" r[j] "_SUPPORTED" >out
+ print "# undef PNG_not_enabled /*" r[j] "*/" >out
+ # Oops, probably not intended (should be factored
+ # out by the checks above).
+ if (option[i] == "off") {
+ print error, i, "enabled by:", r[j] end >out
+ }
+ print "#endif" >out
+ }
+
+ print "# ifndef PNG_" i "_SUPPORTED /*!command line*/" >out
+ print "# ifdef PNG_not_enabled /*!enabled*/" >out
+ if (option[i] == "off" || option[i] == "disabled" && everything != "on" || option[i] == "enabled" && everything == "off") {
+ print "# undef PNG_on /*default off*/" >out
+ } else {
+ print "# ifdef PNG_NO_" i >out
+ print "# undef PNG_on /*turned off*/" >out
+ print "# endif" >out
+ print "# ifdef PNG_NO_" i "_SUPPORTED" >out
+ print "# undef PNG_on /*turned off*/" >out
+ print "# endif" >out
+ }
+ print "# endif /*!enabled*/" >out
+ print "# ifdef PNG_on" >out
+ # The _SUPPORTED macro must be defined so that dependent
+ # options output later work.
+ print "# define PNG_" i "_SUPPORTED" >out
+ print "# endif" >out
+ print "# endif /*!command line*/" >out
+ # If PNG_on is still set the option should be defined in
+ # pnglibconf.h
+ print "# ifdef PNG_on" >out
+ if (i ~ /^fail_/) {
+ 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
+ }
+ print "# endif /* definition */" >out
+ print "#endif /*requires, if*/" >out
+ if (logunsupported || i ~ /^ok_/) {
+ print "#ifndef PNG_on" >out
+ if (logunsupported) {
+ print und i une >out
+ }
+ if (i ~ /^ok_/) {
+ print error, i, "not enabled: requires:" requires[i] ", enabled by:" iffs[i] enabledby[i] end >out
+ }
+ print "#endif" >out
+ }
+
+ done[i] = 1
+ ++movement
+ }
+
+ if (!finished && !movement) {
+ print "option: loop or missing option in dependency tree, cannot process:"
+ for (i in option) if (!done[i]) {
+ print " option", i, "depends on" tree[i], "needs:"
+ nreqs = split(tree[i], r)
+ if (nreqs > 0) for (j=1; j<=nreqs; ++j) if (!done[r[j]]) {
+ print " " r[j]
+ }
+ }
+ exit 1
+ }
+ }
+ print comment, "end of options", cend >out
+
+ # Regular end - everything looks ok
+ if (protect != "") {
+ print start "#endif", cx, protect, "*/" end >out
+ }
+}
diff --git a/third_party/libpng/scripts/pnglibconf.dfa b/third_party/libpng/scripts/pnglibconf.dfa
new file mode 100644
index 0000000000..26afef866e
--- /dev/null
+++ b/third_party/libpng/scripts/pnglibconf.dfa
@@ -0,0 +1,550 @@
+# scripts/pnglibconf.dfa - library build configuration control
+#
+@/*- pnglibconf.dfn intermediate file
+@ * generated from scripts/pnglibconf.dfa
+@ */
+#
+com pnglibconf.h - library build configuration
+com
+com libpng version 1.5.0 - January 6, 2011
+com
+com Copyright (c) 1998-2011 Glenn Randers-Pehrson
+com
+com This code is released under the libpng license.
+com For conditions of distribution and use, see the disclaimer
+com and license in png.h
+com
+
+file pnglibconf.h scripts/pnglibconf.dfa PNGLCONF_H
+
+# This file is preprocessed by scripts/options.awk and the
+# C compiler to generate 'pnglibconf.h' - a list of all the
+# configuration options. The file lists the various options
+# that can *only* be specified during the libpng build;
+# pnglibconf.h freezes the definitons selected for the specific
+# build.
+#
+# The syntax is detailed in scripts/options.awk, this is a summary
+# only:
+#
+# 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
+# enable the other options listed
+# chunk <name> [requires ...] [disabled]
+# Enable chunk processing for the given ancillary chunk
+#
+# Note that the 'on' and 'off' keywords, while valid on both option
+# and chunk, should not be used in this file because they force the
+# relevant options on or off.
+
+#----------------------------------------------------------------------
+
+# The following setting, option and chunk values can all be changed
+# while building libpng:
+#
+# setting: change 'setting' lines to fine tune library performance,
+# changes to the settings don't affect the libpng API functionally
+#
+# option: change 'option' lines to remove or add capabilities from
+# or to the library; options change the library API
+#
+# chunk: change 'chunk' lines to remove capabilities to process
+# optional ('ancillary') chunks. This does not prevent PNG
+# decoding but does change the libpng API because some chunks
+# will be ignored.
+#
+# There are three ways of disabling features, in no particular order:
+#
+# 1) Create 'pngusr.h', enter the required private build information
+# detailed below and #define PNG_NO_<option> for each option you
+# don't want in that file in that file. You can also turn on options
+# using PNG_<option>_SUPPORTED. When you have finished rerun
+# configure and rebuild pnglibconf.h file with -DPNG_USER_CONFIG:
+#
+# make clean
+# CPPFLAGS='-DPNG_USER_CONFIG' ./configure
+# make pnglibconf.h
+#
+# pngusr.h is only used during the creation of pnglibconf.h, but it
+# is safer to ensure that -DPNG_USER_CONFIG is specified throughout
+# the build by changing the CPPFLAGS passed to the initial ./configure
+#
+# 2) Add definitions of the settings you want to change to
+# CPPFLAGS; for example:
+#
+# -DPNG_DEFAULT_READ_MACROS=0
+#
+# (This would change the default to *not* use read macros.) Be
+# very careful to change only settings that don't alter the API
+# because this approach bypasses the private build checking. You
+# can also change settings from pngpriv.h (read pngpriv.h) safely
+# without API changes. Do that in the same way.
+#
+# 3) Write a new '.dfa' file (say 'pngusr.dfa') and in this file
+# provide override values for setting entries and turn option or
+# chunk values explicitly 'on' or 'off':
+#
+# setting FOO default VALUE
+# option BAR [on|off]
+#
+# Then add this file to the options.awk command line (the *first*
+# one) after this file. The make macro DFA_XTRA is provided to make
+# this easier (set it like CPPFLAGS prior to running ./configure).
+# Look at the builds below contrib/pngminim for some extreme examples
+# of how this can be used.
+#
+# Don't edit this file unless you are contributing a patch to
+# libpng and need new or modified options/settings.
+#----------------------------------------------------------------------
+
+# The following causes commented out #undef lines to be written to
+# pnglibconf.h; this can be stopped by logunsupported=0 in a later
+# file or on the command line (after pnglibconf.dfa)
+
+logunsupported = 1
+
+# PNG_USER_CONFIG has to be defined on the compiler command line
+# to cause pngusr.h to be read while constructing pnglibconf.h
+#
+# If you create a private DLL you need to define the following
+# macros in the file 'pngusr.h' and set -DPNG_USER_CONFIG for
+# compilation (i.e. in CFLAGS.)
+# #define PNG_USER_PRIVATEBUILD \
+# <Describes by whom and why this version of the DLL was built>
+# e.g. #define PNG_USER_PRIVATEBUILD "Build by MyCompany for xyz reasons."
+# #define PNG_USER_DLLFNAME_POSTFIX <two-letter postfix that serve to
+# distinguish your DLL from those of the official release. These
+# correspond to the trailing letters that come after the version
+# number and must match your private DLL name>
+# e.g. // private DLL "libpng13gx.dll"
+# #define PNG_USER_DLLFNAME_POSTFIX "gx"
+#
+# The following macros are also at your disposal if you want to complete the
+# DLL VERSIONINFO structure.
+# - PNG_USER_VERSIONINFO_COMMENTS
+# - PNG_USER_VERSIONINFO_COMPANYNAME
+# - PNG_USER_VERSIONINFO_LEGALTRADEMARKS
+
+@#ifdef PNG_USER_CONFIG
+@# include "pngusr.h"
+@#endif
+
+# This is a special fixup for the Watcom C compiler on Windows, which has
+# multiple procedure call standards. Unless PNG_API_RULE is set explicitly
+# (i.e. if it is not defined at this point) it will be forced to '2' here when
+# using Watcom. This indicates to the other header files that Watcom behaviour
+# is required where appropriate.
+
+@#ifdef __WATCOMC__
+@# ifndef PNG_API_RULE
+@# define PNG_API_RULE 2 /* Use Watcom calling conventions */
+@# endif
+@#endif
+
+# Note that PNG_USR_CONFIG only has an effect when building
+# pnglibconf.h
+
+setting USER_CONFIG
+setting USER_PRIVATEBUILD
+setting USER_DLLFNAME_POSTFIX
+setting USER_VERSIONINFO_COMMENTS
+setting USER_VERSIONINFO_COMPANYNAME
+setting USER_VERSIONINFO_LEGALTRADEMARKS
+
+# Record the 'API rule' used to select calling conventions on
+# those systems that support such things (see all the comments in
+# pngconf.h)
+# Changing this setting has a fundamental affect on the PNG ABI,
+# do not release shared libraries with this changed.
+
+setting API_RULE default 0
+
+# Default to using the read macros
+
+setting DEFAULT_READ_MACROS default 1
+
+# The alternative is to call functions to read PNG values, if
+# the functions are turned *off* the read macros must always
+# be enabled, so turning this off will actually force the
+# USE_READ_MACROS option on (see pngconf.h)
+
+option READ_INT_FUNCTIONS requires READ
+
+# The same for write, but these can only be switched off if
+# no writing is required at all - hence the use of an 'enables'
+# not a 'requires' below:
+
+option WRITE_INT_FUNCTIONS disabled
+option WRITE enables WRITE_INT_FUNCTIONS
+
+# Generic options - affect both read and write.
+
+option WARNINGS
+option BENIGN_ERRORS
+option MNG_FEATURES
+
+# Arithmetic options, the first is the big switch that chooses between internal
+# floating and fixed point arithmetic implementations - it does not affect any
+# APIs. The second two (the _POINT settings) switch off individual APIs.
+
+option FLOATING_ARITHMETIC
+option FLOATING_POINT enables ok_math
+option FIXED_POINT enables ok_math
+
+# Added at libpng version 1.4.0
+
+option ERROR_TEXT
+
+# The following is always on (defined empty)
+
+setting CALLOC_SUPPORTED default
+
+# This protects us against compilers that run on a windowing system
+# and thus don't have or would rather us not use the stdio types:
+# stdin, stdout, and stderr. The only one currently used is stderr
+# in png_error() and png_warning(). #defining PNG_NO_CONSOLE_IO will
+# prevent these from being compiled and used. #defining PNG_NO_STDIO
+# will also prevent these, plus will prevent the entire set of stdio
+# macros and functions (FILE *, printf, etc.) from being compiled and used,
+# unless (PNG_DEBUG > 0) has been #defined.
+
+option STDIO
+option CONSOLE_IO requires STDIO
+
+# Note: prior to 1.5.0 this option could not be disabled if STDIO
+# was enabled.
+
+option TIME_RFC1123 requires STDIO
+
+# PNG_SETJMP_NOT_SUPPORTED is an old equivalent for NO_SETJMP
+
+option SETJMP
+= NO_SETJMP SETJMP_NOT_SUPPORTED
+
+# For the moment this is disabled (no code support):
+
+option ERROR_NUMBERS disabled
+
+# If this is disabled it is not possible for apps to get the
+# values from the 'info' structure, this effectively removes
+# quite a lot of the READ API.
+
+option EASY_ACCESS
+
+# Added at libpng-1.2.0
+
+option USER_MEM
+
+# Added at libpng-1.4.0
+
+option IO_STATE
+
+# This is only for PowerPC big-endian and 680x0 systems
+# some testing, not enabled by default.
+# NO LONGER USED
+
+#option READ_BIG_ENDIAN disabled
+
+# Allow users to control limits on what the READ code will
+# read:
+
+# Added at libpng-1.2.43; adds limit fields to png_struct,
+# allows some usages of these fields
+
+option USER_LIMITS
+
+# Added at libpng-1.2.6; adds setting APIs, allows additional
+# usage of this field (UTSL)
+
+option SET_USER_LIMITS requires USER_LIMITS
+
+# Feature added at libpng-1.4.0, this flag added at 1.4.1
+option SET_USER_LIMITS enables SET_CHUNK_CACHE_LIMIT
+# Feature added at libpng-1.4.1, this flag added at 1.4.1
+
+option SET_USER_LIMITS enables SET_CHUNK_MALLOC_LIMIT
+
+# Added at libpng-1.0.16 and 1.2.6. To accept all valid PNGs no matter
+# how large, set these two limits to 0x7fffffffL
+
+setting USER_WIDTH_MAX default 1000000L
+setting USER_HEIGHT_MAX default 1000000L
+
+# Added at libpng-1.2.43. To accept all valid PNGs no matter
+# how large, set these two limits to 0.
+
+setting USER_CHUNK_CACHE_MAX default 0
+
+# Added at libpng-1.2.43
+
+setting USER_CHUNK_MALLOC_MAX default 0
+
+# All of the following options relate to code capabilities for
+# processing image data before creating a PNG or after reading one.
+# You can remove these capabilities safely and still be PNG
+# conformant, however the library that results is still non-standard.
+# See the comments above about how to change options and settings.
+
+# READ options
+
+option READ enables READ_INTERLACING
+
+# Disabling READ_16BIT does not disable reading 16-bit PNG files, but it
+# forces them to be chopped down to 8-bit, and disables any 16-bit
+# processing after that has happened. You need to be sure to enable READ_16_TO_8
+# when you disable READ_16BIT for this to work properly.
+
+option READ_16BIT requires READ enables 16BIT
+
+option READ_QUANTIZE requires READ
+
+option READ_TRANSFORMS requires READ
+= NO_READ_TRANSFORMS READ_TRANSFORMS_NOT_SUPPORTED
+
+option READ_EXPAND requires READ_TRANSFORMS
+option READ_EXPAND_16 requires READ_TRANSFORMS READ_16BIT enables READ_EXPAND
+option READ_SHIFT requires READ_TRANSFORMS
+option READ_PACK requires READ_TRANSFORMS
+option READ_BGR requires READ_TRANSFORMS
+option READ_SWAP requires READ_TRANSFORMS READ_16BIT
+option READ_PACKSWAP requires READ_TRANSFORMS
+option READ_INVERT requires READ_TRANSFORMS
+option READ_BACKGROUND requires READ_TRANSFORMS
+option READ_16_TO_8 requires READ_TRANSFORMS
+option READ_FILLER requires READ_TRANSFORMS
+option READ_GAMMA requires READ_TRANSFORMS enables READ_gAMA
+option READ_GRAY_TO_RGB requires READ_TRANSFORMS
+option READ_SWAP_ALPHA requires READ_TRANSFORMS
+option READ_INVERT_ALPHA requires READ_TRANSFORMS
+option READ_STRIP_ALPHA requires READ_TRANSFORMS
+option READ_USER_TRANSFORM requires READ_TRANSFORMS
+option READ_RGB_TO_GRAY requires READ_TRANSFORMS
+
+option PROGRESSIVE_READ requires READ
+option SEQUENTIAL_READ requires READ
+
+# You can define PNG_NO_PROGRESSIVE_READ if you don't do progressive reading.
+# This is not talking about interlacing capability! You'll still have
+# interlacing unless you turn off the following which is required
+# for PNG-compliant decoders. (In other words, do not do this - in
+# fact it can't be disabled from the command line!)
+#option READ_INTERLACING requires READ
+
+option READ_COMPOSITE_NODIV requires READ
+= NO_READ_COMPOSITE_NODIV NO_READ_COMPOSITED_NODIV
+
+# Inch conversions
+
+option INCH_CONVERSIONS
+= INCH_CONVERSIONS INCH_CONVERSIONS
+
+# IN DEVELOPMENT
+# These are currently experimental features, define them if you want
+
+# Very little testing, not enabled by default.
+
+option READ_16_TO_8_ACCURATE_SCALE requires READ disabled
+
+# WRITE options
+
+option WRITE
+
+# Disabling WRITE_16BIT prevents 16-bit PNG files from being
+# generated.
+option WRITE_16BIT requires WRITE enables 16BIT
+
+option WRITE_TRANSFORMS requires WRITE
+= NO_WRITE_TRANSFORMS WRITE_TRANSFORMS_NOT_SUPPORTED
+
+option WRITE_SHIFT requires WRITE_TRANSFORMS
+option WRITE_PACK requires WRITE_TRANSFORMS
+option WRITE_BGR requires WRITE_TRANSFORMS
+option WRITE_SWAP requires WRITE_TRANSFORMS WRITE_16BIT
+option WRITE_PACKSWAP requires WRITE_TRANSFORMS
+option WRITE_INVERT requires WRITE_TRANSFORMS
+option WRITE_FILLER requires WRITE_TRANSFORMS
+option WRITE_SWAP_ALPHA requires WRITE_TRANSFORMS
+option WRITE_INVERT_ALPHA requires WRITE_TRANSFORMS
+option WRITE_USER_TRANSFORM requires WRITE_TRANSFORMS
+
+# This is not required for PNG-compliant encoders, but can cause
+# trouble if left undefined
+
+option WRITE_INTERLACING requires WRITE
+
+# The following depends, internally, on WEIGHT_SHIFT and COST_SHIFT
+# where are set below.
+
+option WRITE_WEIGHTED_FILTER requires WRITE
+
+option WRITE_FLUSH requires WRITE
+
+# Note: these can be turned off explicitly if not required by the
+# apps implementing the user transforms
+option USER_TRANSFORM_PTR if READ_USER_TRANSFORM WRITE_USER_TRANSFORM
+option USER_TRANSFORM_INFO if READ_USER_TRANSFORM WRITE_USER_TRANSFORM
+
+# Any chunks you are not interested in, you can undef here. The
+# ones that allocate memory may be expecially important (hIST,
+# tEXt, zTXt, tRNS, pCAL). Others will just save time and make png_info
+# a bit smaller.
+
+# The size of the png_text structure changed in libpng-1.0.6 when
+# iTXt support was added. iTXt support was turned off by default through
+# libpng-1.2.x, to support old apps that malloc the png_text structure
+# instead of calling png_set_text() and letting libpng malloc it. It
+# was turned on by default in libpng-1.4.0.
+
+option READ_ANCILLARY_CHUNKS requires READ
+# PNG_READ_ANCILLARY_CHUNKS_NOT_SUPPORTED is deprecated.
+= NO_READ_ANCILLARY_CHUNKS READ_ANCILLARY_CHUNKS_NOT_SUPPORTED
+
+option WRITE_ANCILLARY_CHUNKS requires WRITE
+# PNG_WRITE_ANCILLARY_CHUNKS_NOT_SUPPORTED is deprecated.
+= NO_WRITE_ANCILLARY_CHUNKS WRITE_ANCILLARY_CHUNKS_NOT_SUPPORTED
+
+# These options disable *all* the text chunks if turned off
+
+option READ_TEXT requires READ_ANCILLARY_CHUNKS enables TEXT
+option WRITE_TEXT requires WRITE_ANCILLARY_CHUNKS enables TEXT
+
+# Moved to pnglibconf.h at libpng-1.5.0
+# Feature support: in 1.4 this was in pngconf.h, but the following
+# features have no affect on the libpng API. Add library
+# only features to the end of this list. Add features that
+# affect the API above. (Note: the list of chunks follows
+# the library-only settings.)
+#
+# BUILD TIME ONLY OPTIONS
+# These options do not affect the API but rather alter how the
+# API is implemented, they get recorded in pnglibconf.h, but
+# can't be changed by the application.
+
+# Check the correctness of cHRM chunks
+
+option CHECK_cHRM requires cHRM
+
+#
+# Artificially align memory - the code typically aligns to 8 byte
+# boundaries if this is switched on, it's a small waste of space
+# but can help (in theory) on some architectures. Only affects
+# internal structures. Added at libpng 1.4.0
+
+option ALIGN_MEMORY
+
+# Buggy compilers (e.g., gcc 2.7.2.2) need PNG_NO_POINTER_INDEXING
+# See png[wr]util.c, normally this should always be *on*
+
+option POINTER_INDEXING
+
+# Other defines for things like memory and the like can go here.
+
+# BUILD TIME SETTINGS
+# Like build time options these do not affect the API, but they
+# may be useful to applications because they record details of
+# how the API will behave particularly with regard to overall
+# accuracy.
+
+# This controls how fine the quantizing gets. As this allocates
+# a largish chunk of memory (32K), those who are not as concerned
+# with quantizing quality can decrease some or all of these.
+
+setting QUANTIZE_RED_BITS default 5
+setting QUANTIZE_GREEN_BITS default 5
+setting QUANTIZE_BLUE_BITS default 5
+
+# This controls how fine the gamma correction becomes when you
+# are only interested in 8 bits anyway. Increasing this value
+# results in more memory being used, and more pow() functions
+# being called to fill in the gamma tables. Don't set this value
+# less then 8, and even that may not work (I haven't tested it).
+
+setting MAX_GAMMA_8 default 11
+
+# This controls how much a difference in gamma we can tolerate before
+# we actually start doing gamma conversion, it's a fixed point value,
+# so the default below is 0.05, meaning libpng ignores corrections in
+# the range 0.95 to 1.05
+
+setting GAMMA_THRESHOLD_FIXED default 5000
+
+# Scaling factor for filter heuristic weighting calculations
+
+setting WEIGHT_SHIFT default 8
+setting COST_SHIFT default 3
+
+# Precision to use when converting a floating point value to a PNG
+# extension format string in an sCAL chunk (only relevant if the
+# floating point API is enabled)
+
+setting sCAL_PRECISION default 5
+
+# This is the size of the compression buffer, and thus the size of
+# an IDAT chunk. Make this whatever size you feel is best for your
+# machine. One of these will be allocated per png_struct. When this
+# is full, it writes the data to the disk, and does some other
+# calculations. Making this an extremely small size may slow
+# the library down, but you may want to experiment to determine
+# where it becomes significant, if you are concerned with memory
+# usage. Note that zlib allocates at least 32Kb also. For readers,
+# this describes the size of the buffer available to read the data in.
+# Unless this gets smaller than the size of a row (compressed),
+# it should not make much difference how big this is.
+
+setting ZBUF_SIZE default 8192
+
+# Ancillary chunks
+chunk bKGD
+chunk cHRM
+chunk gAMA
+chunk hIST
+chunk iCCP
+chunk iTXt requires TEXT
+chunk oFFs
+chunk pCAL
+chunk sCAL
+chunk pHYs
+chunk sBIT
+chunk sPLT
+chunk sRGB
+chunk tEXt requires TEXT
+chunk tIME
+chunk tRNS
+chunk zTXt requires TEXT
+
+# This only affects support of the optional PLTE chunk in RGB and RGBA
+# images. Notice that READ_ANCILLARY_CHUNKS therefore disables part
+# of the regular chunk reading too.
+
+option READ_OPT_PLTE requires READ_ANCILLARY_CHUNKS
+
+option READ_UNKNOWN_CHUNKS requires READ
+option READ_UNKNOWN_CHUNKS enables UNKNOWN_CHUNKS READ_USER_CHUNKS
+option READ_USER_CHUNKS requires READ enables USER_CHUNKS
+
+option CONVERT_tIME requires WRITE_ANCILLARY_CHUNKS
+# The "tm" structure is not supported on WindowsCE
+
+@#ifdef _WIN32_WCE
+@# define PNG_NO_CONVERT_tIME
+@#endif
+
+option WRITE_FILTER requires WRITE
+
+option WRITE_UNKNOWN_CHUNKS requires WRITE
+
+option HANDLE_AS_UNKNOWN
+
+option SAVE_INT_32 requires WRITE
+
+# png_save_int_32 is required by the ancillary chunks oFFs and pCAL
+
+option WRITE_oFFs enables SAVE_INT_32
+option WRITE_pCAL enables SAVE_INT_32
+
+# Turn this off to disable png_read_png() and png_write_png() and
+# leave the row_pointers member out of the info structure.
+
+option INFO_IMAGE
diff --git a/third_party/libpng/scripts/pnglibconf.h.prebuilt b/third_party/libpng/scripts/pnglibconf.h.prebuilt
new file mode 100644
index 0000000000..5f0c8525be
--- /dev/null
+++ b/third_party/libpng/scripts/pnglibconf.h.prebuilt
@@ -0,0 +1,181 @@
+
+/* libpng STANDARD API DEFINITION */
+
+/* pnglibconf.h - library build configuration */
+
+/* libpng version 1.5.0 - last changed on February 11, 2011 */
+
+/* Copyright (c) 1998-2011 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 */
+/* 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
+/* settings */
+#define PNG_API_RULE 0
+#define PNG_CALLOC_SUPPORTED
+#define PNG_COST_SHIFT 3
+#define PNG_DEFAULT_READ_MACROS 1
+#define PNG_GAMMA_THRESHOLD_FIXED 5000
+#define PNG_MAX_GAMMA_8 11
+#define PNG_QUANTIZE_BLUE_BITS 5
+#define PNG_QUANTIZE_GREEN_BITS 5
+#define PNG_QUANTIZE_RED_BITS 5
+#define PNG_sCAL_PRECISION 5
+#define PNG_USER_CHUNK_CACHE_MAX 0
+#define PNG_USER_CHUNK_MALLOC_MAX 0
+#define PNG_USER_HEIGHT_MAX 1000000L
+#define PNG_USER_WIDTH_MAX 1000000L
+#define PNG_WEIGHT_SHIFT 8
+#define PNG_ZBUF_SIZE 8192
+/* end of settings */
+/* options */
+#define PNG_16BIT_SUPPORTED
+#define PNG_ALIGN_MEMORY_SUPPORTED
+#define PNG_BENIGN_ERRORS_SUPPORTED
+#define PNG_bKGD_SUPPORTED
+#define PNG_CHECK_cHRM_SUPPORTED
+#define PNG_cHRM_SUPPORTED
+#define PNG_CONSOLE_IO_SUPPORTED
+#define PNG_CONVERT_tIME_SUPPORTED
+#define PNG_EASY_ACCESS_SUPPORTED
+#define PNG_ERROR_TEXT_SUPPORTED
+#define PNG_FIXED_POINT_SUPPORTED
+#define PNG_FLOATING_ARITHMETIC_SUPPORTED
+#define PNG_FLOATING_POINT_SUPPORTED
+#define PNG_gAMA_SUPPORTED
+#define PNG_HANDLE_AS_UNKNOWN_SUPPORTED
+#define PNG_hIST_SUPPORTED
+#define PNG_iCCP_SUPPORTED
+#define PNG_INCH_CONVERSIONS_SUPPORTED
+#define PNG_INFO_IMAGE_SUPPORTED
+#define PNG_IO_STATE_SUPPORTED
+#define PNG_iTXt_SUPPORTED
+#define PNG_MNG_FEATURES_SUPPORTED
+#define PNG_oFFs_SUPPORTED
+#define PNG_pCAL_SUPPORTED
+#define PNG_pHYs_SUPPORTED
+#define PNG_POINTER_INDEXING_SUPPORTED
+#define PNG_PROGRESSIVE_READ_SUPPORTED
+#define PNG_READ_16BIT_SUPPORTED
+#define PNG_READ_16_TO_8_SUPPORTED
+#define PNG_READ_ANCILLARY_CHUNKS_SUPPORTED
+#define PNG_READ_BACKGROUND_SUPPORTED
+#define PNG_READ_BGR_SUPPORTED
+#define PNG_READ_bKGD_SUPPORTED
+#define PNG_READ_cHRM_SUPPORTED
+#define PNG_READ_COMPOSITE_NODIV_SUPPORTED
+#define PNG_READ_EXPAND_16_SUPPORTED
+#define PNG_READ_EXPAND_SUPPORTED
+#define PNG_READ_FILLER_SUPPORTED
+#define PNG_READ_gAMA_SUPPORTED
+#define PNG_READ_GAMMA_SUPPORTED
+#define PNG_READ_GRAY_TO_RGB_SUPPORTED
+#define PNG_READ_hIST_SUPPORTED
+#define PNG_READ_iCCP_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_iTXt_SUPPORTED
+#define PNG_READ_oFFs_SUPPORTED
+#define PNG_READ_OPT_PLTE_SUPPORTED
+#define PNG_READ_PACK_SUPPORTED
+#define PNG_READ_PACKSWAP_SUPPORTED
+#define PNG_READ_pCAL_SUPPORTED
+#define PNG_READ_pHYs_SUPPORTED
+#define PNG_READ_QUANTIZE_SUPPORTED
+#define PNG_READ_RGB_TO_GRAY_SUPPORTED
+#define PNG_READ_sBIT_SUPPORTED
+#define PNG_READ_sCAL_SUPPORTED
+#define PNG_READ_SHIFT_SUPPORTED
+#define PNG_READ_sPLT_SUPPORTED
+#define PNG_READ_sRGB_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_TEXT_SUPPORTED
+#define PNG_READ_tIME_SUPPORTED
+#define PNG_READ_TRANSFORMS_SUPPORTED
+#define PNG_READ_tRNS_SUPPORTED
+#define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED
+#define PNG_READ_USER_CHUNKS_SUPPORTED
+#define PNG_READ_USER_TRANSFORM_SUPPORTED
+#define PNG_READ_zTXt_SUPPORTED
+#define PNG_SAVE_INT_32_SUPPORTED
+#define PNG_sBIT_SUPPORTED
+#define PNG_sCAL_SUPPORTED
+#define PNG_SEQUENTIAL_READ_SUPPORTED
+#define PNG_SET_CHUNK_CACHE_LIMIT_SUPPORTED
+#define PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED
+#define PNG_SETJMP_SUPPORTED
+#define PNG_SET_USER_LIMITS_SUPPORTED
+#define PNG_sPLT_SUPPORTED
+#define PNG_sRGB_SUPPORTED
+#define PNG_STDIO_SUPPORTED
+#define PNG_tEXt_SUPPORTED
+#define PNG_TEXT_SUPPORTED
+#define PNG_TIME_RFC1123_SUPPORTED
+#define PNG_tIME_SUPPORTED
+#define PNG_tRNS_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_bKGD_SUPPORTED
+#define PNG_WRITE_cHRM_SUPPORTED
+#define PNG_WRITE_FILLER_SUPPORTED
+#define PNG_WRITE_FILTER_SUPPORTED
+#define PNG_WRITE_FLUSH_SUPPORTED
+#define PNG_WRITE_gAMA_SUPPORTED
+#define PNG_WRITE_hIST_SUPPORTED
+#define PNG_WRITE_iCCP_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_iTXt_SUPPORTED
+#define PNG_WRITE_oFFs_SUPPORTED
+#define PNG_WRITE_PACK_SUPPORTED
+#define PNG_WRITE_PACKSWAP_SUPPORTED
+#define PNG_WRITE_pCAL_SUPPORTED
+#define PNG_WRITE_pHYs_SUPPORTED
+#define PNG_WRITE_sBIT_SUPPORTED
+#define PNG_WRITE_sCAL_SUPPORTED
+#define PNG_WRITE_SHIFT_SUPPORTED
+#define PNG_WRITE_sPLT_SUPPORTED
+#define PNG_WRITE_sRGB_SUPPORTED
+#define PNG_WRITE_SUPPORTED
+#define PNG_WRITE_SWAP_ALPHA_SUPPORTED
+#define PNG_WRITE_SWAP_SUPPORTED
+#define PNG_WRITE_tEXt_SUPPORTED
+#define PNG_WRITE_TEXT_SUPPORTED
+#define PNG_WRITE_tIME_SUPPORTED
+#define PNG_WRITE_TRANSFORMS_SUPPORTED
+#define PNG_WRITE_tRNS_SUPPORTED
+#define PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED
+#define PNG_WRITE_USER_TRANSFORM_SUPPORTED
+#define PNG_WRITE_WEIGHTED_FILTER_SUPPORTED
+#define PNG_WRITE_zTXt_SUPPORTED
+#define PNG_zTXt_SUPPORTED
+/*#undef PNG_ERROR_NUMBERS_SUPPORTED*/
+/*#undef PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED*/
+/* end of options */
+#endif /* PNGLCONF_H */
diff --git a/third_party/libpng/scripts/pnglibconf.mak b/third_party/libpng/scripts/pnglibconf.mak
new file mode 100755
index 0000000000..f8719185da
--- /dev/null
+++ b/third_party/libpng/scripts/pnglibconf.mak
@@ -0,0 +1,57 @@
+#!/usr/bin/make -f
+# pnglibconf.mak - standard make lines for pnglibconf.h
+#
+# These lines are copied from Makefile.am, they illustrate
+# how to automate the build of pnglibconf.h from scripts/pnglibconf.dfa
+# given 'awk' and 'sed'
+
+# Override as appropriate, these definitions can be overridden on
+# the make command line (AWK='nawk' for example).
+AWK = gawk
+AWK = mawk
+AWK = nawk
+AWK = one-true-awk
+AWK = awk # Crashes on SunOS 5.10 - use 'nawk'
+CPP = $(CC) -E # Does not work on SUN OS 5.10 - use /lib/cpp
+SED = sed
+
+COPY = cp
+DELETE = rm -f
+ECHO = echo
+DFA_XTRA = # Appended to scripts/options.awk
+
+# CPPFLAGS should contain the options to control the result,
+# but DEFS and CFLAGS are also supported here, override
+# as appropriate
+DFNFLAGS = $(DEFS) $(CPPFLAGS) $(CFLAGS)
+
+# srcdir is a defacto standard for the location of the source
+srcdir = .
+
+# The standard pnglibconf.h exists as scripts/pnglibconf.h.prebuilt,
+# copy this if the following doesn't work.
+pnglibconf.h: pnglibconf.dfn
+ $(DELETE) $@ dfn.c dfn1.out dfn2.out dfn3.out
+ $(ECHO) '#include "pnglibconf.dfn"' >dfn.c
+ $(CPP) $(DFNFLAGS) dfn.c >dfn1.out
+ $(ECHO) "If 'cpp -e' crashes try /lib/cpp (e.g. CPP='/lib/cpp')" >&2
+ $(SED) -n -e 's|^.*PNG_DEFN_MAGIC-\(.*\)-PNG_DEFN_END.*$$|\1|p'\
+ dfn1.out >dfn2.out
+ $(SED) -e 's| *@@@ *||g' -e 's| *$$||' dfn2.out >dfn3.out
+ $(COPY) dfn3.out $@
+ $(DELETE) dfn.c dfn1.out dfn2.out dfn3.out
+
+pnglibconf.dfn: $(srcdir)/scripts/pnglibconf.dfa $(srcdir)/scripts/options.awk
+ $(DELETE) $@ dfn1.out dfn2.out
+ $(ECHO) "Calling $(AWK) from scripts/pnglibconf.mak" >&2
+ $(ECHO) "If 'awk' crashes try a better awk (e.g. AWK='nawk')" >&2
+ $(AWK) -f $(srcdir)/scripts/options.awk out=dfn1.out\
+ $(srcdir)/scripts/pnglibconf.dfa $(DFA_XTRA) 1>&2
+ $(AWK) -f $(srcdir)/scripts/options.awk out=dfn2.out dfn1.out 1>&2
+ $(COPY) dfn2.out $@
+ $(DELETE) dfn1.out dfn2.out
+
+clean-pnglibconf:
+ $(DELETE) pnglibconf.h pnglibconf.dfn dfn.c dfn1.out dfn2.out dfn3.out
+
+clean: clean-pnglibconf
diff --git a/third_party/libpng/scripts/pngwin.rc b/third_party/libpng/scripts/pngwin.rc
new file mode 100644
index 0000000000..9335cbbe03
--- /dev/null
+++ b/third_party/libpng/scripts/pngwin.rc
@@ -0,0 +1,112 @@
+#define PNG_VERSION_INFO_ONLY
+
+#include <windows.h>
+#include "../png.h"
+
+#define _QUOTE(x) # x
+#define QUOTE(x) _QUOTE(x)
+
+#define PNG_LIBPNG_DLLFNAME "LIBPNG"
+
+/* Support deprecated PRIVATEBUILD macro */
+#if defined(PRIVATEBUILD) && !defined(PNG_USER_PRIVATEBUILD)
+# define PNG_USER_PRIVATEBUILD PRIVATEBUILD
+#endif
+
+#if defined(PNG_USER_DLLFNAME_POSTFIX) && !defined(PNG_USER_PRIVATEBUILD)
+# error "PNG_USER_PRIVATEBUILD must be defined as a string describing the\
+ custom changes made to the library."
+#endif
+
+/* Prioritize PNG_USER_x over PNG_LIBPNG_x */
+#ifdef PNG_USER_DLLFNAME_POSTFIX
+# undef PNG_LIBPNG_DLLFNAME_POSTFIX
+# define PNG_LIBPNG_DLLFNAME_POSTFIX PNG_USER_DLLFNAME_POSTFIX
+#endif
+
+#ifdef PNG_USER_VERSIONINFO_COMMENTS
+# undef PNG_LIBPNG_VERSIONINFO_COMMENTS
+# define PNG_LIBPNG_VERSIONINFO_COMMENTS PNG_USER_VERSIONINFO_COMMENTS
+#endif
+
+#if defined(PNG_DEBUG) && (PNG_DEBUG > 0)
+# define VS_DEBUG VS_FF_DEBUG
+# ifndef PNG_LIBPNG_DLLFNAME_POSTFIX
+# define PNG_LIBPNG_DLLFNAME_POSTFIX "D"
+# endif /* PNG_LIBPNG_DLLFNAME_POSTFIX */
+# ifndef PNG_LIBPNG_VERSIONINFO_COMMENTS
+# define PNG_LIBPNG_VERSIONINFO_COMMENTS "PNG_DEBUG=" QUOTE(PNG_DEBUG)
+# endif /* PNG_LIBPNG_VERSIONINFO_COMMENTS */
+#else
+# define VS_DEBUG 0
+# ifndef PNG_LIBPNG_DLLFNAME_POSTFIX
+# define PNG_LIBPNG_DLLFNAME_POSTFIX
+# endif /* PNG_LIBPNG_DLLFNAME_POSTFIX */
+#endif /* defined(DEBUG)... */
+
+#ifdef PNG_USER_PRIVATEBUILD
+# define VS_PRIVATEBUILD VS_FF_PRIVATEBUILD
+#else
+# define VS_PRIVATEBUILD 0
+#endif /* PNG_USER_PRIVATEBUILD */
+
+#ifdef PNG_LIBPNG_SPECIALBUILD
+# define VS_SPECIALBUILD VS_FF_SPECIALBUILD
+#else
+# define VS_SPECIALBUILD 0
+#endif /* PNG_LIBPNG_BUILD_SPECIAL */
+
+#if ((PNG_LIBPNG_BUILD_BASE_TYPE & PNG_LIBPNG_RELEASE_STATUS_MASK) !=\
+ PNG_LIBPNG_BUILD_STABLE)
+# define VS_PRERELEASE VS_FF_PRERELEASE
+# define VS_PATCHED 0
+#else
+# define VS_PRERELEASE 0
+# if (PNG_LIBPNG_BUILD_BASE_TYPE & PNG_LIBPNG_BUILD_PATCHED)
+# define VS_PATCHED VS_FF_PATCHED
+# else
+# define VS_PATCHED 0
+# endif
+#endif
+
+VS_VERSION_INFO VERSIONINFO
+FILEVERSION PNG_LIBPNG_VER_MAJOR, PNG_LIBPNG_VER_MINOR, PNG_LIBPNG_VER_RELEASE, PNG_LIBPNG_VER_BUILD
+PRODUCTVERSION PNG_LIBPNG_VER_MAJOR, PNG_LIBPNG_VER_MINOR, PNG_LIBPNG_VER_RELEASE, PNG_LIBPNG_VER_BUILD
+FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
+FILEFLAGS VS_DEBUG | VS_PRIVATEBUILD | VS_SPECIALBUILD | VS_PRERELEASE | VS_PATCHED
+FILEOS VOS__WINDOWS32
+FILETYPE VFT_DLL
+FILESUBTYPE VFT2_UNKNOWN
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN BLOCK "040904E4" /* Language type = U.S English(0x0409) and Character Set = Windows, Multilingual(0x04E4) */
+ BEGIN
+#ifdef PNG_LIBPNG_VERSIONINFO_COMMENTS
+ VALUE "Comments", PNG_LIBPNG_VERSIONINFO_COMMENTS "\000"
+#endif /* PNG_LIBPNG_VERSIONINFO_COMMENTS */
+#ifdef PNG_USER_VERSIONINFO_COMPANYNAME
+ VALUE "CompanyName", PNG_USER_VERSIONINFO_COMPANYNAME "\000"
+#endif /* PNG_USER_VERSIONINFO_COMPANYNAME */
+ VALUE "FileDescription", "PNG image compression library\000"
+ VALUE "FileVersion", PNG_LIBPNG_VER_STRING "\000"
+ VALUE "InternalName", PNG_LIBPNG_DLLFNAME QUOTE(PNG_LIBPNG_VER_DLLNUM) PNG_LIBPNG_DLLFNAME_POSTFIX " (Windows 32 bit)\000"
+ VALUE "LegalCopyright", "\251 1998-2009 Glenn Randers-Pehrson et al.\000"
+#ifdef PNG_USER_VERSIONINFO_LEGALTRADEMARKS
+ VALUE "LegalTrademarks", PNG_USER_VERSIONINFO_LEGALTRADEMARKS "\000"
+#endif /* PNG_USER_VERSIONINFO_LEGALTRADEMARKS */
+ VALUE "OriginalFilename", PNG_LIBPNG_DLLFNAME QUOTE(PNG_LIBPNG_VER_DLLNUM) PNG_LIBPNG_DLLFNAME_POSTFIX ".DLL\000"
+#ifdef PNG_USER_PRIVATEBUILD
+ VALUE "PrivateBuild", PNG_USER_PRIVATEBUILD "\000"
+#endif /* PNG_USER_PRIVATEBUILD */
+ VALUE "ProductName", "LibPNG\000"
+ VALUE "ProductVersion", "1\000"
+#ifdef PNG_LIBPNG_SPECIALBUILD
+ VALUE "SpecialBuild", PNG_LIBPNG_SPECIALBUILD "\000"
+#endif /* PNG_LIBPNG_SPECIALBUILD */
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0409, 0x04E4
+ END
+END
diff --git a/third_party/libpng/scripts/smakefile.ppc b/third_party/libpng/scripts/smakefile.ppc
new file mode 100644
index 0000000000..2e7380b1f9
--- /dev/null
+++ b/third_party/libpng/scripts/smakefile.ppc
@@ -0,0 +1,34 @@
+# Amiga powerUP (TM) Makefile
+# makefile for libpng and SAS C V6.58/7.00 PPC compiler
+# Copyright (C) 1998 by Andreas R. Kleinert
+#
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
+
+CC = scppc
+CFLAGS = NOSTKCHK NOSINT OPTIMIZE OPTGO OPTPEEP OPTINLOCAL OPTINL IDIR /zlib \
+ OPTLOOP OPTRDEP=8 OPTDEP=8 OPTCOMP=8
+LIBNAME = libpng.a
+AR = ppc-amigaos-ar
+AR_FLAGS = cr
+RANLIB = ppc-amigaos-ranlib
+LDFLAGS = -r -o
+LDLIBS = ../zlib/libzip.a LIB:scppc.a
+LN = ppc-amigaos-ld
+RM = delete quiet
+MKDIR = makedir
+
+OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o pngread.o \
+ pngerror.o pngpread.o pngwrite.o pngrtran.o pngwtran.o pngrio.o \
+ pngwio.o pngmem.o
+
+all: $(LIBNAME) pngtest
+
+$(LIBNAME): $(OBJS)
+ $(AR) $(AR_FLAGS) $@ $(OBJS)
+ $(RANLIB) $@
+
+pngtest: pngtest.o $(LIBNAME)
+ $(LN) $(LDFLAGS) pngtest LIB:c_ppc.o pngtest.o $(LIBNAME) $(LDLIBS) \
+LIB:end.o
diff --git a/third_party/libpng/scripts/sym.dfn b/third_party/libpng/scripts/sym.dfn
new file mode 100644
index 0000000000..4b12ec2bf6
--- /dev/null
+++ b/third_party/libpng/scripts/sym.dfn
@@ -0,0 +1,15 @@
+
+/* sym.dfn - define format of libpng.sym
+ *
+ * Last changed in libpng version 1.5.0 [January 6, 2011]
+ * Copyright (c) 1998-2011 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
+ */
+
+#define PNG_EXPORTA(ordinal, type, name, args, attributes)\
+ PNG_DEFN_MAGIC-SYMBOL_PREFIX @@@ name-PNG_DEFN_END
+
+#include "../png.h"
diff --git a/third_party/libpng/scripts/symbols.def b/third_party/libpng/scripts/symbols.def
new file mode 100644
index 0000000000..46f9613247
--- /dev/null
+++ b/third_party/libpng/scripts/symbols.def
@@ -0,0 +1,229 @@
+;--------------------------------------------------------------
+; LIBPNG symbol list as a Win32 DEF file
+; Contains all the symbols that can be exported from libpng
+;--------------------------------------------------------------
+LIBRARY
+
+EXPORTS
+;Version 1.5.2
+ png_access_version_number @1
+ png_set_sig_bytes @2
+ png_sig_cmp @3
+ png_create_read_struct @4
+ png_create_write_struct @5
+ png_get_compression_buffer_size @6
+ png_set_compression_buffer_size @7
+ png_set_longjmp_fn @8
+ png_longjmp @9
+ png_reset_zstream @10
+ png_create_read_struct_2 @11
+ png_create_write_struct_2 @12
+ png_write_sig @13
+ png_write_chunk @14
+ png_write_chunk_start @15
+ png_write_chunk_data @16
+ png_write_chunk_end @17
+ png_create_info_struct @18
+ png_info_init_3 @19
+ png_write_info_before_PLTE @20
+ png_write_info @21
+ png_read_info @22
+ png_convert_to_rfc1123 @23
+ png_convert_from_struct_tm @24
+ png_convert_from_time_t @25
+ png_set_expand @26
+ png_set_expand_gray_1_2_4_to_8 @27
+ png_set_palette_to_rgb @28
+ png_set_tRNS_to_alpha @29
+ png_set_bgr @30
+ png_set_gray_to_rgb @31
+ png_set_rgb_to_gray @32
+ png_set_rgb_to_gray_fixed @33
+ png_get_rgb_to_gray_status @34
+ png_build_grayscale_palette @35
+ png_set_strip_alpha @36
+ png_set_swap_alpha @37
+ png_set_invert_alpha @38
+ png_set_filler @39
+ png_set_add_alpha @40
+ png_set_swap @41
+ png_set_packing @42
+ png_set_packswap @43
+ png_set_shift @44
+ png_set_interlace_handling @45
+ png_set_invert_mono @46
+ png_set_background @47
+ png_set_strip_16 @48
+ png_set_quantize @49
+ png_set_gamma @50
+ png_set_flush @51
+ png_write_flush @52
+ png_start_read_image @53
+ png_read_update_info @54
+ png_read_rows @55
+ png_read_row @56
+ png_read_image @57
+ png_write_row @58
+ png_write_rows @59
+ png_write_image @60
+ png_write_end @61
+ png_read_end @62
+ png_destroy_info_struct @63
+ png_destroy_read_struct @64
+ png_destroy_write_struct @65
+ png_set_crc_action @66
+ png_set_filter @67
+ png_set_filter_heuristics @68
+ png_set_compression_level @69
+ png_set_compression_mem_level @70
+ png_set_compression_strategy @71
+ png_set_compression_window_bits @72
+ png_set_compression_method @73
+ png_init_io @74
+ png_set_error_fn @75
+ png_get_error_ptr @76
+ png_set_write_fn @77
+ png_set_read_fn @78
+ png_get_io_ptr @79
+ png_set_read_status_fn @80
+ png_set_write_status_fn @81
+ png_set_mem_fn @82
+ png_get_mem_ptr @83
+ png_set_read_user_transform_fn @84
+ png_set_write_user_transform_fn @85
+ png_set_user_transform_info @86
+ png_get_user_transform_ptr @87
+ png_set_read_user_chunk_fn @88
+ png_get_user_chunk_ptr @89
+ png_set_progressive_read_fn @90
+ png_get_progressive_ptr @91
+ png_process_data @92
+ png_progressive_combine_row @93
+ png_malloc @94
+ png_calloc @95
+ png_malloc_warn @96
+ png_free @97
+ png_free_data @98
+ png_data_freer @99
+ png_malloc_default @100
+ png_free_default @101
+ png_error @102
+ png_chunk_error @103
+ png_err @104
+ png_warning @105
+ png_chunk_warning @106
+ png_benign_error @107
+ png_chunk_benign_error @108
+ png_set_benign_errors @109
+ png_get_valid @110
+ png_get_rowbytes @111
+ png_get_rows @112
+ png_set_rows @113
+ png_get_channels @114
+ png_get_image_width @115
+ png_get_image_height @116
+ png_get_bit_depth @117
+ png_get_color_type @118
+ png_get_filter_type @119
+ png_get_interlace_type @120
+ png_get_compression_type @121
+ png_get_pixels_per_meter @122
+ png_get_x_pixels_per_meter @123
+ png_get_y_pixels_per_meter @124
+ png_get_pixel_aspect_ratio @125
+ png_get_x_offset_pixels @126
+ png_get_y_offset_pixels @127
+ png_get_x_offset_microns @128
+ png_get_y_offset_microns @129
+ png_get_signature @130
+ png_get_bKGD @131
+ png_set_bKGD @132
+ png_get_cHRM @133
+ png_get_cHRM_fixed @134
+ png_set_cHRM @135
+ png_set_cHRM_fixed @136
+ png_get_gAMA @137
+ png_get_gAMA_fixed @138
+ png_set_gAMA @139
+ png_set_gAMA_fixed @140
+ png_get_hIST @141
+ png_set_hIST @142
+ png_get_IHDR @143
+ png_set_IHDR @144
+ png_get_oFFs @145
+ png_set_oFFs @146
+ png_get_pCAL @147
+ png_set_pCAL @148
+ png_get_pHYs @149
+ png_set_pHYs @150
+ png_get_PLTE @151
+ png_set_PLTE @152
+ png_get_sBIT @153
+ png_set_sBIT @154
+ png_get_sRGB @155
+ png_set_sRGB @156
+ png_set_sRGB_gAMA_and_cHRM @157
+ png_get_iCCP @158
+ png_set_iCCP @159
+ png_get_sPLT @160
+ png_set_sPLT @161
+ png_get_text @162
+ png_set_text @163
+ png_get_tIME @164
+ png_set_tIME @165
+ png_get_tRNS @166
+ png_set_tRNS @167
+ png_get_sCAL @168
+ png_get_sCAL_s @169
+ png_set_sCAL @170
+ png_set_sCAL_s @171
+ png_set_keep_unknown_chunks @172
+ png_handle_as_unknown @173
+ png_set_unknown_chunks @174
+ png_set_unknown_chunk_location @175
+ png_get_unknown_chunks @176
+ png_set_invalid @177
+ png_read_png @178
+ png_write_png @179
+ png_get_copyright @180
+ png_get_header_ver @181
+ png_get_header_version @182
+ png_get_libpng_ver @183
+ png_permit_mng_features @184
+ png_set_strip_error_numbers @185
+ png_set_user_limits @186
+ png_get_user_width_max @187
+ png_get_user_height_max @188
+ png_set_chunk_cache_max @189
+ png_get_chunk_cache_max @190
+ png_set_chunk_malloc_max @191
+ png_get_chunk_malloc_max @192
+ png_get_pixels_per_inch @193
+ png_get_x_pixels_per_inch @194
+ png_get_y_pixels_per_inch @195
+ png_get_x_offset_inches @196
+ png_get_y_offset_inches @197
+ png_get_pHYs_dpi @198
+ png_get_io_state @199
+ png_get_io_chunk_name @200
+ png_get_uint_32 @201
+ png_get_uint_16 @202
+ png_get_int_32 @203
+ png_get_uint_31 @204
+ png_save_uint_32 @205
+ png_save_int_32 @206
+ png_save_uint_16 @207
+ png_set_gamma_fixed @208
+ png_set_filter_heuristics_fixed @209
+ png_get_pixel_aspect_ratio_fixed @210
+ png_get_x_offset_inches_fixed @211
+ png_get_y_offset_inches_fixed @212
+ png_set_sCAL_fixed @213
+ png_get_sCAL_fixed @214
+ png_set_background_fixed @215
+ png_get_io_chunk_type @216
+ png_get_current_row_number @217
+ png_get_current_pass_number @218
+ png_process_data_pause @219
+ png_process_data_skip @220
+ png_set_expand_16 @221
diff --git a/third_party/libpng/scripts/symbols.dfn b/third_party/libpng/scripts/symbols.dfn
new file mode 100644
index 0000000000..d790929e7e
--- /dev/null
+++ b/third_party/libpng/scripts/symbols.dfn
@@ -0,0 +1,57 @@
+
+/* symbols.dfn - find all exported symbols
+ *
+ * Last changed in libpng version 1.5.0 [January 6, 2011]
+ * Copyright (c) 1998-2011 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
+ */
+
+/* NOTE: making 'symbols.chk' checks both that the exported
+ * symbols in the library don't change and (implicitly) that
+ * scripts/pnglibconf.h.prebuilt is as expected. If scripts/pnglibconf.h.prebuilt
+ * is remade using scripts/pnglibconf.dfa then this checks the
+ * .dfa file too.
+ */
+
+#define PNG_EXPORTA(ordinal, type, name, args, attributes)\
+ PNG_DEFN_MAGIC-name @ordinal-PNG_DEFN_END
+#define PNG_REMOVED(ordinal, type, name, args, attributes)\
+ PNG_DEFN_MAGIC-; name @ordinal-PNG_DEFN_END
+#define PNG_EXPORT_LAST_ORDINAL(ordinal)\
+ PNG_DEFN_MAGIC-; @ordinal-PNG_DEFN_END
+
+/* Read the defaults, but use scripts/pnglibconf.h.prebuilt; the 'standard'
+ * header file.
+ */
+#include "pnglibconf.h.prebuilt"
+#include "../png.h"
+
+/* Some things are turned off by default. Turn these things
+ * on here (by hand) to get the APIs they expose and validate
+ * that no harm is done. This list is the set of options
+ * defaulted to 'off' in scripts/pnglibconf.dfa
+ *
+ * Maintenance: if scripts/pnglibconf.dfa options are changed
+ * from, or to, 'off' 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
+
+#undef PNG_H
+#include "../png.h"
+
+/* Finally there are a couple of places where option support
+ * actually changes the APIs revealed using a #if/#else/#endif
+ * test in png.h, test these here.
+ */
+#undef PNG_FLOATING_POINT_SUPPORTED /* Exposes 'fixed' APIs */
+#undef PNG_ERROR_TEXT_SUPPORTED /* Exposes unsupported APIs */
+
+#undef PNG_H
+#include "../png.h"
diff --git a/third_party/libpng/scripts/vers.dfn b/third_party/libpng/scripts/vers.dfn
new file mode 100644
index 0000000000..a4bf5c720e
--- /dev/null
+++ b/third_party/libpng/scripts/vers.dfn
@@ -0,0 +1,26 @@
+
+/* vers.dfn - define format of libpng.vers
+ *
+ * Last changed in libpng version 1.5.0 [January 6, 2011]
+ * Copyright (c) 1998-2011 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
+ */
+
+#define HEADER PNG_DEFN_MAGIC-PNGLIB_LIBNAME {global:-PNG_DEFN_END
+
+/* NOTE: @@@ is interpreted by the calling script as a signal to
+ * join the two things on either side, so we can do symbol
+ * substitution within the name, regular C ## joins the pp-tokens,
+ * not their final values.
+ */
+#define PNG_EXPORTA(ordinal, type, name, args, attributes)\
+ PNG_DEFN_MAGIC- SYMBOL_PREFIX @@@ name;-PNG_DEFN_END
+
+#define TRAILER PNG_DEFN_MAGIC-local: *; };-PNG_DEFN_END
+
+HEADER
+#include "../png.h"
+TRAILER