diff options
Diffstat (limited to 'Build/source/libs/libpng/libpng-1.5.2/scripts')
12 files changed, 2208 insertions, 0 deletions
diff --git a/Build/source/libs/libpng/libpng-1.5.2/scripts/checksym.awk b/Build/source/libs/libpng/libpng-1.5.2/scripts/checksym.awk new file mode 100755 index 00000000000..ba4c99b564d --- /dev/null +++ b/Build/source/libs/libpng/libpng-1.5.2/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/Build/source/libs/libpng/libpng-1.5.2/scripts/chkfmt b/Build/source/libs/libpng/libpng-1.5.2/scripts/chkfmt new file mode 100755 index 00000000000..9da6475fd4e --- /dev/null +++ b/Build/source/libs/libpng/libpng-1.5.2/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/Build/source/libs/libpng/libpng-1.5.2/scripts/def.dfn b/Build/source/libs/libpng/libpng-1.5.2/scripts/def.dfn new file mode 100644 index 00000000000..d918d4c3c8b --- /dev/null +++ b/Build/source/libs/libpng/libpng-1.5.2/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/Build/source/libs/libpng/libpng-1.5.2/scripts/list b/Build/source/libs/libpng/libpng-1.5.2/scripts/list new file mode 100644 index 00000000000..3a2c563308b --- /dev/null +++ b/Build/source/libs/libpng/libpng-1.5.2/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/Build/source/libs/libpng/libpng-1.5.2/scripts/options.awk b/Build/source/libs/libpng/libpng-1.5.2/scripts/options.awk new file mode 100755 index 00000000000..96c600eab09 --- /dev/null +++ b/Build/source/libs/libpng/libpng-1.5.2/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/Build/source/libs/libpng/libpng-1.5.2/scripts/pnglibconf.dfa b/Build/source/libs/libpng/libpng-1.5.2/scripts/pnglibconf.dfa new file mode 100644 index 00000000000..26afef866eb --- /dev/null +++ b/Build/source/libs/libpng/libpng-1.5.2/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/Build/source/libs/libpng/libpng-1.5.2/scripts/pnglibconf.h.prebuilt b/Build/source/libs/libpng/libpng-1.5.2/scripts/pnglibconf.h.prebuilt new file mode 100644 index 00000000000..5f0c8525bea --- /dev/null +++ b/Build/source/libs/libpng/libpng-1.5.2/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/Build/source/libs/libpng/libpng-1.5.2/scripts/pnglibconf.mak b/Build/source/libs/libpng/libpng-1.5.2/scripts/pnglibconf.mak new file mode 100755 index 00000000000..f8719185da2 --- /dev/null +++ b/Build/source/libs/libpng/libpng-1.5.2/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/Build/source/libs/libpng/libpng-1.5.2/scripts/sym.dfn b/Build/source/libs/libpng/libpng-1.5.2/scripts/sym.dfn new file mode 100644 index 00000000000..4b12ec2bf6e --- /dev/null +++ b/Build/source/libs/libpng/libpng-1.5.2/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/Build/source/libs/libpng/libpng-1.5.2/scripts/symbols.def b/Build/source/libs/libpng/libpng-1.5.2/scripts/symbols.def new file mode 100644 index 00000000000..46f96132479 --- /dev/null +++ b/Build/source/libs/libpng/libpng-1.5.2/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/Build/source/libs/libpng/libpng-1.5.2/scripts/symbols.dfn b/Build/source/libs/libpng/libpng-1.5.2/scripts/symbols.dfn new file mode 100644 index 00000000000..d790929e7e7 --- /dev/null +++ b/Build/source/libs/libpng/libpng-1.5.2/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/Build/source/libs/libpng/libpng-1.5.2/scripts/vers.dfn b/Build/source/libs/libpng/libpng-1.5.2/scripts/vers.dfn new file mode 100644 index 00000000000..a4bf5c720ee --- /dev/null +++ b/Build/source/libs/libpng/libpng-1.5.2/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 |