+++ /dev/null
-.deps
-.depend
-.libs
-Doxyfile
-Doxytags
-Makefile
-Makefile.in
-aclocal.m4
-apidocs
-autom4te*
-config.cache
-config.guess
-config.h
-config.h.in
-config.log
-config.status
-config.sub
-configure
-depcomp
-doxygen
-example
-install-sh
-libtool
-ltmain.sh
-minigzip
-missing
-mkinstalldirs
-stamp-h
-stamp-h.in
-*.la
-*.lcd
-*.lo
-zlib-*.tar.gz
+++ /dev/null
--I. -DHAVE_CONFIG_H -D_GNU_SOURCE -DSTDC -DHAVE_UNISTD_H -DHAS_snprintf -DHAS_vsnprintf -DUSE_MMAP -DWITH_RSYNC_PAD
-
-+partial
-+forcehints
-
--warnunixlib
--warnposix
-
-+unixlib
-
--unrecogcomments # XXX ignore doxygen markings
-
-+strict # lclint level
-
-# --- in progress
--abstract # 4
--aliasunique # 2
--assignexpose
--branchstate
--bufferoverflowhigh
--castfcnptr # 6
--compdef # 16
--compmempass # 37
--evalorder # 2
--globstate # 1
--mods # 13
--noeffectuncon # 10
--nullderef # 9
--nullpass # 24
--nullptrarith # 4
--nullret # 13
--protoparammatch # 22
--redef # 4
--retalias # 4
--retvalint # painful
--sizeoftype # 106
--type # 3
--usereleased # 38
-
--dependenttrans # 2
--immediatetrans
--kepttrans # 8
--observertrans
--readonlytrans
--statictrans
--temptrans # 7
--unqualifiedtrans # 10
-
--casebreak
--looploopbreak
--looploopcontinue
--loopswitchbreak
--switchswitchbreak
--whileempty
-
-# --- +partial artifacts
--declundef
--exportheadervar
--exportlocal
-
--enummemuse
--fcnuse
--typeuse
--varuse
-
-# --- not-yet at strict level
--bitwisesigned # pita
--elseifcomplete # 95 occurences
--exportconst # 839 occurences
--exportfcn
--exporttype
--exportvar
--fielduse # 1 occurence <bits/sigset.h>
--forblock # tedious
--ifblock # tedious
--incondefs # <bits/{ipc,pthreadtypes}.h> heartburn
--matchfields # <bits/ipc.h> heartburn
--namechecks # tedious ANSI compliance checks
--ptrarith # tedious
-
--compdestroy
--mustdefine
--shiftimplementation
--shiftnegative
-
--strictops
--strictusereleased
--stringliterallen 4096 # redhat*PubKey's are big
--whileblock # tedious
-
-# --- not-yet at checks level
--ansi-reserved
-+enumint
--mustfree
--predboolptr
--usedef
-
-# --- not-yet at standard level
--boolops
--predboolint
-+boolint
-+charint
-+ignorequals
-+matchanyintegral
+++ /dev/null
-# Doxyfile 1.2.12
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-# TAG = value [value, ...]
-# For lists items can also be appended using:
-# TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# General configuration options
-#---------------------------------------------------------------------------
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
-# by quotes) that should identify the project.
-
-PROJECT_NAME = @PACKAGE@
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-# This could be handy for archiving the generated documentation or
-# if some version control system is used.
-
-PROJECT_NUMBER = @VERSION@
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-# base path where the generated documentation will be put.
-# If a relative path is entered, it will be relative to the location
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY = apidocs
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# The default language is English, other supported languages are:
-# Brazilian, Chinese, Croatian, Czech, Danish, Dutch, Finnish, French,
-# German, Hungarian, Italian, Japanese, Korean, Norwegian, Polish,
-# Portuguese, Romanian, Russian, Slovak, Slovene, Spanish and Swedish.
-
-OUTPUT_LANGUAGE = English
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-# documentation are documented, even if no documentation was available.
-# Private class members and static file members will be hidden unless
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL = YES
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
-
-EXTRACT_PRIVATE = NO
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file
-# will be included in the documentation.
-
-EXTRACT_STATIC = YES
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members of documented classes, files or namespaces.
-# If set to NO (the default) these members will be included in the
-# various overviews, but no documentation section is generated.
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy.
-# If set to NO (the default) these class will be included in the various
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES = NO
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-# include brief member descriptions after the members that are listed in
-# the file and class documentation (similar to JavaDoc).
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF = YES
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# Doxygen will generate a detailed section even if there is only a brief
-# description.
-
-ALWAYS_DETAILED_SEC = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-# path before files name in the file list and in the header files. If set
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES = YES
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user defined part of the path. Stripping is
-# only done if one of the specified strings matches the left-hand part of
-# the path. It is allowed to use relative paths in the argument list.
-
-STRIP_FROM_PATH = @top_srcdir@/
-
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS = YES
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-# doxygen to hide any special comment blocks from generated source code
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS = YES
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-# file names in lower case letters. If set to YES upper case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# users are adviced to set this option to NO.
-
-CASE_SENSE_NAMES = YES
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
-# (but less readable) file names. This can be useful is your file systems
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES = NO
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
-# will show members with their full class and namespace scopes in the
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES = NO
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-# will generate a verbatim copy of the header file for each class for
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS = YES
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-# will put list of the files that are included by a file in the documentation
-# of that file.
-
-SHOW_INCLUDE_FILES = YES
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the JavaDoc
-# comments will behave just like the Qt-style comments (thus requiring an
-# explict @brief command for a brief description.
-
-JAVADOC_AUTOBRIEF = YES
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# reimplements.
-
-INHERIT_DOCS = YES
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-# is inserted in the documentation for inline members.
-
-INLINE_INFO = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-# will sort the (detailed) documentation of file and class members
-# alphabetically by member name. If set to NO the members will appear in
-# declaration order.
-
-SORT_MEMBER_DOCS = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE = 8
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or
-# disable (NO) the todo list. This list is created by putting \todo
-# commands in the documentation.
-
-GENERATE_TODOLIST = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or
-# disable (NO) the test list. This list is created by putting \test
-# commands in the documentation.
-
-GENERATE_TESTLIST = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or
-# disable (NO) the bug list. This list is created by putting \bug
-# commands in the documentation.
-
-GENERATE_BUGLIST = YES
-
-# This tag can be used to specify a number of aliases that acts
-# as commands in the documentation. An alias has the form "name=value".
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to
-# put the command \sideeffect (or @sideeffect) in the documentation, which
-# will result in a user defined paragraph with heading "Side Effects:".
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES =
-
-# The ENABLED_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS =
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
-# the initial value of a variable or define consist of for it to appear in
-# the documentation. If the initializer consists of more lines than specified
-# here it will be hidden. Use a value of 0 to hide initializers completely.
-# The appearance of the initializer of individual variables and defines in the
-# documentation can be controlled using \showinitializer or \hideinitializer
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES = 30
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
-# only. Doxygen will then generate output that is more tailored for C.
-# For instance some of the names that are used will be different. The list
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C = YES
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
-# at the bottom of the documentation of classes and structs. If set to YES the
-# list will mention the files that were used to generate the documentation.
-
-SHOW_USED_FILES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated by doxygen. Possible values are YES and NO. If left blank
-# NO is used.
-
-WARNINGS = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
-# automatically be disabled.
-
-WARN_IF_UNDOCUMENTED = YES
-
-# The WARN_FORMAT tag determines the format of the warning messages that
-# doxygen can produce. The string should contain the $file, $line, and $text
-# tags, which will be replaced by the file and line number from which the
-# warning originated and the warning text.
-
-WARN_FORMAT = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning
-# and error messages should be written. If left blank the output is written
-# to stderr.
-
-WARN_LOGFILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain
-# documented source files. You may enter file names like "myfile.cpp" or
-# directories like "/usr/src/myproject". Separate the files or directories
-# with spaces.
-
-INPUT = \
- @top_srcdir@/adler32.c \
- @top_srcdir@/compress.c \
- @top_srcdir@/crc32.c \
- @top_srcdir@/crc32.h \
- @top_srcdir@/deflate.c \
- @top_srcdir@/deflate.h \
- @top_srcdir@/gzio.c \
- @top_srcdir@/infblock.c \
- @top_srcdir@/infblock.h \
- @top_srcdir@/infcodes.h \
- @top_srcdir@/inffast.c \
- @top_srcdir@/inffast.h \
- @top_srcdir@/inffixed.h \
- @top_srcdir@/inflate.c \
- @top_srcdir@/inftrees.c \
- @top_srcdir@/inftrees.h \
- @top_srcdir@/infutil.c \
- @top_srcdir@/infutil.h \
- @top_srcdir@/maketree.c \
- @top_srcdir@/trees.c \
- @top_srcdir@/trees.h \
- @top_srcdir@/uncompr.c \
- @top_srcdir@/zconf.h \
- @top_srcdir@/zlib.h \
- @top_srcdir@/zutil.c \
- @top_srcdir@/zutil.h
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank file matching one of the following patterns are included:
-# *.c *.cc *.cxx *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp
-# *.h++ *.idl
-
-FILE_PATTERNS = *.c *.h
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories
-# should be searched for input files as well. Possible values are YES and NO.
-# If left blank NO is used.
-
-RECURSIVE = NO
-
-# The EXCLUDE tag can be used to specify files and/or directories that should
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE =
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories.
-
-EXCLUDE_PATTERNS =
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or
-# directories that contain example code fragments that are included (see
-# the \include command).
-
-EXAMPLE_PATH =
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
-
-EXAMPLE_PATTERNS =
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude
-# commands irrespective of the value of the RECURSIVE tag.
-# Possible values are YES and NO. If left blank NO is used.
-
-EXAMPLE_RECURSIVE = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or
-# directories that contain image that are included in the documentation (see
-# the \image command).
-
-IMAGE_PATH =
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command <filter> <input-file>, where <filter>
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
-# input file. Doxygen will then use the output that the filter program writes
-# to standard output.
-
-INPUT_FILTER =
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will be used to filter the input files when producing source
-# files to browse.
-
-FILTER_SOURCE_FILES = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
-
-SOURCE_BROWSER = YES
-
-# Setting the INLINE_SOURCES tag to YES will include the body
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES = NO
-
-# If the REFERENCED_BY_RELATION tag is set to YES (the default)
-# then for each documented function all documented
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = YES
-
-# If the REFERENCES_RELATION tag is set to YES (the default)
-# then for each documented function all documented entities
-# called/used by that function will be listed.
-
-REFERENCES_RELATION = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-# of all compounds will be generated. Enable this if the project
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX = NO
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX = 5
-
-# In case all classes in a project start with a common prefix, all
-# classes will be put under the same header in the alphabetical index.
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
-# generate HTML output.
-
-GENERATE_HTML = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT = html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard header.
-
-HTML_HEADER =
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard footer.
-
-HTML_FOOTER =
-
-# The HTML_STYLESHEET tag can be used to specify a user defined cascading
-# style sheet that is used by each HTML page. It can be used to
-# fine-tune the look of the HTML output. If the tag is left blank doxygen
-# will generate a default style sheet
-
-HTML_STYLESHEET =
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS = YES
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files
-# will be generated that can be used as input for tools like the
-# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
-# controls if a separate .chi index file is generated (YES) or that
-# it should be included in the master .chm file (NO).
-
-GENERATE_CHI = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
-# controls whether a binary table of contents is generated (YES) or a
-# normal table of contents (NO) in the .chm file.
-
-BINARY_TOC = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members
-# to the contents of the Html help documentation and to the tree view.
-
-TOC_EXPAND = NO
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
-# top of each HTML page. The value NO (the default) enables the index and
-# the value YES disables it.
-
-DISABLE_INDEX = NO
-
-# This tag can be used to set the number of enum values (range [1..20])
-# that doxygen will group on one line in the generated HTML documentation.
-
-ENUM_VALUES_PER_LINE = 4
-
-# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
-# generated containing a tree-like index structure (just like the one that
-# is generated for HTML Help). For this to work a browser that supports
-# JavaScript and frames is required (for instance Mozilla, Netscape 4.0+,
-# or Internet explorer 4.0+). Note that for large projects the tree generation
-# can take a very long time. In such cases it is better to disable this feature.
-# Windows users are probably better off using the HTML help feature.
-
-GENERATE_TREEVIEW = NO
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
-# used to set the initial width (in pixels) of the frame in which the tree
-# is shown.
-
-TREEVIEW_WIDTH = 250
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
-# generate Latex output.
-
-GENERATE_LATEX = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT = latex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-# LaTeX documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_LATEX = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used
-# by the printer. Possible values are: a4, a4wide, letter, legal and
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE = letter
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
-# the generated latex document. The header should contain everything until
-# the first chapter. If it is left blank doxygen will generate a
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will
-# contain links (just like the HTML output) instead of page references
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS = NO
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
-# plain latex in the generated Makefile. Set this option to YES to get a
-# higher quality PDF documentation.
-
-USE_PDFLATEX = NO
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
-# command to the generated LaTeX files. This will instruct LaTeX to keep
-# running if errors occur, instead of asking the user for help.
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
-# The RTF output is optimised for Word 97 and may not look very pretty with
-# other RTF readers or editors.
-
-GENERATE_RTF = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT = rtf
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
-# RTF documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_RTF = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
-# will contain hyperlink fields. The RTF file will
-# contain links (just like the HTML output) instead of page references.
-# This makes the output suitable for online browsing using WORD or other
-# programs which support those fields.
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's
-# config file, i.e. a series of assigments. You only have to provide
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE =
-
-# Set optional variables used in the generation of an rtf document.
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
-# generate man pages
-
-GENERATE_MAN = YES
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT = man
-
-# The MAN_EXTENSION tag determines the extension that is added to
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION = .3
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
-# then it will generate one additional man file for each entity
-# documented in the real man page(s). These additional files
-# only source the real man page, but without them the man command
-# would be unable to find the correct page. The default is NO.
-
-MAN_LINKS = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will
-# generate an XML file that captures the structure of
-# the code including all documentation. Note that this
-# feature is still experimental and incomplete at the
-# moment.
-
-GENERATE_XML = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
-# evaluate all C-preprocessor directives found in the sources and include
-# files.
-
-ENABLE_PREPROCESSING = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
-# names in the source code. If set to NO (the default) only conditional
-# compilation will be performed. Macro expansion can be done in a controlled
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION = YES
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
-# then the macro expansion is limited to the macros specified with the
-# PREDEFINED and EXPAND_AS_PREDEFINED tags.
-
-EXPAND_ONLY_PREDEF = NO
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-SEARCH_INCLUDES = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by
-# the preprocessor.
-
-INCLUDE_PATH =
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will
-# be used.
-
-INCLUDE_FILE_PATTERNS =
-
-# The PREDEFINED tag can be used to specify one or more macro names that
-# are defined before the preprocessor is started (similar to the -D option of
-# gcc). The argument of the tag is a list of macros of the form: name
-# or name=definition (no spaces). If the definition and the = are
-# omitted =1 is assumed.
-
-PREDEFINED =
-
-# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then
-# this tag can be used to specify a list of macro names that should be expanded.
-# The macro definition that is found in the sources will be used.
-# Use the PREDEFINED tag if you want to use a different macro definition.
-
-EXPAND_AS_DEFINED =
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
-# doxygen's preprocessor will remove all function-like macros that are alone
-# on a line and do not end with a semicolon. Such function macros are typically
-# used for boiler-plate code, and will confuse the parser if not removed.
-
-SKIP_FUNCTION_MACROS = YES
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES tag can be used to specify one or more tagfiles.
-
-TAGFILES =
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE = Doxytags
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed
-# in the class index. If set to NO only the inherited external classes
-# will be listed.
-
-ALLEXTERNALS = NO
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
-# generate a inheritance diagram (in Html, RTF and LaTeX) for classes with base or
-# super classes. Setting the tag to NO turns the diagrams off. Note that this
-# option is superceded by the HAVE_DOT option below. This is only a fallback. It is
-# recommended to install and use dot, since it yield more powerful graphs.
-
-CLASS_DIAGRAMS = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz, a graph visualization
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT = NO
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect inheritance relations. Setting this tag to YES will force the
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect implementation dependencies (inheritance, containment, and
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH = YES
-
-# If set to YES, the inheritance and collaboration graphs will show the
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS = YES
-
-# If set to YES, the inheritance and collaboration graphs will hide
-# inheritance and usage relations if the target is undocumented
-# or is not a class.
-
-HIDE_UNDOC_RELATIONS = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
-# tags are set to YES then doxygen will generate a graph for each documented
-# file showing the direct and indirect include dependencies of the file with
-# other documented files.
-
-INCLUDE_GRAPH = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
-# documented header file showing the documented files that directly or
-# indirectly include this file.
-
-INCLUDED_BY_GRAPH = YES
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
-# will graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY = YES
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-
-DOT_PATH =
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the
-# \dotfile command).
-
-DOTFILE_DIRS =
-
-# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than
-# this value, doxygen will try to truncate the graph, so that it fits within
-# the specified constraint. Beware that most browsers cannot cope with very
-# large images.
-
-MAX_DOT_GRAPH_WIDTH = 1024
-
-# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than
-# this value, doxygen will try to truncate the graph, so that it fits within
-# the specified constraint. Beware that most browsers cannot cope with very
-# large images.
-
-MAX_DOT_GRAPH_HEIGHT = 1024
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
-# generate a legend page explaining the meaning of the various boxes and
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
-# remove the intermedate dot files that are used to generate
-# the various graphs.
-
-DOT_CLEANUP = YES
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-# The SEARCHENGINE tag specifies whether or not a search engine should be
-# used. If set to NO the values of all tags below this one will be ignored.
-
-SEARCHENGINE = NO
-
-# The CGI_NAME tag should be the name of the CGI script that
-# starts the search engine (doxysearch) with the correct parameters.
-# A script with this name will be generated by doxygen.
-
-CGI_NAME = search.cgi
-
-# The CGI_URL tag should be the absolute URL to the directory where the
-# cgi binaries are located. See the documentation of your http daemon for
-# details.
-
-CGI_URL =
-
-# The DOC_URL tag should be the absolute URL to the directory where the
-# documentation is located. If left blank the absolute path to the
-# documentation, with file:// prepended to it, will be used.
-
-DOC_URL =
-
-# The DOC_ABSPATH tag should be the absolute path to the directory where the
-# documentation is located. If left blank the directory on the local machine
-# will be used.
-
-DOC_ABSPATH =
-
-# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
-# is installed.
-
-BIN_ABSPATH =
-
-# The EXT_DOC_PATHS tag can be used to specify one or more paths to
-# documentation generated for other projects. This allows doxysearch to search
-# the documentation for these projects as well.
-
-EXT_DOC_PATHS =
+++ /dev/null
-AUTOMAKE_OPTIONS = 1.4 foreign
-
-LINT = splint
-
-EXTRA_DIST = algorithm.txt ChangeLog Doxyfile FAQ INDEX README \
- old/* zlib.spec
-
-noinst_HEADERS = \
- crc32.h deflate.h inffast.h inffixed.h inflate.h \
- inftrees.h trees.h zconf.h zlib.h zutil.h
-
-noinst_LTLIBRARIES = libz.la
-
-libz_la_SOURCES = \
- adler32.c compress.c crc32.c deflate.c gzio.c \
- infback.c inffast.c inflate.c inftrees.c \
- trees.c uncompr.c zutil.c
-
-noinst_PROGRAMS = example minigzip
-
-example_SOURCES = example.c
-example_LDFLAGS = -L. -lz
-
-minigzip_SOURCES = minigzip.c
-minigzip_LDFLAGS = -L. -lz
-
-#BUILT_SOURCES = Doxyfile zlib.lcd
-
-zlib.lcd: Makefile.am ${libz_la_SOURCES} ${noinst_HEADERS}
- -lclint ${DEFS} ${INCLUDES} ${libz_la_SOURCES} -dump $@ 2>/dev/null
-
-.PHONY: sources
-sources:
- @echo $(libz_la_SOURCES:%=zlib/%)
-
-.PHONY: lint
-lint:
- $(LINT) $(DEFS) $(INCLUDES) $(libz_la_SOURCES)
-
-.PHONY: doxygen
-doxygen apidocs: Doxyfile
- rm -rf $@
- mkdir -p $@
- doxygen
+++ /dev/null
-To make a shared library:
-
-1. Compile a static library
-2. Use mkexps on that to create libz.exp
-3. Apply the configure.diff patch to configure
-4. Run the new configure to make a new Makefile
-5. Use the new Makefile to make the shared library
-
-Courtesy of dbakker@arrayasolutions.com
+++ /dev/null
-*** ../orig/zlib-1.1.4/configure Wed Jul 8 14:19:35 1998
---- configure Sun Feb 9 11:11:19 2003
-***************
-*** 18,23 ****
---- 18,24 ----
- # If you have problems, try without defining CC and CFLAGS before reporting
- # an error.
-
-+ LDFLAGS="-L. -lz"
- LIBS=libz.a
- SHAREDLIB=libz.so
- VER=`sed -n -e '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`
-***************
-*** 116,121 ****
---- 117,128 ----
- SFLAGS=${CFLAGS-"-Kconform_pic -O"}
- CFLAGS=${CFLAGS-"-O"}
- LDSHARED=${LDSHARED-"cc -G"};;
-+ AIX*)
-+ SFLAGS=${CFLAGS-"-O -qmaxmem=8192"}
-+ CFLAGS=${CFLAGS-"-O -qmaxmem=8192"}
-+ LDTESTSHARED=${LDSHARED-"cc -G"}
-+ LDSHAREDFLAGS="-L. libz.so"
-+ LDSHARED=${LDSHARED-"cc -G"};;
- # send working options for other systems to support@gzip.org
- *) SFLAGS=${CFLAGS-"-O"}
- CFLAGS=${CFLAGS-"-O"}
-***************
-*** 127,135 ****
- echo Checking for shared library support...
- # we must test in two steps (cc then ld), required at least on SunOS 4.x
- if test "`($CC -c $SFLAGS $test.c) 2>&1`" = "" &&
-! test "`($LDSHARED -o $test$shared_ext $test.o) 2>&1`" = ""; then
- CFLAGS="$SFLAGS"
- LIBS="$SHAREDLIB.$VER"
- echo Building shared library $SHAREDLIB.$VER with $CC.
- elif test -z "$old_cc" -a -z "$old_cflags"; then
- echo No shared library suppport.
---- 134,143 ----
- echo Checking for shared library support...
- # we must test in two steps (cc then ld), required at least on SunOS 4.x
- if test "`($CC -c $SFLAGS $test.c) 2>&1`" = "" &&
-! test "`($LDTESTSHARED -o $test$shared_ext $test.o) 2>&1`" = ""; then
- CFLAGS="$SFLAGS"
- LIBS="$SHAREDLIB.$VER"
-+ LDFLAGS="$LDSHAREDFLAGS"
- echo Building shared library $SHAREDLIB.$VER with $CC.
- elif test -z "$old_cc" -a -z "$old_cflags"; then
- echo No shared library suppport.
-***************
-*** 209,212 ****
---- 217,221 ----
- /^exec_prefix *=/s%=.*%=$exec_prefix%
- /^libdir *=/s%=.*%=$libdir%
- /^includedir *=/s%=.*%=$includedir%
-+ /^LDFLAGS *=/s%=.*%=$LDFLAGS%
- " > Makefile
+++ /dev/null
-#!/bin/ksh
-#
-# mkexps - make export list
-# This program creates an export list by combining all the "." and normal names
-# into one list.
-#
-if [[ "$#" -ne 1 ]]
-then
- print "Usage: mkexps ArchiveFile"
- exit -2
-fi
-if [[ ! -f $1 ]]
-then
- print "mkexps: Cannot open file \"$1\""
- exit -1
-fi
-
-dump -g $1 | awk '
-BEGIN {
- top = 1
-}
-/^[ ]*[0-9][0-9]*/ {
- if ( (n = index( $2, "." )) > 0 ) {
- export_array[ top++ ] = substr( $2, n+1, length( $2 ))
- }
- else {
- export_array[ top++ ] = $2
- }
-}
-
-END {
- for ( i = 1; i < top; i++ )
- {
- print export_array[ i ]
- }
-
-}' | sort | uniq
+++ /dev/null
-#!/bin/sh
-
-libtoolize --copy --force
-aclocal
-autoheader
-automake -a -c
-autoconf
-
-if [ "$1" = "--noconfigure" ]; then
- exit 0;
-fi
-
-if [ X"$@" = X -a "X`uname -s`" = "XLinux" ]; then
- ./configure --prefix=/usr "$@"
-else
- ./configure "$@"
-fi
+++ /dev/null
-AC_INIT(gzio.c)
-AC_CANONICAL_SYSTEM
-AC_PREREQ(2.12)
-AC_CONFIG_HEADERS
-AM_INIT_AUTOMAKE(zlib, 1.1.4)
-
-dnl Check for programs.
-AC_PROG_CC
-AC_PROG_LIBTOOL
-AC_SYS_LARGEFILE
-
-CFLAGS="-DHAS_snprintf -DHAS_snprintf"
-if test "$ac_cv_prog_gcc" = yes; then
- CFLAGS="-DWITH_RSYNC_PAD -O3 -fomit-frame-pointer -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wno-char-subscripts"
-fi
-export CFLAGS
-
-
-AC_CHECK_HEADERS(unistd.h errno.h)
-
-AC_MSG_CHECKING(if mmap is available)
-AC_TRY_COMPILE([
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <sys/stat.h> ], [
-caddr_t hello() {
- return mmap((caddr_t)0, (off_t)0, PROT_READ, MAP_SHARED, 0, (off_t)0);
-}
-],
-[AC_MSG_RESULT(yes)
- CFLAGS="-DUSE_MMAP $CFLAGS"],
-[AC_MSG_RESULT(no)]
-)
-
-AC_OUTPUT([ Doxyfile Makefile ],
- [ echo timestamp > stamp-h.in ]
-)
+++ /dev/null
-;
-; gvmat32.asm -- Asm portion of the optimized longest_match for 32 bits x86
-; Copyright (C) 1995-1996 Jean-loup Gailly and Gilles Vollant.
-; File written by Gilles Vollant, by modifiying the longest_match
-; from Jean-loup Gailly in deflate.c
-; It need wmask == 0x7fff
-; (assembly code is faster with a fixed wmask)
-;
-; For Visual C++ 4.2 and ML 6.11c (version in directory \MASM611C of Win95 DDK)
-; I compile with : "ml /coff /Zi /c gvmat32.asm"
-;
-
-;uInt longest_match_7fff(s, cur_match)
-; deflate_state *s;
-; IPos cur_match; /* current match */
-
- NbStack equ 76
- cur_match equ dword ptr[esp+NbStack-0]
- str_s equ dword ptr[esp+NbStack-4]
-; 5 dword on top (ret,ebp,esi,edi,ebx)
- adrret equ dword ptr[esp+NbStack-8]
- pushebp equ dword ptr[esp+NbStack-12]
- pushedi equ dword ptr[esp+NbStack-16]
- pushesi equ dword ptr[esp+NbStack-20]
- pushebx equ dword ptr[esp+NbStack-24]
-
- chain_length equ dword ptr [esp+NbStack-28]
- limit equ dword ptr [esp+NbStack-32]
- best_len equ dword ptr [esp+NbStack-36]
- window equ dword ptr [esp+NbStack-40]
- prev equ dword ptr [esp+NbStack-44]
- scan_start equ word ptr [esp+NbStack-48]
- wmask equ dword ptr [esp+NbStack-52]
- match_start_ptr equ dword ptr [esp+NbStack-56]
- nice_match equ dword ptr [esp+NbStack-60]
- scan equ dword ptr [esp+NbStack-64]
-
- windowlen equ dword ptr [esp+NbStack-68]
- match_start equ dword ptr [esp+NbStack-72]
- strend equ dword ptr [esp+NbStack-76]
- NbStackAdd equ (NbStack-24)
-
- .386p
-
- name gvmatch
- .MODEL FLAT
-
-
-
-; all the +4 offsets are due to the addition of pending_buf_size (in zlib
-; in the deflate_state structure since the asm code was first written
-; (if you compile with zlib 1.0.4 or older, remove the +4).
-; Note : these value are good with a 8 bytes boundary pack structure
- dep_chain_length equ 70h+4
- dep_window equ 2ch+4
- dep_strstart equ 60h+4
- dep_prev_length equ 6ch+4
- dep_nice_match equ 84h+4
- dep_w_size equ 20h+4
- dep_prev equ 34h+4
- dep_w_mask equ 28h+4
- dep_good_match equ 80h+4
- dep_match_start equ 64h+4
- dep_lookahead equ 68h+4
-
-
-_TEXT segment
-
-IFDEF NOUNDERLINE
- public longest_match_7fff
-; public match_init
-ELSE
- public _longest_match_7fff
-; public _match_init
-ENDIF
-
- MAX_MATCH equ 258
- MIN_MATCH equ 3
- MIN_LOOKAHEAD equ (MAX_MATCH+MIN_MATCH+1)
-
-
-
-IFDEF NOUNDERLINE
-;match_init proc near
-; ret
-;match_init endp
-ELSE
-;_match_init proc near
-; ret
-;_match_init endp
-ENDIF
-
-
-IFDEF NOUNDERLINE
-longest_match_7fff proc near
-ELSE
-_longest_match_7fff proc near
-ENDIF
-
- mov edx,[esp+4]
-
-
-
- push ebp
- push edi
- push esi
- push ebx
-
- sub esp,NbStackAdd
-
-; initialize or check the variables used in match.asm.
- mov ebp,edx
-
-; chain_length = s->max_chain_length
-; if (prev_length>=good_match) chain_length >>= 2
- mov edx,[ebp+dep_chain_length]
- mov ebx,[ebp+dep_prev_length]
- cmp [ebp+dep_good_match],ebx
- ja noshr
- shr edx,2
-noshr:
-; we increment chain_length because in the asm, the --chain_lenght is in the beginning of the loop
- inc edx
- mov edi,[ebp+dep_nice_match]
- mov chain_length,edx
- mov eax,[ebp+dep_lookahead]
- cmp eax,edi
-; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;
- jae nolookaheadnicematch
- mov edi,eax
-nolookaheadnicematch:
-; best_len = s->prev_length
- mov best_len,ebx
-
-; window = s->window
- mov esi,[ebp+dep_window]
- mov ecx,[ebp+dep_strstart]
- mov window,esi
-
- mov nice_match,edi
-; scan = window + strstart
- add esi,ecx
- mov scan,esi
-; dx = *window
- mov dx,word ptr [esi]
-; bx = *(window+best_len-1)
- mov bx,word ptr [esi+ebx-1]
- add esi,MAX_MATCH-1
-; scan_start = *scan
- mov scan_start,dx
-; strend = scan + MAX_MATCH-1
- mov strend,esi
-; bx = scan_end = *(window+best_len-1)
-
-; IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
-; s->strstart - (IPos)MAX_DIST(s) : NIL;
-
- mov esi,[ebp+dep_w_size]
- sub esi,MIN_LOOKAHEAD
-; here esi = MAX_DIST(s)
- sub ecx,esi
- ja nodist
- xor ecx,ecx
-nodist:
- mov limit,ecx
-
-; prev = s->prev
- mov edx,[ebp+dep_prev]
- mov prev,edx
-
-;
- mov edx,dword ptr [ebp+dep_match_start]
- mov bp,scan_start
- mov eax,cur_match
- mov match_start,edx
-
- mov edx,window
- mov edi,edx
- add edi,best_len
- mov esi,prev
- dec edi
-; windowlen = window + best_len -1
- mov windowlen,edi
-
- jmp beginloop2
- align 4
-
-; here, in the loop
-; eax = ax = cur_match
-; ecx = limit
-; bx = scan_end
-; bp = scan_start
-; edi = windowlen (window + best_len -1)
-; esi = prev
-
-
-;// here; chain_length <=16
-normalbeg0add16:
- add chain_length,16
- jz exitloop
-normalbeg0:
- cmp word ptr[edi+eax],bx
- je normalbeg2noroll
-rcontlabnoroll:
-; cur_match = prev[cur_match & wmask]
- and eax,7fffh
- mov ax,word ptr[esi+eax*2]
-; if cur_match > limit, go to exitloop
- cmp ecx,eax
- jnb exitloop
-; if --chain_length != 0, go to exitloop
- dec chain_length
- jnz normalbeg0
- jmp exitloop
-
-normalbeg2noroll:
-; if (scan_start==*(cur_match+window)) goto normalbeg2
- cmp bp,word ptr[edx+eax]
- jne rcontlabnoroll
- jmp normalbeg2
-
-contloop3:
- mov edi,windowlen
-
-; cur_match = prev[cur_match & wmask]
- and eax,7fffh
- mov ax,word ptr[esi+eax*2]
-; if cur_match > limit, go to exitloop
- cmp ecx,eax
-jnbexitloopshort1:
- jnb exitloop
-; if --chain_length != 0, go to exitloop
-
-
-; begin the main loop
-beginloop2:
- sub chain_length,16+1
-; if chain_length <=16, don't use the unrolled loop
- jna normalbeg0add16
-
-do16:
- cmp word ptr[edi+eax],bx
- je normalbeg2dc0
-
-maccn MACRO lab
- and eax,7fffh
- mov ax,word ptr[esi+eax*2]
- cmp ecx,eax
- jnb exitloop
- cmp word ptr[edi+eax],bx
- je lab
- ENDM
-
-rcontloop0:
- maccn normalbeg2dc1
-
-rcontloop1:
- maccn normalbeg2dc2
-
-rcontloop2:
- maccn normalbeg2dc3
-
-rcontloop3:
- maccn normalbeg2dc4
-
-rcontloop4:
- maccn normalbeg2dc5
-
-rcontloop5:
- maccn normalbeg2dc6
-
-rcontloop6:
- maccn normalbeg2dc7
-
-rcontloop7:
- maccn normalbeg2dc8
-
-rcontloop8:
- maccn normalbeg2dc9
-
-rcontloop9:
- maccn normalbeg2dc10
-
-rcontloop10:
- maccn short normalbeg2dc11
-
-rcontloop11:
- maccn short normalbeg2dc12
-
-rcontloop12:
- maccn short normalbeg2dc13
-
-rcontloop13:
- maccn short normalbeg2dc14
-
-rcontloop14:
- maccn short normalbeg2dc15
-
-rcontloop15:
- and eax,7fffh
- mov ax,word ptr[esi+eax*2]
- cmp ecx,eax
- jnb exitloop
-
- sub chain_length,16
- ja do16
- jmp normalbeg0add16
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-normbeg MACRO rcontlab,valsub
-; if we are here, we know that *(match+best_len-1) == scan_end
- cmp bp,word ptr[edx+eax]
-; if (match != scan_start) goto rcontlab
- jne rcontlab
-; calculate the good chain_length, and we'll compare scan and match string
- add chain_length,16-valsub
- jmp iseq
- ENDM
-
-
-normalbeg2dc11:
- normbeg rcontloop11,11
-
-normalbeg2dc12:
- normbeg short rcontloop12,12
-
-normalbeg2dc13:
- normbeg short rcontloop13,13
-
-normalbeg2dc14:
- normbeg short rcontloop14,14
-
-normalbeg2dc15:
- normbeg short rcontloop15,15
-
-normalbeg2dc10:
- normbeg rcontloop10,10
-
-normalbeg2dc9:
- normbeg rcontloop9,9
-
-normalbeg2dc8:
- normbeg rcontloop8,8
-
-normalbeg2dc7:
- normbeg rcontloop7,7
-
-normalbeg2dc6:
- normbeg rcontloop6,6
-
-normalbeg2dc5:
- normbeg rcontloop5,5
-
-normalbeg2dc4:
- normbeg rcontloop4,4
-
-normalbeg2dc3:
- normbeg rcontloop3,3
-
-normalbeg2dc2:
- normbeg rcontloop2,2
-
-normalbeg2dc1:
- normbeg rcontloop1,1
-
-normalbeg2dc0:
- normbeg rcontloop0,0
-
-
-; we go in normalbeg2 because *(ushf*)(match+best_len-1) == scan_end
-
-normalbeg2:
- mov edi,window
-
- cmp bp,word ptr[edi+eax]
- jne contloop3 ; if *(ushf*)match != scan_start, continue
-
-iseq:
-; if we are here, we know that *(match+best_len-1) == scan_end
-; and (match == scan_start)
-
- mov edi,edx
- mov esi,scan ; esi = scan
- add edi,eax ; edi = window + cur_match = match
-
- mov edx,[esi+3] ; compare manually dword at match+3
- xor edx,[edi+3] ; and scan +3
-
- jz begincompare ; if equal, go to long compare
-
-; we will determine the unmatch byte and calculate len (in esi)
- or dl,dl
- je eq1rr
- mov esi,3
- jmp trfinval
-eq1rr:
- or dx,dx
- je eq1
-
- mov esi,4
- jmp trfinval
-eq1:
- and edx,0ffffffh
- jz eq11
- mov esi,5
- jmp trfinval
-eq11:
- mov esi,6
- jmp trfinval
-
-begincompare:
- ; here we now scan and match begin same
- add edi,6
- add esi,6
- mov ecx,(MAX_MATCH-(2+4))/4 ; scan for at most MAX_MATCH bytes
- repe cmpsd ; loop until mismatch
-
- je trfin ; go to trfin if not unmatch
-; we determine the unmatch byte
- sub esi,4
- mov edx,[edi-4]
- xor edx,[esi]
-
- or dl,dl
- jnz trfin
- inc esi
-
- or dx,dx
- jnz trfin
- inc esi
-
- and edx,0ffffffh
- jnz trfin
- inc esi
-
-trfin:
- sub esi,scan ; esi = len
-trfinval:
-; here we have finised compare, and esi contain len of equal string
- cmp esi,best_len ; if len > best_len, go newbestlen
- ja short newbestlen
-; now we restore edx, ecx and esi, for the big loop
- mov esi,prev
- mov ecx,limit
- mov edx,window
- jmp contloop3
-
-newbestlen:
- mov best_len,esi ; len become best_len
-
- mov match_start,eax ; save new position as match_start
- cmp esi,nice_match ; if best_len >= nice_match, exit
- jae exitloop
- mov ecx,scan
- mov edx,window ; restore edx=window
- add ecx,esi
- add esi,edx
-
- dec esi
- mov windowlen,esi ; windowlen = window + best_len-1
- mov bx,[ecx-1] ; bx = *(scan+best_len-1) = scan_end
-
-; now we restore ecx and esi, for the big loop :
- mov esi,prev
- mov ecx,limit
- jmp contloop3
-
-exitloop:
-; exit : s->match_start=match_start
- mov ebx,match_start
- mov ebp,str_s
- mov ecx,best_len
- mov dword ptr [ebp+dep_match_start],ebx
- mov eax,dword ptr [ebp+dep_lookahead]
- cmp ecx,eax
- ja minexlo
- mov eax,ecx
-minexlo:
-; return min(best_len,s->lookahead)
-
-; restore stack and register ebx,esi,edi,ebp
- add esp,NbStackAdd
-
- pop ebx
- pop esi
- pop edi
- pop ebp
- ret
-InfoAuthor:
-; please don't remove this string !
-; Your are free use gvmat32 in any fre or commercial apps if you don't remove the string in the binary!
- db 0dh,0ah,"GVMat32 optimised assembly code written 1996-98 by Gilles Vollant",0dh,0ah
-
-
-
-IFDEF NOUNDERLINE
-longest_match_7fff endp
-ELSE
-_longest_match_7fff endp
-ENDIF
-
-
-IFDEF NOUNDERLINE
-cpudetect32 proc near
-ELSE
-_cpudetect32 proc near
-ENDIF
-
-
- pushfd ; push original EFLAGS
- pop eax ; get original EFLAGS
- mov ecx, eax ; save original EFLAGS
- xor eax, 40000h ; flip AC bit in EFLAGS
- push eax ; save new EFLAGS value on stack
- popfd ; replace current EFLAGS value
- pushfd ; get new EFLAGS
- pop eax ; store new EFLAGS in EAX
- xor eax, ecx ; can\92t toggle AC bit, processor=80386
- jz end_cpu_is_386 ; jump if 80386 processor
- push ecx
- popfd ; restore AC bit in EFLAGS first
-
- pushfd
- pushfd
- pop ecx
-
- mov eax, ecx ; get original EFLAGS
- xor eax, 200000h ; flip ID bit in EFLAGS
- push eax ; save new EFLAGS value on stack
- popfd ; replace current EFLAGS value
- pushfd ; get new EFLAGS
- pop eax ; store new EFLAGS in EAX
- popfd ; restore original EFLAGS
- xor eax, ecx ; can\92t toggle ID bit,
- je is_old_486 ; processor=old
-
- mov eax,1
- db 0fh,0a2h ;CPUID
-
-exitcpudetect:
- ret
-
-end_cpu_is_386:
- mov eax,0300h
- jmp exitcpudetect
-
-is_old_486:
- mov eax,0400h
- jmp exitcpudetect
-
-IFDEF NOUNDERLINE
-cpudetect32 endp
-ELSE
-_cpudetect32 endp
-ENDIF
-
-_TEXT ends
-end
+++ /dev/null
-/* gvmat32.c -- C portion of the optimized longest_match for 32 bits x86
- * Copyright (C) 1995-1996 Jean-loup Gailly and Gilles Vollant.
- * File written by Gilles Vollant, by modifiying the longest_match
- * from Jean-loup Gailly in deflate.c
- * it prepare all parameters and call the assembly longest_match_gvasm
- * longest_match execute standard C code is wmask != 0x7fff
- * (assembly code is faster with a fixed wmask)
- *
- */
-
-#include "deflate.h"
-
-#undef FAR
-#include <windows.h>
-
-#ifdef ASMV
-#define NIL 0
-
-#define UNALIGNED_OK
-
-
-/* if your C compiler don't add underline before function name,
- define ADD_UNDERLINE_ASMFUNC */
-#ifdef ADD_UNDERLINE_ASMFUNC
-#define longest_match_7fff _longest_match_7fff
-#endif
-
-
-
-void match_init()
-{
-}
-
-unsigned long cpudetect32();
-
-uInt longest_match_c(
- deflate_state *s,
- IPos cur_match); /* current match */
-
-
-uInt longest_match_7fff(
- deflate_state *s,
- IPos cur_match); /* current match */
-
-uInt longest_match(
- deflate_state *s,
- IPos cur_match) /* current match */
-{
- static uInt iIsPPro=2;
-
- if ((s->w_mask == 0x7fff) && (iIsPPro==0))
- return longest_match_7fff(s,cur_match);
-
- if (iIsPPro==2)
- iIsPPro = (((cpudetect32()/0x100)&0xf)>=6) ? 1 : 0;
-
- return longest_match_c(s,cur_match);
-}
-
-
-
-uInt longest_match_c(s, cur_match)
- deflate_state *s;
- IPos cur_match; /* current match */
-{
- unsigned chain_length = s->max_chain_length;/* max hash chain length */
- register Bytef *scan = s->window + s->strstart; /* current string */
- register Bytef *match; /* matched string */
- register int len; /* length of current match */
- int best_len = s->prev_length; /* best match length so far */
- int nice_match = s->nice_match; /* stop if match long enough */
- IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
- s->strstart - (IPos)MAX_DIST(s) : NIL;
- /* Stop when cur_match becomes <= limit. To simplify the code,
- * we prevent matches with the string of window index 0.
- */
- Posf *prev = s->prev;
- uInt wmask = s->w_mask;
-
-#ifdef UNALIGNED_OK
- /* Compare two bytes at a time. Note: this is not always beneficial.
- * Try with and without -DUNALIGNED_OK to check.
- */
- register Bytef *strend = s->window + s->strstart + MAX_MATCH - 1;
- register ush scan_start = *(ushf*)scan;
- register ush scan_end = *(ushf*)(scan+best_len-1);
-#else
- register Bytef *strend = s->window + s->strstart + MAX_MATCH;
- register Byte scan_end1 = scan[best_len-1];
- register Byte scan_end = scan[best_len];
-#endif
-
- /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
- * It is easy to get rid of this optimization if necessary.
- */
- Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever");
-
- /* Do not waste too much time if we already have a good match: */
- if (s->prev_length >= s->good_match) {
- chain_length >>= 2;
- }
- /* Do not look for matches beyond the end of the input. This is necessary
- * to make deflate deterministic.
- */
- if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;
-
- Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead");
-
- do {
- Assert(cur_match < s->strstart, "no future");
- match = s->window + cur_match;
-
- /* Skip to next match if the match length cannot increase
- * or if the match length is less than 2:
- */
-#if (defined(UNALIGNED_OK) && MAX_MATCH == 258)
- /* This code assumes sizeof(unsigned short) == 2. Do not use
- * UNALIGNED_OK if your compiler uses a different size.
- */
- if (*(ushf*)(match+best_len-1) != scan_end ||
- *(ushf*)match != scan_start) continue;
-
- /* It is not necessary to compare scan[2] and match[2] since they are
- * always equal when the other bytes match, given that the hash keys
- * are equal and that HASH_BITS >= 8. Compare 2 bytes at a time at
- * strstart+3, +5, ... up to strstart+257. We check for insufficient
- * lookahead only every 4th comparison; the 128th check will be made
- * at strstart+257. If MAX_MATCH-2 is not a multiple of 8, it is
- * necessary to put more guard bytes at the end of the window, or
- * to check more often for insufficient lookahead.
- */
- Assert(scan[2] == match[2], "scan[2]?");
- scan++, match++;
- do {
- } while (*(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- scan < strend);
- /* The funny "do {}" generates better code on most compilers */
-
- /* Here, scan <= window+strstart+257 */
- Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
- if (*scan == *match) scan++;
-
- len = (MAX_MATCH - 1) - (int)(strend-scan);
- scan = strend - (MAX_MATCH-1);
-
-#else /* UNALIGNED_OK */
-
- if (match[best_len] != scan_end ||
- match[best_len-1] != scan_end1 ||
- *match != *scan ||
- *++match != scan[1]) continue;
-
- /* The check at best_len-1 can be removed because it will be made
- * again later. (This heuristic is not always a win.)
- * It is not necessary to compare scan[2] and match[2] since they
- * are always equal when the other bytes match, given that
- * the hash keys are equal and that HASH_BITS >= 8.
- */
- scan += 2, match++;
- Assert(*scan == *match, "match[2]?");
-
- /* We check for insufficient lookahead only every 8th comparison;
- * the 256th check will be made at strstart+258.
- */
- do {
- } while (*++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- scan < strend);
-
- Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
-
- len = MAX_MATCH - (int)(strend - scan);
- scan = strend - MAX_MATCH;
-
-#endif /* UNALIGNED_OK */
-
- if (len > best_len) {
- s->match_start = cur_match;
- best_len = len;
- if (len >= nice_match) break;
-#ifdef UNALIGNED_OK
- scan_end = *(ushf*)(scan+best_len-1);
-#else
- scan_end1 = scan[best_len-1];
- scan_end = scan[best_len];
-#endif
- }
- } while ((cur_match = prev[cur_match & wmask]) > limit
- && --chain_length != 0);
-
- if ((uInt)best_len <= s->lookahead) return (uInt)best_len;
- return s->lookahead;
-}
-
-#endif /* ASMV */
+++ /dev/null
-c:\masm611\bin\ml /coff /Zi /c /Flgvmat32.lst gvmat32.asm
+++ /dev/null
-LIBRARY "zlib"
-
-DESCRIPTION '"""zlib data compression library"""'
-
-
-VERSION 1.11
-
-
-HEAPSIZE 1048576,8192
-
-EXPORTS
- adler32 @1
- compress @2
- crc32 @3
- deflate @4
- deflateCopy @5
- deflateEnd @6
- deflateInit2_ @7
- deflateInit_ @8
- deflateParams @9
- deflateReset @10
- deflateSetDictionary @11
- gzclose @12
- gzdopen @13
- gzerror @14
- gzflush @15
- gzopen @16
- gzread @17
- gzwrite @18
- inflate @19
- inflateEnd @20
- inflateInit2_ @21
- inflateInit_ @22
- inflateReset @23
- inflateSetDictionary @24
- inflateSync @25
- uncompress @26
- zlibVersion @27
- gzprintf @28
- gzputc @29
- gzgetc @30
- gzseek @31
- gzrewind @32
- gztell @33
- gzeof @34
- gzsetparams @35
- zError @36
- inflateSyncPoint @37
- get_crc_table @38
- compress2 @39
- gzputs @40
- gzgets @41
-
- unzOpen @61
- unzClose @62
- unzGetGlobalInfo @63
- unzGetCurrentFileInfo @64
- unzGoToFirstFile @65
- unzGoToNextFile @66
- unzOpenCurrentFile @67
- unzReadCurrentFile @68
- unztell @70
- unzeof @71
- unzCloseCurrentFile @72
- unzGetGlobalComment @73
- unzStringFileNameCompare @74
- unzLocateFile @75
- unzGetLocalExtrafield @76
-
- zipOpen @80
- zipOpenNewFileInZip @81
- zipWriteInFileInZip @82
- zipCloseFileInZip @83
- zipClose @84
+++ /dev/null
-# Microsoft Developer Studio Project File - Name="zlibvc" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 5.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-# TARGTYPE "Win32 (ALPHA) Dynamic-Link Library" 0x0602
-
-CFG=zlibvc - Win32 Release
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "zlibvc.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "zlibvc.mak" CFG="zlibvc - Win32 Release"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "zlibvc - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "zlibvc - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "zlibvc - Win32 ReleaseAxp" (based on\
- "Win32 (ALPHA) Dynamic-Link Library")
-!MESSAGE "zlibvc - Win32 ReleaseWithoutAsm" (based on\
- "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "zlibvc - Win32 ReleaseWithoutCrtdll" (based on\
- "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ".\Release"
-# PROP BASE Intermediate_Dir ".\Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ".\Release"
-# PROP Intermediate_Dir ".\Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /D "ASMV" /FAcs /FR /FD /c
-# SUBTRACT CPP /YX
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x40c /d "NDEBUG"
-# ADD RSC /l 0x40c /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 gvmat32.obj kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib crtdll.lib /nologo /subsystem:windows /dll /map /machine:I386 /nodefaultlib /out:".\Release\zlib.dll"
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ".\Debug"
-# PROP BASE Intermediate_Dir ".\Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ".\Debug"
-# PROP Intermediate_Dir ".\Debug"
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /FD /c
-# SUBTRACT CPP /YX
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x40c /d "_DEBUG"
-# ADD RSC /l 0x40c /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:".\Debug\zlib.dll"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "zlibvc__"
-# PROP BASE Intermediate_Dir "zlibvc__"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "zlibvc__"
-# PROP Intermediate_Dir "zlibvc__"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-CPP=cl.exe
-# ADD BASE CPP /nologo /MT /Gt0 /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /FAcs /FR /YX /FD /c
-# ADD CPP /nologo /MT /Gt0 /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /FAcs /FR /FD /c
-# SUBTRACT CPP /YX
-RSC=rc.exe
-# ADD BASE RSC /l 0x40c /d "NDEBUG"
-# ADD RSC /l 0x40c /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 crtdll.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /map /machine:ALPHA /nodefaultlib /out:".\Release\zlib.dll"
-# SUBTRACT BASE LINK32 /pdb:none
-# ADD LINK32 crtdll.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /map /machine:ALPHA /nodefaultlib /out:"zlibvc__\zlib.dll"
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "zlibvc_0"
-# PROP BASE Intermediate_Dir "zlibvc_0"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "zlibvc_0"
-# PROP Intermediate_Dir "zlibvc_0"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /FAcs /FR /YX /FD /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /FAcs /FR /FD /c
-# SUBTRACT CPP /YX
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x40c /d "NDEBUG"
-# ADD RSC /l 0x40c /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib crtdll.lib /nologo /subsystem:windows /dll /map /machine:I386 /nodefaultlib /out:".\Release\zlib.dll"
-# SUBTRACT BASE LINK32 /pdb:none
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib crtdll.lib /nologo /subsystem:windows /dll /map /machine:I386 /nodefaultlib /out:".\zlibvc_0\zlib.dll"
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "zlibvc_1"
-# PROP BASE Intermediate_Dir "zlibvc_1"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "zlibvc_1"
-# PROP Intermediate_Dir "zlibvc_1"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /D "ASMV" /FAcs /FR /YX /FD /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /D "ASMV" /FAcs /FR /FD /c
-# SUBTRACT CPP /YX
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x40c /d "NDEBUG"
-# ADD RSC /l 0x40c /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 gvmat32.obj kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib crtdll.lib /nologo /subsystem:windows /dll /map /machine:I386 /nodefaultlib /out:".\Release\zlib.dll"
-# SUBTRACT BASE LINK32 /pdb:none
-# ADD LINK32 gvmat32.obj kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib crtdll.lib /nologo /subsystem:windows /dll /map /machine:I386 /nodefaultlib /out:".\zlibvc_1\zlib.dll"
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "zlibvc - Win32 Release"
-# Name "zlibvc - Win32 Debug"
-# Name "zlibvc - Win32 ReleaseAxp"
-# Name "zlibvc - Win32 ReleaseWithoutAsm"
-# Name "zlibvc - Win32 ReleaseWithoutCrtdll"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
-# Begin Source File
-
-SOURCE=.\adler32.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_ADLER=\
- ".\zconf.h"\
- ".\zlib.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\compress.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_COMPR=\
- ".\zconf.h"\
- ".\zlib.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\crc32.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_CRC32=\
- ".\zconf.h"\
- ".\zlib.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\deflate.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_DEFLA=\
- ".\deflate.h"\
- ".\zconf.h"\
- ".\zlib.h"\
- ".\zutil.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\gvmat32c.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\gzio.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_GZIO_=\
- ".\zconf.h"\
- ".\zlib.h"\
- ".\zutil.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\infblock.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_INFBL=\
- ".\infblock.h"\
- ".\infcodes.h"\
- ".\inftrees.h"\
- ".\infutil.h"\
- ".\zconf.h"\
- ".\zlib.h"\
- ".\zutil.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\infcodes.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_INFCO=\
- ".\infblock.h"\
- ".\infcodes.h"\
- ".\inffast.h"\
- ".\inftrees.h"\
- ".\infutil.h"\
- ".\zconf.h"\
- ".\zlib.h"\
- ".\zutil.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\inffast.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_INFFA=\
- ".\infblock.h"\
- ".\infcodes.h"\
- ".\inffast.h"\
- ".\inftrees.h"\
- ".\infutil.h"\
- ".\zconf.h"\
- ".\zlib.h"\
- ".\zutil.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\inflate.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_INFLA=\
- ".\infblock.h"\
- ".\zconf.h"\
- ".\zlib.h"\
- ".\zutil.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\inftrees.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_INFTR=\
- ".\inftrees.h"\
- ".\zconf.h"\
- ".\zlib.h"\
- ".\zutil.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\infutil.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_INFUT=\
- ".\infblock.h"\
- ".\infcodes.h"\
- ".\inftrees.h"\
- ".\infutil.h"\
- ".\zconf.h"\
- ".\zlib.h"\
- ".\zutil.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\trees.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_TREES=\
- ".\deflate.h"\
- ".\zconf.h"\
- ".\zlib.h"\
- ".\zutil.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\uncompr.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_UNCOM=\
- ".\zconf.h"\
- ".\zlib.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\unzip.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\zip.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlib.rc
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlibvc.def
-# End Source File
-# Begin Source File
-
-SOURCE=.\zutil.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_ZUTIL=\
- ".\zconf.h"\
- ".\zlib.h"\
- ".\zutil.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
-# Begin Source File
-
-SOURCE=.\deflate.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\infblock.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\infcodes.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\inffast.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\inftrees.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\infutil.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\zconf.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlib.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\zutil.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
+++ /dev/null
-Microsoft Developer Studio Workspace File, Format Version 5.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "zlibstat"=.\zlibstat.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "zlibvc"=.\zlibvc.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
+++ /dev/null
-# Makefile for zlib32bd.lib
-# ------------- Borland C++ 4.5 -------------
-
-# The (32-bit) zlib32bd.lib made with this makefile is intended for use
-# in making the (32-bit) DLL, png32bd.dll. It uses the "stdcall" calling
-# convention.
-
-CFLAGS= -ps -O2 -C -K -N- -k- -d -3 -r- -w-par -w-aus -WDE
-CC=f:\bc45\bin\bcc32
-LIBFLAGS= /C
-LIB=f:\bc45\bin\tlib
-ZLIB=zlib32bd.lib
-
-.autodepend
-.c.obj:
- $(CC) -c $(CFLAGS) $<
-
-OBJ1=adler32.obj compress.obj crc32.obj deflate.obj gzio.obj infblock.obj
-OBJ2=infcodes.obj inflate.obj inftrees.obj infutil.obj inffast.obj
-OBJ3=trees.obj uncompr.obj zutil.obj
-pOBJ1=+adler32.obj+compress.obj+crc32.obj+deflate.obj+gzio.obj+infblock.obj
-pOBJ2=+infcodes.obj+inflate.obj+inftrees.obj+infutil.obj+inffast.obj
-pOBJ3=+trees.obj+uncompr.obj+zutil.obj
-
-all: $(ZLIB)
-
-$(ZLIB): $(OBJ1) $(OBJ2) $(OBJ3)
- @if exist $@ del $@
- $(LIB) @&&|
-$@ $(LIBFLAGS) &
-$(pOBJ1) &
-$(pOBJ2) &
-$(pOBJ3)
-|
-
-# End of makefile for zlib32bd.lib
+++ /dev/null
-unit zlibdef;
-
-interface
-
-uses
- Windows;
-
-const
- ZLIB_VERSION = '1.1.3';
-
-type
- voidpf = Pointer;
- int = Integer;
- uInt = Cardinal;
- pBytef = PChar;
- uLong = Cardinal;
-
- alloc_func = function(opaque: voidpf; items, size: uInt): voidpf;
- stdcall;
- free_func = procedure(opaque, address: voidpf);
- stdcall;
-
- internal_state = Pointer;
-
- z_streamp = ^z_stream;
- z_stream = packed record
- next_in: pBytef; // next input byte
- avail_in: uInt; // number of bytes available at next_in
- total_in: uLong; // total nb of input bytes read so far
-
- next_out: pBytef; // next output byte should be put there
- avail_out: uInt; // remaining free space at next_out
- total_out: uLong; // total nb of bytes output so far
-
- msg: PChar; // last error message, NULL if no error
- state: internal_state; // not visible by applications
-
- zalloc: alloc_func; // used to allocate the internal state
- zfree: free_func; // used to free the internal state
- opaque: voidpf; // private data object passed to zalloc and zfree
-
- data_type: int; // best guess about the data type: ascii or binary
- adler: uLong; // adler32 value of the uncompressed data
- reserved: uLong; // reserved for future use
- end;
-
-const
- Z_NO_FLUSH = 0;
- Z_SYNC_FLUSH = 2;
- Z_FULL_FLUSH = 3;
- Z_FINISH = 4;
-
- Z_OK = 0;
- Z_STREAM_END = 1;
-
- Z_NO_COMPRESSION = 0;
- Z_BEST_SPEED = 1;
- Z_BEST_COMPRESSION = 9;
- Z_DEFAULT_COMPRESSION = -1;
-
- Z_FILTERED = 1;
- Z_HUFFMAN_ONLY = 2;
- Z_DEFAULT_STRATEGY = 0;
-
- Z_BINARY = 0;
- Z_ASCII = 1;
- Z_UNKNOWN = 2;
-
- Z_DEFLATED = 8;
-
- MAX_MEM_LEVEL = 9;
-
-function adler32(adler: uLong; const buf: pBytef; len: uInt): uLong;
- stdcall;
-function crc32(crc: uLong; const buf: pBytef; len: uInt): uLong;
- stdcall;
-function deflate(strm: z_streamp; flush: int): int;
- stdcall;
-function deflateCopy(dest, source: z_streamp): int;
- stdcall;
-function deflateEnd(strm: z_streamp): int;
- stdcall;
-function deflateInit2_(strm: z_streamp; level, method,
- windowBits, memLevel, strategy: int;
- const version: PChar; stream_size: int): int;
- stdcall;
-function deflateInit_(strm: z_streamp; level: int;
- const version: PChar; stream_size: int): int;
- stdcall;
-function deflateParams(strm: z_streamp; level, strategy: int): int;
- stdcall;
-function deflateReset(strm: z_streamp): int;
- stdcall;
-function deflateSetDictionary(strm: z_streamp;
- const dictionary: pBytef;
- dictLength: uInt): int;
- stdcall;
-function inflate(strm: z_streamp; flush: int): int;
- stdcall;
-function inflateEnd(strm: z_streamp): int;
- stdcall;
-function inflateInit2_(strm: z_streamp; windowBits: int;
- const version: PChar; stream_size: int): int;
- stdcall;
-function inflateInit_(strm: z_streamp; const version: PChar;
- stream_size: int): int;
- stdcall;
-function inflateReset(strm: z_streamp): int;
- stdcall;
-function inflateSetDictionary(strm: z_streamp;
- const dictionary: pBytef;
- dictLength: uInt): int;
- stdcall;
-function inflateSync(strm: z_streamp): int;
- stdcall;
-
-function deflateInit(strm: z_streamp; level: int): int;
-function deflateInit2(strm: z_streamp; level, method, windowBits,
- memLevel, strategy: int): int;
-function inflateInit(strm: z_streamp): int;
-function inflateInit2(strm: z_streamp; windowBits: int): int;
-
-implementation
-
-function deflateInit(strm: z_streamp; level: int): int;
-begin
- Result := deflateInit_(strm, level, ZLIB_VERSION, sizeof(z_stream));
-end;
-
-function deflateInit2(strm: z_streamp; level, method, windowBits,
- memLevel, strategy: int): int;
-begin
- Result := deflateInit2_(strm, level, method, windowBits, memLevel,
- strategy, ZLIB_VERSION, sizeof(z_stream));
-end;
-
-function inflateInit(strm: z_streamp): int;
-begin
- Result := inflateInit_(strm, ZLIB_VERSION, sizeof(z_stream));
-end;
-
-function inflateInit2(strm: z_streamp; windowBits: int): int;
-begin
- Result := inflateInit2_(strm, windowBits, ZLIB_VERSION,
- sizeof(z_stream));
-end;
-
-const
- zlibDLL = 'png32bd.dll';
-
-function adler32; external zlibDLL;
-function crc32; external zlibDLL;
-function deflate; external zlibDLL;
-function deflateCopy; external zlibDLL;
-function deflateEnd; external zlibDLL;
-function deflateInit2_; external zlibDLL;
-function deflateInit_; external zlibDLL;
-function deflateParams; external zlibDLL;
-function deflateReset; external zlibDLL;
-function deflateSetDictionary; external zlibDLL;
-function inflate; external zlibDLL;
-function inflateEnd; external zlibDLL;
-function inflateInit2_; external zlibDLL;
-function inflateInit_; external zlibDLL;
-function inflateReset; external zlibDLL;
-function inflateSetDictionary; external zlibDLL;
-function inflateSync; external zlibDLL;
-
-end.
+++ /dev/null
-# ---------------------------------------------------------------------------
-!if !$d(BCB)
-BCB = $(MAKEDIR)\..
-!endif
-
-# ---------------------------------------------------------------------------
-# IDE SECTION
-# ---------------------------------------------------------------------------
-# The following section of the project makefile is managed by the BCB IDE.
-# It is recommended to use the IDE to change any of the values in this
-# section.
-# ---------------------------------------------------------------------------
-
-VERSION = BCB.03
-# ---------------------------------------------------------------------------
-PROJECT = d_zlib.lib
-OBJFILES = d_zlib.obj adler32.obj deflate.obj infblock.obj infcodes.obj inffast.obj \
- inflate.obj inftrees.obj infutil.obj trees.obj
-RESFILES =
-RESDEPEN = $(RESFILES)
-LIBFILES =
-LIBRARIES = VCL35.lib
-SPARELIBS = VCL35.lib
-DEFFILE =
-PACKAGES = VCLX35.bpi VCL35.bpi VCLDB35.bpi VCLDBX35.bpi ibsmp35.bpi bcbsmp35.bpi \
- dclocx35.bpi QRPT35.bpi TEEUI35.bpi TEEDB35.bpi TEE35.bpi DSS35.bpi \
- NMFAST35.bpi INETDB35.bpi INET35.bpi VCLMID35.bpi
-# ---------------------------------------------------------------------------
-PATHCPP = .;
-PATHASM = .;
-PATHPAS = .;
-PATHRC = .;
-DEBUGLIBPATH = $(BCB)\lib\debug
-RELEASELIBPATH = $(BCB)\lib\release
-# ---------------------------------------------------------------------------
-CFLAG1 = -O2 -Ve -d -k- -vi
-CFLAG2 = -I$(BCB)\include;$(BCB)\include\vcl -H=$(BCB)\lib\vcl35.csm
-CFLAG3 = -ff -pr -5
-PFLAGS = -U;$(DEBUGLIBPATH) -I$(BCB)\include;$(BCB)\include\vcl -H -W -$I- -v -JPHN -M
-RFLAGS = -i$(BCB)\include;$(BCB)\include\vcl
-AFLAGS = /i$(BCB)\include /i$(BCB)\include\vcl /mx /w2 /zn
-LFLAGS =
-IFLAGS = -g -Gn
-# ---------------------------------------------------------------------------
-ALLOBJ = c0w32.obj $(OBJFILES)
-ALLRES = $(RESFILES)
-ALLLIB = $(LIBFILES) $(LIBRARIES) import32.lib cp32mt.lib
-# ---------------------------------------------------------------------------
-!!ifdef IDEOPTIONS
-
-[Version Info]
-IncludeVerInfo=0
-AutoIncBuild=0
-MajorVer=1
-MinorVer=0
-Release=0
-Build=0
-Debug=0
-PreRelease=0
-Special=0
-Private=0
-DLL=0
-Locale=1040
-CodePage=1252
-
-[Version Info Keys]
-CompanyName=
-FileDescription=
-FileVersion=1.0.0.0
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
-Comments=
-
-[HistoryLists\hlIncludePath]
-Count=2
-Item0=$(BCB)\include
-Item1=$(BCB)\include;$(BCB)\include\vcl
-
-[HistoryLists\hlLibraryPath]
-Count=1
-Item0=$(BCB)\lib\obj;$(BCB)\lib
-
-[HistoryLists\hlDebugSourcePath]
-Count=1
-Item0=$(BCB)\source\vcl
-
-[Debugging]
-DebugSourceDirs=
-
-[Parameters]
-RunParams=
-HostApplication=
-
-!endif
-
- ---------------------------------------------------------------------------
-# MAKE SECTION
-# ---------------------------------------------------------------------------
-# This section of the project file is not used by the BCB IDE. It is for
-# the benefit of building from the command-line using the MAKE utility.
-# ---------------------------------------------------------------------------
-
-.autodepend
-# ---------------------------------------------------------------------------
-!if !$d(BCC32)
-BCC32 = bcc32
-!endif
-
-!if !$d(DCC32)
-DCC32 = dcc32
-!endif
-
-!if !$d(TASM32)
-TASM32 = tasm32
-!endif
-
-!if !$d(LINKER)
-LINKER = TLib
-!endif
-
-!if !$d(BRCC32)
-BRCC32 = brcc32
-!endif
-# ---------------------------------------------------------------------------
-!if $d(PATHCPP)
-.PATH.CPP = $(PATHCPP)
-.PATH.C = $(PATHCPP)
-!endif
-
-!if $d(PATHPAS)
-.PATH.PAS = $(PATHPAS)
-!endif
-
-!if $d(PATHASM)
-.PATH.ASM = $(PATHASM)
-!endif
-
-!if $d(PATHRC)
-.PATH.RC = $(PATHRC)
-!endif
-# ---------------------------------------------------------------------------
-!ifdef IDEOPTIONS
-
-[Version Info]
-IncludeVerInfo=0
-AutoIncBuild=0
-MajorVer=1
-MinorVer=0
-Release=0
-Build=0
-Debug=0
-PreRelease=0
-Special=0
-Private=0
-DLL=0
-Locale=1040
-CodePage=1252
-
-[Version Info Keys]
-CompanyName=
-FileDescription=
-FileVersion=1.0.0.0
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
-Comments=
-
-[HistoryLists\hlIncludePath]
-Count=2
-Item0=$(BCB)\include;$(BCB)\include\vcl
-Item1=$(BCB)\include
-
-[HistoryLists\hlLibraryPath]
-Count=1
-Item0=$(BCB)\lib\obj;$(BCB)\lib
-
-[HistoryLists\hlDebugSourcePath]
-Count=1
-Item0=$(BCB)\source\vcl
-
-[Debugging]
-DebugSourceDirs=
-
-[Parameters]
-RunParams=
-HostApplication=
-
-!endif
-
-$(PROJECT): $(OBJFILES) $(RESDEPEN) $(DEFFILE)
- $(BCB)\BIN\$(LINKER) @&&!
- $(LFLAGS) $(IFLAGS) +
- $(ALLOBJ), +
- $(PROJECT),, +
- $(ALLLIB), +
- $(DEFFILE), +
- $(ALLRES)
-!
-# ---------------------------------------------------------------------------
-.pas.hpp:
- $(BCB)\BIN\$(DCC32) $(PFLAGS) {$< }
-
-.pas.obj:
- $(BCB)\BIN\$(DCC32) $(PFLAGS) {$< }
-
-.cpp.obj:
- $(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< }
-
-.c.obj:
- $(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< }
-
-.asm.obj:
- $(BCB)\BIN\$(TASM32) $(AFLAGS) $<, $@
-
-.rc.res:
- $(BCB)\BIN\$(BRCC32) $(RFLAGS) -fo$@ $<
-# ---------------------------------------------------------------------------
+++ /dev/null
-#include <condefs.h>
-#pragma hdrstop
-//---------------------------------------------------------------------------
-USEUNIT("adler32.c");
-USEUNIT("deflate.c");
-USEUNIT("infblock.c");
-USEUNIT("infcodes.c");
-USEUNIT("inffast.c");
-USEUNIT("inflate.c");
-USEUNIT("inftrees.c");
-USEUNIT("infutil.c");
-USEUNIT("trees.c");
-//---------------------------------------------------------------------------
-#define Library
-
-// To add a file to the library use the Project menu 'Add to Project'.
-
+++ /dev/null
-These are files used to compile zlib under Borland C++ Builder 3.
-
-zlib.bpg is the main project group that can be loaded in the BCB IDE and
-loads all other *.bpr projects
-
-zlib.bpr is a project used to create a static zlib.lib library with C calling
-convention for functions.
-
-zlib32.bpr creates a zlib32.dll dynamic link library with Windows standard
-calling convention.
-
-d_zlib.bpr creates a set of .obj files with register calling convention.
-These files are used by zlib.pas to create a Delphi unit containing zlib.
-The d_zlib.lib file generated isn't useful and can be deleted.
-
-zlib.cpp, zlib32.cpp and d_zlib.cpp are used by the above projects.
-
+++ /dev/null
-#------------------------------------------------------------------------------
-VERSION = BWS.01
-#------------------------------------------------------------------------------
-!ifndef ROOT
-ROOT = $(MAKEDIR)\..
-!endif
-#------------------------------------------------------------------------------
-MAKE = $(ROOT)\bin\make.exe -$(MAKEFLAGS) -f$**
-DCC = $(ROOT)\bin\dcc32.exe $**
-BRCC = $(ROOT)\bin\brcc32.exe $**
-#------------------------------------------------------------------------------
-PROJECTS = zlib zlib32 d_zlib
-#------------------------------------------------------------------------------
-default: $(PROJECTS)
-#------------------------------------------------------------------------------
-
-zlib: zlib.bpr
- $(MAKE)
-
-zlib32: zlib32.bpr
- $(MAKE)
-
-d_zlib: d_zlib.bpr
- $(MAKE)
-
-
+++ /dev/null
-# ---------------------------------------------------------------------------
-!if !$d(BCB)
-BCB = $(MAKEDIR)\..
-!endif
-
-# ---------------------------------------------------------------------------
-# IDE SECTION
-# ---------------------------------------------------------------------------
-# The following section of the project makefile is managed by the BCB IDE.
-# It is recommended to use the IDE to change any of the values in this
-# section.
-# ---------------------------------------------------------------------------
-
-VERSION = BCB.03
-# ---------------------------------------------------------------------------
-PROJECT = zlib.lib
-OBJFILES = zlib.obj adler32.obj compress.obj crc32.obj deflate.obj gzio.obj infblock.obj \
- infcodes.obj inffast.obj inflate.obj inftrees.obj infutil.obj trees.obj \
- uncompr.obj zutil.obj
-RESFILES =
-RESDEPEN = $(RESFILES)
-LIBFILES =
-LIBRARIES = VCL35.lib
-SPARELIBS = VCL35.lib
-DEFFILE =
-PACKAGES = VCLX35.bpi VCL35.bpi VCLDB35.bpi VCLDBX35.bpi ibsmp35.bpi bcbsmp35.bpi \
- dclocx35.bpi QRPT35.bpi TEEUI35.bpi TEEDB35.bpi TEE35.bpi DSS35.bpi \
- NMFAST35.bpi INETDB35.bpi INET35.bpi VCLMID35.bpi
-# ---------------------------------------------------------------------------
-PATHCPP = .;
-PATHASM = .;
-PATHPAS = .;
-PATHRC = .;
-DEBUGLIBPATH = $(BCB)\lib\debug
-RELEASELIBPATH = $(BCB)\lib\release
-# ---------------------------------------------------------------------------
-CFLAG1 = -O2 -Ve -d -k- -vi
-CFLAG2 = -I$(BCB)\include;$(BCB)\include\vcl -H=$(BCB)\lib\vcl35.csm
-CFLAG3 = -ff -5
-PFLAGS = -U;$(DEBUGLIBPATH) -I$(BCB)\include;$(BCB)\include\vcl -H -W -$I- -v -JPHN -M
-RFLAGS = -i$(BCB)\include;$(BCB)\include\vcl
-AFLAGS = /i$(BCB)\include /i$(BCB)\include\vcl /mx /w2 /zn
-LFLAGS =
-IFLAGS = -g -Gn
-# ---------------------------------------------------------------------------
-ALLOBJ = c0w32.obj $(OBJFILES)
-ALLRES = $(RESFILES)
-ALLLIB = $(LIBFILES) $(LIBRARIES) import32.lib cp32mt.lib
-# ---------------------------------------------------------------------------
-!!ifdef IDEOPTIONS
-
-[Version Info]
-IncludeVerInfo=0
-AutoIncBuild=0
-MajorVer=1
-MinorVer=0
-Release=0
-Build=0
-Debug=0
-PreRelease=0
-Special=0
-Private=0
-DLL=0
-Locale=1040
-CodePage=1252
-
-[Version Info Keys]
-CompanyName=
-FileDescription=
-FileVersion=1.0.0.0
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
-Comments=
-
-[HistoryLists\hlIncludePath]
-Count=2
-Item0=$(BCB)\include
-Item1=$(BCB)\include;$(BCB)\include\vcl
-
-[HistoryLists\hlLibraryPath]
-Count=1
-Item0=$(BCB)\lib\obj;$(BCB)\lib
-
-[HistoryLists\hlDebugSourcePath]
-Count=1
-Item0=$(BCB)\source\vcl
-
-[Debugging]
-DebugSourceDirs=
-
-[Parameters]
-RunParams=
-HostApplication=
-
-!endif
-
- ---------------------------------------------------------------------------
-# MAKE SECTION
-# ---------------------------------------------------------------------------
-# This section of the project file is not used by the BCB IDE. It is for
-# the benefit of building from the command-line using the MAKE utility.
-# ---------------------------------------------------------------------------
-
-.autodepend
-# ---------------------------------------------------------------------------
-!if !$d(BCC32)
-BCC32 = bcc32
-!endif
-
-!if !$d(DCC32)
-DCC32 = dcc32
-!endif
-
-!if !$d(TASM32)
-TASM32 = tasm32
-!endif
-
-!if !$d(LINKER)
-LINKER = TLib
-!endif
-
-!if !$d(BRCC32)
-BRCC32 = brcc32
-!endif
-# ---------------------------------------------------------------------------
-!if $d(PATHCPP)
-.PATH.CPP = $(PATHCPP)
-.PATH.C = $(PATHCPP)
-!endif
-
-!if $d(PATHPAS)
-.PATH.PAS = $(PATHPAS)
-!endif
-
-!if $d(PATHASM)
-.PATH.ASM = $(PATHASM)
-!endif
-
-!if $d(PATHRC)
-.PATH.RC = $(PATHRC)
-!endif
-# ---------------------------------------------------------------------------
-!ifdef IDEOPTIONS
-
-[Version Info]
-IncludeVerInfo=0
-AutoIncBuild=0
-MajorVer=1
-MinorVer=0
-Release=0
-Build=0
-Debug=0
-PreRelease=0
-Special=0
-Private=0
-DLL=0
-Locale=1040
-CodePage=1252
-
-[Version Info Keys]
-CompanyName=
-FileDescription=
-FileVersion=1.0.0.0
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
-Comments=
-
-[HistoryLists\hlIncludePath]
-Count=2
-Item0=$(BCB)\include;$(BCB)\include\vcl
-Item1=$(BCB)\include
-
-[HistoryLists\hlLibraryPath]
-Count=1
-Item0=$(BCB)\lib\obj;$(BCB)\lib
-
-[HistoryLists\hlDebugSourcePath]
-Count=1
-Item0=$(BCB)\source\vcl
-
-[Debugging]
-DebugSourceDirs=
-
-[Parameters]
-RunParams=
-HostApplication=
-
-!endif
-
-$(PROJECT): $(OBJFILES) $(RESDEPEN) $(DEFFILE)
- $(BCB)\BIN\$(LINKER) @&&!
- $(LFLAGS) $(IFLAGS) +
- $(ALLOBJ), +
- $(PROJECT),, +
- $(ALLLIB), +
- $(DEFFILE), +
- $(ALLRES)
-!
-# ---------------------------------------------------------------------------
-.pas.hpp:
- $(BCB)\BIN\$(DCC32) $(PFLAGS) {$< }
-
-.pas.obj:
- $(BCB)\BIN\$(DCC32) $(PFLAGS) {$< }
-
-.cpp.obj:
- $(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< }
-
-.c.obj:
- $(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< }
-
-.asm.obj:
- $(BCB)\BIN\$(TASM32) $(AFLAGS) $<, $@
-
-.rc.res:
- $(BCB)\BIN\$(BRCC32) $(RFLAGS) -fo$@ $<
-# ---------------------------------------------------------------------------
+++ /dev/null
-#include <condefs.h>
-#pragma hdrstop
-//---------------------------------------------------------------------------
-USEUNIT("adler32.c");
-USEUNIT("compress.c");
-USEUNIT("crc32.c");
-USEUNIT("deflate.c");
-USEUNIT("gzio.c");
-USEUNIT("infblock.c");
-USEUNIT("infcodes.c");
-USEUNIT("inffast.c");
-USEUNIT("inflate.c");
-USEUNIT("inftrees.c");
-USEUNIT("infutil.c");
-USEUNIT("trees.c");
-USEUNIT("uncompr.c");
-USEUNIT("zutil.c");
-//---------------------------------------------------------------------------
-#define Library
-
-// To add a file to the library use the Project menu 'Add to Project'.
-
+++ /dev/null
-{*******************************************************}
-{ }
-{ Delphi Supplemental Components }
-{ ZLIB Data Compression Interface Unit }
-{ }
-{ Copyright (c) 1997 Borland International }
-{ }
-{*******************************************************}
-
-{ Modified for zlib 1.1.3 by Davide Moretti <dave@rimini.com }
-
-unit zlib;
-
-interface
-
-uses Sysutils, Classes;
-
-type
- TAlloc = function (AppData: Pointer; Items, Size: Integer): Pointer;
- TFree = procedure (AppData, Block: Pointer);
-
- // Internal structure. Ignore.
- TZStreamRec = packed record
- next_in: PChar; // next input byte
- avail_in: Integer; // number of bytes available at next_in
- total_in: Integer; // total nb of input bytes read so far
-
- next_out: PChar; // next output byte should be put here
- avail_out: Integer; // remaining free space at next_out
- total_out: Integer; // total nb of bytes output so far
-
- msg: PChar; // last error message, NULL if no error
- internal: Pointer; // not visible by applications
-
- zalloc: TAlloc; // used to allocate the internal state
- zfree: TFree; // used to free the internal state
- AppData: Pointer; // private data object passed to zalloc and zfree
-
- data_type: Integer; // best guess about the data type: ascii or binary
- adler: Integer; // adler32 value of the uncompressed data
- reserved: Integer; // reserved for future use
- end;
-
- // Abstract ancestor class
- TCustomZlibStream = class(TStream)
- private
- FStrm: TStream;
- FStrmPos: Integer;
- FOnProgress: TNotifyEvent;
- FZRec: TZStreamRec;
- FBuffer: array [Word] of Char;
- protected
- procedure Progress(Sender: TObject); dynamic;
- property OnProgress: TNotifyEvent read FOnProgress write FOnProgress;
- constructor Create(Strm: TStream);
- end;
-
-{ TCompressionStream compresses data on the fly as data is written to it, and
- stores the compressed data to another stream.
-
- TCompressionStream is write-only and strictly sequential. Reading from the
- stream will raise an exception. Using Seek to move the stream pointer
- will raise an exception.
-
- Output data is cached internally, written to the output stream only when
- the internal output buffer is full. All pending output data is flushed
- when the stream is destroyed.
-
- The Position property returns the number of uncompressed bytes of
- data that have been written to the stream so far.
-
- CompressionRate returns the on-the-fly percentage by which the original
- data has been compressed: (1 - (CompressedBytes / UncompressedBytes)) * 100
- If raw data size = 100 and compressed data size = 25, the CompressionRate
- is 75%
-
- The OnProgress event is called each time the output buffer is filled and
- written to the output stream. This is useful for updating a progress
- indicator when you are writing a large chunk of data to the compression
- stream in a single call.}
-
-
- TCompressionLevel = (clNone, clFastest, clDefault, clMax);
-
- TCompressionStream = class(TCustomZlibStream)
- private
- function GetCompressionRate: Single;
- public
- constructor Create(CompressionLevel: TCompressionLevel; Dest: TStream);
- destructor Destroy; override;
- function Read(var Buffer; Count: Longint): Longint; override;
- function Write(const Buffer; Count: Longint): Longint; override;
- function Seek(Offset: Longint; Origin: Word): Longint; override;
- property CompressionRate: Single read GetCompressionRate;
- property OnProgress;
- end;
-
-{ TDecompressionStream decompresses data on the fly as data is read from it.
-
- Compressed data comes from a separate source stream. TDecompressionStream
- is read-only and unidirectional; you can seek forward in the stream, but not
- backwards. The special case of setting the stream position to zero is
- allowed. Seeking forward decompresses data until the requested position in
- the uncompressed data has been reached. Seeking backwards, seeking relative
- to the end of the stream, requesting the size of the stream, and writing to
- the stream will raise an exception.
-
- The Position property returns the number of bytes of uncompressed data that
- have been read from the stream so far.
-
- The OnProgress event is called each time the internal input buffer of
- compressed data is exhausted and the next block is read from the input stream.
- This is useful for updating a progress indicator when you are reading a
- large chunk of data from the decompression stream in a single call.}
-
- TDecompressionStream = class(TCustomZlibStream)
- public
- constructor Create(Source: TStream);
- destructor Destroy; override;
- function Read(var Buffer; Count: Longint): Longint; override;
- function Write(const Buffer; Count: Longint): Longint; override;
- function Seek(Offset: Longint; Origin: Word): Longint; override;
- property OnProgress;
- end;
-
-
-
-{ CompressBuf compresses data, buffer to buffer, in one call.
- In: InBuf = ptr to compressed data
- InBytes = number of bytes in InBuf
- Out: OutBuf = ptr to newly allocated buffer containing decompressed data
- OutBytes = number of bytes in OutBuf }
-procedure CompressBuf(const InBuf: Pointer; InBytes: Integer;
- out OutBuf: Pointer; out OutBytes: Integer);
-
-
-{ DecompressBuf decompresses data, buffer to buffer, in one call.
- In: InBuf = ptr to compressed data
- InBytes = number of bytes in InBuf
- OutEstimate = zero, or est. size of the decompressed data
- Out: OutBuf = ptr to newly allocated buffer containing decompressed data
- OutBytes = number of bytes in OutBuf }
-procedure DecompressBuf(const InBuf: Pointer; InBytes: Integer;
- OutEstimate: Integer; out OutBuf: Pointer; out OutBytes: Integer);
-
-const
- zlib_version = '1.1.3';
-
-type
- EZlibError = class(Exception);
- ECompressionError = class(EZlibError);
- EDecompressionError = class(EZlibError);
-
-function adler32(adler: Integer; buf: PChar; len: Integer): Integer;
-
-implementation
-
-const
- Z_NO_FLUSH = 0;
- Z_PARTIAL_FLUSH = 1;
- Z_SYNC_FLUSH = 2;
- Z_FULL_FLUSH = 3;
- Z_FINISH = 4;
-
- Z_OK = 0;
- Z_STREAM_END = 1;
- Z_NEED_DICT = 2;
- Z_ERRNO = (-1);
- Z_STREAM_ERROR = (-2);
- Z_DATA_ERROR = (-3);
- Z_MEM_ERROR = (-4);
- Z_BUF_ERROR = (-5);
- Z_VERSION_ERROR = (-6);
-
- Z_NO_COMPRESSION = 0;
- Z_BEST_SPEED = 1;
- Z_BEST_COMPRESSION = 9;
- Z_DEFAULT_COMPRESSION = (-1);
-
- Z_FILTERED = 1;
- Z_HUFFMAN_ONLY = 2;
- Z_DEFAULT_STRATEGY = 0;
-
- Z_BINARY = 0;
- Z_ASCII = 1;
- Z_UNKNOWN = 2;
-
- Z_DEFLATED = 8;
-
- _z_errmsg: array[0..9] of PChar = (
- 'need dictionary', // Z_NEED_DICT (2)
- 'stream end', // Z_STREAM_END (1)
- '', // Z_OK (0)
- 'file error', // Z_ERRNO (-1)
- 'stream error', // Z_STREAM_ERROR (-2)
- 'data error', // Z_DATA_ERROR (-3)
- 'insufficient memory', // Z_MEM_ERROR (-4)
- 'buffer error', // Z_BUF_ERROR (-5)
- 'incompatible version', // Z_VERSION_ERROR (-6)
- ''
- );
-
-{$L deflate.obj}
-{$L inflate.obj}
-{$L inftrees.obj}
-{$L trees.obj}
-{$L adler32.obj}
-{$L infblock.obj}
-{$L infcodes.obj}
-{$L infutil.obj}
-{$L inffast.obj}
-
-procedure _tr_init; external;
-procedure _tr_tally; external;
-procedure _tr_flush_block; external;
-procedure _tr_align; external;
-procedure _tr_stored_block; external;
-function adler32; external;
-procedure inflate_blocks_new; external;
-procedure inflate_blocks; external;
-procedure inflate_blocks_reset; external;
-procedure inflate_blocks_free; external;
-procedure inflate_set_dictionary; external;
-procedure inflate_trees_bits; external;
-procedure inflate_trees_dynamic; external;
-procedure inflate_trees_fixed; external;
-procedure inflate_codes_new; external;
-procedure inflate_codes; external;
-procedure inflate_codes_free; external;
-procedure _inflate_mask; external;
-procedure inflate_flush; external;
-procedure inflate_fast; external;
-
-procedure _memset(P: Pointer; B: Byte; count: Integer);cdecl;
-begin
- FillChar(P^, count, B);
-end;
-
-procedure _memcpy(dest, source: Pointer; count: Integer);cdecl;
-begin
- Move(source^, dest^, count);
-end;
-
-
-
-// deflate compresses data
-function deflateInit_(var strm: TZStreamRec; level: Integer; version: PChar;
- recsize: Integer): Integer; external;
-function deflate(var strm: TZStreamRec; flush: Integer): Integer; external;
-function deflateEnd(var strm: TZStreamRec): Integer; external;
-
-// inflate decompresses data
-function inflateInit_(var strm: TZStreamRec; version: PChar;
- recsize: Integer): Integer; external;
-function inflate(var strm: TZStreamRec; flush: Integer): Integer; external;
-function inflateEnd(var strm: TZStreamRec): Integer; external;
-function inflateReset(var strm: TZStreamRec): Integer; external;
-
-
-function zcalloc(AppData: Pointer; Items, Size: Integer): Pointer;
-begin
- GetMem(Result, Items*Size);
-end;
-
-procedure zcfree(AppData, Block: Pointer);
-begin
- FreeMem(Block);
-end;
-
-function zlibCheck(code: Integer): Integer;
-begin
- Result := code;
- if code < 0 then
- raise EZlibError.Create('error'); //!!
-end;
-
-function CCheck(code: Integer): Integer;
-begin
- Result := code;
- if code < 0 then
- raise ECompressionError.Create('error'); //!!
-end;
-
-function DCheck(code: Integer): Integer;
-begin
- Result := code;
- if code < 0 then
- raise EDecompressionError.Create('error'); //!!
-end;
-
-procedure CompressBuf(const InBuf: Pointer; InBytes: Integer;
- out OutBuf: Pointer; out OutBytes: Integer);
-var
- strm: TZStreamRec;
- P: Pointer;
-begin
- FillChar(strm, sizeof(strm), 0);
- OutBytes := ((InBytes + (InBytes div 10) + 12) + 255) and not 255;
- GetMem(OutBuf, OutBytes);
- try
- strm.next_in := InBuf;
- strm.avail_in := InBytes;
- strm.next_out := OutBuf;
- strm.avail_out := OutBytes;
- CCheck(deflateInit_(strm, Z_BEST_COMPRESSION, zlib_version, sizeof(strm)));
- try
- while CCheck(deflate(strm, Z_FINISH)) <> Z_STREAM_END do
- begin
- P := OutBuf;
- Inc(OutBytes, 256);
- ReallocMem(OutBuf, OutBytes);
- strm.next_out := PChar(Integer(OutBuf) + (Integer(strm.next_out) - Integer(P)));
- strm.avail_out := 256;
- end;
- finally
- CCheck(deflateEnd(strm));
- end;
- ReallocMem(OutBuf, strm.total_out);
- OutBytes := strm.total_out;
- except
- FreeMem(OutBuf);
- raise
- end;
-end;
-
-
-procedure DecompressBuf(const InBuf: Pointer; InBytes: Integer;
- OutEstimate: Integer; out OutBuf: Pointer; out OutBytes: Integer);
-var
- strm: TZStreamRec;
- P: Pointer;
- BufInc: Integer;
-begin
- FillChar(strm, sizeof(strm), 0);
- BufInc := (InBytes + 255) and not 255;
- if OutEstimate = 0 then
- OutBytes := BufInc
- else
- OutBytes := OutEstimate;
- GetMem(OutBuf, OutBytes);
- try
- strm.next_in := InBuf;
- strm.avail_in := InBytes;
- strm.next_out := OutBuf;
- strm.avail_out := OutBytes;
- DCheck(inflateInit_(strm, zlib_version, sizeof(strm)));
- try
- while DCheck(inflate(strm, Z_FINISH)) <> Z_STREAM_END do
- begin
- P := OutBuf;
- Inc(OutBytes, BufInc);
- ReallocMem(OutBuf, OutBytes);
- strm.next_out := PChar(Integer(OutBuf) + (Integer(strm.next_out) - Integer(P)));
- strm.avail_out := BufInc;
- end;
- finally
- DCheck(inflateEnd(strm));
- end;
- ReallocMem(OutBuf, strm.total_out);
- OutBytes := strm.total_out;
- except
- FreeMem(OutBuf);
- raise
- end;
-end;
-
-
-// TCustomZlibStream
-
-constructor TCustomZLibStream.Create(Strm: TStream);
-begin
- inherited Create;
- FStrm := Strm;
- FStrmPos := Strm.Position;
-end;
-
-procedure TCustomZLibStream.Progress(Sender: TObject);
-begin
- if Assigned(FOnProgress) then FOnProgress(Sender);
-end;
-
-
-// TCompressionStream
-
-constructor TCompressionStream.Create(CompressionLevel: TCompressionLevel;
- Dest: TStream);
-const
- Levels: array [TCompressionLevel] of ShortInt =
- (Z_NO_COMPRESSION, Z_BEST_SPEED, Z_DEFAULT_COMPRESSION, Z_BEST_COMPRESSION);
-begin
- inherited Create(Dest);
- FZRec.next_out := FBuffer;
- FZRec.avail_out := sizeof(FBuffer);
- CCheck(deflateInit_(FZRec, Levels[CompressionLevel], zlib_version, sizeof(FZRec)));
-end;
-
-destructor TCompressionStream.Destroy;
-begin
- FZRec.next_in := nil;
- FZRec.avail_in := 0;
- try
- if FStrm.Position <> FStrmPos then FStrm.Position := FStrmPos;
- while (CCheck(deflate(FZRec, Z_FINISH)) <> Z_STREAM_END)
- and (FZRec.avail_out = 0) do
- begin
- FStrm.WriteBuffer(FBuffer, sizeof(FBuffer));
- FZRec.next_out := FBuffer;
- FZRec.avail_out := sizeof(FBuffer);
- end;
- if FZRec.avail_out < sizeof(FBuffer) then
- FStrm.WriteBuffer(FBuffer, sizeof(FBuffer) - FZRec.avail_out);
- finally
- deflateEnd(FZRec);
- end;
- inherited Destroy;
-end;
-
-function TCompressionStream.Read(var Buffer; Count: Longint): Longint;
-begin
- raise ECompressionError.Create('Invalid stream operation');
-end;
-
-function TCompressionStream.Write(const Buffer; Count: Longint): Longint;
-begin
- FZRec.next_in := @Buffer;
- FZRec.avail_in := Count;
- if FStrm.Position <> FStrmPos then FStrm.Position := FStrmPos;
- while (FZRec.avail_in > 0) do
- begin
- CCheck(deflate(FZRec, 0));
- if FZRec.avail_out = 0 then
- begin
- FStrm.WriteBuffer(FBuffer, sizeof(FBuffer));
- FZRec.next_out := FBuffer;
- FZRec.avail_out := sizeof(FBuffer);
- FStrmPos := FStrm.Position;
- Progress(Self);
- end;
- end;
- Result := Count;
-end;
-
-function TCompressionStream.Seek(Offset: Longint; Origin: Word): Longint;
-begin
- if (Offset = 0) and (Origin = soFromCurrent) then
- Result := FZRec.total_in
- else
- raise ECompressionError.Create('Invalid stream operation');
-end;
-
-function TCompressionStream.GetCompressionRate: Single;
-begin
- if FZRec.total_in = 0 then
- Result := 0
- else
- Result := (1.0 - (FZRec.total_out / FZRec.total_in)) * 100.0;
-end;
-
-
-// TDecompressionStream
-
-constructor TDecompressionStream.Create(Source: TStream);
-begin
- inherited Create(Source);
- FZRec.next_in := FBuffer;
- FZRec.avail_in := 0;
- DCheck(inflateInit_(FZRec, zlib_version, sizeof(FZRec)));
-end;
-
-destructor TDecompressionStream.Destroy;
-begin
- inflateEnd(FZRec);
- inherited Destroy;
-end;
-
-function TDecompressionStream.Read(var Buffer; Count: Longint): Longint;
-begin
- FZRec.next_out := @Buffer;
- FZRec.avail_out := Count;
- if FStrm.Position <> FStrmPos then FStrm.Position := FStrmPos;
- while (FZRec.avail_out > 0) do
- begin
- if FZRec.avail_in = 0 then
- begin
- FZRec.avail_in := FStrm.Read(FBuffer, sizeof(FBuffer));
- if FZRec.avail_in = 0 then
- begin
- Result := Count - FZRec.avail_out;
- Exit;
- end;
- FZRec.next_in := FBuffer;
- FStrmPos := FStrm.Position;
- Progress(Self);
- end;
- DCheck(inflate(FZRec, 0));
- end;
- Result := Count;
-end;
-
-function TDecompressionStream.Write(const Buffer; Count: Longint): Longint;
-begin
- raise EDecompressionError.Create('Invalid stream operation');
-end;
-
-function TDecompressionStream.Seek(Offset: Longint; Origin: Word): Longint;
-var
- I: Integer;
- Buf: array [0..4095] of Char;
-begin
- if (Offset = 0) and (Origin = soFromBeginning) then
- begin
- DCheck(inflateReset(FZRec));
- FZRec.next_in := FBuffer;
- FZRec.avail_in := 0;
- FStrm.Position := 0;
- FStrmPos := 0;
- end
- else if ( (Offset >= 0) and (Origin = soFromCurrent)) or
- ( ((Offset - FZRec.total_out) > 0) and (Origin = soFromBeginning)) then
- begin
- if Origin = soFromBeginning then Dec(Offset, FZRec.total_out);
- if Offset > 0 then
- begin
- for I := 1 to Offset div sizeof(Buf) do
- ReadBuffer(Buf, sizeof(Buf));
- ReadBuffer(Buf, Offset mod sizeof(Buf));
- end;
- end
- else
- raise EDecompressionError.Create('Invalid stream operation');
- Result := FZRec.total_out;
-end;
-
-end.
+++ /dev/null
-# ---------------------------------------------------------------------------
-!if !$d(BCB)
-BCB = $(MAKEDIR)\..
-!endif
-
-# ---------------------------------------------------------------------------
-# IDE SECTION
-# ---------------------------------------------------------------------------
-# The following section of the project makefile is managed by the BCB IDE.
-# It is recommended to use the IDE to change any of the values in this
-# section.
-# ---------------------------------------------------------------------------
-
-VERSION = BCB.03
-# ---------------------------------------------------------------------------
-PROJECT = zlib32.dll
-OBJFILES = zlib32.obj adler32.obj compress.obj crc32.obj deflate.obj gzio.obj infblock.obj \
- infcodes.obj inffast.obj inflate.obj inftrees.obj infutil.obj trees.obj \
- uncompr.obj zutil.obj
-RESFILES =
-RESDEPEN = $(RESFILES)
-LIBFILES =
-LIBRARIES =
-SPARELIBS =
-DEFFILE =
-PACKAGES = VCLX35.bpi VCL35.bpi VCLDB35.bpi VCLDBX35.bpi ibsmp35.bpi bcbsmp35.bpi \
- dclocx35.bpi QRPT35.bpi TEEUI35.bpi TEEDB35.bpi TEE35.bpi DSS35.bpi \
- NMFAST35.bpi INETDB35.bpi INET35.bpi VCLMID35.bpi
-# ---------------------------------------------------------------------------
-PATHCPP = .;
-PATHASM = .;
-PATHPAS = .;
-PATHRC = .;
-DEBUGLIBPATH = $(BCB)\lib\debug
-RELEASELIBPATH = $(BCB)\lib\release
-# ---------------------------------------------------------------------------
-CFLAG1 = -WD -O2 -Ve -d -k- -vi -c -tWD
-CFLAG2 = -D_NO_VCL;ZLIB_DLL -I$(BCB)\include
-CFLAG3 = -ff -5
-PFLAGS = -D_NO_VCL;ZLIB_DLL -U$(BCB)\lib;$(RELEASELIBPATH) -I$(BCB)\include -$I- -v \
- -JPHN -M
-RFLAGS = -D_NO_VCL;ZLIB_DLL -i$(BCB)\include
-AFLAGS = /i$(BCB)\include /d_NO_VCL /dZLIB_DLL /mx /w2 /zn
-LFLAGS = -L$(BCB)\lib;$(RELEASELIBPATH) -aa -Tpd -x -Gi
-IFLAGS = -Gn -g
-# ---------------------------------------------------------------------------
-ALLOBJ = c0d32.obj $(OBJFILES)
-ALLRES = $(RESFILES)
-ALLLIB = $(LIBFILES) import32.lib cw32mt.lib
-# ---------------------------------------------------------------------------
-!ifdef IDEOPTIONS
-
-[Version Info]
-IncludeVerInfo=0
-AutoIncBuild=0
-MajorVer=1
-MinorVer=0
-Release=0
-Build=0
-Debug=0
-PreRelease=0
-Special=0
-Private=0
-DLL=1
-Locale=1040
-CodePage=1252
-
-[Version Info Keys]
-CompanyName=
-FileDescription=DLL (GUI)
-FileVersion=1.0.0.0
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
-Comments=
-
-[HistoryLists\hlIncludePath]
-Count=1
-Item0=$(BCB)\include
-
-[HistoryLists\hlLibraryPath]
-Count=1
-Item0=$(BCB)\lib
-
-[HistoryLists\hlConditionals]
-Count=1
-Item0=_NO_VCL;ZLIB_DLL
-
-[Debugging]
-DebugSourceDirs=
-
-[Parameters]
-RunParams=
-HostApplication=
-
-!endif
-
-# ---------------------------------------------------------------------------
-# MAKE SECTION
-# ---------------------------------------------------------------------------
-# This section of the project file is not used by the BCB IDE. It is for
-# the benefit of building from the command-line using the MAKE utility.
-# ---------------------------------------------------------------------------
-
-.autodepend
-# ---------------------------------------------------------------------------
-!if !$d(BCC32)
-BCC32 = bcc32
-!endif
-
-!if !$d(DCC32)
-DCC32 = dcc32
-!endif
-
-!if !$d(TASM32)
-TASM32 = tasm32
-!endif
-
-!if !$d(LINKER)
-LINKER = ilink32
-!endif
-
-!if !$d(BRCC32)
-BRCC32 = brcc32
-!endif
-# ---------------------------------------------------------------------------
-!if $d(PATHCPP)
-.PATH.CPP = $(PATHCPP)
-.PATH.C = $(PATHCPP)
-!endif
-
-!if $d(PATHPAS)
-.PATH.PAS = $(PATHPAS)
-!endif
-
-!if $d(PATHASM)
-.PATH.ASM = $(PATHASM)
-!endif
-
-!if $d(PATHRC)
-.PATH.RC = $(PATHRC)
-!endif
-# ---------------------------------------------------------------------------
-$(PROJECT): $(OBJFILES) $(RESDEPEN) $(DEFFILE)
- $(BCB)\BIN\$(LINKER) @&&!
- $(LFLAGS) $(IFLAGS) +
- $(ALLOBJ), +
- $(PROJECT),, +
- $(ALLLIB), +
- $(DEFFILE), +
- $(ALLRES)
-!
-# ---------------------------------------------------------------------------
-.pas.hpp:
- $(BCB)\BIN\$(DCC32) $(PFLAGS) {$< }
-
-.pas.obj:
- $(BCB)\BIN\$(DCC32) $(PFLAGS) {$< }
-
-.cpp.obj:
- $(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< }
-
-.c.obj:
- $(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< }
-
-.asm.obj:
- $(BCB)\BIN\$(TASM32) $(AFLAGS) $<, $@
-
-.rc.res:
- $(BCB)\BIN\$(BRCC32) $(RFLAGS) -fo$@ $<
-# ---------------------------------------------------------------------------
+++ /dev/null
-
-#include <windows.h>
-#pragma hdrstop
-#include <condefs.h>
-
-
-//---------------------------------------------------------------------------
-// Important note about DLL memory management in a VCL DLL:
-//
-//
-//
-// If your DLL uses VCL and exports any functions that pass VCL String objects
-// (or structs/classes containing nested Strings) as parameter or function
-// results, you will need to build both your DLL project and any EXE projects
-// that use your DLL with the dynamic RTL (the RTL DLL). This will change your
-// DLL and its calling EXE's to use BORLNDMM.DLL as their memory manager. In
-// these cases, the file BORLNDMM.DLL should be deployed along with your DLL
-// and the RTL DLL (CP3240MT.DLL). To avoid the requiring BORLNDMM.DLL in
-// these situations, pass string information using "char *" or ShortString
-// parameters and then link with the static RTL.
-//
-//---------------------------------------------------------------------------
-USEUNIT("adler32.c");
-USEUNIT("compress.c");
-USEUNIT("crc32.c");
-USEUNIT("deflate.c");
-USEUNIT("gzio.c");
-USEUNIT("infblock.c");
-USEUNIT("infcodes.c");
-USEUNIT("inffast.c");
-USEUNIT("inflate.c");
-USEUNIT("inftrees.c");
-USEUNIT("infutil.c");
-USEUNIT("trees.c");
-USEUNIT("uncompr.c");
-USEUNIT("zutil.c");
-//---------------------------------------------------------------------------
-#pragma argsused
-int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void*)
-{
- return 1;
-}
+++ /dev/null
-# Makefile for zlib. Modified for mingw32
-# For conditions of distribution and use, see copyright notice in zlib.h
-
-# To compile,
-#
-# make -fmakefile.w32
-#
-
-CC=gcc
-
-# Generate dependencies (see end of the file)
-
-CPPFLAGS=-MMD
-
-#CFLAGS=-MMD -O
-#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
-#CFLAGS=-MMD -g -DDEBUG
-CFLAGS=-O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
- -Wstrict-prototypes -Wmissing-prototypes
-
-# If cp.exe is not found, replace with copy /Y .
-CP=cp -f
-
-# The default value of RM is "rm -f."
-# If "rm.exe" is not found, uncomment:
-# RM=del
-
-LD=gcc
-LDLIBS=-L. -lz
-LDFLAGS=-s
-
-
-INCL=zlib.h zconf.h
-LIBS=libz.a
-
-AR=ar rcs
-
-OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
- zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o \
- inffast.o
-
-TEST_OBJS = minigzip.o untgz.o
-
-all: minigzip.exe untgz.exe
-
-rebuild: clean all
-
-libz.a: $(OBJS)
- $(AR) $@ $(OBJS)
-
-%.exe : %.o $(LIBS)
- $(LD) $(LDFLAGS) -o $@ $< $(LDLIBS)
-
-.PHONY : clean
-
-clean:
- $(RM) *.d *.o *.exe libz.a foo.gz
-
-DEPS := $(wildcard *.d)
-ifneq ($(DEPS),)
-include $(DEPS)
-endif
-
+++ /dev/null
-LIBRARY "zlib"\r
-\r
-DESCRIPTION '"""zlib data compression library"""'\r
-\r
-EXETYPE WINDOWS\r
-\r
-VERSION 1.20\r
-\r
-CODE PRELOAD MOVEABLE DISCARDABLE\r
-DATA PRELOAD MOVEABLE SINGLE\r
-\r
-\r
-HEAPSIZE 32768,8192\r
-\r
-EXPORTS\r
- adler32 @1\r
- compress @2\r
- crc32 @3\r
- deflate @4\r
- deflateCopy @5\r
- deflateEnd @6\r
- deflateInit2_ @7\r
- deflateInit_ @8\r
- deflateParams @9\r
- deflateReset @10\r
- deflateSetDictionary @11\r
- gzclose @12\r
- gzdopen @13\r
- gzerror @14\r
- gzflush @15\r
- gzopen @16\r
- gzread @17\r
- gzwrite @18\r
- inflate @19\r
- inflateEnd @20\r
- inflateInit2_ @21\r
- inflateInit_ @22\r
- inflateReset @23\r
- inflateSetDictionary @24\r
- inflateSync @25\r
- uncompress @26\r
- zlibVersion @27\r
- _gzprintf @28\r
- gzputc @29\r
- gzgetc @30\r
- gzseek @31\r
- gzrewind @32\r
- gztell @33\r
- gzeof @34\r
- gzsetparams @35\r
- zError @36\r
- inflateSyncPoint @37\r
- get_crc_table @38\r
- compress2 @39\r
- gzputs @40\r
- gzgets @41\r
- inflateCopy @42\r
- inflateBackInit_ @43\r
- inflateBack @44\r
- inflateBackEnd @45\r
- compressBound @46\r
-\r
- unzOpen @61\r
- unzClose @62\r
- unzGetGlobalInfo @63\r
- unzGetCurrentFileInfo @64\r
- unzGoToFirstFile @65\r
- unzGoToNextFile @66\r
- unzOpenCurrentFile @67\r
- unzReadCurrentFile @68\r
- unzOpenCurrentFile3 @69\r
- unztell @70\r
- unzeof @71\r
- unzCloseCurrentFile @72\r
- unzGetGlobalComment @73\r
- unzStringFileNameCompare @74\r
- unzLocateFile @75\r
- unzGetLocalExtrafield @76\r
- unzOpen2 @77\r
- unzOpenCurrentFile2 @78\r
- unzOpenCurrentFilePassword @79\r
-\r
- zipOpen @80\r
- zipOpenNewFileInZip @81\r
- zipWriteInFileInZip @82\r
- zipCloseFileInZip @83\r
- zipClose @84\r
- zipOpenNewFileInZip2 @86\r
- zipCloseFileInZipRaw @87\r
- zipOpen2 @88\r
- zipOpenNewFileInZip3 @89\r
-\r
- unzGetFilePos @100\r
- unzGoToFilePos @101\r
+++ /dev/null
-# Microsoft Visual C++ generated build script - Do not modify\r
-\r
-PROJ = ZLIB16\r
-DEBUG = 0\r
-PROGTYPE = 1\r
-CALLER = \r
-ARGS = \r
-DLLS = \r
-D_RCDEFINES = -d_DEBUG\r
-R_RCDEFINES = -dNDEBUG\r
-ORIGIN = MSVC\r
-ORIGIN_VER = 1.00\r
-PROJPATH = c:\zlib\\r
-USEMFC = 0\r
-CC = cl\r
-CPP = cl\r
-CXX = cl\r
-CCREATEPCHFLAG = \r
-CPPCREATEPCHFLAG = \r
-CUSEPCHFLAG = \r
-CPPUSEPCHFLAG = \r
-FIRSTC = ADLER32.C \r
-FIRSTCPP = \r
-RC = rc\r
-CFLAGS_D_WDLL = /nologo /G2 /W3 /Zi /ALw /Od /D "_DEBUG" /D "WINDOWS" /D "ZLIB_DLL" /FR /GD /Fd"ZLIB.PDB"\r
-CFLAGS_R_WDLL = /nologo /W3 /ALw /O1 /D "NDEBUG" /D "WINDOWS" /D "ZLIB_DLL" /FR /GD \r
-LFLAGS_D_WDLL = /NOLOGO /ONERROR:NOEXE /NOD /PACKC:61440 /CO /NOE /ALIGN:16 /MAP:FULL\r
-LFLAGS_R_WDLL = /NOLOGO /ONERROR:NOEXE /NOD /PACKC:61440 /NOE /ALIGN:16 /MAP:FULL\r
-LIBS_D_WDLL = oldnames libw commdlg shell olecli olesvr ldllcew\r
-LIBS_R_WDLL = oldnames libw commdlg shell olecli olesvr ldllcew\r
-RCFLAGS = /nologo\r
-RESFLAGS = /nologo\r
-RUNFLAGS = \r
-DEFFILE = ZLIB16.DEF\r
-OBJS_EXT = \r
-LIBS_EXT = \r
-!if "$(DEBUG)" == "1"\r
-CFLAGS = $(CFLAGS_D_WDLL)\r
-LFLAGS = $(LFLAGS_D_WDLL)\r
-LIBS = $(LIBS_D_WDLL)\r
-MAPFILE = nul\r
-RCDEFINES = $(D_RCDEFINES)\r
-!else\r
-CFLAGS = $(CFLAGS_R_WDLL)\r
-LFLAGS = $(LFLAGS_R_WDLL)\r
-LIBS = $(LIBS_R_WDLL)\r
-MAPFILE = nul\r
-RCDEFINES = $(R_RCDEFINES)\r
-!endif\r
-!if [if exist MSVC.BND del MSVC.BND]\r
-!endif\r
-SBRS = ADLER32.SBR \\r
- COMPRESS.SBR \\r
- CRC32.SBR \\r
- DEFLATE.SBR \\r
- GZIO.SBR \\r
- INFFAST.SBR \\r
- INFLATE.SBR \\r
- TREES.SBR \\r
- UNCOMPR.SBR \\r
- ZUTIL.SBR \\r
- ZIP.SBR \\r
- UNZIP.SBR \\r
- INFBACK.SBR \\r
- IOAPI.SBR \\r
- INFTREES.SBR\r
-\r
-\r
-ADLER32_DEP = c:\zlib\zlib.h \\r
- c:\zlib\zconf.h\r
-\r
-\r
-COMPRESS_DEP = c:\zlib\zlib.h \\r
- c:\zlib\zconf.h\r
-\r
-\r
-CRC32_DEP = c:\zlib\zlib.h \\r
- c:\zlib\zconf.h \\r
- c:\zlib\crc32.h\r
-\r
-\r
-DEFLATE_DEP = c:\zlib\deflate.h \\r
- c:\zlib\zutil.h \\r
- c:\zlib\zlib.h \\r
- c:\zlib\zconf.h\r
-\r
-\r
-GZIO_DEP = c:\zlib\zutil.h \\r
- c:\zlib\zlib.h \\r
- c:\zlib\zconf.h\r
-\r
-\r
-INFFAST_DEP = c:\zlib\zutil.h \\r
- c:\zlib\zlib.h \\r
- c:\zlib\zconf.h \\r
- c:\zlib\inftrees.h \\r
- c:\zlib\inflate.h \\r
- c:\zlib\inffast.h\r
-\r
-\r
-INFLATE_DEP = c:\zlib\zutil.h \\r
- c:\zlib\zlib.h \\r
- c:\zlib\zconf.h \\r
- c:\zlib\inftrees.h \\r
- c:\zlib\inflate.h \\r
- c:\zlib\inffast.h \\r
- c:\zlib\inffixed.h\r
-\r
-\r
-TREES_DEP = c:\zlib\deflate.h \\r
- c:\zlib\zutil.h \\r
- c:\zlib\zlib.h \\r
- c:\zlib\zconf.h \\r
- c:\zlib\trees.h\r
-\r
-\r
-UNCOMPR_DEP = c:\zlib\zlib.h \\r
- c:\zlib\zconf.h\r
-\r
-\r
-ZUTIL_DEP = c:\zlib\zutil.h \\r
- c:\zlib\zlib.h \\r
- c:\zlib\zconf.h\r
-\r
-\r
-ZLIB16_RCDEP = \r
-\r
-ZIP_DEP = c:\zlib\zlib.h \\r
- c:\zlib\zconf.h \\r
- c:\zlib\zip.h \\r
- c:\zlib\ioapi.h\r
-\r
-\r
-UNZIP_DEP = c:\zlib\zlib.h \\r
- c:\zlib\zconf.h \\r
- c:\zlib\unzip.h \\r
- c:\zlib\ioapi.h\r
-\r
-\r
-INFBACK_DEP = c:\zlib\zutil.h \\r
- c:\zlib\zlib.h \\r
- c:\zlib\zconf.h \\r
- c:\zlib\inftrees.h \\r
- c:\zlib\inflate.h \\r
- c:\zlib\inffast.h \\r
- c:\zlib\inffixed.h\r
-\r
-\r
-IOAPI_DEP = c:\zlib\zlib.h \\r
- c:\zlib\zconf.h \\r
- c:\zlib\ioapi.h\r
-\r
-\r
-INFTREES_DEP = c:\zlib\zutil.h \\r
- c:\zlib\zlib.h \\r
- c:\zlib\zconf.h \\r
- c:\zlib\inftrees.h\r
-\r
-\r
-all: $(PROJ).DLL $(PROJ).BSC\r
-\r
-ADLER32.OBJ: ADLER32.C $(ADLER32_DEP)\r
- $(CC) $(CFLAGS) $(CCREATEPCHFLAG) /c ADLER32.C\r
-\r
-COMPRESS.OBJ: COMPRESS.C $(COMPRESS_DEP)\r
- $(CC) $(CFLAGS) $(CUSEPCHFLAG) /c COMPRESS.C\r
-\r
-CRC32.OBJ: CRC32.C $(CRC32_DEP)\r
- $(CC) $(CFLAGS) $(CUSEPCHFLAG) /c CRC32.C\r
-\r
-DEFLATE.OBJ: DEFLATE.C $(DEFLATE_DEP)\r
- $(CC) $(CFLAGS) $(CUSEPCHFLAG) /c DEFLATE.C\r
-\r
-GZIO.OBJ: GZIO.C $(GZIO_DEP)\r
- $(CC) $(CFLAGS) $(CUSEPCHFLAG) /c GZIO.C\r
-\r
-INFFAST.OBJ: INFFAST.C $(INFFAST_DEP)\r
- $(CC) $(CFLAGS) $(CUSEPCHFLAG) /c INFFAST.C\r
-\r
-INFLATE.OBJ: INFLATE.C $(INFLATE_DEP)\r
- $(CC) $(CFLAGS) $(CUSEPCHFLAG) /c INFLATE.C\r
-\r
-TREES.OBJ: TREES.C $(TREES_DEP)\r
- $(CC) $(CFLAGS) $(CUSEPCHFLAG) /c TREES.C\r
-\r
-UNCOMPR.OBJ: UNCOMPR.C $(UNCOMPR_DEP)\r
- $(CC) $(CFLAGS) $(CUSEPCHFLAG) /c UNCOMPR.C\r
-\r
-ZUTIL.OBJ: ZUTIL.C $(ZUTIL_DEP)\r
- $(CC) $(CFLAGS) $(CUSEPCHFLAG) /c ZUTIL.C\r
-\r
-ZLIB16.RES: ZLIB16.RC $(ZLIB16_RCDEP)\r
- $(RC) $(RCFLAGS) $(RCDEFINES) -r ZLIB16.RC\r
-\r
-ZIP.OBJ: ZIP.C $(ZIP_DEP)\r
- $(CC) $(CFLAGS) $(CUSEPCHFLAG) /c ZIP.C\r
-\r
-UNZIP.OBJ: UNZIP.C $(UNZIP_DEP)\r
- $(CC) $(CFLAGS) $(CUSEPCHFLAG) /c UNZIP.C\r
-\r
-INFBACK.OBJ: INFBACK.C $(INFBACK_DEP)\r
- $(CC) $(CFLAGS) $(CUSEPCHFLAG) /c INFBACK.C\r
-\r
-IOAPI.OBJ: IOAPI.C $(IOAPI_DEP)\r
- $(CC) $(CFLAGS) $(CUSEPCHFLAG) /c IOAPI.C\r
-\r
-INFTREES.OBJ: INFTREES.C $(INFTREES_DEP)\r
- $(CC) $(CFLAGS) $(CUSEPCHFLAG) /c INFTREES.C\r
-\r
-\r
-$(PROJ).DLL:: ZLIB16.RES\r
-\r
-$(PROJ).DLL:: ADLER32.OBJ COMPRESS.OBJ CRC32.OBJ DEFLATE.OBJ GZIO.OBJ INFFAST.OBJ \\r
- INFLATE.OBJ TREES.OBJ UNCOMPR.OBJ ZUTIL.OBJ ZIP.OBJ UNZIP.OBJ INFBACK.OBJ IOAPI.OBJ \\r
- INFTREES.OBJ $(OBJS_EXT) $(DEFFILE)\r
- echo >NUL @<<$(PROJ).CRF\r
-ADLER32.OBJ +\r
-COMPRESS.OBJ +\r
-CRC32.OBJ +\r
-DEFLATE.OBJ +\r
-GZIO.OBJ +\r
-INFFAST.OBJ +\r
-INFLATE.OBJ +\r
-TREES.OBJ +\r
-UNCOMPR.OBJ +\r
-ZUTIL.OBJ +\r
-ZIP.OBJ +\r
-UNZIP.OBJ +\r
-INFBACK.OBJ +\r
-IOAPI.OBJ +\r
-INFTREES.OBJ +\r
-$(OBJS_EXT)\r
-$(PROJ).DLL\r
-$(MAPFILE)\r
-C:\MSVC\LIB\+\r
-C:\MSVC\MFC\LIB\+\r
-E:\PROGRAMFILES\MICROSOFTVISUALSTUDIO.NET\FRAMEWORKSDK\LIB\+\r
-$(LIBS)\r
-$(DEFFILE);\r
-<<\r
- link $(LFLAGS) @$(PROJ).CRF\r
- $(RC) $(RESFLAGS) ZLIB16.RES $@\r
- @copy $(PROJ).CRF MSVC.BND\r
- implib /nowep $(PROJ).LIB $(PROJ).DLL\r
-\r
-$(PROJ).DLL:: ZLIB16.RES\r
- if not exist MSVC.BND $(RC) $(RESFLAGS) ZLIB16.RES $@\r
-\r
-run: $(PROJ).DLL\r
- $(PROJ) $(RUNFLAGS)\r
-\r
-\r
-$(PROJ).BSC: $(SBRS)\r
- bscmake @<<\r
-/o$@ $(SBRS)\r
-<<\r
+++ /dev/null
-#include <windows.h>\r
-#include <ver.h>\r
-\r
-#define IDR_VERSION1 1\r
-IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE\r
- FILEVERSION 1,2,0,0\r
- PRODUCTVERSION 1,2,0,0\r
- FILEFLAGSMASK VS_FFI_FILEFLAGSMASK\r
- FILEFLAGS 0\r
- FILEOS VOS_DOS_WINDOWS16\r
- FILETYPE VFT_DLL\r
- FILESUBTYPE 0 // not used\r
-BEGIN\r
- BLOCK "StringFileInfo"\r
- BEGIN\r
- BLOCK "040904E4"\r
- //language ID = U.S. English, char set = Windows, Multilingual\r
-\r
- BEGIN\r
- VALUE "FileDescription", "zlib data compression library\0"\r
- VALUE "FileVersion", "1.2.0\0"\r
- VALUE "InternalName", "zlib16\0"\r
- VALUE "OriginalFilename", "zlib16.dll\0"\r
- VALUE "ProductName", "ZLib16.DLL\0"\r
- VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"\r
- VALUE "LegalCopyright", "(C) 1995-2003 Jean-loup Gailly & Mark Adler\0"\r
- END\r
- END\r
- BLOCK "VarFileInfo"\r
- BEGIN\r
- VALUE "Translation", 0x0409, 1252\r
- END\r
-END\r
+++ /dev/null
-;\r
-; gvmat32.asm -- Asm portion of the optimized longest_match for 32 bits x86\r
-; Copyright (C) 1995-1996 Jean-loup Gailly and Gilles Vollant.\r
-; File written by Gilles Vollant, by modifiying the longest_match\r
-; from Jean-loup Gailly in deflate.c\r
-; It need wmask == 0x7fff\r
-; (assembly code is faster with a fixed wmask)\r
-;\r
-; For Visual C++ 4.2 and ML 6.11c (version in directory \MASM611C of Win95 DDK)\r
-; I compile with : "ml /coff /Zi /c gvmat32.asm"\r
-;\r
-\r
-;uInt longest_match_7fff(s, cur_match)\r
-; deflate_state *s;\r
-; IPos cur_match; /* current match */\r
-\r
- NbStack equ 76\r
- cur_match equ dword ptr[esp+NbStack-0]\r
- str_s equ dword ptr[esp+NbStack-4]\r
-; 5 dword on top (ret,ebp,esi,edi,ebx)\r
- adrret equ dword ptr[esp+NbStack-8]\r
- pushebp equ dword ptr[esp+NbStack-12]\r
- pushedi equ dword ptr[esp+NbStack-16]\r
- pushesi equ dword ptr[esp+NbStack-20]\r
- pushebx equ dword ptr[esp+NbStack-24]\r
-\r
- chain_length equ dword ptr [esp+NbStack-28]\r
- limit equ dword ptr [esp+NbStack-32]\r
- best_len equ dword ptr [esp+NbStack-36]\r
- window equ dword ptr [esp+NbStack-40]\r
- prev equ dword ptr [esp+NbStack-44]\r
- scan_start equ word ptr [esp+NbStack-48]\r
- wmask equ dword ptr [esp+NbStack-52]\r
- match_start_ptr equ dword ptr [esp+NbStack-56]\r
- nice_match equ dword ptr [esp+NbStack-60]\r
- scan equ dword ptr [esp+NbStack-64]\r
-\r
- windowlen equ dword ptr [esp+NbStack-68]\r
- match_start equ dword ptr [esp+NbStack-72]\r
- strend equ dword ptr [esp+NbStack-76]\r
- NbStackAdd equ (NbStack-24)\r
-\r
- .386p\r
-\r
- name gvmatch\r
- .MODEL FLAT\r
-\r
-\r
-\r
-; all the +4 offsets are due to the addition of pending_buf_size (in zlib\r
-; in the deflate_state structure since the asm code was first written\r
-; (if you compile with zlib 1.0.4 or older, remove the +4).\r
-; Note : these value are good with a 8 bytes boundary pack structure\r
- dep_chain_length equ 70h+4\r
- dep_window equ 2ch+4\r
- dep_strstart equ 60h+4\r
- dep_prev_length equ 6ch+4\r
- dep_nice_match equ 84h+4\r
- dep_w_size equ 20h+4\r
- dep_prev equ 34h+4\r
- dep_w_mask equ 28h+4\r
- dep_good_match equ 80h+4\r
- dep_match_start equ 64h+4\r
- dep_lookahead equ 68h+4\r
-\r
-\r
-_TEXT segment\r
-\r
-IFDEF NOUNDERLINE\r
- public longest_match_7fff\r
- public longest_match_686\r
-; public match_init\r
-ELSE\r
- public _longest_match_7fff\r
- public _longest_match_686\r
-; public _match_init\r
-ENDIF\r
-\r
- MAX_MATCH equ 258\r
- MIN_MATCH equ 3\r
- MIN_LOOKAHEAD equ (MAX_MATCH+MIN_MATCH+1)\r
-\r
-\r
-\r
-IFDEF NOUNDERLINE\r
-;match_init proc near\r
-; ret\r
-;match_init endp\r
-ELSE\r
-;_match_init proc near\r
-; ret\r
-;_match_init endp\r
-ENDIF\r
-\r
-\r
-IFDEF NOUNDERLINE\r
-longest_match_7fff proc near\r
-ELSE\r
-_longest_match_7fff proc near\r
-ENDIF\r
-\r
- mov edx,[esp+4]\r
-\r
-\r
-\r
- push ebp\r
- push edi\r
- push esi\r
- push ebx\r
-\r
- sub esp,NbStackAdd\r
-\r
-; initialize or check the variables used in match.asm.\r
- mov ebp,edx\r
-\r
-; chain_length = s->max_chain_length\r
-; if (prev_length>=good_match) chain_length >>= 2\r
- mov edx,[ebp+dep_chain_length]\r
- mov ebx,[ebp+dep_prev_length]\r
- cmp [ebp+dep_good_match],ebx\r
- ja noshr\r
- shr edx,2\r
-noshr:\r
-; we increment chain_length because in the asm, the --chain_lenght is in the beginning of the loop\r
- inc edx\r
- mov edi,[ebp+dep_nice_match]\r
- mov chain_length,edx\r
- mov eax,[ebp+dep_lookahead]\r
- cmp eax,edi\r
-; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;\r
- jae nolookaheadnicematch\r
- mov edi,eax\r
-nolookaheadnicematch:\r
-; best_len = s->prev_length\r
- mov best_len,ebx\r
-\r
-; window = s->window\r
- mov esi,[ebp+dep_window]\r
- mov ecx,[ebp+dep_strstart]\r
- mov window,esi\r
-\r
- mov nice_match,edi\r
-; scan = window + strstart\r
- add esi,ecx\r
- mov scan,esi\r
-; dx = *window\r
- mov dx,word ptr [esi]\r
-; bx = *(window+best_len-1)\r
- mov bx,word ptr [esi+ebx-1]\r
- add esi,MAX_MATCH-1\r
-; scan_start = *scan\r
- mov scan_start,dx\r
-; strend = scan + MAX_MATCH-1\r
- mov strend,esi\r
-; bx = scan_end = *(window+best_len-1)\r
-\r
-; IPos limit = s->strstart > (IPos)MAX_DIST(s) ?\r
-; s->strstart - (IPos)MAX_DIST(s) : NIL;\r
-\r
- mov esi,[ebp+dep_w_size]\r
- sub esi,MIN_LOOKAHEAD\r
-; here esi = MAX_DIST(s)\r
- sub ecx,esi\r
- ja nodist\r
- xor ecx,ecx\r
-nodist:\r
- mov limit,ecx\r
-\r
-; prev = s->prev\r
- mov edx,[ebp+dep_prev]\r
- mov prev,edx\r
-\r
-;\r
- mov edx,dword ptr [ebp+dep_match_start]\r
- mov bp,scan_start\r
- mov eax,cur_match\r
- mov match_start,edx\r
-\r
- mov edx,window\r
- mov edi,edx\r
- add edi,best_len\r
- mov esi,prev\r
- dec edi\r
-; windowlen = window + best_len -1\r
- mov windowlen,edi\r
-\r
- jmp beginloop2\r
- align 4\r
-\r
-; here, in the loop\r
-; eax = ax = cur_match\r
-; ecx = limit\r
-; bx = scan_end\r
-; bp = scan_start\r
-; edi = windowlen (window + best_len -1)\r
-; esi = prev\r
-\r
-\r
-;// here; chain_length <=16\r
-normalbeg0add16:\r
- add chain_length,16\r
- jz exitloop\r
-normalbeg0:\r
- cmp word ptr[edi+eax],bx\r
- je normalbeg2noroll\r
-rcontlabnoroll:\r
-; cur_match = prev[cur_match & wmask]\r
- and eax,7fffh\r
- mov ax,word ptr[esi+eax*2]\r
-; if cur_match > limit, go to exitloop\r
- cmp ecx,eax\r
- jnb exitloop\r
-; if --chain_length != 0, go to exitloop\r
- dec chain_length\r
- jnz normalbeg0\r
- jmp exitloop\r
-\r
-normalbeg2noroll:\r
-; if (scan_start==*(cur_match+window)) goto normalbeg2\r
- cmp bp,word ptr[edx+eax]\r
- jne rcontlabnoroll\r
- jmp normalbeg2\r
-\r
-contloop3:\r
- mov edi,windowlen\r
-\r
-; cur_match = prev[cur_match & wmask]\r
- and eax,7fffh\r
- mov ax,word ptr[esi+eax*2]\r
-; if cur_match > limit, go to exitloop\r
- cmp ecx,eax\r
-jnbexitloopshort1:\r
- jnb exitloop\r
-; if --chain_length != 0, go to exitloop\r
-\r
-\r
-; begin the main loop\r
-beginloop2:\r
- sub chain_length,16+1\r
-; if chain_length <=16, don't use the unrolled loop\r
- jna normalbeg0add16\r
-\r
-do16:\r
- cmp word ptr[edi+eax],bx\r
- je normalbeg2dc0\r
-\r
-maccn MACRO lab\r
- and eax,7fffh\r
- mov ax,word ptr[esi+eax*2]\r
- cmp ecx,eax\r
- jnb exitloop\r
- cmp word ptr[edi+eax],bx\r
- je lab\r
- ENDM\r
-\r
-rcontloop0:\r
- maccn normalbeg2dc1\r
-\r
-rcontloop1:\r
- maccn normalbeg2dc2\r
-\r
-rcontloop2:\r
- maccn normalbeg2dc3\r
-\r
-rcontloop3:\r
- maccn normalbeg2dc4\r
-\r
-rcontloop4:\r
- maccn normalbeg2dc5\r
-\r
-rcontloop5:\r
- maccn normalbeg2dc6\r
-\r
-rcontloop6:\r
- maccn normalbeg2dc7\r
-\r
-rcontloop7:\r
- maccn normalbeg2dc8\r
-\r
-rcontloop8:\r
- maccn normalbeg2dc9\r
-\r
-rcontloop9:\r
- maccn normalbeg2dc10\r
-\r
-rcontloop10:\r
- maccn short normalbeg2dc11\r
-\r
-rcontloop11:\r
- maccn short normalbeg2dc12\r
-\r
-rcontloop12:\r
- maccn short normalbeg2dc13\r
-\r
-rcontloop13:\r
- maccn short normalbeg2dc14\r
-\r
-rcontloop14:\r
- maccn short normalbeg2dc15\r
-\r
-rcontloop15:\r
- and eax,7fffh\r
- mov ax,word ptr[esi+eax*2]\r
- cmp ecx,eax\r
- jnb exitloop\r
-\r
- sub chain_length,16\r
- ja do16\r
- jmp normalbeg0add16\r
-\r
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\r
-\r
-normbeg MACRO rcontlab,valsub\r
-; if we are here, we know that *(match+best_len-1) == scan_end\r
- cmp bp,word ptr[edx+eax]\r
-; if (match != scan_start) goto rcontlab\r
- jne rcontlab\r
-; calculate the good chain_length, and we'll compare scan and match string\r
- add chain_length,16-valsub\r
- jmp iseq\r
- ENDM\r
-\r
-\r
-normalbeg2dc11:\r
- normbeg rcontloop11,11\r
-\r
-normalbeg2dc12:\r
- normbeg short rcontloop12,12\r
-\r
-normalbeg2dc13:\r
- normbeg short rcontloop13,13\r
-\r
-normalbeg2dc14:\r
- normbeg short rcontloop14,14\r
-\r
-normalbeg2dc15:\r
- normbeg short rcontloop15,15\r
-\r
-normalbeg2dc10:\r
- normbeg rcontloop10,10\r
-\r
-normalbeg2dc9:\r
- normbeg rcontloop9,9\r
-\r
-normalbeg2dc8:\r
- normbeg rcontloop8,8\r
-\r
-normalbeg2dc7:\r
- normbeg rcontloop7,7\r
-\r
-normalbeg2dc6:\r
- normbeg rcontloop6,6\r
-\r
-normalbeg2dc5:\r
- normbeg rcontloop5,5\r
-\r
-normalbeg2dc4:\r
- normbeg rcontloop4,4\r
-\r
-normalbeg2dc3:\r
- normbeg rcontloop3,3\r
-\r
-normalbeg2dc2:\r
- normbeg rcontloop2,2\r
-\r
-normalbeg2dc1:\r
- normbeg rcontloop1,1\r
-\r
-normalbeg2dc0:\r
- normbeg rcontloop0,0\r
-\r
-\r
-; we go in normalbeg2 because *(ushf*)(match+best_len-1) == scan_end\r
-\r
-normalbeg2:\r
- mov edi,window\r
-\r
- cmp bp,word ptr[edi+eax]\r
- jne contloop3 ; if *(ushf*)match != scan_start, continue\r
-\r
-iseq:\r
-; if we are here, we know that *(match+best_len-1) == scan_end\r
-; and (match == scan_start)\r
-\r
- mov edi,edx\r
- mov esi,scan ; esi = scan\r
- add edi,eax ; edi = window + cur_match = match\r
-\r
- mov edx,[esi+3] ; compare manually dword at match+3\r
- xor edx,[edi+3] ; and scan +3\r
-\r
- jz begincompare ; if equal, go to long compare\r
-\r
-; we will determine the unmatch byte and calculate len (in esi)\r
- or dl,dl\r
- je eq1rr\r
- mov esi,3\r
- jmp trfinval\r
-eq1rr:\r
- or dx,dx\r
- je eq1\r
-\r
- mov esi,4\r
- jmp trfinval\r
-eq1:\r
- and edx,0ffffffh\r
- jz eq11\r
- mov esi,5\r
- jmp trfinval\r
-eq11:\r
- mov esi,6\r
- jmp trfinval\r
-\r
-begincompare:\r
- ; here we now scan and match begin same\r
- add edi,6\r
- add esi,6\r
- mov ecx,(MAX_MATCH-(2+4))/4 ; scan for at most MAX_MATCH bytes\r
- repe cmpsd ; loop until mismatch\r
-\r
- je trfin ; go to trfin if not unmatch\r
-; we determine the unmatch byte\r
- sub esi,4\r
- mov edx,[edi-4]\r
- xor edx,[esi]\r
-\r
- or dl,dl\r
- jnz trfin\r
- inc esi\r
-\r
- or dx,dx\r
- jnz trfin\r
- inc esi\r
-\r
- and edx,0ffffffh\r
- jnz trfin\r
- inc esi\r
-\r
-trfin:\r
- sub esi,scan ; esi = len\r
-trfinval:\r
-; here we have finised compare, and esi contain len of equal string\r
- cmp esi,best_len ; if len > best_len, go newbestlen\r
- ja short newbestlen\r
-; now we restore edx, ecx and esi, for the big loop\r
- mov esi,prev\r
- mov ecx,limit\r
- mov edx,window\r
- jmp contloop3\r
-\r
-newbestlen:\r
- mov best_len,esi ; len become best_len\r
-\r
- mov match_start,eax ; save new position as match_start\r
- cmp esi,nice_match ; if best_len >= nice_match, exit\r
- jae exitloop\r
- mov ecx,scan\r
- mov edx,window ; restore edx=window\r
- add ecx,esi\r
- add esi,edx\r
-\r
- dec esi\r
- mov windowlen,esi ; windowlen = window + best_len-1\r
- mov bx,[ecx-1] ; bx = *(scan+best_len-1) = scan_end\r
-\r
-; now we restore ecx and esi, for the big loop :\r
- mov esi,prev\r
- mov ecx,limit\r
- jmp contloop3\r
-\r
-exitloop:\r
-; exit : s->match_start=match_start\r
- mov ebx,match_start\r
- mov ebp,str_s\r
- mov ecx,best_len\r
- mov dword ptr [ebp+dep_match_start],ebx \r
- mov eax,dword ptr [ebp+dep_lookahead]\r
- cmp ecx,eax\r
- ja minexlo\r
- mov eax,ecx\r
-minexlo:\r
-; return min(best_len,s->lookahead)\r
- \r
-; restore stack and register ebx,esi,edi,ebp\r
- add esp,NbStackAdd\r
-\r
- pop ebx\r
- pop esi\r
- pop edi\r
- pop ebp\r
- ret\r
-InfoAuthor:\r
-; please don't remove this string !\r
-; Your are free use gvmat32 in any fre or commercial apps if you don't remove the string in the binary!\r
- db 0dh,0ah,"GVMat32 optimised assembly code written 1996-98 by Gilles Vollant",0dh,0ah\r
-\r
-\r
-\r
-IFDEF NOUNDERLINE\r
-longest_match_7fff endp\r
-ELSE\r
-_longest_match_7fff endp\r
-ENDIF\r
-\r
-\r
-IFDEF NOUNDERLINE\r
-cpudetect32 proc near\r
-ELSE\r
-_cpudetect32 proc near\r
-ENDIF\r
-\r
- push ebx\r
-\r
- pushfd ; push original EFLAGS\r
- pop eax ; get original EFLAGS\r
- mov ecx, eax ; save original EFLAGS\r
- xor eax, 40000h ; flip AC bit in EFLAGS\r
- push eax ; save new EFLAGS value on stack\r
- popfd ; replace current EFLAGS value\r
- pushfd ; get new EFLAGS\r
- pop eax ; store new EFLAGS in EAX\r
- xor eax, ecx ; can\92t toggle AC bit, processor=80386\r
- jz end_cpu_is_386 ; jump if 80386 processor\r
- push ecx\r
- popfd ; restore AC bit in EFLAGS first\r
-\r
- pushfd\r
- pushfd\r
- pop ecx\r
- \r
- mov eax, ecx ; get original EFLAGS\r
- xor eax, 200000h ; flip ID bit in EFLAGS\r
- push eax ; save new EFLAGS value on stack\r
- popfd ; replace current EFLAGS value\r
- pushfd ; get new EFLAGS\r
- pop eax ; store new EFLAGS in EAX\r
- popfd ; restore original EFLAGS\r
- xor eax, ecx ; can\92t toggle ID bit,\r
- je is_old_486 ; processor=old\r
-\r
- mov eax,1\r
- db 0fh,0a2h ;CPUID \r
-\r
-exitcpudetect:\r
- pop ebx\r
- ret\r
-\r
-end_cpu_is_386:\r
- mov eax,0300h\r
- jmp exitcpudetect\r
-\r
-is_old_486:\r
- mov eax,0400h\r
- jmp exitcpudetect\r
-\r
-IFDEF NOUNDERLINE\r
-cpudetect32 endp\r
-ELSE\r
-_cpudetect32 endp\r
-ENDIF\r
-\r
-\r
-\r
-\r
-MAX_MATCH equ 258\r
-MIN_MATCH equ 3\r
-MIN_LOOKAHEAD equ (MAX_MATCH + MIN_MATCH + 1)\r
-MAX_MATCH_8_ equ ((MAX_MATCH + 7) AND 0FFF0h)\r
-\r
-\r
-;;; stack frame offsets\r
-\r
-chainlenwmask equ esp + 0 ; high word: current chain len\r
- ; low word: s->wmask\r
-window equ esp + 4 ; local copy of s->window\r
-windowbestlen equ esp + 8 ; s->window + bestlen\r
-scanstart equ esp + 16 ; first two bytes of string\r
-scanend equ esp + 12 ; last two bytes of string\r
-scanalign equ esp + 20 ; dword-misalignment of string\r
-nicematch equ esp + 24 ; a good enough match size\r
-bestlen equ esp + 28 ; size of best match so far\r
-scan equ esp + 32 ; ptr to string wanting match\r
-\r
-LocalVarsSize equ 36\r
-; saved ebx byte esp + 36\r
-; saved edi byte esp + 40\r
-; saved esi byte esp + 44\r
-; saved ebp byte esp + 48\r
-; return address byte esp + 52\r
-deflatestate equ esp + 56 ; the function arguments\r
-curmatch equ esp + 60\r
-\r
-;;; Offsets for fields in the deflate_state structure. These numbers\r
-;;; are calculated from the definition of deflate_state, with the\r
-;;; assumption that the compiler will dword-align the fields. (Thus,\r
-;;; changing the definition of deflate_state could easily cause this\r
-;;; program to crash horribly, without so much as a warning at\r
-;;; compile time. Sigh.)\r
-\r
-dsWSize equ 36\r
-dsWMask equ 44\r
-dsWindow equ 48\r
-dsPrev equ 56\r
-dsMatchLen equ 88\r
-dsPrevMatch equ 92\r
-dsStrStart equ 100\r
-dsMatchStart equ 104\r
-dsLookahead equ 108\r
-dsPrevLen equ 112\r
-dsMaxChainLen equ 116\r
-dsGoodMatch equ 132\r
-dsNiceMatch equ 136\r
-\r
-\r
-;;; match.asm -- Pentium-Pro-optimized version of longest_match()\r
-;;; Written for zlib 1.1.2\r
-;;; Copyright (C) 1998 Brian Raiter <breadbox@muppetlabs.com>\r
-;;; You can look at http://www.muppetlabs.com/~breadbox/software/assembly.html\r
-;;;\r
-;;; This is free software; you can redistribute it and/or modify it\r
-;;; under the terms of the GNU General Public License.\r
-\r
-;GLOBAL _longest_match, _match_init\r
-\r
-\r
-;SECTION .text\r
-\r
-;;; uInt longest_match(deflate_state *deflatestate, IPos curmatch)\r
-\r
-;_longest_match:\r
-IFDEF NOUNDERLINE\r
-longest_match_686 proc near\r
-ELSE\r
-_longest_match_686 proc near\r
-ENDIF\r
-\r
-\r
-;;; Save registers that the compiler may be using, and adjust esp to\r
-;;; make room for our stack frame.\r
-\r
- push ebp\r
- push edi\r
- push esi\r
- push ebx\r
- sub esp, LocalVarsSize\r
-\r
-;;; Retrieve the function arguments. ecx will hold cur_match\r
-;;; throughout the entire function. edx will hold the pointer to the\r
-;;; deflate_state structure during the function's setup (before\r
-;;; entering the main loop.\r
-\r
- mov edx, [deflatestate]\r
- mov ecx, [curmatch]\r
-\r
-;;; uInt wmask = s->w_mask;\r
-;;; unsigned chain_length = s->max_chain_length;\r
-;;; if (s->prev_length >= s->good_match) {\r
-;;; chain_length >>= 2;\r
-;;; }\r
-\r
- mov eax, [edx + dsPrevLen]\r
- mov ebx, [edx + dsGoodMatch]\r
- cmp eax, ebx\r
- mov eax, [edx + dsWMask]\r
- mov ebx, [edx + dsMaxChainLen]\r
- jl LastMatchGood\r
- shr ebx, 2\r
-LastMatchGood:\r
-\r
-;;; chainlen is decremented once beforehand so that the function can\r
-;;; use the sign flag instead of the zero flag for the exit test.\r
-;;; It is then shifted into the high word, to make room for the wmask\r
-;;; value, which it will always accompany.\r
-\r
- dec ebx\r
- shl ebx, 16\r
- or ebx, eax\r
- mov [chainlenwmask], ebx\r
-\r
-;;; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;\r
-\r
- mov eax, [edx + dsNiceMatch]\r
- mov ebx, [edx + dsLookahead]\r
- cmp ebx, eax\r
- jl LookaheadLess\r
- mov ebx, eax\r
-LookaheadLess: mov [nicematch], ebx\r
-\r
-;;; register Bytef *scan = s->window + s->strstart;\r
-\r
- mov esi, [edx + dsWindow]\r
- mov [window], esi\r
- mov ebp, [edx + dsStrStart]\r
- lea edi, [esi + ebp]\r
- mov [scan], edi\r
-\r
-;;; Determine how many bytes the scan ptr is off from being\r
-;;; dword-aligned.\r
-\r
- mov eax, edi\r
- neg eax\r
- and eax, 3\r
- mov [scanalign], eax\r
-\r
-;;; IPos limit = s->strstart > (IPos)MAX_DIST(s) ?\r
-;;; s->strstart - (IPos)MAX_DIST(s) : NIL;\r
-\r
- mov eax, [edx + dsWSize]\r
- sub eax, MIN_LOOKAHEAD\r
- sub ebp, eax\r
- jg LimitPositive\r
- xor ebp, ebp\r
-LimitPositive:\r
-\r
-;;; int best_len = s->prev_length;\r
-\r
- mov eax, [edx + dsPrevLen]\r
- mov [bestlen], eax\r
-\r
-;;; Store the sum of s->window + best_len in esi locally, and in esi.\r
-\r
- add esi, eax\r
- mov [windowbestlen], esi\r
-\r
-;;; register ush scan_start = *(ushf*)scan;\r
-;;; register ush scan_end = *(ushf*)(scan+best_len-1);\r
-;;; Posf *prev = s->prev;\r
-\r
- movzx ebx, word ptr [edi]\r
- mov [scanstart], ebx\r
- movzx ebx, word ptr [edi + eax - 1]\r
- mov [scanend], ebx\r
- mov edi, [edx + dsPrev]\r
-\r
-;;; Jump into the main loop.\r
-\r
- mov edx, [chainlenwmask]\r
- jmp short LoopEntry\r
-\r
-align 4\r
-\r
-;;; do {\r
-;;; match = s->window + cur_match;\r
-;;; if (*(ushf*)(match+best_len-1) != scan_end ||\r
-;;; *(ushf*)match != scan_start) continue;\r
-;;; [...]\r
-;;; } while ((cur_match = prev[cur_match & wmask]) > limit\r
-;;; && --chain_length != 0);\r
-;;;\r
-;;; Here is the inner loop of the function. The function will spend the\r
-;;; majority of its time in this loop, and majority of that time will\r
-;;; be spent in the first ten instructions.\r
-;;;\r
-;;; Within this loop:\r
-;;; ebx = scanend\r
-;;; ecx = curmatch\r
-;;; edx = chainlenwmask - i.e., ((chainlen << 16) | wmask)\r
-;;; esi = windowbestlen - i.e., (window + bestlen)\r
-;;; edi = prev\r
-;;; ebp = limit\r
-\r
-LookupLoop:\r
- and ecx, edx\r
- movzx ecx, word ptr [edi + ecx*2]\r
- cmp ecx, ebp\r
- jbe LeaveNow\r
- sub edx, 00010000h\r
- js LeaveNow\r
-LoopEntry: movzx eax, word ptr [esi + ecx - 1]\r
- cmp eax, ebx\r
- jnz LookupLoop\r
- mov eax, [window]\r
- movzx eax, word ptr [eax + ecx]\r
- cmp eax, [scanstart]\r
- jnz LookupLoop\r
-\r
-;;; Store the current value of chainlen.\r
-\r
- mov [chainlenwmask], edx\r
-\r
-;;; Point edi to the string under scrutiny, and esi to the string we\r
-;;; are hoping to match it up with. In actuality, esi and edi are\r
-;;; both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and edx is\r
-;;; initialized to -(MAX_MATCH_8 - scanalign).\r
-\r
- mov esi, [window]\r
- mov edi, [scan]\r
- add esi, ecx\r
- mov eax, [scanalign]\r
- mov edx, 0fffffef8h; -(MAX_MATCH_8)\r
- lea edi, [edi + eax + 0108h] ;MAX_MATCH_8]\r
- lea esi, [esi + eax + 0108h] ;MAX_MATCH_8]\r
-\r
-;;; Test the strings for equality, 8 bytes at a time. At the end,\r
-;;; adjust edx so that it is offset to the exact byte that mismatched.\r
-;;;\r
-;;; We already know at this point that the first three bytes of the\r
-;;; strings match each other, and they can be safely passed over before\r
-;;; starting the compare loop. So what this code does is skip over 0-3\r
-;;; bytes, as much as necessary in order to dword-align the edi\r
-;;; pointer. (esi will still be misaligned three times out of four.)\r
-;;;\r
-;;; It should be confessed that this loop usually does not represent\r
-;;; much of the total running time. Replacing it with a more\r
-;;; straightforward "rep cmpsb" would not drastically degrade\r
-;;; performance.\r
-\r
-LoopCmps:\r
- mov eax, [esi + edx]\r
- xor eax, [edi + edx]\r
- jnz LeaveLoopCmps\r
- mov eax, [esi + edx + 4]\r
- xor eax, [edi + edx + 4]\r
- jnz LeaveLoopCmps4\r
- add edx, 8\r
- jnz LoopCmps\r
- jmp short LenMaximum\r
-LeaveLoopCmps4: add edx, 4\r
-LeaveLoopCmps: test eax, 0000FFFFh\r
- jnz LenLower\r
- add edx, 2\r
- shr eax, 16\r
-LenLower: sub al, 1\r
- adc edx, 0\r
-\r
-;;; Calculate the length of the match. If it is longer than MAX_MATCH,\r
-;;; then automatically accept it as the best possible match and leave.\r
-\r
- lea eax, [edi + edx]\r
- mov edi, [scan]\r
- sub eax, edi\r
- cmp eax, MAX_MATCH\r
- jge LenMaximum\r
-\r
-;;; If the length of the match is not longer than the best match we\r
-;;; have so far, then forget it and return to the lookup loop.\r
-\r
- mov edx, [deflatestate]\r
- mov ebx, [bestlen]\r
- cmp eax, ebx\r
- jg LongerMatch\r
- mov esi, [windowbestlen]\r
- mov edi, [edx + dsPrev]\r
- mov ebx, [scanend]\r
- mov edx, [chainlenwmask]\r
- jmp LookupLoop\r
-\r
-;;; s->match_start = cur_match;\r
-;;; best_len = len;\r
-;;; if (len >= nice_match) break;\r
-;;; scan_end = *(ushf*)(scan+best_len-1);\r
-\r
-LongerMatch: mov ebx, [nicematch]\r
- mov [bestlen], eax\r
- mov [edx + dsMatchStart], ecx\r
- cmp eax, ebx\r
- jge LeaveNow\r
- mov esi, [window]\r
- add esi, eax\r
- mov [windowbestlen], esi\r
- movzx ebx, word ptr [edi + eax - 1]\r
- mov edi, [edx + dsPrev]\r
- mov [scanend], ebx\r
- mov edx, [chainlenwmask]\r
- jmp LookupLoop\r
-\r
-;;; Accept the current string, with the maximum possible length.\r
-\r
-LenMaximum: mov edx, [deflatestate]\r
- mov dword ptr [bestlen], MAX_MATCH\r
- mov [edx + dsMatchStart], ecx\r
-\r
-;;; if ((uInt)best_len <= s->lookahead) return (uInt)best_len;\r
-;;; return s->lookahead;\r
-\r
-LeaveNow:\r
- mov edx, [deflatestate]\r
- mov ebx, [bestlen]\r
- mov eax, [edx + dsLookahead]\r
- cmp ebx, eax\r
- jg LookaheadRet\r
- mov eax, ebx\r
-LookaheadRet:\r
-\r
-;;; Restore the stack and return from whence we came.\r
-\r
- add esp, LocalVarsSize\r
- pop ebx\r
- pop esi\r
- pop edi\r
- pop ebp\r
-\r
- ret\r
-; please don't remove this string !\r
-; Your are free use gvmat32 in any fre or commercial apps if you don't remove the string in the binary!\r
- db 0dh,0ah,"asm686 with masm, code optimised assembly code from Brian Raiter, written 1998",0dh,0ah\r
-\r
-IFDEF NOUNDERLINE\r
-longest_match_686 endp\r
-ELSE\r
-_longest_match_686 endp\r
-ENDIF\r
-\r
-_TEXT ends\r
-end\r
+++ /dev/null
-/* gvmat32.c -- C portion of the optimized longest_match for 32 bits x86\r
- * Copyright (C) 1995-1996 Jean-loup Gailly and Gilles Vollant.\r
- * File written by Gilles Vollant, by modifiying the longest_match\r
- * from Jean-loup Gailly in deflate.c\r
- * it prepare all parameters and call the assembly longest_match_gvasm\r
- * longest_match execute standard C code is wmask != 0x7fff\r
- * (assembly code is faster with a fixed wmask)\r
- *\r
- */\r
-\r
-#include "deflate.h"\r
-\r
-#undef FAR\r
-//#include <windows.h>\r
-\r
-#ifdef ASMV\r
-#define NIL 0\r
-\r
-#define UNALIGNED_OK\r
-\r
-\r
-/* if your C compiler don't add underline before function name,\r
- define ADD_UNDERLINE_ASMFUNC */\r
-#ifdef ADD_UNDERLINE_ASMFUNC\r
-#define longest_match_7fff _longest_match_7fff\r
-#define longest_match_686 _longest_match_686\r
-#define cpudetect32 _cpudetect32\r
-#endif\r
-\r
-\r
-\r
-void match_init()\r
-{\r
-}\r
-\r
-unsigned long cpudetect32();\r
-\r
-uInt longest_match_c(\r
- deflate_state *s,\r
- IPos cur_match); /* current match */\r
-\r
-\r
-uInt longest_match_7fff(\r
- deflate_state *s,\r
- IPos cur_match); /* current match */\r
-\r
-uInt longest_match_686(\r
- deflate_state *s,\r
- IPos cur_match); /* current match */\r
-\r
-uInt longest_match(\r
- deflate_state *s,\r
- IPos cur_match) /* current match */\r
-{\r
- static uInt iIsPPro=2;\r
-\r
- if ((s->w_mask == 0x7fff) && (iIsPPro==0))\r
- return longest_match_7fff(s,cur_match);\r
-\r
- if (iIsPPro==1)\r
- return longest_match_686(s,cur_match);\r
-\r
- if (iIsPPro==2)\r
- iIsPPro = (((cpudetect32()/0x100)&0xf)>=6) ? 1 : 0;\r
-\r
- return longest_match_c(s,cur_match);\r
-}\r
-\r
-\r
-\r
-uInt longest_match_c(s, cur_match)\r
- deflate_state *s;\r
- IPos cur_match; /* current match */\r
-{\r
- unsigned chain_length = s->max_chain_length;/* max hash chain length */\r
- register Bytef *scan = s->window + s->strstart; /* current string */\r
- register Bytef *match; /* matched string */\r
- register int len; /* length of current match */\r
- int best_len = s->prev_length; /* best match length so far */\r
- int nice_match = s->nice_match; /* stop if match long enough */\r
- IPos limit = s->strstart > (IPos)MAX_DIST(s) ?\r
- s->strstart - (IPos)MAX_DIST(s) : NIL;\r
- /* Stop when cur_match becomes <= limit. To simplify the code,\r
- * we prevent matches with the string of window index 0.\r
- */\r
- Posf *prev = s->prev;\r
- uInt wmask = s->w_mask;\r
-\r
-#ifdef UNALIGNED_OK\r
- /* Compare two bytes at a time. Note: this is not always beneficial.\r
- * Try with and without -DUNALIGNED_OK to check.\r
- */\r
- register Bytef *strend = s->window + s->strstart + MAX_MATCH - 1;\r
- register ush scan_start = *(ushf*)scan;\r
- register ush scan_end = *(ushf*)(scan+best_len-1);\r
-#else\r
- register Bytef *strend = s->window + s->strstart + MAX_MATCH;\r
- register Byte scan_end1 = scan[best_len-1];\r
- register Byte scan_end = scan[best_len];\r
-#endif\r
-\r
- /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.\r
- * It is easy to get rid of this optimization if necessary.\r
- */\r
- Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever");\r
-\r
- /* Do not waste too much time if we already have a good match: */\r
- if (s->prev_length >= s->good_match) {\r
- chain_length >>= 2;\r
- }\r
- /* Do not look for matches beyond the end of the input. This is necessary\r
- * to make deflate deterministic.\r
- */\r
- if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;\r
-\r
- Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead");\r
-\r
- do {\r
- Assert(cur_match < s->strstart, "no future");\r
- match = s->window + cur_match;\r
-\r
- /* Skip to next match if the match length cannot increase\r
- * or if the match length is less than 2:\r
- */\r
-#if (defined(UNALIGNED_OK) && MAX_MATCH == 258)\r
- /* This code assumes sizeof(unsigned short) == 2. Do not use\r
- * UNALIGNED_OK if your compiler uses a different size.\r
- */\r
- if (*(ushf*)(match+best_len-1) != scan_end ||\r
- *(ushf*)match != scan_start) continue;\r
-\r
- /* It is not necessary to compare scan[2] and match[2] since they are\r
- * always equal when the other bytes match, given that the hash keys\r
- * are equal and that HASH_BITS >= 8. Compare 2 bytes at a time at\r
- * strstart+3, +5, ... up to strstart+257. We check for insufficient\r
- * lookahead only every 4th comparison; the 128th check will be made\r
- * at strstart+257. If MAX_MATCH-2 is not a multiple of 8, it is\r
- * necessary to put more guard bytes at the end of the window, or\r
- * to check more often for insufficient lookahead.\r
- */\r
- Assert(scan[2] == match[2], "scan[2]?");\r
- scan++, match++;\r
- do {\r
- } while (*(ushf*)(scan+=2) == *(ushf*)(match+=2) &&\r
- *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&\r
- *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&\r
- *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&\r
- scan < strend);\r
- /* The funny "do {}" generates better code on most compilers */\r
-\r
- /* Here, scan <= window+strstart+257 */\r
- Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");\r
- if (*scan == *match) scan++;\r
-\r
- len = (MAX_MATCH - 1) - (int)(strend-scan);\r
- scan = strend - (MAX_MATCH-1);\r
-\r
-#else /* UNALIGNED_OK */\r
-\r
- if (match[best_len] != scan_end ||\r
- match[best_len-1] != scan_end1 ||\r
- *match != *scan ||\r
- *++match != scan[1]) continue;\r
-\r
- /* The check at best_len-1 can be removed because it will be made\r
- * again later. (This heuristic is not always a win.)\r
- * It is not necessary to compare scan[2] and match[2] since they\r
- * are always equal when the other bytes match, given that\r
- * the hash keys are equal and that HASH_BITS >= 8.\r
- */\r
- scan += 2, match++;\r
- Assert(*scan == *match, "match[2]?");\r
-\r
- /* We check for insufficient lookahead only every 8th comparison;\r
- * the 256th check will be made at strstart+258.\r
- */\r
- do {\r
- } while (*++scan == *++match && *++scan == *++match &&\r
- *++scan == *++match && *++scan == *++match &&\r
- *++scan == *++match && *++scan == *++match &&\r
- *++scan == *++match && *++scan == *++match &&\r
- scan < strend);\r
-\r
- Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");\r
-\r
- len = MAX_MATCH - (int)(strend - scan);\r
- scan = strend - MAX_MATCH;\r
-\r
-#endif /* UNALIGNED_OK */\r
-\r
- if (len > best_len) {\r
- s->match_start = cur_match;\r
- best_len = len;\r
- if (len >= nice_match) break;\r
-#ifdef UNALIGNED_OK\r
- scan_end = *(ushf*)(scan+best_len-1);\r
-#else\r
- scan_end1 = scan[best_len-1];\r
- scan_end = scan[best_len];\r
-#endif\r
- }\r
- } while ((cur_match = prev[cur_match & wmask]) > limit\r
- && --chain_length != 0);\r
-\r
- if ((uInt)best_len <= s->lookahead) return (uInt)best_len;\r
- return s->lookahead;\r
-}\r
-\r
-#endif /* ASMV */\r
+++ /dev/null
-; 75 "inffast.S"\r
-;FILE "inffast.S"\r
-\r
-;;;GLOBAL _inflate_fast\r
-\r
-;;;SECTION .text\r
-\r
-\r
-\r
- .586p\r
- .mmx\r
-\r
- name inflate_fast_x86\r
- .MODEL FLAT\r
-\r
-_DATA segment\r
-inflate_fast_use_mmx: \r
-dd 1\r
-\r
-\r
-_TEXT segment\r
-PUBLIC _inflate_fast\r
-\r
-ALIGN 4\r
-_inflate_fast: \r
- jmp inflate_fast_entry\r
-\r
-\r
-\r
-ALIGN 4\r
- db 'Fast decoding Code from Chris Anderson'\r
- db 0\r
-\r
-ALIGN 4\r
-invalid_literal_length_code_msg: \r
- db 'invalid literal/length code'\r
- db 0\r
-\r
-ALIGN 4\r
-invalid_distance_code_msg: \r
- db 'invalid distance code'\r
- db 0\r
-\r
-ALIGN 4\r
-invalid_distance_too_far_msg: \r
- db 'invalid distance too far back'\r
- db 0\r
-\r
-\r
-ALIGN 4\r
-inflate_fast_mask: \r
-dd 0\r
-dd 1\r
-dd 3\r
-dd 7\r
-dd 15\r
-dd 31\r
-dd 63\r
-dd 127\r
-dd 255\r
-dd 511\r
-dd 1023\r
-dd 2047\r
-dd 4095\r
-dd 8191\r
-dd 16383\r
-dd 32767\r
-dd 65535\r
-dd 131071\r
-dd 262143\r
-dd 524287\r
-dd 1048575\r
-dd 2097151\r
-dd 4194303\r
-dd 8388607\r
-dd 16777215\r
-dd 33554431\r
-dd 67108863\r
-dd 134217727\r
-dd 268435455\r
-dd 536870911\r
-dd 1073741823\r
-dd 2147483647\r
-dd 4294967295\r
-\r
-\r
-;;SECTION .text\r
-; 205 "inffast.S"\r
-;GLOBAL inflate_fast_use_mmx\r
-\r
-;SECTION .data\r
-\r
-\r
-; GLOBAL inflate_fast_use_mmx:object\r
-;.size inflate_fast_use_mmx, 4\r
-; 226 "inffast.S"\r
-;SECTION .text\r
-\r
-ALIGN 4 \r
-inflate_fast_entry: \r
- push edi\r
- push esi\r
- push ebp\r
- push ebx\r
- pushfd\r
- sub esp,64\r
- cld\r
-\r
-\r
-\r
-\r
- mov esi, [esp+88]\r
- mov edi, [esi+28]\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
- mov edx, [esi+4]\r
- mov eax, [esi+0]\r
-\r
- add edx,eax\r
- sub edx,11\r
-\r
- mov [esp+44],eax\r
- mov [esp+20],edx\r
-\r
- mov ebp, [esp+92]\r
- mov ecx, [esi+16]\r
- mov ebx, [esi+12]\r
-\r
- sub ebp,ecx\r
- neg ebp\r
- add ebp,ebx\r
-\r
- sub ecx,257\r
- add ecx,ebx\r
-\r
- mov [esp+60],ebx\r
- mov [esp+40],ebp\r
- mov [esp+16],ecx\r
-; 285 "inffast.S"\r
- mov eax, [edi+64]\r
- mov ecx, [edi+68]\r
-\r
- mov [esp+8],eax\r
- mov [esp+12],ecx\r
-\r
- mov eax,1\r
- mov ecx, [edi+72]\r
- shl eax,cl\r
- dec eax\r
- mov [esp+0],eax\r
-\r
- mov eax,1\r
- mov ecx, [edi+76]\r
- shl eax,cl\r
- dec eax\r
- mov [esp+4],eax\r
-\r
- mov eax, [edi+32]\r
- mov ecx, [edi+36]\r
- mov edx, [edi+40]\r
-\r
- mov [esp+52],eax\r
- mov [esp+48],ecx\r
- mov [esp+56],edx\r
-\r
- mov ebp, [edi+44]\r
- mov ebx, [edi+48]\r
-; 321 "inffast.S"\r
- mov esi, [esp+44]\r
- mov ecx, [esp+20]\r
- cmp ecx,esi\r
- ja L_align_long\r
-\r
- add ecx,11\r
- sub ecx,esi\r
- mov eax,12\r
- sub eax,ecx\r
- lea edi, [esp+28]\r
- rep movsb\r
- mov ecx,eax\r
- xor eax,eax\r
- rep stosb\r
- lea esi, [esp+28]\r
- mov [esp+20],esi\r
- jmp L_is_aligned\r
-\r
-\r
-L_align_long: \r
- test esi,3\r
- jz L_is_aligned\r
- xor eax,eax\r
- mov al, [esi]\r
- inc esi\r
- mov ecx,ebx\r
- add ebx,8\r
- shl eax,cl\r
- or ebp,eax\r
- jmp L_align_long\r
-\r
-L_is_aligned: \r
- mov edi, [esp+60]\r
-; 366 "inffast.S"\r
-L_check_mmx: \r
- cmp dword ptr [inflate_fast_use_mmx],2\r
- je L_init_mmx\r
- ja L_do_loop\r
-\r
- push eax\r
- push ebx\r
- push ecx\r
- push edx\r
- pushfd\r
- mov eax, [esp]\r
- xor dword ptr [esp],0200000h\r
-\r
-\r
-\r
-\r
- popfd\r
- pushfd\r
- pop edx\r
- xor edx,eax\r
- jz L_dont_use_mmx\r
- xor eax,eax\r
- cpuid\r
- cmp ebx,0756e6547h\r
- jne L_dont_use_mmx\r
- cmp ecx,06c65746eh\r
- jne L_dont_use_mmx\r
- cmp edx,049656e69h\r
- jne L_dont_use_mmx\r
- mov eax,1\r
- cpuid\r
- shr eax,8\r
- and eax,15\r
- cmp eax,6\r
- jne L_dont_use_mmx\r
- test edx,0800000h\r
- jnz L_use_mmx\r
- jmp L_dont_use_mmx\r
-L_use_mmx: \r
- mov dword ptr [inflate_fast_use_mmx],2\r
- jmp L_check_mmx_pop\r
-L_dont_use_mmx: \r
- mov dword ptr [inflate_fast_use_mmx],3\r
-L_check_mmx_pop: \r
- pop edx\r
- pop ecx\r
- pop ebx\r
- pop eax\r
- jmp L_check_mmx\r
-; 426 "inffast.S"\r
-ALIGN 4\r
-L_do_loop: \r
-; 437 "inffast.S"\r
- cmp bl,15\r
- ja L_get_length_code\r
-\r
- xor eax,eax\r
- lodsw\r
- mov cl,bl\r
- add bl,16\r
- shl eax,cl\r
- or ebp,eax\r
-\r
-L_get_length_code: \r
- mov edx, [esp+0]\r
- mov ecx, [esp+8]\r
- and edx,ebp\r
- mov eax, [ecx+edx*4]\r
-\r
-L_dolen: \r
-\r
-\r
-\r
-\r
-\r
-\r
- mov cl,ah\r
- sub bl,ah\r
- shr ebp,cl\r
-\r
-\r
-\r
-\r
-\r
-\r
- test al,al\r
- jnz L_test_for_length_base\r
-\r
- shr eax,16\r
- stosb\r
-\r
-L_while_test: \r
-\r
-\r
- cmp [esp+16],edi\r
- jbe L_break_loop\r
-\r
- cmp [esp+20],esi\r
- ja L_do_loop\r
- jmp L_break_loop\r
-\r
-L_test_for_length_base: \r
-; 502 "inffast.S"\r
- mov edx,eax\r
- shr edx,16\r
- mov cl,al\r
-\r
- test al,16\r
- jz L_test_for_second_level_length\r
- and cl,15\r
- jz L_save_len\r
- cmp bl,cl\r
- jae L_add_bits_to_len\r
-\r
- mov ch,cl\r
- xor eax,eax\r
- lodsw\r
- mov cl,bl\r
- add bl,16\r
- shl eax,cl\r
- or ebp,eax\r
- mov cl,ch\r
-\r
-L_add_bits_to_len: \r
- mov eax,1\r
- shl eax,cl\r
- dec eax\r
- sub bl,cl\r
- and eax,ebp\r
- shr ebp,cl\r
- add edx,eax\r
-\r
-L_save_len: \r
- mov [esp+24],edx\r
-\r
-\r
-L_decode_distance: \r
-; 549 "inffast.S"\r
- cmp bl,15\r
- ja L_get_distance_code\r
-\r
- xor eax,eax\r
- lodsw\r
- mov cl,bl\r
- add bl,16\r
- shl eax,cl\r
- or ebp,eax\r
-\r
-L_get_distance_code: \r
- mov edx, [esp+4]\r
- mov ecx, [esp+12]\r
- and edx,ebp\r
- mov eax, [ecx+edx*4]\r
-\r
-\r
-L_dodist: \r
- mov edx,eax\r
- shr edx,16\r
- mov cl,ah\r
- sub bl,ah\r
- shr ebp,cl\r
-; 584 "inffast.S"\r
- mov cl,al\r
-\r
- test al,16\r
- jz L_test_for_second_level_dist\r
- and cl,15\r
- jz L_check_dist_one\r
- cmp bl,cl\r
- jae L_add_bits_to_dist\r
-\r
- mov ch,cl\r
- xor eax,eax\r
- lodsw\r
- mov cl,bl\r
- add bl,16\r
- shl eax,cl\r
- or ebp,eax\r
- mov cl,ch\r
-\r
-L_add_bits_to_dist: \r
- mov eax,1\r
- shl eax,cl\r
- dec eax\r
- sub bl,cl\r
- and eax,ebp\r
- shr ebp,cl\r
- add edx,eax\r
- jmp L_check_window\r
-\r
-L_check_window: \r
-; 625 "inffast.S"\r
- mov [esp+44],esi\r
- mov eax,edi\r
- sub eax, [esp+40]\r
-\r
- cmp eax,edx\r
- jb L_clip_window\r
-\r
- mov ecx, [esp+24]\r
- mov esi,edi\r
- sub esi,edx\r
-\r
- sub ecx,3\r
- mov al, [esi]\r
- mov [edi],al\r
- mov al, [esi+1]\r
- mov dl, [esi+2]\r
- add esi,3\r
- mov [edi+1],al\r
- mov [edi+2],dl\r
- add edi,3\r
- rep movsb\r
-\r
- mov esi, [esp+44]\r
- jmp L_while_test\r
-\r
-ALIGN 4\r
-L_check_dist_one: \r
- cmp edx,1\r
- jne L_check_window\r
- cmp [esp+40],edi\r
- je L_check_window\r
-\r
- dec edi\r
- mov ecx, [esp+24]\r
- mov al, [edi]\r
- sub ecx,3\r
-\r
- mov [edi+1],al\r
- mov [edi+2],al\r
- mov [edi+3],al\r
- add edi,4\r
- rep stosb\r
-\r
- jmp L_while_test\r
-\r
-ALIGN 4\r
-L_test_for_second_level_length: \r
-\r
-\r
-\r
-\r
- test al,64\r
- jnz L_test_for_end_of_block\r
-\r
- mov eax,1\r
- shl eax,cl\r
- dec eax\r
- and eax,ebp\r
- add eax,edx\r
- mov edx, [esp+8]\r
- mov eax, [edx+eax*4]\r
- jmp L_dolen\r
-\r
-ALIGN 4\r
-L_test_for_second_level_dist: \r
-\r
-\r
-\r
-\r
- test al,64\r
- jnz L_invalid_distance_code\r
-\r
- mov eax,1\r
- shl eax,cl\r
- dec eax\r
- and eax,ebp\r
- add eax,edx\r
- mov edx, [esp+12]\r
- mov eax, [edx+eax*4]\r
- jmp L_dodist\r
-\r
-ALIGN 4 \r
-L_clip_window: \r
-; 721 "inffast.S"\r
- mov ecx,eax\r
- mov eax, [esp+52]\r
- neg ecx\r
- mov esi, [esp+56]\r
-\r
- cmp eax,edx\r
- jb L_invalid_distance_too_far\r
-\r
- add ecx,edx\r
- cmp dword ptr [esp+48],0\r
- jne L_wrap_around_window\r
-\r
- sub eax,ecx\r
- add esi,eax\r
-; 749 "inffast.S"\r
- mov eax, [esp+24]\r
- cmp eax,ecx\r
- jbe L_do_copy1\r
-\r
- sub eax,ecx\r
- rep movsb\r
- mov esi,edi\r
- sub esi,edx\r
- jmp L_do_copy1\r
-\r
- cmp eax,ecx\r
- jbe L_do_copy1\r
-\r
- sub eax,ecx\r
- rep movsb\r
- mov esi,edi\r
- sub esi,edx\r
- jmp L_do_copy1\r
-\r
-L_wrap_around_window: \r
-; 793 "inffast.S"\r
- mov eax, [esp+48]\r
- cmp ecx,eax\r
- jbe L_contiguous_in_window\r
-\r
- add esi, [esp+52]\r
- add esi,eax\r
- sub esi,ecx\r
- sub ecx,eax\r
-\r
-\r
- mov eax, [esp+24]\r
- cmp eax,ecx\r
- jbe L_do_copy1\r
-\r
- sub eax,ecx\r
- rep movsb\r
- mov esi, [esp+56]\r
- mov ecx, [esp+48]\r
- cmp eax,ecx\r
- jbe L_do_copy1\r
-\r
- sub eax,ecx\r
- rep movsb\r
- mov esi,edi\r
- sub esi,edx\r
- jmp L_do_copy1\r
-\r
-L_contiguous_in_window: \r
-; 836 "inffast.S"\r
- add esi,eax\r
- sub esi,ecx\r
-\r
-\r
- mov eax, [esp+24]\r
- cmp eax,ecx\r
- jbe L_do_copy1\r
-\r
- sub eax,ecx\r
- rep movsb\r
- mov esi,edi\r
- sub esi,edx\r
-\r
-L_do_copy1: \r
-; 862 "inffast.S"\r
- mov ecx,eax\r
- rep movsb\r
-\r
- mov esi, [esp+44]\r
- jmp L_while_test\r
-; 878 "inffast.S"\r
-ALIGN 4\r
-L_init_mmx: \r
- emms\r
-\r
-\r
-\r
-\r
-\r
- movd mm0,ebp\r
- mov ebp,ebx\r
-; 896 "inffast.S"\r
- movd mm4,[esp+0]\r
- movq mm3,mm4\r
- movd mm5,[esp+4]\r
- movq mm2,mm5\r
- pxor mm1,mm1\r
- mov ebx, [esp+8]\r
- jmp L_do_loop_mmx\r
-\r
-ALIGN 4\r
-L_do_loop_mmx: \r
- psrlq mm0,mm1\r
-\r
- cmp ebp,32\r
- ja L_get_length_code_mmx\r
-\r
- movd mm6,ebp\r
- movd mm7,[esi]\r
- add esi,4\r
- psllq mm7,mm6\r
- add ebp,32\r
- por mm0,mm7\r
-\r
-L_get_length_code_mmx: \r
- pand mm4,mm0\r
- movd eax,mm4\r
- movq mm4,mm3\r
- mov eax, [ebx+eax*4]\r
-\r
-L_dolen_mmx: \r
- movzx ecx,ah\r
- movd mm1,ecx\r
- sub ebp,ecx\r
-\r
- test al,al\r
- jnz L_test_for_length_base_mmx\r
-\r
- shr eax,16\r
- stosb\r
-\r
-L_while_test_mmx: \r
-\r
-\r
- cmp [esp+16],edi\r
- jbe L_break_loop\r
-\r
- cmp [esp+20],esi\r
- ja L_do_loop_mmx\r
- jmp L_break_loop\r
-\r
-L_test_for_length_base_mmx: \r
-\r
- mov edx,eax\r
- shr edx,16\r
-\r
- test al,16\r
- jz L_test_for_second_level_length_mmx\r
- and eax,15\r
- jz L_decode_distance_mmx\r
-\r
- psrlq mm0,mm1\r
- movd mm1,eax\r
- movd ecx,mm0\r
- sub ebp,eax\r
- and ecx, [inflate_fast_mask+eax*4]\r
- add edx,ecx\r
-\r
-L_decode_distance_mmx: \r
- psrlq mm0,mm1\r
-\r
- cmp ebp,32\r
- ja L_get_dist_code_mmx\r
-\r
- movd mm6,ebp\r
- movd mm7,[esi]\r
- add esi,4\r
- psllq mm7,mm6\r
- add ebp,32\r
- por mm0,mm7\r
-\r
-L_get_dist_code_mmx: \r
- mov ebx, [esp+12]\r
- pand mm5,mm0\r
- movd eax,mm5\r
- movq mm5,mm2\r
- mov eax, [ebx+eax*4]\r
-\r
-L_dodist_mmx: \r
-\r
- movzx ecx,ah\r
- mov ebx,eax\r
- shr ebx,16\r
- sub ebp,ecx\r
- movd mm1,ecx\r
-\r
- test al,16\r
- jz L_test_for_second_level_dist_mmx\r
- and eax,15\r
- jz L_check_dist_one_mmx\r
-\r
-L_add_bits_to_dist_mmx: \r
- psrlq mm0,mm1\r
- movd mm1,eax\r
- movd ecx,mm0\r
- sub ebp,eax\r
- and ecx, [inflate_fast_mask+eax*4]\r
- add ebx,ecx\r
-\r
-L_check_window_mmx: \r
- mov [esp+44],esi\r
- mov eax,edi\r
- sub eax, [esp+40]\r
-\r
- cmp eax,ebx\r
- jb L_clip_window_mmx\r
-\r
- mov ecx,edx\r
- mov esi,edi\r
- sub esi,ebx\r
-\r
- sub ecx,3\r
- mov al, [esi]\r
- mov [edi],al\r
- mov al, [esi+1]\r
- mov dl, [esi+2]\r
- add esi,3\r
- mov [edi+1],al\r
- mov [edi+2],dl\r
- add edi,3\r
- rep movsb\r
-\r
- mov esi, [esp+44]\r
- mov ebx, [esp+8]\r
- jmp L_while_test_mmx\r
-\r
-ALIGN 4\r
-L_check_dist_one_mmx: \r
- cmp ebx,1\r
- jne L_check_window_mmx\r
- cmp [esp+40],edi\r
- je L_check_window_mmx\r
-\r
- dec edi\r
- mov ecx,edx\r
- mov al, [edi]\r
- sub ecx,3\r
-\r
- mov [edi+1],al\r
- mov [edi+2],al\r
- mov [edi+3],al\r
- add edi,4\r
- rep stosb\r
-\r
- mov ebx, [esp+8]\r
- jmp L_while_test_mmx\r
-\r
-ALIGN 4\r
-L_test_for_second_level_length_mmx: \r
- test al,64\r
- jnz L_test_for_end_of_block\r
-\r
- and eax,15\r
- psrlq mm0,mm1\r
- movd ecx,mm0\r
- and ecx, [inflate_fast_mask+eax*4]\r
- add ecx,edx\r
- mov eax, [ebx+ecx*4]\r
- jmp L_dolen_mmx\r
-\r
-ALIGN 4\r
-L_test_for_second_level_dist_mmx: \r
- test al,64\r
- jnz L_invalid_distance_code\r
-\r
- and eax,15\r
- psrlq mm0,mm1\r
- movd ecx,mm0\r
- and ecx, [inflate_fast_mask+eax*4]\r
- mov eax, [esp+12]\r
- add ecx,ebx\r
- mov eax, [eax+ecx*4]\r
- jmp L_dodist_mmx\r
-\r
-ALIGN 4\r
-L_clip_window_mmx: \r
-\r
- mov ecx,eax\r
- mov eax, [esp+52]\r
- neg ecx\r
- mov esi, [esp+56]\r
-\r
- cmp eax,ebx\r
- jb L_invalid_distance_too_far\r
-\r
- add ecx,ebx\r
- cmp dword ptr [esp+48],0\r
- jne L_wrap_around_window_mmx\r
-\r
- sub eax,ecx\r
- add esi,eax\r
-\r
- cmp edx,ecx\r
- jbe L_do_copy1_mmx\r
-\r
- sub edx,ecx\r
- rep movsb\r
- mov esi,edi\r
- sub esi,ebx\r
- jmp L_do_copy1_mmx\r
-\r
- cmp edx,ecx\r
- jbe L_do_copy1_mmx\r
-\r
- sub edx,ecx\r
- rep movsb\r
- mov esi,edi\r
- sub esi,ebx\r
- jmp L_do_copy1_mmx\r
-\r
-L_wrap_around_window_mmx: \r
-\r
- mov eax, [esp+48]\r
- cmp ecx,eax\r
- jbe L_contiguous_in_window_mmx\r
-\r
- add esi, [esp+52]\r
- add esi,eax\r
- sub esi,ecx\r
- sub ecx,eax\r
-\r
-\r
- cmp edx,ecx\r
- jbe L_do_copy1_mmx\r
-\r
- sub edx,ecx\r
- rep movsb\r
- mov esi, [esp+56]\r
- mov ecx, [esp+48]\r
- cmp edx,ecx\r
- jbe L_do_copy1_mmx\r
-\r
- sub edx,ecx\r
- rep movsb\r
- mov esi,edi\r
- sub esi,ebx\r
- jmp L_do_copy1_mmx\r
-\r
-L_contiguous_in_window_mmx: \r
-\r
- add esi,eax\r
- sub esi,ecx\r
-\r
-\r
- cmp edx,ecx\r
- jbe L_do_copy1_mmx\r
-\r
- sub edx,ecx\r
- rep movsb\r
- mov esi,edi\r
- sub esi,ebx\r
-\r
-L_do_copy1_mmx: \r
-\r
-\r
- mov ecx,edx\r
- rep movsb\r
-\r
- mov esi, [esp+44]\r
- mov ebx, [esp+8]\r
- jmp L_while_test_mmx\r
-; 1174 "inffast.S"\r
-L_invalid_distance_code: \r
-\r
-\r
-\r
-\r
-\r
- mov ecx, invalid_distance_code_msg\r
- mov edx,26\r
- jmp L_update_stream_state\r
-\r
-L_test_for_end_of_block: \r
-\r
-\r
-\r
-\r
-\r
- test al,32\r
- jz L_invalid_literal_length_code\r
-\r
- mov ecx,0\r
- mov edx,11\r
- jmp L_update_stream_state\r
-\r
-L_invalid_literal_length_code: \r
-\r
-\r
-\r
-\r
-\r
- mov ecx, invalid_literal_length_code_msg\r
- mov edx,26\r
- jmp L_update_stream_state\r
-\r
-L_invalid_distance_too_far: \r
-\r
-\r
-\r
- mov esi, [esp+44]\r
- mov ecx, invalid_distance_too_far_msg\r
- mov edx,26\r
- jmp L_update_stream_state\r
-\r
-L_update_stream_state: \r
-\r
- mov eax, [esp+88]\r
- test ecx,ecx\r
- jz L_skip_msg\r
- mov [eax+24],ecx\r
-L_skip_msg: \r
- mov eax, [eax+28]\r
- mov [eax+0],edx\r
- jmp L_break_loop\r
-\r
-ALIGN 4\r
-L_break_loop: \r
-; 1243 "inffast.S"\r
- cmp dword ptr [inflate_fast_use_mmx],2\r
- jne L_update_next_in\r
-\r
-\r
-\r
- mov ebx,ebp\r
-\r
-L_update_next_in: \r
-; 1266 "inffast.S"\r
- mov eax, [esp+88]\r
- mov ecx,ebx\r
- mov edx, [eax+28]\r
- shr ecx,3\r
- sub esi,ecx\r
- shl ecx,3\r
- sub ebx,ecx\r
- mov [eax+12],edi\r
- mov [edx+48],ebx\r
- mov ecx,ebx\r
-\r
- lea ebx, [esp+28]\r
- cmp [esp+20],ebx\r
- jne L_buf_not_used\r
-\r
- sub esi,ebx\r
- mov ebx, [eax+0]\r
- mov [esp+20],ebx\r
- add esi,ebx\r
- mov ebx, [eax+4]\r
- sub ebx,11\r
- add [esp+20],ebx\r
-\r
-L_buf_not_used: \r
- mov [eax+0],esi\r
-\r
- mov ebx,1\r
- shl ebx,cl\r
- dec ebx\r
-\r
-\r
-\r
-\r
-\r
- cmp dword ptr [inflate_fast_use_mmx],2\r
- jne L_update_hold\r
-\r
-\r
-\r
- psrlq mm0,mm1\r
- movd ebp,mm0\r
-\r
- emms\r
-\r
-L_update_hold: \r
-\r
-\r
-\r
- and ebp,ebx\r
- mov [edx+44],ebp\r
-\r
-\r
-\r
-\r
- mov ebx, [esp+20]\r
- cmp ebx,esi\r
- jbe L_last_is_smaller\r
-\r
- sub ebx,esi\r
- add ebx,11\r
- mov [eax+4],ebx\r
- jmp L_fixup_out\r
-L_last_is_smaller: \r
- sub esi,ebx\r
- neg esi\r
- add esi,11\r
- mov [eax+4],esi\r
-\r
-\r
-\r
-\r
-L_fixup_out: \r
-\r
- mov ebx, [esp+16]\r
- cmp ebx,edi\r
- jbe L_end_is_smaller\r
-\r
- sub ebx,edi\r
- add ebx,257\r
- mov [eax+16],ebx\r
- jmp L_done\r
-L_end_is_smaller: \r
- sub edi,ebx\r
- neg edi\r
- add edi,257\r
- mov [eax+16],edi\r
-\r
-\r
-\r
-\r
-\r
-L_done: \r
- add esp,64\r
- popfd\r
- pop ebx\r
- pop ebp\r
- pop esi\r
- pop edi\r
- ret\r
-\r
-\r
-\r
-\r
-_TEXT ends\r
-end\r
+++ /dev/null
-<?xml version="1.0" encoding = "Windows-1252"?>\r
-<VisualStudioProject\r
- ProjectType="Visual C++"\r
- Version="7.00"\r
- Name="miniunz"\r
- ProjectGUID="{C52F9E7B-498A-42BE-8DB4-85A15694382A}"\r
- Keyword="Win32Proj">\r
- <Platforms>\r
- <Platform\r
- Name="Win32"/>\r
- </Platforms>\r
- <Configurations>\r
- <Configuration\r
- Name="Debug|Win32"\r
- OutputDirectory="Debug"\r
- IntermediateDirectory="Debug"\r
- ConfigurationType="1"\r
- CharacterSet="2">\r
- <Tool\r
- Name="VCCLCompilerTool"\r
- Optimization="0"\r
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"\r
- MinimalRebuild="TRUE"\r
- BasicRuntimeChecks="3"\r
- RuntimeLibrary="5"\r
- UsePrecompiledHeader="0"\r
- WarningLevel="3"\r
- Detect64BitPortabilityProblems="TRUE"\r
- DebugInformationFormat="4"/>\r
- <Tool\r
- Name="VCCustomBuildTool"/>\r
- <Tool\r
- Name="VCLinkerTool"\r
- OutputFile="$(OutDir)/miniunz.exe"\r
- LinkIncremental="2"\r
- GenerateDebugInformation="TRUE"\r
- ProgramDatabaseFile="$(OutDir)/miniunz.pdb"\r
- SubSystem="1"\r
- TargetMachine="1"/>\r
- <Tool\r
- Name="VCMIDLTool"/>\r
- <Tool\r
- Name="VCPostBuildEventTool"/>\r
- <Tool\r
- Name="VCPreBuildEventTool"/>\r
- <Tool\r
- Name="VCPreLinkEventTool"/>\r
- <Tool\r
- Name="VCResourceCompilerTool"/>\r
- <Tool\r
- Name="VCWebServiceProxyGeneratorTool"/>\r
- <Tool\r
- Name="VCWebDeploymentTool"/>\r
- </Configuration>\r
- <Configuration\r
- Name="Release|Win32"\r
- OutputDirectory="Release"\r
- IntermediateDirectory="Release"\r
- ConfigurationType="1"\r
- CharacterSet="2">\r
- <Tool\r
- Name="VCCLCompilerTool"\r
- Optimization="2"\r
- InlineFunctionExpansion="1"\r
- OmitFramePointers="TRUE"\r
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"\r
- StringPooling="TRUE"\r
- RuntimeLibrary="4"\r
- EnableFunctionLevelLinking="TRUE"\r
- UsePrecompiledHeader="0"\r
- WarningLevel="3"\r
- Detect64BitPortabilityProblems="TRUE"\r
- DebugInformationFormat="3"/>\r
- <Tool\r
- Name="VCCustomBuildTool"/>\r
- <Tool\r
- Name="VCLinkerTool"\r
- OutputFile="$(OutDir)/miniunz.exe"\r
- LinkIncremental="1"\r
- GenerateDebugInformation="TRUE"\r
- SubSystem="1"\r
- OptimizeReferences="2"\r
- EnableCOMDATFolding="2"\r
- OptimizeForWindows98="1"\r
- TargetMachine="1"/>\r
- <Tool\r
- Name="VCMIDLTool"/>\r
- <Tool\r
- Name="VCPostBuildEventTool"/>\r
- <Tool\r
- Name="VCPreBuildEventTool"/>\r
- <Tool\r
- Name="VCPreLinkEventTool"/>\r
- <Tool\r
- Name="VCResourceCompilerTool"/>\r
- <Tool\r
- Name="VCWebServiceProxyGeneratorTool"/>\r
- <Tool\r
- Name="VCWebDeploymentTool"/>\r
- </Configuration>\r
- </Configurations>\r
- <Files>\r
- <Filter\r
- Name="Source Files"\r
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm">\r
- <File\r
- RelativePath="miniunz.c">\r
- </File>\r
- </Filter>\r
- <Filter\r
- Name="Header Files"\r
- Filter="h;hpp;hxx;hm;inl;inc">\r
- </Filter>\r
- <Filter\r
- Name="Resource Files"\r
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">\r
- </Filter>\r
- <File\r
- RelativePath="zlib.lib">\r
- </File>\r
- </Files>\r
- <Globals>\r
- </Globals>\r
-</VisualStudioProject>\r
+++ /dev/null
-<?xml version="1.0" encoding = "Windows-1252"?>\r
-<VisualStudioProject\r
- ProjectType="Visual C++"\r
- Version="7.00"\r
- Name="minizip"\r
- ProjectGUID="{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}"\r
- Keyword="Win32Proj">\r
- <Platforms>\r
- <Platform\r
- Name="Win32"/>\r
- </Platforms>\r
- <Configurations>\r
- <Configuration\r
- Name="Debug|Win32"\r
- OutputDirectory="Debug"\r
- IntermediateDirectory="Debug"\r
- ConfigurationType="1"\r
- CharacterSet="2">\r
- <Tool\r
- Name="VCCLCompilerTool"\r
- Optimization="0"\r
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"\r
- MinimalRebuild="TRUE"\r
- BasicRuntimeChecks="3"\r
- RuntimeLibrary="5"\r
- UsePrecompiledHeader="0"\r
- WarningLevel="3"\r
- Detect64BitPortabilityProblems="TRUE"\r
- DebugInformationFormat="4"/>\r
- <Tool\r
- Name="VCCustomBuildTool"/>\r
- <Tool\r
- Name="VCLinkerTool"\r
- OutputFile="$(OutDir)/minizip.exe"\r
- LinkIncremental="2"\r
- GenerateDebugInformation="TRUE"\r
- ProgramDatabaseFile="$(OutDir)/minizip.pdb"\r
- SubSystem="1"\r
- TargetMachine="1"/>\r
- <Tool\r
- Name="VCMIDLTool"/>\r
- <Tool\r
- Name="VCPostBuildEventTool"/>\r
- <Tool\r
- Name="VCPreBuildEventTool"/>\r
- <Tool\r
- Name="VCPreLinkEventTool"/>\r
- <Tool\r
- Name="VCResourceCompilerTool"/>\r
- <Tool\r
- Name="VCWebServiceProxyGeneratorTool"/>\r
- <Tool\r
- Name="VCWebDeploymentTool"/>\r
- </Configuration>\r
- <Configuration\r
- Name="Release|Win32"\r
- OutputDirectory="Release"\r
- IntermediateDirectory="Release"\r
- ConfigurationType="1"\r
- CharacterSet="2">\r
- <Tool\r
- Name="VCCLCompilerTool"\r
- Optimization="2"\r
- InlineFunctionExpansion="1"\r
- OmitFramePointers="TRUE"\r
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"\r
- StringPooling="TRUE"\r
- RuntimeLibrary="4"\r
- EnableFunctionLevelLinking="TRUE"\r
- UsePrecompiledHeader="0"\r
- WarningLevel="3"\r
- Detect64BitPortabilityProblems="TRUE"\r
- DebugInformationFormat="3"/>\r
- <Tool\r
- Name="VCCustomBuildTool"/>\r
- <Tool\r
- Name="VCLinkerTool"\r
- OutputFile="$(OutDir)/minizip.exe"\r
- LinkIncremental="1"\r
- GenerateDebugInformation="TRUE"\r
- SubSystem="1"\r
- OptimizeReferences="2"\r
- EnableCOMDATFolding="2"\r
- OptimizeForWindows98="1"\r
- TargetMachine="1"/>\r
- <Tool\r
- Name="VCMIDLTool"/>\r
- <Tool\r
- Name="VCPostBuildEventTool"/>\r
- <Tool\r
- Name="VCPreBuildEventTool"/>\r
- <Tool\r
- Name="VCPreLinkEventTool"/>\r
- <Tool\r
- Name="VCResourceCompilerTool"/>\r
- <Tool\r
- Name="VCWebServiceProxyGeneratorTool"/>\r
- <Tool\r
- Name="VCWebDeploymentTool"/>\r
- </Configuration>\r
- </Configurations>\r
- <Files>\r
- <Filter\r
- Name="Source Files"\r
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm">\r
- <File\r
- RelativePath="minizip.c">\r
- </File>\r
- </Filter>\r
- <Filter\r
- Name="Header Files"\r
- Filter="h;hpp;hxx;hm;inl;inc">\r
- </Filter>\r
- <Filter\r
- Name="Resource Files"\r
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">\r
- </Filter>\r
- <File\r
- RelativePath="zlib.lib">\r
- </File>\r
- </Files>\r
- <Globals>\r
- </Globals>\r
-</VisualStudioProject>\r
+++ /dev/null
-c:\masm611\bin\ml /coff /Zi /c /Flgvmat32.lst gvmat32.asm\r
-c:\masm611\bin\ml /coff /Zi /c /FlinffastAsm.lst inffastAsm.asm\r
+++ /dev/null
-#include <windows.h>\r
-\r
-#define IDR_VERSION1 1\r
-IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE\r
- FILEVERSION 1,2,0,0\r
- PRODUCTVERSION 1,2,0,0\r
- FILEFLAGSMASK VS_FFI_FILEFLAGSMASK\r
- FILEFLAGS 0\r
- FILEOS VOS_DOS_WINDOWS32\r
- FILETYPE VFT_DLL\r
- FILESUBTYPE 0 // not used\r
-BEGIN\r
- BLOCK "StringFileInfo"\r
- BEGIN\r
- BLOCK "040904E4"\r
- //language ID = U.S. English, char set = Windows, Multilingual\r
-\r
- BEGIN\r
- VALUE "FileDescription", "zlib data compression library\0"\r
- VALUE "FileVersion", "1.2.0.0\0"\r
- VALUE "InternalName", "zlib\0"\r
- VALUE "OriginalFilename", "zlib.dll\0"\r
- VALUE "ProductName", "ZLib.DLL\0"\r
- VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"\r
- VALUE "LegalCopyright", "(C) 1995-2003 Jean-loup Gailly & Mark Adler\0"\r
- END\r
- END\r
- BLOCK "VarFileInfo"\r
- BEGIN\r
- VALUE "Translation", 0x0409, 1252\r
- END\r
-END\r
+++ /dev/null
-<?xml version="1.0" encoding = "Windows-1252"?>\r
-<VisualStudioProject\r
- ProjectType="Visual C++"\r
- Version="7.00"\r
- Name="zlibstat"\r
- SccProjectName=""\r
- SccLocalPath="">\r
- <Platforms>\r
- <Platform\r
- Name="Win32"/>\r
- </Platforms>\r
- <Configurations>\r
- <Configuration\r
- Name="Debug|Win32"\r
- OutputDirectory=".\zlibstatDebug"\r
- IntermediateDirectory=".\zlibstatDebug"\r
- ConfigurationType="4"\r
- UseOfMFC="0"\r
- ATLMinimizesCRunTimeLibraryUsage="FALSE">\r
- <Tool\r
- Name="VCCLCompilerTool"\r
- Optimization="0"\r
- PreprocessorDefinitions="WIN32"\r
- ExceptionHandling="FALSE"\r
- RuntimeLibrary="5"\r
- PrecompiledHeaderFile=".\zlibstatDebug/zlibstat.pch"\r
- AssemblerListingLocation=".\zlibstatDebug/"\r
- ObjectFile=".\zlibstatDebug/"\r
- ProgramDataBaseFileName=".\zlibstatDebug/"\r
- WarningLevel="3"\r
- SuppressStartupBanner="TRUE"\r
- DebugInformationFormat="1"/>\r
- <Tool\r
- Name="VCCustomBuildTool"/>\r
- <Tool\r
- Name="VCLibrarianTool"\r
- AdditionalOptions="/NODEFAULTLIB "\r
- OutputFile=".\zlibstatDebug\zlibstat.lib"\r
- SuppressStartupBanner="TRUE"/>\r
- <Tool\r
- Name="VCMIDLTool"/>\r
- <Tool\r
- Name="VCPostBuildEventTool"/>\r
- <Tool\r
- Name="VCPreBuildEventTool"/>\r
- <Tool\r
- Name="VCPreLinkEventTool"/>\r
- <Tool\r
- Name="VCResourceCompilerTool"\r
- Culture="1036"/>\r
- <Tool\r
- Name="VCWebServiceProxyGeneratorTool"/>\r
- </Configuration>\r
- <Configuration\r
- Name="ReleaseAxp|Win32"\r
- OutputDirectory=".\zlibsta0"\r
- IntermediateDirectory=".\zlibsta0"\r
- ConfigurationType="4"\r
- UseOfMFC="0"\r
- ATLMinimizesCRunTimeLibraryUsage="FALSE">\r
- <Tool\r
- Name="VCCLCompilerTool"\r
- InlineFunctionExpansion="1"\r
- PreprocessorDefinitions="WIN32"\r
- StringPooling="TRUE"\r
- ExceptionHandling="FALSE"\r
- RuntimeLibrary="4"\r
- EnableFunctionLevelLinking="TRUE"\r
- PrecompiledHeaderFile=".\zlibsta0/zlibstat.pch"\r
- AssemblerListingLocation=".\zlibsta0/"\r
- ObjectFile=".\zlibsta0/"\r
- ProgramDataBaseFileName=".\zlibsta0/"\r
- WarningLevel="3"\r
- SuppressStartupBanner="TRUE"/>\r
- <Tool\r
- Name="VCCustomBuildTool"/>\r
- <Tool\r
- Name="VCLibrarianTool"\r
- AdditionalOptions="/NODEFAULTLIB "\r
- OutputFile=".\zlibsta0\zlibstat.lib"\r
- SuppressStartupBanner="TRUE"/>\r
- <Tool\r
- Name="VCMIDLTool"/>\r
- <Tool\r
- Name="VCPostBuildEventTool"/>\r
- <Tool\r
- Name="VCPreBuildEventTool"/>\r
- <Tool\r
- Name="VCPreLinkEventTool"/>\r
- <Tool\r
- Name="VCResourceCompilerTool"/>\r
- <Tool\r
- Name="VCWebServiceProxyGeneratorTool"/>\r
- </Configuration>\r
- <Configuration\r
- Name="Release|Win32"\r
- OutputDirectory=".\zlibstat"\r
- IntermediateDirectory=".\zlibstat"\r
- ConfigurationType="4"\r
- UseOfMFC="0"\r
- ATLMinimizesCRunTimeLibraryUsage="FALSE">\r
- <Tool\r
- Name="VCCLCompilerTool"\r
- InlineFunctionExpansion="1"\r
- PreprocessorDefinitions="WIN32,ASMV"\r
- StringPooling="TRUE"\r
- ExceptionHandling="FALSE"\r
- RuntimeLibrary="4"\r
- EnableFunctionLevelLinking="TRUE"\r
- PrecompiledHeaderFile=".\zlibstat/zlibstat.pch"\r
- AssemblerListingLocation=".\zlibstat/"\r
- ObjectFile=".\zlibstat/"\r
- ProgramDataBaseFileName=".\zlibstat/"\r
- WarningLevel="3"\r
- SuppressStartupBanner="TRUE"/>\r
- <Tool\r
- Name="VCCustomBuildTool"/>\r
- <Tool\r
- Name="VCLibrarianTool"\r
- AdditionalOptions="gvmat32.obj inffastAsm.obj /NODEFAULTLIB "\r
- OutputFile=".\zlibstat\zlibstat.lib"\r
- SuppressStartupBanner="TRUE"/>\r
- <Tool\r
- Name="VCMIDLTool"/>\r
- <Tool\r
- Name="VCPostBuildEventTool"/>\r
- <Tool\r
- Name="VCPreBuildEventTool"/>\r
- <Tool\r
- Name="VCPreLinkEventTool"/>\r
- <Tool\r
- Name="VCResourceCompilerTool"\r
- Culture="1036"/>\r
- <Tool\r
- Name="VCWebServiceProxyGeneratorTool"/>\r
- </Configuration>\r
- <Configuration\r
- Name="ReleaseWithoutAsm|Win32"\r
- OutputDirectory="zlibstatWithoutAsm"\r
- IntermediateDirectory="zlibstatWithoutAsm"\r
- ConfigurationType="4"\r
- UseOfMFC="0"\r
- ATLMinimizesCRunTimeLibraryUsage="FALSE">\r
- <Tool\r
- Name="VCCLCompilerTool"\r
- InlineFunctionExpansion="1"\r
- PreprocessorDefinitions="WIN32"\r
- StringPooling="TRUE"\r
- ExceptionHandling="FALSE"\r
- RuntimeLibrary="4"\r
- EnableFunctionLevelLinking="TRUE"\r
- PrecompiledHeaderFile=".\zlibstat/zlibstat.pch"\r
- AssemblerListingLocation=".\zlibstatWithoutAsm/"\r
- ObjectFile=".\zlibstatWithoutAsm/"\r
- ProgramDataBaseFileName=".\zlibstatWithoutAsm/"\r
- WarningLevel="3"\r
- SuppressStartupBanner="TRUE"/>\r
- <Tool\r
- Name="VCCustomBuildTool"/>\r
- <Tool\r
- Name="VCLibrarianTool"\r
- AdditionalOptions=" /NODEFAULTLIB "\r
- OutputFile=".\zlibstatWithoutAsm\zlibstat.lib"\r
- SuppressStartupBanner="TRUE"/>\r
- <Tool\r
- Name="VCMIDLTool"/>\r
- <Tool\r
- Name="VCPostBuildEventTool"/>\r
- <Tool\r
- Name="VCPreBuildEventTool"/>\r
- <Tool\r
- Name="VCPreLinkEventTool"/>\r
- <Tool\r
- Name="VCResourceCompilerTool"\r
- Culture="1036"/>\r
- <Tool\r
- Name="VCWebServiceProxyGeneratorTool"/>\r
- </Configuration>\r
- </Configurations>\r
- <Files>\r
- <Filter\r
- Name="Source Files"\r
- Filter="">\r
- <File\r
- RelativePath=".\adler32.c">\r
- </File>\r
- <File\r
- RelativePath=".\compress.c">\r
- </File>\r
- <File\r
- RelativePath=".\crc32.c">\r
- </File>\r
- <File\r
- RelativePath=".\deflate.c">\r
- </File>\r
- <File\r
- RelativePath=".\gvmat32c.c">\r
- </File>\r
- <File\r
- RelativePath=".\gzio.c">\r
- </File>\r
- <File\r
- RelativePath=".\infback.c">\r
- </File>\r
- <File\r
- RelativePath=".\inffast.c">\r
- <FileConfiguration\r
- Name="Release|Win32"\r
- ExcludedFromBuild="TRUE">\r
- <Tool\r
- Name="VCCLCompilerTool"/>\r
- </FileConfiguration>\r
- <FileConfiguration\r
- Name="ReleaseWithoutAsm|Win32">\r
- <Tool\r
- Name="VCCLCompilerTool"/>\r
- </FileConfiguration>\r
- </File>\r
- <File\r
- RelativePath=".\inflate.c">\r
- </File>\r
- <File\r
- RelativePath=".\inftrees.c">\r
- </File>\r
- <File\r
- RelativePath=".\ioapi.c">\r
- </File>\r
- <File\r
- RelativePath=".\trees.c">\r
- </File>\r
- <File\r
- RelativePath=".\uncompr.c">\r
- </File>\r
- <File\r
- RelativePath=".\unzip.c">\r
- </File>\r
- <File\r
- RelativePath=".\zip.c">\r
- </File>\r
- <File\r
- RelativePath=".\zlib.rc">\r
- </File>\r
- <File\r
- RelativePath=".\zlibvc.def">\r
- </File>\r
- <File\r
- RelativePath=".\zutil.c">\r
- </File>\r
- </Filter>\r
- </Files>\r
- <Globals>\r
- </Globals>\r
-</VisualStudioProject>\r
+++ /dev/null
-LIBRARY "zlib"\r
-\r
-VERSION 1.20\r
-\r
-HEAPSIZE 1048576,8192\r
-\r
-EXPORTS\r
- adler32 @1\r
- compress @2\r
- crc32 @3\r
- deflate @4\r
- deflateCopy @5\r
- deflateEnd @6\r
- deflateInit2_ @7\r
- deflateInit_ @8\r
- deflateParams @9\r
- deflateReset @10\r
- deflateSetDictionary @11\r
- gzclose @12\r
- gzdopen @13\r
- gzerror @14\r
- gzflush @15\r
- gzopen @16\r
- gzread @17\r
- gzwrite @18\r
- inflate @19\r
- inflateEnd @20\r
- inflateInit2_ @21\r
- inflateInit_ @22\r
- inflateReset @23\r
- inflateSetDictionary @24\r
- inflateSync @25\r
- uncompress @26\r
- zlibVersion @27\r
- gzprintf @28\r
- gzputc @29\r
- gzgetc @30\r
- gzseek @31\r
- gzrewind @32\r
- gztell @33\r
- gzeof @34\r
- gzsetparams @35\r
- zError @36\r
- inflateSyncPoint @37\r
- get_crc_table @38\r
- compress2 @39\r
- gzputs @40\r
- gzgets @41\r
- inflateCopy @42\r
- inflateBackInit_ @43\r
- inflateBack @44\r
- inflateBackEnd @45\r
- compressBound @46\r
-\r
- unzOpen @61\r
- unzClose @62\r
- unzGetGlobalInfo @63\r
- unzGetCurrentFileInfo @64\r
- unzGoToFirstFile @65\r
- unzGoToNextFile @66\r
- unzOpenCurrentFile @67\r
- unzReadCurrentFile @68\r
- unzOpenCurrentFile3 @69\r
- unztell @70\r
- unzeof @71\r
- unzCloseCurrentFile @72\r
- unzGetGlobalComment @73\r
- unzStringFileNameCompare @74\r
- unzLocateFile @75\r
- unzGetLocalExtrafield @76\r
- unzOpen2 @77\r
- unzOpenCurrentFile2 @78\r
- unzOpenCurrentFilePassword @79\r
-\r
- zipOpen @80\r
- zipOpenNewFileInZip @81\r
- zipWriteInFileInZip @82\r
- zipCloseFileInZip @83\r
- zipClose @84\r
- zipOpenNewFileInZip2 @86\r
- zipCloseFileInZipRaw @87\r
- zipOpen2 @88\r
- zipOpenNewFileInZip3 @89\r
-\r
- unzGetFilePos @100\r
- unzGoToFilePos @101\r
-\r
- fill_win32_filefunc @110\r
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 7.00\r
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibstat", "zlibstat.vcproj", "{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}"\r
-EndProject\r
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibvc", "zlibvc.vcproj", "{8FD826F8-3739-44E6-8CC8-997122E53B8D}"\r
-EndProject\r
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "minizip", "minizip.vcproj", "{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}"\r
-EndProject\r
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "miniunz", "miniunz.vcproj", "{C52F9E7B-498A-42BE-8DB4-85A15694382A}"\r
-EndProject\r
-Global\r
- GlobalSection(SolutionConfiguration) = preSolution\r
- ConfigName.0 = Debug\r
- ConfigName.1 = Release\r
- ConfigName.2 = ReleaseAxp\r
- ConfigName.3 = ReleaseWithoutAsm\r
- ConfigName.4 = ReleaseWithoutCrtdll\r
- EndGlobalSection\r
- GlobalSection(ProjectDependencies) = postSolution\r
- EndGlobalSection\r
- GlobalSection(ProjectConfiguration) = postSolution\r
- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug.ActiveCfg = Debug|Win32\r
- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug.Build.0 = Debug|Win32\r
- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release.ActiveCfg = Release|Win32\r
- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release.Build.0 = Release|Win32\r
- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseAxp.ActiveCfg = ReleaseAxp|Win32\r
- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseAxp.Build.0 = ReleaseAxp|Win32\r
- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm.ActiveCfg = ReleaseWithoutAsm|Win32\r
- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm.Build.0 = ReleaseWithoutAsm|Win32\r
- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutCrtdll.ActiveCfg = ReleaseAxp|Win32\r
- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutCrtdll.Build.0 = ReleaseAxp|Win32\r
- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug.ActiveCfg = Debug|Win32\r
- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug.Build.0 = Debug|Win32\r
- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release.ActiveCfg = Release|Win32\r
- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release.Build.0 = Release|Win32\r
- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseAxp.ActiveCfg = ReleaseAxp|Win32\r
- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseAxp.Build.0 = ReleaseAxp|Win32\r
- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm.ActiveCfg = ReleaseWithoutAsm|Win32\r
- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm.Build.0 = ReleaseWithoutAsm|Win32\r
- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutCrtdll.ActiveCfg = ReleaseWithoutCrtdll|Win32\r
- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutCrtdll.Build.0 = ReleaseWithoutCrtdll|Win32\r
- {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug.ActiveCfg = Debug|Win32\r
- {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug.Build.0 = Debug|Win32\r
- {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release.ActiveCfg = Release|Win32\r
- {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release.Build.0 = Release|Win32\r
- {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseAxp.ActiveCfg = Release|Win32\r
- {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseAxp.Build.0 = Release|Win32\r
- {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm.ActiveCfg = Release|Win32\r
- {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm.Build.0 = Release|Win32\r
- {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutCrtdll.ActiveCfg = Release|Win32\r
- {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutCrtdll.Build.0 = Release|Win32\r
- {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug.ActiveCfg = Debug|Win32\r
- {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug.Build.0 = Debug|Win32\r
- {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release.ActiveCfg = Release|Win32\r
- {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release.Build.0 = Release|Win32\r
- {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseAxp.ActiveCfg = Release|Win32\r
- {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseAxp.Build.0 = Release|Win32\r
- {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm.ActiveCfg = Release|Win32\r
- {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm.Build.0 = Release|Win32\r
- {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutCrtdll.ActiveCfg = Release|Win32\r
- {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutCrtdll.Build.0 = Release|Win32\r
- EndGlobalSection\r
- GlobalSection(ExtensibilityGlobals) = postSolution\r
- EndGlobalSection\r
- GlobalSection(ExtensibilityAddIns) = postSolution\r
- EndGlobalSection\r
-EndGlobal\r
+++ /dev/null
-<?xml version="1.0" encoding = "Windows-1252"?>\r
-<VisualStudioProject\r
- ProjectType="Visual C++"\r
- Version="7.00"\r
- Name="zlibvc"\r
- SccProjectName=""\r
- SccLocalPath="">\r
- <Platforms>\r
- <Platform\r
- Name="Win32"/>\r
- </Platforms>\r
- <Configurations>\r
- <Configuration\r
- Name="Debug|Win32"\r
- OutputDirectory=".\DebugDll"\r
- IntermediateDirectory=".\DebugDll"\r
- ConfigurationType="2"\r
- UseOfMFC="0"\r
- ATLMinimizesCRunTimeLibraryUsage="FALSE">\r
- <Tool\r
- Name="VCCLCompilerTool"\r
- Optimization="0"\r
- PreprocessorDefinitions="WIN32,ASMV"\r
- ExceptionHandling="FALSE"\r
- RuntimeLibrary="1"\r
- PrecompiledHeaderFile=".\DebugDll/zlibvc.pch"\r
- AssemblerListingLocation=".\DebugDll/"\r
- ObjectFile=".\DebugDll/"\r
- ProgramDataBaseFileName=".\DebugDll/"\r
- WarningLevel="3"\r
- SuppressStartupBanner="TRUE"\r
- DebugInformationFormat="4"/>\r
- <Tool\r
- Name="VCCustomBuildTool"/>\r
- <Tool\r
- Name="VCLinkerTool"\r
- AdditionalOptions="/MACHINE:I386"\r
- AdditionalDependencies="gvmat32.obj "\r
- OutputFile=".\DebugDll\zlib.dll"\r
- LinkIncremental="2"\r
- SuppressStartupBanner="TRUE"\r
- ModuleDefinitionFile=".\zlibvc.def"\r
- GenerateDebugInformation="TRUE"\r
- ProgramDatabaseFile=".\DebugDll/zlib.pdb"\r
- SubSystem="2"\r
- ImportLibrary=".\DebugDll/zlib.lib"/>\r
- <Tool\r
- Name="VCMIDLTool"\r
- PreprocessorDefinitions="_DEBUG"\r
- MkTypLibCompatible="TRUE"\r
- SuppressStartupBanner="TRUE"\r
- TargetEnvironment="1"\r
- TypeLibraryName=".\DebugDll/zlibvc.tlb"/>\r
- <Tool\r
- Name="VCPostBuildEventTool"/>\r
- <Tool\r
- Name="VCPreBuildEventTool"/>\r
- <Tool\r
- Name="VCPreLinkEventTool"/>\r
- <Tool\r
- Name="VCResourceCompilerTool"\r
- PreprocessorDefinitions="_DEBUG"\r
- Culture="1036"/>\r
- <Tool\r
- Name="VCWebServiceProxyGeneratorTool"/>\r
- <Tool\r
- Name="VCWebDeploymentTool"/>\r
- </Configuration>\r
- <Configuration\r
- Name="ReleaseWithoutAsm|Win32"\r
- OutputDirectory=".\zlibDllWithoutAsm"\r
- IntermediateDirectory=".\zlibDllWithoutAsm"\r
- ConfigurationType="2"\r
- UseOfMFC="0"\r
- ATLMinimizesCRunTimeLibraryUsage="FALSE">\r
- <Tool\r
- Name="VCCLCompilerTool"\r
- InlineFunctionExpansion="1"\r
- PreprocessorDefinitions="WIN32"\r
- StringPooling="TRUE"\r
- ExceptionHandling="FALSE"\r
- RuntimeLibrary="0"\r
- EnableFunctionLevelLinking="TRUE"\r
- PrecompiledHeaderFile=".\zlibDllWithoutAsm/zlibvc.pch"\r
- AssemblerOutput="2"\r
- AssemblerListingLocation=".\zlibDllWithoutAsm/"\r
- ObjectFile=".\zlibDllWithoutAsm/"\r
- ProgramDataBaseFileName=".\zlibDllWithoutAsm/"\r
- BrowseInformation="1"\r
- WarningLevel="3"\r
- SuppressStartupBanner="TRUE"/>\r
- <Tool\r
- Name="VCCustomBuildTool"/>\r
- <Tool\r
- Name="VCLinkerTool"\r
- AdditionalOptions="/MACHINE:I386"\r
- AdditionalDependencies="crtdll.lib"\r
- OutputFile=".\zlibDllWithoutAsm\zlib.dll"\r
- LinkIncremental="1"\r
- SuppressStartupBanner="TRUE"\r
- IgnoreAllDefaultLibraries="TRUE"\r
- ModuleDefinitionFile=".\zlibvc.def"\r
- ProgramDatabaseFile=".\zlibDllWithoutAsm/zlib.pdb"\r
- GenerateMapFile="TRUE"\r
- MapFileName=".\zlibDllWithoutAsm/zlib.map"\r
- SubSystem="2"\r
- OptimizeForWindows98="1"\r
- ImportLibrary=".\zlibDllWithoutAsm/zlib.lib"/>\r
- <Tool\r
- Name="VCMIDLTool"\r
- PreprocessorDefinitions="NDEBUG"\r
- MkTypLibCompatible="TRUE"\r
- SuppressStartupBanner="TRUE"\r
- TargetEnvironment="1"\r
- TypeLibraryName=".\zlibDllWithoutAsm/zlibvc.tlb"/>\r
- <Tool\r
- Name="VCPostBuildEventTool"/>\r
- <Tool\r
- Name="VCPreBuildEventTool"/>\r
- <Tool\r
- Name="VCPreLinkEventTool"/>\r
- <Tool\r
- Name="VCResourceCompilerTool"\r
- PreprocessorDefinitions="NDEBUG"\r
- Culture="1036"/>\r
- <Tool\r
- Name="VCWebServiceProxyGeneratorTool"/>\r
- <Tool\r
- Name="VCWebDeploymentTool"/>\r
- </Configuration>\r
- <Configuration\r
- Name="ReleaseWithoutCrtdll|Win32"\r
- OutputDirectory=".\zlibDllWithoutCrtDll"\r
- IntermediateDirectory=".\zlibDllWithoutCrtDll"\r
- ConfigurationType="2"\r
- UseOfMFC="0"\r
- ATLMinimizesCRunTimeLibraryUsage="FALSE">\r
- <Tool\r
- Name="VCCLCompilerTool"\r
- InlineFunctionExpansion="1"\r
- PreprocessorDefinitions="WIN32,ASMV"\r
- StringPooling="TRUE"\r
- ExceptionHandling="FALSE"\r
- RuntimeLibrary="0"\r
- EnableFunctionLevelLinking="TRUE"\r
- PrecompiledHeaderFile=".\zlibDllWithoutCrtDll/zlibvc.pch"\r
- AssemblerOutput="2"\r
- AssemblerListingLocation=".\zlibDllWithoutCrtDll/"\r
- ObjectFile=".\zlibDllWithoutCrtDll/"\r
- ProgramDataBaseFileName=".\zlibDllWithoutCrtDll/"\r
- BrowseInformation="1"\r
- WarningLevel="3"\r
- SuppressStartupBanner="TRUE"/>\r
- <Tool\r
- Name="VCCustomBuildTool"/>\r
- <Tool\r
- Name="VCLinkerTool"\r
- AdditionalOptions="/MACHINE:I386"\r
- AdditionalDependencies="gvmat32.obj inffastAsm.obj "\r
- OutputFile=".\zlibDllWithoutCrtDll\zlib.dll"\r
- LinkIncremental="1"\r
- SuppressStartupBanner="TRUE"\r
- IgnoreAllDefaultLibraries="FALSE"\r
- ModuleDefinitionFile=".\zlibvc.def"\r
- ProgramDatabaseFile=".\zlibDllWithoutCrtDll/zlib.pdb"\r
- GenerateMapFile="TRUE"\r
- MapFileName=".\zlibDllWithoutCrtDll/zlib.map"\r
- SubSystem="2"\r
- OptimizeForWindows98="1"\r
- ImportLibrary=".\zlibDllWithoutCrtDll/zlib.lib"/>\r
- <Tool\r
- Name="VCMIDLTool"\r
- PreprocessorDefinitions="NDEBUG"\r
- MkTypLibCompatible="TRUE"\r
- SuppressStartupBanner="TRUE"\r
- TargetEnvironment="1"\r
- TypeLibraryName=".\zlibDllWithoutCrtDll/zlibvc.tlb"/>\r
- <Tool\r
- Name="VCPostBuildEventTool"/>\r
- <Tool\r
- Name="VCPreBuildEventTool"/>\r
- <Tool\r
- Name="VCPreLinkEventTool"/>\r
- <Tool\r
- Name="VCResourceCompilerTool"\r
- PreprocessorDefinitions="NDEBUG"\r
- Culture="1036"/>\r
- <Tool\r
- Name="VCWebServiceProxyGeneratorTool"/>\r
- <Tool\r
- Name="VCWebDeploymentTool"/>\r
- </Configuration>\r
- <Configuration\r
- Name="ReleaseAxp|Win32"\r
- OutputDirectory=".\zlibvc__"\r
- IntermediateDirectory=".\zlibvc__"\r
- ConfigurationType="2"\r
- UseOfMFC="0"\r
- ATLMinimizesCRunTimeLibraryUsage="FALSE">\r
- <Tool\r
- Name="VCCLCompilerTool"\r
- InlineFunctionExpansion="1"\r
- PreprocessorDefinitions="WIN32"\r
- StringPooling="TRUE"\r
- ExceptionHandling="FALSE"\r
- RuntimeLibrary="0"\r
- EnableFunctionLevelLinking="TRUE"\r
- PrecompiledHeaderFile=".\zlibvc__/zlibvc.pch"\r
- AssemblerOutput="2"\r
- AssemblerListingLocation=".\zlibvc__/"\r
- ObjectFile=".\zlibvc__/"\r
- ProgramDataBaseFileName=".\zlibvc__/"\r
- BrowseInformation="1"\r
- WarningLevel="3"\r
- SuppressStartupBanner="TRUE"/>\r
- <Tool\r
- Name="VCCustomBuildTool"/>\r
- <Tool\r
- Name="VCLinkerTool"\r
- AdditionalDependencies="crtdll.lib"\r
- OutputFile="zlibvc__\zlib.dll"\r
- LinkIncremental="1"\r
- SuppressStartupBanner="TRUE"\r
- IgnoreAllDefaultLibraries="TRUE"\r
- ModuleDefinitionFile=".\zlibvc.def"\r
- ProgramDatabaseFile=".\zlibvc__/zlib.pdb"\r
- GenerateMapFile="TRUE"\r
- MapFileName=".\zlibvc__/zlib.map"\r
- SubSystem="2"\r
- ImportLibrary=".\zlibvc__/zlib.lib"/>\r
- <Tool\r
- Name="VCMIDLTool"\r
- PreprocessorDefinitions="NDEBUG"\r
- MkTypLibCompatible="TRUE"\r
- SuppressStartupBanner="TRUE"\r
- TargetEnvironment="1"\r
- TypeLibraryName=".\zlibvc__/zlibvc.tlb"/>\r
- <Tool\r
- Name="VCPostBuildEventTool"/>\r
- <Tool\r
- Name="VCPreBuildEventTool"/>\r
- <Tool\r
- Name="VCPreLinkEventTool"/>\r
- <Tool\r
- Name="VCResourceCompilerTool"\r
- PreprocessorDefinitions="NDEBUG"\r
- Culture="1036"/>\r
- <Tool\r
- Name="VCWebServiceProxyGeneratorTool"/>\r
- <Tool\r
- Name="VCWebDeploymentTool"/>\r
- </Configuration>\r
- <Configuration\r
- Name="Release|Win32"\r
- OutputDirectory=".\ReleaseDll"\r
- IntermediateDirectory=".\ReleaseDll"\r
- ConfigurationType="2"\r
- UseOfMFC="0"\r
- ATLMinimizesCRunTimeLibraryUsage="FALSE">\r
- <Tool\r
- Name="VCCLCompilerTool"\r
- InlineFunctionExpansion="1"\r
- PreprocessorDefinitions="WIN32,ASMV"\r
- StringPooling="TRUE"\r
- ExceptionHandling="FALSE"\r
- RuntimeLibrary="0"\r
- EnableFunctionLevelLinking="TRUE"\r
- PrecompiledHeaderFile=".\ReleaseDll/zlibvc.pch"\r
- AssemblerOutput="2"\r
- AssemblerListingLocation=".\ReleaseDll/"\r
- ObjectFile=".\ReleaseDll/"\r
- ProgramDataBaseFileName=".\ReleaseDll/"\r
- BrowseInformation="1"\r
- WarningLevel="3"\r
- SuppressStartupBanner="TRUE"/>\r
- <Tool\r
- Name="VCCustomBuildTool"/>\r
- <Tool\r
- Name="VCLinkerTool"\r
- AdditionalOptions="/MACHINE:I386"\r
- AdditionalDependencies="gvmat32.obj inffastAsm.obj crtdll.lib"\r
- OutputFile=".\ReleaseDll\zlib.dll"\r
- LinkIncremental="1"\r
- SuppressStartupBanner="TRUE"\r
- IgnoreAllDefaultLibraries="TRUE"\r
- ModuleDefinitionFile=".\zlibvc.def"\r
- ProgramDatabaseFile=".\ReleaseDll/zlib.pdb"\r
- GenerateMapFile="TRUE"\r
- MapFileName=".\ReleaseDll/zlib.map"\r
- SubSystem="2"\r
- OptimizeForWindows98="1"\r
- ImportLibrary=".\ReleaseDll/zlib.lib"/>\r
- <Tool\r
- Name="VCMIDLTool"\r
- PreprocessorDefinitions="NDEBUG"\r
- MkTypLibCompatible="TRUE"\r
- SuppressStartupBanner="TRUE"\r
- TargetEnvironment="1"\r
- TypeLibraryName=".\Release/zlibvc.tlb"/>\r
- <Tool\r
- Name="VCPostBuildEventTool"/>\r
- <Tool\r
- Name="VCPreBuildEventTool"/>\r
- <Tool\r
- Name="VCPreLinkEventTool"/>\r
- <Tool\r
- Name="VCResourceCompilerTool"\r
- PreprocessorDefinitions="NDEBUG"\r
- Culture="1036"/>\r
- <Tool\r
- Name="VCWebServiceProxyGeneratorTool"/>\r
- <Tool\r
- Name="VCWebDeploymentTool"/>\r
- </Configuration>\r
- </Configurations>\r
- <Files>\r
- <Filter\r
- Name="Source Files"\r
- Filter="cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90">\r
- <File\r
- RelativePath=".\adler32.c">\r
- </File>\r
- <File\r
- RelativePath=".\compress.c">\r
- </File>\r
- <File\r
- RelativePath=".\crc32.c">\r
- </File>\r
- <File\r
- RelativePath=".\deflate.c">\r
- </File>\r
- <File\r
- RelativePath=".\gvmat32c.c">\r
- <FileConfiguration\r
- Name="ReleaseWithoutAsm|Win32"\r
- ExcludedFromBuild="TRUE">\r
- <Tool\r
- Name="VCCLCompilerTool"/>\r
- </FileConfiguration>\r
- </File>\r
- <File\r
- RelativePath=".\gzio.c">\r
- </File>\r
- <File\r
- RelativePath=".\infback.c">\r
- </File>\r
- <File\r
- RelativePath=".\inffast.c">\r
- <FileConfiguration\r
- Name="ReleaseWithoutCrtdll|Win32"\r
- ExcludedFromBuild="TRUE">\r
- <Tool\r
- Name="VCCLCompilerTool"/>\r
- </FileConfiguration>\r
- <FileConfiguration\r
- Name="Release|Win32"\r
- ExcludedFromBuild="TRUE">\r
- <Tool\r
- Name="VCCLCompilerTool"/>\r
- </FileConfiguration>\r
- </File>\r
- <File\r
- RelativePath=".\inflate.c">\r
- </File>\r
- <File\r
- RelativePath=".\inftrees.c">\r
- </File>\r
- <File\r
- RelativePath=".\ioapi.c">\r
- </File>\r
- <File\r
- RelativePath=".\iowin32.c">\r
- </File>\r
- <File\r
- RelativePath=".\trees.c">\r
- </File>\r
- <File\r
- RelativePath=".\uncompr.c">\r
- </File>\r
- <File\r
- RelativePath=".\unzip.c">\r
- </File>\r
- <File\r
- RelativePath=".\zip.c">\r
- </File>\r
- <File\r
- RelativePath=".\zlib.rc">\r
- </File>\r
- <File\r
- RelativePath=".\zlibvc.def">\r
- </File>\r
- <File\r
- RelativePath=".\zutil.c">\r
- </File>\r
- </Filter>\r
- <Filter\r
- Name="Header Files"\r
- Filter="h;hpp;hxx;hm;inl;fi;fd">\r
- <File\r
- RelativePath=".\deflate.h">\r
- </File>\r
- <File\r
- RelativePath=".\infblock.h">\r
- </File>\r
- <File\r
- RelativePath=".\infcodes.h">\r
- </File>\r
- <File\r
- RelativePath=".\inffast.h">\r
- </File>\r
- <File\r
- RelativePath=".\inftrees.h">\r
- </File>\r
- <File\r
- RelativePath=".\infutil.h">\r
- </File>\r
- <File\r
- RelativePath=".\zconf.h">\r
- </File>\r
- <File\r
- RelativePath=".\zlib.h">\r
- </File>\r
- <File\r
- RelativePath=".\zutil.h">\r
- </File>\r
- </Filter>\r
- <Filter\r
- Name="Resource Files"\r
- Filter="ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe">\r
- </Filter>\r
- </Files>\r
- <Globals>\r
- </Globals>\r
-</VisualStudioProject>\r
+++ /dev/null
-# Amiga powerUP (TM) Makefile
-# makefile for libpng and SAS C V6.58/7.00 PPC compiler
-# Copyright (C) 1998 by Andreas R. Kleinert
-
-CC = scppc
-CFLAGS = NOSTKCHK NOSINT OPTIMIZE OPTGO OPTPEEP OPTINLOCAL OPTINL \
- OPTLOOP OPTRDEP=8 OPTDEP=8 OPTCOMP=8
-LIBNAME = libzip.a
-AR = ppc-amigaos-ar
-AR_FLAGS = cr
-RANLIB = ppc-amigaos-ranlib
-LDFLAGS = -r -o
-LDLIBS = LIB:scppc.a
-LN = ppc-amigaos-ld
-RM = delete quiet
-
-OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
- zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o
-
-TEST_OBJS = example.o minigzip.o
-
-all: example minigzip
-
-test: all
- example
- echo hello world | minigzip | minigzip -d
-
-$(LIBNAME): $(OBJS)
- $(AR) $(AR_FLAGS) $@ $(OBJS)
- $(RANLIB) $@
-
-example: example.o $(LIBNAME)
- $(LN) $(LDFLAGS) example LIB:c_ppc.o example.o $(LIBNAME) $(LDLIBS) LIB:end.o
-
-minigzip: minigzip.o $(LIBNAME)
- $(LN) $(LDFLAGS) minigzip LIB:c_ppc.o minigzip.o $(LIBNAME) $(LDLIBS) LIB:end.o
-
-clean:
- $(RM) *.o example minigzip $(LIBNAME) foo.gz
-
-zip:
- zip -ul9 zlib README ChangeLog Makefile Make????.??? Makefile.?? \
- descrip.mms *.[ch]
-
-tgz:
- cd ..; tar cfz zlib/zlib.tgz zlib/README zlib/ChangeLog zlib/Makefile \
- zlib/Make????.??? zlib/Makefile.?? zlib/descrip.mms zlib/*.[ch]
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
-
-adler32.o: zutil.h zlib.h zconf.h
-compress.o: zlib.h zconf.h
-crc32.o: zutil.h zlib.h zconf.h
-deflate.o: deflate.h zutil.h zlib.h zconf.h
-example.o: zlib.h zconf.h
-gzio.o: zutil.h zlib.h zconf.h
-infblock.o: zutil.h zlib.h zconf.h infblock.h inftrees.h infcodes.h infutil.h
-infcodes.o: zutil.h zlib.h zconf.h inftrees.h infutil.h infcodes.h inffast.h
-inffast.o: zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h
-inflate.o: zutil.h zlib.h zconf.h infblock.h
-inftrees.o: zutil.h zlib.h zconf.h inftrees.h
-infutil.o: zutil.h zlib.h zconf.h inftrees.h infutil.h
-minigzip.o: zlib.h zconf.h
-trees.o: deflate.h zutil.h zlib.h zconf.h
-uncompr.o: zlib.h zconf.h
-zutil.o: zutil.h zlib.h zconf.h
+++ /dev/null
-# SMakefile for zlib
-# Modified from the standard UNIX Makefile Copyright Jean-loup Gailly
-# Osma Ahvenlampi <Osma.Ahvenlampi@hut.fi>
-# Amiga, SAS/C 6.56 & Smake
-
-CC=sc
-CFLAGS=OPT
-#CFLAGS=OPT CPU=68030
-#CFLAGS=DEBUG=LINE
-LDFLAGS=LIB z.lib
-
-SCOPTIONS=OPTSCHED OPTINLINE OPTALIAS OPTTIME OPTINLOCAL STRMERGE \
- NOICONS PARMS=BOTH NOSTACKCHECK UTILLIB NOVERSION ERRORREXX
-
-OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
- zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o
-
-TEST_OBJS = example.o minigzip.o
-
-all: SCOPTIONS example minigzip
-
-test: all
- `cd`/example
- echo hello world | minigzip | minigzip -d
-
-install: z.lib
- copy zlib.h zconf.h INCLUDE: clone
- copy z.lib LIB: clone
-
-z.lib: $(OBJS)
- oml z.lib r $(OBJS)
-
-example: example.o z.lib
- $(CC) $(CFLAGS) LINK TO $@ example.o $(LDFLAGS)
-
-minigzip: minigzip.o z.lib
- $(CC) $(CFLAGS) LINK TO $@ minigzip.o $(LDFLAGS)
-
-clean:
- -delete force quiet *.o example minigzip z.lib foo.gz *.lnk SCOPTIONS
-
-SCOPTIONS: Smakefile
- copy to $@ <from <
-$(SCOPTIONS)
-<
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
-
-adler32.o: zutil.h zlib.h zconf.h
-compress.o: zlib.h zconf.h
-crc32.o: zutil.h zlib.h zconf.h
-deflate.o: deflate.h zutil.h zlib.h zconf.h
-example.o: zlib.h zconf.h
-gzio.o: zutil.h zlib.h zconf.h
-infblock.o: zutil.h zlib.h zconf.h infblock.h inftrees.h infcodes.h infutil.h
-infcodes.o: zutil.h zlib.h zconf.h inftrees.h infutil.h infcodes.h inffast.h
-inffast.o: zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h
-inflate.o: zutil.h zlib.h zconf.h infblock.h
-inftrees.o: zutil.h zlib.h zconf.h inftrees.h
-infutil.o: zutil.h zlib.h zconf.h inftrees.h infutil.h
-minigzip.o: zlib.h zconf.h
-trees.o: deflate.h zutil.h zlib.h zconf.h
-uncompr.o: zlib.h zconf.h
-zutil.o: zutil.h zlib.h zconf.h
+++ /dev/null
-# Makefile for zlib
-# Borland C++
-
-# This version of the zlib makefile was adapted by Chris Young for use
-# with Borland C 4.5x with the Dos Power Pack for a 32-bit protected mode
-# flat memory model. It was created for use with POV-Ray ray tracer and
-# you may choose to edit the CFLAGS to suit your needs but the
-# switches -WX and -DMSDOS are required.
-# -- Chris Young 76702.1655@compuserve.com
-
-# To use, do "make -fmakefile.b32"
-
-# See zconf.h for details about the memory requirements.
-
-# ------------- Borland C++ -------------
-MODEL=-WX
-CFLAGS= $(MODEL) -P-C -K -N- -k- -d -3 -r- -v- -f -DMSDOS
-CC=bcc32
-LD=bcc32
-LIB=tlib
-LDFLAGS= $(MODEL)
-O=.obj
-
-# variables
-OBJ1 = adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O) \
- trees$(O)
-OBJP1 = adler32$(O)+compress$(O)+crc32$(O)+gzio$(O)+uncompr$(O)+deflate$(O)+\
- trees$(O)
-OBJ2 = zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O) \
- infutil$(O) inffast$(O)
-OBJP2 = zutil$(O)+inflate$(O)+infblock$(O)+inftrees$(O)+infcodes$(O)+\
- infutil$(O)+inffast$(O)
-
-all: test
-
-adler32.obj: adler32.c zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-compress.obj: compress.c zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-crc32.obj: crc32.c zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-gzio.obj: gzio.c zutil.h zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-infblock.obj: infblock.c zutil.h zlib.h zconf.h infblock.h inftrees.h\
- infcodes.h infutil.h
- $(CC) -c $(CFLAGS) $*.c
-
-infcodes.obj: infcodes.c zutil.h zlib.h zconf.h inftrees.h infutil.h\
- infcodes.h inffast.h
- $(CC) -c $(CFLAGS) $*.c
-
-inflate.obj: inflate.c zutil.h zlib.h zconf.h infblock.h
- $(CC) -c $(CFLAGS) $*.c
-
-inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h
- $(CC) -c $(CFLAGS) $*.c
-
-infutil.obj: infutil.c zutil.h zlib.h zconf.h inftrees.h infutil.h
- $(CC) -c $(CFLAGS) $*.c
-
-inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h
- $(CC) -c $(CFLAGS) $*.c
-
-trees.obj: trees.c deflate.h zutil.h zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-uncompr.obj: uncompr.c zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-zutil.obj: zutil.c zutil.h zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-example.obj: example.c zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-minigzip.obj: minigzip.c zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-# we must cut the command line to fit in the MS/DOS 128 byte limit:
-zlib.lib: $(OBJ1) $(OBJ2)
- del zlib.lib
- $(LIB) zlib +$(OBJP1)
- $(LIB) zlib +$(OBJP2)
-
-example.exe: example.obj zlib.lib
- $(LD) $(LDFLAGS) example.obj zlib.lib
-
-minigzip.exe: minigzip.obj zlib.lib
- $(LD) $(LDFLAGS) minigzip.obj zlib.lib
-
-test: example.exe minigzip.exe
- example
- echo hello world | minigzip | minigzip -d
-
-#clean:
-# del *.obj
-# del *.exe
+++ /dev/null
-# Makefile for zlib. Modified for djgpp v2.0 by F. J. Donahoe, 3/15/96.
-# Copyright (C) 1995-1998 Jean-loup Gailly.
-# For conditions of distribution and use, see copyright notice in zlib.h
-
-# To compile, or to compile and test, type:
-#
-# make -fmakefile.dj2; make test -fmakefile.dj2
-#
-# To install libz.a, zconf.h and zlib.h in the djgpp directories, type:
-#
-# make install -fmakefile.dj2
-#
-# after first defining LIBRARY_PATH and INCLUDE_PATH in djgpp.env as
-# in the sample below if the pattern of the DJGPP distribution is to
-# be followed. Remember that, while <sp>'es around <=> are ignored in
-# makefiles, they are *not* in batch files or in djgpp.env.
-# - - - - -
-# [make]
-# INCLUDE_PATH=%\>;INCLUDE_PATH%%\DJDIR%\include
-# LIBRARY_PATH=%\>;LIBRARY_PATH%%\DJDIR%\lib
-# BUTT=-m486
-# - - - - -
-# Alternately, these variables may be defined below, overriding the values
-# in djgpp.env, as
-# INCLUDE_PATH=c:\usr\include
-# LIBRARY_PATH=c:\usr\lib
-
-CC=gcc
-
-#CFLAGS=-MMD -O
-#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
-#CFLAGS=-MMD -g -DDEBUG
-CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
- -Wstrict-prototypes -Wmissing-prototypes
-
-# If cp.exe is available, replace "copy /Y" with "cp -fp" .
-CP=copy /Y
-# If gnu install.exe is available, replace $(CP) with ginstall.
-INSTALL=$(CP)
-# The default value of RM is "rm -f." If "rm.exe" is found, comment out:
-RM=del
-LDLIBS=-L. -lz
-LD=$(CC) -s -o
-LDSHARED=$(CC)
-
-INCL=zlib.h zconf.h
-LIBS=libz.a
-
-AR=ar rcs
-
-prefix=/usr/local
-exec_prefix = $(prefix)
-
-OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
- zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o
-
-TEST_OBJS = example.o minigzip.o
-
-all: example.exe minigzip.exe
-
-test: all
- ./example
- echo hello world | .\minigzip | .\minigzip -d
-
-%.o : %.c
- $(CC) $(CFLAGS) -c $< -o $@
-
-libz.a: $(OBJS)
- $(AR) $@ $(OBJS)
-
-%.exe : %.o $(LIBS)
- $(LD) $@ $< $(LDLIBS)
-
-# INCLUDE_PATH and LIBRARY_PATH were set for [make] in djgpp.env .
-
-.PHONY : uninstall clean
-
-install: $(INCL) $(LIBS)
- -@if not exist $(INCLUDE_PATH)\nul mkdir $(INCLUDE_PATH)
- -@if not exist $(LIBRARY_PATH)\nul mkdir $(LIBRARY_PATH)
- $(INSTALL) zlib.h $(INCLUDE_PATH)
- $(INSTALL) zconf.h $(INCLUDE_PATH)
- $(INSTALL) libz.a $(LIBRARY_PATH)
-
-uninstall:
- $(RM) $(INCLUDE_PATH)\zlib.h
- $(RM) $(INCLUDE_PATH)\zconf.h
- $(RM) $(LIBRARY_PATH)\libz.a
-
-clean:
- $(RM) *.d
- $(RM) *.o
- $(RM) *.exe
- $(RM) libz.a
- $(RM) foo.gz
-
-DEPS := $(wildcard *.d)
-ifneq ($(DEPS),)
-include $(DEPS)
-endif
+++ /dev/null
-# Makefile for zlib. Modified for emx 0.9c by Chr. Spieler, 6/17/98.
-# Copyright (C) 1995-1998 Jean-loup Gailly.
-# For conditions of distribution and use, see copyright notice in zlib.h
-
-# To compile, or to compile and test, type:
-#
-# make -fmakefile.emx; make test -fmakefile.emx
-#
-
-CC=gcc
-
-#CFLAGS=-MMD -O
-#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
-#CFLAGS=-MMD -g -DDEBUG
-CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
- -Wstrict-prototypes -Wmissing-prototypes
-
-# If cp.exe is available, replace "copy /Y" with "cp -fp" .
-CP=copy /Y
-# If gnu install.exe is available, replace $(CP) with ginstall.
-INSTALL=$(CP)
-# The default value of RM is "rm -f." If "rm.exe" is found, comment out:
-RM=del
-LDLIBS=-L. -lzlib
-LD=$(CC) -s -o
-LDSHARED=$(CC)
-
-INCL=zlib.h zconf.h
-LIBS=zlib.a
-
-AR=ar rcs
-
-prefix=/usr/local
-exec_prefix = $(prefix)
-
-OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
- zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o
-
-TEST_OBJS = example.o minigzip.o
-
-all: example.exe minigzip.exe
-
-test: all
- ./example
- echo hello world | .\minigzip | .\minigzip -d
-
-%.o : %.c
- $(CC) $(CFLAGS) -c $< -o $@
-
-zlib.a: $(OBJS)
- $(AR) $@ $(OBJS)
-
-%.exe : %.o $(LIBS)
- $(LD) $@ $< $(LDLIBS)
-
-
-.PHONY : clean
-
-clean:
- $(RM) *.d
- $(RM) *.o
- $(RM) *.exe
- $(RM) zlib.a
- $(RM) foo.gz
-
-DEPS := $(wildcard *.d)
-ifneq ($(DEPS),)
-include $(DEPS)
-endif
+++ /dev/null
-# Makefile for zlib
-# Microsoft C 5.1 or later
-
-# To use, do "make makefile.msc"
-# To compile in small model, set below: MODEL=S
-
-# If you wish to reduce the memory requirements (default 256K for big
-# objects plus a few K), you can add to the LOC macro below:
-# -DMAX_MEM_LEVEL=7 -DMAX_WBITS=14
-# See zconf.h for details about the memory requirements.
-
-# ------------- Microsoft C 5.1 and later -------------
-
-# Optional nonstandard preprocessor flags (e.g. -DMAX_MEM_LEVEL=7)
-# should be added to the environment via "set LOCAL_ZLIB=-DFOO" or added
-# to the declaration of LOC here:
-LOC = $(LOCAL_ZLIB)
-
-# Type for CPU required: 0: 8086, 1: 80186, 2: 80286, 3: 80386, etc.
-CPU_TYP = 0
-
-# Memory model: one of S, M, C, L (small, medium, compact, large)
-MODEL=L
-
-CC=cl
-CFLAGS=-nologo -A$(MODEL) -G$(CPU_TYP) -W3 -Oait -Gs $(LOC)
-#-Ox generates bad code with MSC 5.1
-LIB_CFLAGS=-Zl $(CFLAGS)
-
-LD=link
-LDFLAGS=/noi/e/st:0x1500/noe/farcall/packcode
-# "/farcall/packcode" are only useful for `large code' memory models
-# but should be a "no-op" for small code models.
-
-O=.obj
-
-# variables
-OBJ1 = adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O) \
- trees$(O)
-OBJP1 = adler32$(O)+compress$(O)+crc32$(O)+gzio$(O)+uncompr$(O)+deflate$(O)+\
- trees$(O)
-OBJ2 = zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O) \
- infutil$(O) inffast$(O)
-OBJP2 = zutil$(O)+inflate$(O)+infblock$(O)+inftrees$(O)+infcodes$(O)+\
- infutil$(O)+inffast$(O)
-
-ZLIB_H = zlib.h zconf.h
-ZUTIL_H = zutil.h $(ZLIB_H)
-
-ZLIB_LIB = zlib_$(MODEL).lib
-
-all: $(ZLIB_LIB) example.exe minigzip.exe
-
-# individual dependencies and action rules:
-adler32.obj: adler32.c $(ZLIB_H)
- $(CC) -c $(LIB_CFLAGS) $*.c
-
-compress.obj: compress.c $(ZLIB_H)
- $(CC) -c $(LIB_CFLAGS) $*.c
-
-crc32.obj: crc32.c $(ZLIB_H)
- $(CC) -c $(LIB_CFLAGS) $*.c
-
-deflate.obj: deflate.c deflate.h $(ZUTIL_H)
- $(CC) -c $(LIB_CFLAGS) $*.c
-
-gzio.obj: gzio.c $(ZUTIL_H)
- $(CC) -c $(LIB_CFLAGS) $*.c
-
-infblock.obj: infblock.c $(ZUTIL_H) infblock.h inftrees.h infcodes.h infutil.h
- $(CC) -c $(LIB_CFLAGS) $*.c
-
-infcodes.obj: infcodes.c $(ZUTIL_H) inftrees.h infutil.h infcodes.h inffast.h
- $(CC) -c $(LIB_CFLAGS) $*.c
-
-inflate.obj: inflate.c $(ZUTIL_H) infblock.h
- $(CC) -c $(LIB_CFLAGS) $*.c
-
-inftrees.obj: inftrees.c $(ZUTIL_H) inftrees.h
- $(CC) -c $(LIB_CFLAGS) $*.c
-
-infutil.obj: infutil.c $(ZUTIL_H) inftrees.h infutil.h
- $(CC) -c $(LIB_CFLAGS) $*.c
-
-inffast.obj: inffast.c $(ZUTIL_H) inftrees.h infutil.h inffast.h
- $(CC) -c $(LIB_CFLAGS) $*.c
-
-trees.obj: trees.c deflate.h $(ZUTIL_H)
- $(CC) -c $(LIB_CFLAGS) $*.c
-
-uncompr.obj: uncompr.c $(ZLIB_H)
- $(CC) -c $(LIB_CFLAGS) $*.c
-
-zutil.obj: zutil.c $(ZUTIL_H)
- $(CC) -c $(LIB_CFLAGS) $*.c
-
-example.obj: example.c $(ZLIB_H)
- $(CC) -c $(CFLAGS) $*.c
-
-minigzip.obj: minigzip.c $(ZLIB_H)
- $(CC) -c $(CFLAGS) $*.c
-
-# we must cut the command line to fit in the MS/DOS 128 byte limit:
-$(ZLIB_LIB): $(OBJ1) $(OBJ2)
- if exist $(ZLIB_LIB) del $(ZLIB_LIB)
- lib $(ZLIB_LIB) $(OBJ1);
- lib $(ZLIB_LIB) $(OBJ2);
-
-example.exe: example.obj $(ZLIB_LIB)
- $(LD) $(LDFLAGS) example.obj,,,$(ZLIB_LIB);
-
-minigzip.exe: minigzip.obj $(ZLIB_LIB)
- $(LD) $(LDFLAGS) minigzip.obj,,,$(ZLIB_LIB);
-
-test: example.exe minigzip.exe
- example
- echo hello world | minigzip | minigzip -d
-
-#clean:
-# del *.obj
-# del *.exe
+++ /dev/null
-# Makefile for zlib
-# Microsoft 32-bit Visual C++ 4.0 or later (may work on earlier versions)
-
-# To use, do "nmake /f makefile.w32"
-
-# If you wish to reduce the memory requirements (default 256K for big
-# objects plus a few K), you can add to CFLAGS below:
-# -DMAX_MEM_LEVEL=7 -DMAX_WBITS=14
-# See zconf.h for details about the memory requirements.
-
-# ------------- Microsoft Visual C++ 4.0 and later -------------
-MODEL=
-CFLAGS=-Ox -GA3s -nologo -W3
-CC=cl
-LD=link
-LDFLAGS=
-O=.obj
-
-# variables
-OBJ1 = adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O) \
- trees$(O)
-OBJP1 = adler32$(O)+compress$(O)+crc32$(O)+gzio$(O)+uncompr$(O)+deflate$(O)+\
- trees$(O)
-OBJ2 = zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O) \
- infutil$(O) inffast$(O)
-OBJP2 = zutil$(O)+inflate$(O)+infblock$(O)+inftrees$(O)+infcodes$(O)+\
- infutil$(O)+inffast$(O)
-
-all: zlib.lib example.exe minigzip.exe
-
-adler32.obj: adler32.c zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-compress.obj: compress.c zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-crc32.obj: crc32.c zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-gzio.obj: gzio.c zutil.h zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-infblock.obj: infblock.c zutil.h zlib.h zconf.h infblock.h inftrees.h\
- infcodes.h infutil.h
- $(CC) -c $(CFLAGS) $*.c
-
-infcodes.obj: infcodes.c zutil.h zlib.h zconf.h inftrees.h infutil.h\
- infcodes.h inffast.h
- $(CC) -c $(CFLAGS) $*.c
-
-inflate.obj: inflate.c zutil.h zlib.h zconf.h infblock.h
- $(CC) -c $(CFLAGS) $*.c
-
-inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h
- $(CC) -c $(CFLAGS) $*.c
-
-infutil.obj: infutil.c zutil.h zlib.h zconf.h inftrees.h infutil.h
- $(CC) -c $(CFLAGS) $*.c
-
-inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h
- $(CC) -c $(CFLAGS) $*.c
-
-trees.obj: trees.c deflate.h zutil.h zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-uncompr.obj: uncompr.c zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-zutil.obj: zutil.c zutil.h zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-example.obj: example.c zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-minigzip.obj: minigzip.c zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-zlib.lib: $(OBJ1) $(OBJ2)
- if exist zlib.lib del zlib.lib
- lib /OUT:zlib.lib $(OBJ1) $(OBJ2)
-
-example.exe: example.obj zlib.lib
- $(LD) $(LDFLAGS) example.obj zlib.lib /OUT:example.exe /SUBSYSTEM:CONSOLE
-
-minigzip.exe: minigzip.obj zlib.lib
- $(LD) $(LDFLAGS) minigzip.obj zlib.lib /OUT:minigzip.exe /SUBSYSTEM:CONSOLE
-
-test: example.exe minigzip.exe
- example
- echo hello world | minigzip | minigzip -d
-
-#clean:
-# del *.obj
-# del *.exe
+++ /dev/null
-# Makefile for zlib
-# Watcom 10a
-
-# This version of the zlib makefile was adapted by Chris Young for use
-# with Watcom 10a 32-bit protected mode flat memory model. It was created
-# for use with POV-Ray ray tracer and you may choose to edit the CFLAGS to
-# suit your needs but the -DMSDOS is required.
-# -- Chris Young 76702.1655@compuserve.com
-
-# To use, do "wmake -f makefile.wat"
-
-# See zconf.h for details about the memory requirements.
-
-# ------------- Watcom 10a -------------
-MODEL=-mf
-CFLAGS= $(MODEL) -fpi87 -fp5 -zp4 -5r -w5 -oneatx -DMSDOS
-CC=wcc386
-LD=wcl386
-LIB=wlib -b -c
-LDFLAGS=
-O=.obj
-
-# variables
-OBJ1=adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O)
-OBJ2=trees$(O) zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O)
-OBJ3=infutil$(O) inffast$(O)
-OBJP1=adler32$(O)+compress$(O)+crc32$(O)+gzio$(O)+uncompr$(O)+deflate$(O)
-OBJP2=trees$(O)+zutil$(O)+inflate$(O)+infblock$(O)+inftrees$(O)+infcodes$(O)
-OBJP3=infutil$(O)+inffast$(O)
-
-all: test
-
-adler32.obj: adler32.c zlib.h zconf.h
- $(CC) $(CFLAGS) $*.c
-
-compress.obj: compress.c zlib.h zconf.h
- $(CC) $(CFLAGS) $*.c
-
-crc32.obj: crc32.c zlib.h zconf.h
- $(CC) $(CFLAGS) $*.c
-
-deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h
- $(CC) $(CFLAGS) $*.c
-
-gzio.obj: gzio.c zutil.h zlib.h zconf.h
- $(CC) $(CFLAGS) $*.c
-
-infblock.obj: infblock.c zutil.h zlib.h zconf.h infblock.h inftrees.h &
- infcodes.h infutil.h
- $(CC) $(CFLAGS) $*.c
-
-infcodes.obj: infcodes.c zutil.h zlib.h zconf.h inftrees.h infutil.h &
- infcodes.h inffast.h
- $(CC) $(CFLAGS) $*.c
-
-inflate.obj: inflate.c zutil.h zlib.h zconf.h infblock.h
- $(CC) $(CFLAGS) $*.c
-
-inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h
- $(CC) $(CFLAGS) $*.c
-
-infutil.obj: infutil.c zutil.h zlib.h zconf.h inftrees.h infutil.h
- $(CC) $(CFLAGS) $*.c
-
-inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h
- $(CC) $(CFLAGS) $*.c
-
-trees.obj: trees.c deflate.h zutil.h zlib.h zconf.h
- $(CC) $(CFLAGS) $*.c
-
-uncompr.obj: uncompr.c zlib.h zconf.h
- $(CC) $(CFLAGS) $*.c
-
-zutil.obj: zutil.c zutil.h zlib.h zconf.h
- $(CC) $(CFLAGS) $*.c
-
-example.obj: example.c zlib.h zconf.h
- $(CC) $(CFLAGS) $*.c
-
-minigzip.obj: minigzip.c zlib.h zconf.h
- $(CC) $(CFLAGS) $*.c
-
-# we must cut the command line to fit in the MS/DOS 128 byte limit:
-zlib.lib: $(OBJ1) $(OBJ2) $(OBJ3)
- del zlib.lib
- $(LIB) zlib.lib +$(OBJP1)
- $(LIB) zlib.lib +$(OBJP2)
- $(LIB) zlib.lib +$(OBJP3)
-
-example.exe: example.obj zlib.lib
- $(LD) $(LDFLAGS) example.obj zlib.lib
-
-minigzip.exe: minigzip.obj zlib.lib
- $(LD) $(LDFLAGS) minigzip.obj zlib.lib
-
-test: minigzip.exe example.exe
- example
- echo hello world | minigzip | minigzip -d >test
- type test
-
-#clean:
-# del *.obj
-# del *.exe
+++ /dev/null
-LIBRARY "zlib"
-
-DESCRIPTION '"""zlib data compression library"""'
-
-EXETYPE NT
-
-SUBSYSTEM WINDOWS
-
-STUB 'WINSTUB.EXE'
-
-VERSION 1.13
-
-CODE EXECUTE READ
-
-DATA READ WRITE
-
-HEAPSIZE 1048576,4096
-
-EXPORTS
- adler32 @1
- compress @2
- crc32 @3
- deflate @4
- deflateCopy @5
- deflateEnd @6
- deflateInit2_ @7
- deflateInit_ @8
- deflateParams @9
- deflateReset @10
- deflateSetDictionary @11
- gzclose @12
- gzdopen @13
- gzerror @14
- gzflush @15
- gzopen @16
- gzread @17
- gzwrite @18
- inflate @19
- inflateEnd @20
- inflateInit2_ @21
- inflateInit_ @22
- inflateReset @23
- inflateSetDictionary @24
- inflateSync @25
- uncompress @26
- zlibVersion @27
- gzprintf @28
- gzputc @29
- gzgetc @30
- gzseek @31
- gzrewind @32
- gztell @33
- gzeof @34
- gzsetparams @35
- zError @36
- inflateSyncPoint @37
- get_crc_table @38
- compress2 @39
- gzputs @40
- gzgets @41
+++ /dev/null
-#include <windows.h>
-
-#define IDR_VERSION1 1
-IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
- FILEVERSION 1,1,3,0
- PRODUCTVERSION 1,1,3,0
- FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
- FILEFLAGS 0
- FILEOS VOS_DOS_WINDOWS32
- FILETYPE VFT_DLL
- FILESUBTYPE 0 // not used
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904E4"
- //language ID = U.S. English, char set = Windows, Multilingual
-
- BEGIN
- VALUE "FileDescription", "zlib data compression library\0"
- VALUE "FileVersion", "1.1.3\0"
- VALUE "InternalName", "zlib\0"
- VALUE "OriginalFilename", "zlib.dll\0"
- VALUE "ProductName", "ZLib.DLL\0"
- VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
- VALUE "LegalCopyright", "(C) 1995-1998 Jean-loup Gailly & Mark Adler\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x0409, 1252
- END
-END
+++ /dev/null
-# Makefile for zlib. Modified for emx/rsxnt by Chr. Spieler, 6/16/98.
-# Copyright (C) 1995-1998 Jean-loup Gailly.
-# For conditions of distribution and use, see copyright notice in zlib.h
-
-# To compile, or to compile and test, type:
-#
-# make -fmakefile.emx; make test -fmakefile.emx
-#
-
-CC=gcc -Zwin32
-
-#CFLAGS=-MMD -O
-#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
-#CFLAGS=-MMD -g -DDEBUG
-CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
- -Wstrict-prototypes -Wmissing-prototypes
-
-# If cp.exe is available, replace "copy /Y" with "cp -fp" .
-CP=copy /Y
-# If gnu install.exe is available, replace $(CP) with ginstall.
-INSTALL=$(CP)
-# The default value of RM is "rm -f." If "rm.exe" is found, comment out:
-RM=del
-LDLIBS=-L. -lzlib
-LD=$(CC) -s -o
-LDSHARED=$(CC)
-
-INCL=zlib.h zconf.h
-LIBS=zlib.a
-
-AR=ar rcs
-
-prefix=/usr/local
-exec_prefix = $(prefix)
-
-OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
- zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o
-
-TEST_OBJS = example.o minigzip.o
-
-all: example.exe minigzip.exe
-
-test: all
- ./example
- echo hello world | .\minigzip | .\minigzip -d
-
-%.o : %.c
- $(CC) $(CFLAGS) -c $< -o $@
-
-zlib.a: $(OBJS)
- $(AR) $@ $(OBJS)
-
-%.exe : %.o $(LIBS)
- $(LD) $@ $< $(LDLIBS)
-
-
-.PHONY : clean
-
-clean:
- $(RM) *.d
- $(RM) *.o
- $(RM) *.exe
- $(RM) zlib.a
- $(RM) foo.gz
-
-DEPS := $(wildcard *.d)
-ifneq ($(DEPS),)
-include $(DEPS)
-endif
-# Makefile for zlib. Modified for emx 0.9c by Chr. Spieler, 6/17/98.
-# Copyright (C) 1995-1998 Jean-loup Gailly.
-# For conditions of distribution and use, see copyright notice in zlib.h
-
-# To compile, or to compile and test, type:
-#
-# make -fmakefile.emx; make test -fmakefile.emx
-#
-
-CC=gcc
-
-#CFLAGS=-MMD -O
-#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
-#CFLAGS=-MMD -g -DDEBUG
-CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
- -Wstrict-prototypes -Wmissing-prototypes
-
-# If cp.exe is available, replace "copy /Y" with "cp -fp" .
-CP=copy /Y
-# If gnu install.exe is available, replace $(CP) with ginstall.
-INSTALL=$(CP)
-# The default value of RM is "rm -f." If "rm.exe" is found, comment out:
-RM=del
-LDLIBS=-L. -lzlib
-LD=$(CC) -s -o
-LDSHARED=$(CC)
-
-INCL=zlib.h zconf.h
-LIBS=zlib.a
-
-AR=ar rcs
-
-prefix=/usr/local
-exec_prefix = $(prefix)
-
-OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
- zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o
-
-TEST_OBJS = example.o minigzip.o
-
-all: example.exe minigzip.exe
-
-test: all
- ./example
- echo hello world | .\minigzip | .\minigzip -d
-
-%.o : %.c
- $(CC) $(CFLAGS) -c $< -o $@
-
-zlib.a: $(OBJS)
- $(AR) $@ $(OBJS)
-
-%.exe : %.o $(LIBS)
- $(LD) $@ $< $(LDLIBS)
-
-
-.PHONY : clean
-
-clean:
- $(RM) *.d
- $(RM) *.o
- $(RM) *.exe
- $(RM) zlib.a
- $(RM) foo.gz
-
-DEPS := $(wildcard *.d)
-ifneq ($(DEPS),)
-include $(DEPS)
-endif
+++ /dev/null
-# Makefile for zlib. Modified for mingw32 by C. Spieler, 6/16/98.
-# (This Makefile is directly derived from Makefile.dj2)
-# Copyright (C) 1995-1998 Jean-loup Gailly.
-# For conditions of distribution and use, see copyright notice in zlib.h
-
-# To compile, or to compile and test, type:
-#
-# make -fmakefile.gcc; make test -fmakefile.gcc
-#
-# To install libz.a, zconf.h and zlib.h in the mingw32 directories, type:
-#
-# make install -fmakefile.gcc
-#
-
-CC=gcc
-
-#CFLAGS=-MMD -O
-#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
-#CFLAGS=-MMD -g -DDEBUG
-CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
- -Wstrict-prototypes -Wmissing-prototypes
-
-# If cp.exe is available, replace "copy /Y" with "cp -fp" .
-CP=copy /Y
-# If gnu install.exe is available, replace $(CP) with ginstall.
-INSTALL=$(CP)
-# The default value of RM is "rm -f." If "rm.exe" is found, comment out:
-RM=del
-LDLIBS=-L. -lz
-LD=$(CC) -s -o
-LDSHARED=$(CC)
-
-INCL=zlib.h zconf.h
-LIBS=libz.a
-
-AR=ar rcs
-
-prefix=/usr/local
-exec_prefix = $(prefix)
-
-OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
- zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o
-
-TEST_OBJS = example.o minigzip.o
-
-all: example.exe minigzip.exe
-
-test: all
- ./example
- echo hello world | .\minigzip | .\minigzip -d
-
-%.o : %.c
- $(CC) $(CFLAGS) -c $< -o $@
-
-libz.a: $(OBJS)
- $(AR) $@ $(OBJS)
-
-%.exe : %.o $(LIBS)
- $(LD) $@ $< $(LDLIBS)
-
-# INCLUDE_PATH and LIBRARY_PATH were set for [make] in djgpp.env .
-
-.PHONY : uninstall clean
-
-install: $(INCL) $(LIBS)
- -@if not exist $(INCLUDE_PATH)\nul mkdir $(INCLUDE_PATH)
- -@if not exist $(LIBRARY_PATH)\nul mkdir $(LIBRARY_PATH)
- $(INSTALL) zlib.h $(INCLUDE_PATH)
- $(INSTALL) zconf.h $(INCLUDE_PATH)
- $(INSTALL) libz.a $(LIBRARY_PATH)
-
-uninstall:
- $(RM) $(INCLUDE_PATH)\zlib.h
- $(RM) $(INCLUDE_PATH)\zconf.h
- $(RM) $(LIBRARY_PATH)\libz.a
-
-clean:
- $(RM) *.d
- $(RM) *.o
- $(RM) *.exe
- $(RM) libz.a
- $(RM) foo.gz
-
-DEPS := $(wildcard *.d)
-ifneq ($(DEPS),)
-include $(DEPS)
-endif
+++ /dev/null
-# Makefile for zlib
-
-!include <ntwin32.mak>
-
-CC=cl
-LD=link
-CFLAGS=-O -nologo
-LDFLAGS=
-O=.obj
-
-# variables
-OBJ1 = adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O) \
- trees$(O)
-OBJ2 = zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O) \
- infutil$(O) inffast$(O)
-
-all: zlib.dll example.exe minigzip.exe
-
-adler32.obj: adler32.c zutil.h zlib.h zconf.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-compress.obj: compress.c zlib.h zconf.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-crc32.obj: crc32.c zutil.h zlib.h zconf.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-gzio.obj: gzio.c zutil.h zlib.h zconf.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-infblock.obj: infblock.c zutil.h zlib.h zconf.h infblock.h inftrees.h\
- infcodes.h infutil.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-infcodes.obj: infcodes.c zutil.h zlib.h zconf.h inftrees.h infutil.h\
- infcodes.h inffast.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-inflate.obj: inflate.c zutil.h zlib.h zconf.h infblock.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-infutil.obj: infutil.c zutil.h zlib.h zconf.h inftrees.h infutil.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-trees.obj: trees.c deflate.h zutil.h zlib.h zconf.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-uncompr.obj: uncompr.c zlib.h zconf.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-zutil.obj: zutil.c zutil.h zlib.h zconf.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-example.obj: example.c zlib.h zconf.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-minigzip.obj: minigzip.c zlib.h zconf.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-zlib.dll: $(OBJ1) $(OBJ2) zlib.dnt
- link $(dlllflags) -out:$@ -def:zlib.dnt $(OBJ1) $(OBJ2) $(guilibsdll)
-
-zlib.lib: zlib.dll
-
-example.exe: example.obj zlib.lib
- $(LD) $(LDFLAGS) example.obj zlib.lib
-
-minigzip.exe: minigzip.obj zlib.lib
- $(LD) $(LDFLAGS) minigzip.obj zlib.lib
-
-test: example.exe minigzip.exe
- example
- echo hello world | minigzip | minigzip -d
-
-clean:
- del *.obj
- del *.exe
- del *.dll
- del *.lib
+++ /dev/null
-LIBRARY zlib.dll
-EXETYPE WINDOWS
-CODE PRELOAD MOVEABLE DISCARDABLE
-DATA PRELOAD MOVEABLE MULTIPLE
-
-EXPORTS
- adler32 @1
- compress @2
- crc32 @3
- deflate @4
- deflateCopy @5
- deflateEnd @6
- deflateInit2_ @7
- deflateInit_ @8
- deflateParams @9
- deflateReset @10
- deflateSetDictionary @11
- gzclose @12
- gzdopen @13
- gzerror @14
- gzflush @15
- gzopen @16
- gzread @17
- gzwrite @18
- inflate @19
- inflateEnd @20
- inflateInit2_ @21
- inflateInit_ @22
- inflateReset @23
- inflateSetDictionary @24
- inflateSync @25
- uncompress @26
- zlibVersion @27
- gzprintf @28
- gzputc @29
- gzgetc @30
- gzseek @31
- gzrewind @32
- gztell @33
- gzeof @34
- gzsetparams @35
- zError @36
- inflateSyncPoint @37
- get_crc_table @38
- compress2 @39
- gzputs @40
- gzgets @41
+++ /dev/null
-.TH ZLIB 3 "11 March 2002"
-.SH NAME
-zlib \- compression/decompression library
-.SH SYNOPSIS
-[see
-.I zlib.h
-for full description]
-.SH DESCRIPTION
-The
-.I zlib
-library is a general purpose data compression library.
-The code is thread safe.
-It provides in-memory compression and decompression functions,
-including integrity checks of the uncompressed data.
-This version of the library supports only one compression method (deflation)
-but other algorithms will be added later and will have the same stream interface.
-.LP
-Compression can be done in a single step if the buffers are large enough
-(for example if an input file is mmap'ed),
-or can be done by repeated calls of the compression function.
-In the latter case,
-the application must provide more input and/or consume the output
-(providing more output space) before each call.
-.LP
-The library also supports reading and writing files in
-.I gzip
-(.gz) format
-with an interface similar to that of stdio.
-.LP
-The library does not install any signal handler. The decoder checks
-the consistency of the compressed data, so the library should never
-crash even in case of corrupted input.
-.LP
-All functions of the compression library are documented in the file
-.IR zlib.h.
-The distribution source includes examples of use of the library
-the files
-.I example.c
-and
-.IR minigzip.c .
-.LP
-A Java implementation of
-.IR zlib
-is available in the Java Development Kit 1.1
-.IP
-http://www.javasoft.com/products/JDK/1.1/docs/api/Package-java.util.zip.html
-.LP
-A Perl interface to
-.IR zlib ,
-written by Paul Marquess (pmarquess@bfsec.bt.co.uk)
-is available at CPAN (Comprehensive Perl Archive Network) sites,
-such as:
-.IP
-ftp://ftp.cis.ufl.edu/pub/perl/CPAN/modules/by-module/Compress/Compress-Zlib*
-.LP
-A Python interface to
-.IR zlib
-written by A.M. Kuchling <amk@magnet.com>
-is available from the Python Software Association sites, such as:
-.IP
-ftp://ftp.python.org/pub/python/contrib/Encoding/zlib*.tar.gz
-.SH "SEE ALSO"
-Questions about zlib should be sent to:
-.IP
-zlib@quest.jpl.nasa.gov
-or, if this fails, to the author addresses given below.
-The zlib home page is:
-.IP
-http://www.cdrom.com/pub/infozip/zlib/
-.LP
-The data format used by the zlib library is described by RFC
-(Request for Comments) 1950 to 1952 in the files:
-.IP
-ftp://ds.internic.net/rfc/rfc1950.txt (zlib format)
-.br
-rfc1951.txt (deflate format)
-.br
-rfc1952.txt (gzip format)
-.LP
-These documents are also available in other formats from:
-.IP
-ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html
-.SH AUTHORS
-Version 1.1.4
-Copyright (C) 1995-2002 Jean-loup Gailly (jloup@gzip.org)
-and Mark Adler (madler@alumni.caltech.edu).
-.LP
-This software is provided "as-is,"
-without any express or implied warranty.
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-See the distribution directory with respect to requirements
-governing redistribution.
-The deflate format used by
-.I zlib
-was defined by Phil Katz.
-The deflate and
-.I zlib
-specifications were written by L. Peter Deutsch.
-Thanks to all the people who reported problems and suggested various
-improvements in
-.IR zlib ;
-who are too numerous to cite here.
-.LP
-UNIX manual page by R. P. C. Rodgers,
-U.S. National Library of Medicine (rodgers@nlm.nih.gov).
-.\" end of man page
+++ /dev/null
-# Makefile for zlib.dll -- Microsoft (Visual) C.\r
-# Author: Cosmin Truta, 11-Mar-2003.\r
-#\r
-# Usage: nmake -f win32/Makefile-dll.msc\r
-\r
-CC = cl\r
-LD = cl\r
-CFLAGS = -nologo -MD -O2\r
-LDFLAGS = -nologo\r
-\r
-OBJS = adler32.obj compress.obj crc32.obj deflate.obj gzio.obj infback.obj \\r
- inffast.obj inflate.obj inftrees.obj trees.obj uncompr.obj zutil.obj\r
-\r
-# targets\r
-all: zlib.dll zlib.lib example.exe minigzip.exe\r
-\r
-zlib.lib: $(OBJS)\r
- lib -out:$@ $(OBJS)\r
-\r
-zlib.dll: $(OBJS) win32/zlib.def\r
- link -release -def:win32/zlib.def -dll -out:$@ $(OBJS)\r
-\r
-zlib.lib: zlib.dll\r
-\r
-example.exe: example.obj zlib.lib\r
- $(LD) $(LDFLAGS) example.obj zlib.lib\r
-\r
-minigzip.exe: minigzip.obj zlib.lib\r
- $(LD) $(LDFLAGS) minigzip.obj zlib.lib\r
-\r
-.c.obj:\r
- $(CC) -c $(CFLAGS) $*.c\r
-\r
-adler32.obj: adler32.c zlib.h zconf.h\r
-\r
-compress.obj: compress.c zlib.h zconf.h\r
-\r
-crc32.obj: crc32.c zlib.h zconf.h crc32.h\r
-\r
-deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h\r
-\r
-gzio.obj: gzio.c zutil.h zlib.h zconf.h\r
-\r
-infback.obj: infback.c zutil.h zlib.h zconf.h inftrees.h inflate.h \\r
- inffast.h inffixed.h\r
-\r
-inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h inflate.h \\r
- inffast.h\r
-\r
-inflate.obj: inflate.c zutil.h zlib.h zconf.h inftrees.h inflate.h \\r
- inffast.h inffixed.h\r
-\r
-inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h\r
-\r
-trees.obj: trees.c zutil.h zlib.h zconf.h deflate.h trees.h\r
-\r
-uncompr.obj: uncompr.c zlib.h zconf.h\r
-\r
-zutil.obj: zutil.c zutil.h zlib.h zconf.h\r
-\r
-example.obj: example.c zlib.h zconf.h\r
-\r
-minigzip.obj: minigzip.c zlib.h zconf.h\r
-\r
-# testing\r
-test: example.exe minigzip.exe\r
- example\r
- echo hello world | minigzip | minigzip -d \r
-\r
-# cleanup\r
-clean:\r
- del *.obj\r
- del *.dll\r
- del *.lib\r
- del *.exp\r
- del *.exe\r
+++ /dev/null
-Summary: The zlib compression and decompression library.
-Name: zlib
-Version: 1.1.3
-Release: 24
-Group: System Environment/Libraries
-Source: ftp://ftp.info-zip.org/pub/infozip/zlib/zlib-%{version}.tar.gz
-Patch0: zlib-1.1.3-glibc.patch
-URL: http://www.gzip.org/zlib/
-License: BSD
-Prefix: %{_prefix}
-BuildRoot: %{_tmppath}/%{name}-%{version}-root
-
-%description
-Zlib is a general-purpose, patent-free, lossless data compression
-library which is used by many different programs.
-
-%package devel
-Summary: Header files and libraries for Zlib development.
-Group: Development/Libraries
-Requires: zlib = %{version}
-
-%description devel
-The zlib-devel package contains the header files and libraries needed
-to develop programs that use the zlib compression and decompression
-library.
-
-%prep
-%setup -q
-%patch0 -p1 -b .glibc
-
-%build
-
-
-CFLAGS="$RPM_OPT_FLAGS -fPIC" ./configure --shared --prefix=%{_prefix}
-make
-# now build the static lib
-CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%{_prefix}
-make
-
-%install
-rm -rf ${RPM_BUILD_ROOT}
-mkdir -p ${RPM_BUILD_ROOT}%{_prefix}
-
-CFLAGS="$RPM_OPT_FLAGS" ./configure --shared --prefix=%{_prefix}
-make install prefix=${RPM_BUILD_ROOT}%{_prefix}
-
-CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%{_prefix}
-make install prefix=${RPM_BUILD_ROOT}%{_prefix}
-
-install -m644 zutil.h ${RPM_BUILD_ROOT}%{_includedir}/zutil.h
-mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man3
-install -m644 zlib.3 ${RPM_BUILD_ROOT}%{_mandir}/man3
-
-if [ "%{_prefix}/lib" != "%{_libdir}" ]; then
- mkdir -p ${RPM_BUILD_ROOT}%{_libdir}
- mv ${RPM_BUILD_ROOT}%{_prefix}/lib/* ${RPM_BUILD_ROOT}%{_libdir}
- rmdir ${RPM_BUILD_ROOT}%{_prefix}/lib
-fi
-
-%clean
-rm -rf ${RPM_BUILD_ROOT}
-
-%post -p /sbin/ldconfig
-
-%postun -p /sbin/ldconfig
-
-%files
-%defattr(-,root,root)
-%doc README
-%{_libdir}/libz.so.*
-
-%files devel
-%defattr(-,root,root)
-%doc ChangeLog algorithm.txt minigzip.c example.c
-%{_libdir}/*.a
-%{_libdir}/*.so
-%{_includedir}/*
-%{_mandir}/man3/zlib.3*
-
-%changelog
-* Sun Aug 26 2001 Trond Eivind Glomsrød <teg@redhat.com> 1.1.3-24
-- Add example.c and minigzip.c to the doc files, as
- they are listed as examples in the README (#52574)
-
-* Mon Jun 18 2001 Trond Eivind Glomsrød <teg@redhat.com>
-- Updated URL
-- Add version dependency for zlib-devel
-- s/Copyright/License/
-
-* Wed Feb 14 2001 Trond Eivind Glomsrød <teg@redhat.com>
-- bumped version number - this is the old version without the performance enhancements
-
-* Fri Sep 15 2000 Florian La Roche <Florian.LaRoche@redhat.de>
-- add -fPIC for shared libs (patch by Fritz Elfert)
-
-* Thu Sep 7 2000 Jeff Johnson <jbj@redhat.com>
-- on 64bit systems, make sure libraries are located correctly.
-
-* Thu Aug 17 2000 Jeff Johnson <jbj@redhat.com>
-- summaries from specspo.
-
-* Thu Jul 13 2000 Prospector <bugzilla@redhat.com>
-- automatic rebuild
-
-* Sun Jul 02 2000 Trond Eivind Glomsrød <teg@redhat.com>
-- rebuild
-
-* Tue Jun 13 2000 Jeff Johnson <jbj@redhat.com>
-- FHS packaging to build on solaris2.5.1.
-
-* Wed Jun 07 2000 Trond Eivind Glomsrød <teg@redhat.com>
-- use %%{_mandir} and %%{_tmppath}
-
-* Fri May 12 2000 Trond Eivind Glomsrød <teg@redhat.com>
-- updated URL and source location
-- moved README to main package
-
-* Mon Feb 7 2000 Jeff Johnson <jbj@redhat.com>
-- compress man page.
-
-* Sun Mar 21 1999 Cristian Gafton <gafton@redhat.com>
-- auto rebuild in the new build environment (release 5)
-
-* Wed Sep 09 1998 Cristian Gafton <gafton@redhat.com>
-- link against glibc
-
-* Mon Jul 27 1998 Jeff Johnson <jbj@redhat.com>
-- upgrade to 1.1.3
-
-* Fri May 08 1998 Prospector System <bugs@redhat.com>
-- translations modified for de, fr, tr
-
-* Wed Apr 08 1998 Cristian Gafton <gafton@redhat.com>
-- upgraded to 1.1.2
-- buildroot
-
-* Tue Oct 07 1997 Donnie Barnes <djb@redhat.com>
-- added URL tag (down at the moment so it may not be correct)
-- made zlib-devel require zlib
-
-* Thu Jun 19 1997 Erik Troan <ewt@redhat.com>
-- built against glibc