updated tinyXML and zlib info
This commit is contained in:
parent
fd3783d63f
commit
aebd48414a
4
readme-tinyxml.txt
Normal file
4
readme-tinyxml.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
ZEngine makes use of tinyXML which is freely available from http://tinyxml.sourceforge.net/
|
||||||
|
TinyXML is licensed under the zlib license which allows embedding.
|
||||||
|
Files within src/tinyxml and include/tinyxml fall under TinyXML's license and are not part of ZEngine.
|
||||||
|
For more information the readme from TinyXML is included in tinyxml.txt
|
@ -1,6 +1,5 @@
|
|||||||
ZEngine makes use of Zlib along with code from Gilles Vollant's unzip which is
|
ZEngine makes use of Zlib 1.2.1 along with code from Gilles Vollant's unzip 1.0 which is included with zlib in the contrib/minizip directory.
|
||||||
included with Zlib in the contrib/minizip directory. The Zlib license allows
|
ZLib is available from http://zlib.org.
|
||||||
the embedding which is done for user convinience (and since zlib is a reasonably
|
The Zlib license allows embedding which is done for user convinience (and since zlib is a reasonably stable library).
|
||||||
stable library). Information on ZLib's license can be found in zlib-license.txt
|
Files within src/zlib and include/zlib fall under zlib's license and are not part of ZEngine.
|
||||||
which applies to all files found within the include/zlib and src/zlib
|
For more information the readme from zlib is included in zlib.txt
|
||||||
directories.
|
|
402
tinyxml.txt
Normal file
402
tinyxml.txt
Normal file
@ -0,0 +1,402 @@
|
|||||||
|
/** @mainpage
|
||||||
|
|
||||||
|
<h1> TinyXml </h1>
|
||||||
|
|
||||||
|
TinyXml is a simple, small, C++ XML parser that can be easily
|
||||||
|
integrating into other programs.
|
||||||
|
|
||||||
|
|
||||||
|
<h2> What it does. </h2>
|
||||||
|
|
||||||
|
In brief, TinyXml parses an XML document, and builds from that a
|
||||||
|
Document Object Model (DOM) that can be read, modified, and saved.
|
||||||
|
|
||||||
|
XML stands for "eXtensible Markup Language." It allows you to create
|
||||||
|
your own document markups. Where HTML does a very good job of marking
|
||||||
|
documents for browsers, XML allows you to define any kind of document
|
||||||
|
markup, for example a document that describes a "to do" list for an
|
||||||
|
organizer application. XML is a very structured and convenient format.
|
||||||
|
All those random file formats created to store application data can
|
||||||
|
all be replaced with XML. One parser for everything.
|
||||||
|
|
||||||
|
There are different ways to access and interact with XML data.
|
||||||
|
TinyXml uses a Document Object Model (DOM), meaning the XML data is parsed
|
||||||
|
into a tree objects that can be browsed and manipulated, and then
|
||||||
|
written back to disk. You can also construct an XML document from
|
||||||
|
scratch with C++ objects and write this to disk (or another output
|
||||||
|
stream.)
|
||||||
|
|
||||||
|
TinyXml is designed to be easy and fast. It is two headers and four cpp
|
||||||
|
files. Simply add these to your project and off you go. There is an
|
||||||
|
example to get you started. It is released under the ZLib license,
|
||||||
|
so you can use it in open source or commercial code.
|
||||||
|
|
||||||
|
It attempts to be a flexible parser, but with truly correct and
|
||||||
|
compliant XML output (with the exception of the character set,
|
||||||
|
below.) TinyXml should compile on any reasonably C++
|
||||||
|
system. It does not rely on exceptions or RTTI. It can be
|
||||||
|
compiled with or without STL support.
|
||||||
|
|
||||||
|
|
||||||
|
<h2> What it doesn't do. </h2>
|
||||||
|
|
||||||
|
It doesnt parse or use DTDs (Document Type Definitions) or XSLs
|
||||||
|
(eXtensible Stylesheet Language.) It is only tested on Latin-1
|
||||||
|
characters (which is the Western European character set).
|
||||||
|
Although people have reported success in passing through Latin-1
|
||||||
|
and UTF-8 data. There are other parsers out there (check out
|
||||||
|
www.sourceforge.org, search for XML) that are much more fully
|
||||||
|
featured. But they are also much bigger, take longer to set up in
|
||||||
|
your project, have a higher learning curve, and often have a more
|
||||||
|
restrictive license. If you are working with browsers or have more
|
||||||
|
complete XML needs, TinyXml is not the parser for you.
|
||||||
|
|
||||||
|
|
||||||
|
<h2> Code Status. </h2>
|
||||||
|
|
||||||
|
TinyXml is mature, tested code. It is very stable. If you find
|
||||||
|
bugs, send them in and we'll get them straightened out as soon as possible.
|
||||||
|
|
||||||
|
There are some areas of improvement; please check sourceforge if you are
|
||||||
|
interested in working on TinyXml.
|
||||||
|
|
||||||
|
|
||||||
|
<h2> Features </h2>
|
||||||
|
|
||||||
|
<h3> Using STL </h3>
|
||||||
|
|
||||||
|
TinyXml can be compiled to use or not use STL. When using STL, TinyXml
|
||||||
|
uses the std::string class, and fully supports std::istream, std::ostream,
|
||||||
|
operator<<, and operator>>. Many API methods have both 'const char*' and
|
||||||
|
'const std::string&' forms.
|
||||||
|
|
||||||
|
When STL support is compiled out, no STL files are included whatsover. All
|
||||||
|
the string classes are implemented by TinyXml itself. API methods
|
||||||
|
all use the 'const char*' form for input.
|
||||||
|
|
||||||
|
Use the compile time #define:
|
||||||
|
|
||||||
|
TIXML_USE_STL
|
||||||
|
|
||||||
|
to compile one version or the other. This can be passed by the compiler,
|
||||||
|
or set as the first line of "tinyxml.h".
|
||||||
|
|
||||||
|
Note: If compiling the test code in Linux, setting the environment
|
||||||
|
variable TINYXML_USE_STL=YES/NO will control STL compilation. In the
|
||||||
|
Windows project file, STL and non STL targets are provided. In your project,
|
||||||
|
its probably easiest to add the line "#define TIXML_USE_STL" as the first
|
||||||
|
line of tinyxml.h.
|
||||||
|
|
||||||
|
|
||||||
|
<h3> Entities </h3>
|
||||||
|
TinyXml recognizes the pre-defined "entity references", meaning special
|
||||||
|
characters. Namely:
|
||||||
|
|
||||||
|
@verbatim
|
||||||
|
& &
|
||||||
|
< <
|
||||||
|
> >
|
||||||
|
" "
|
||||||
|
'
|
||||||
|
@endverbatim
|
||||||
|
|
||||||
|
These are recognized when the XML document is read, and translated to there
|
||||||
|
ASCII equivalents. For instance, text with the XML of:
|
||||||
|
|
||||||
|
@verbatim
|
||||||
|
Far & Away
|
||||||
|
@endverbatim
|
||||||
|
|
||||||
|
will have the Value() of "Far & Away" when queried from the TiXmlText object,
|
||||||
|
but will be written back to the XML stream/file as an entitity.
|
||||||
|
|
||||||
|
|
||||||
|
<h3> Streams </h3>
|
||||||
|
With TIXML_USE_STL on,
|
||||||
|
TiXml has been modified to support both C (FILE) and C++ (operator <<,>>)
|
||||||
|
streams. There are some differences that you may need to be aware of.
|
||||||
|
|
||||||
|
C style output:
|
||||||
|
- based on FILE*
|
||||||
|
- the Print() and SaveFile() methods
|
||||||
|
|
||||||
|
Generates formatted output, with plenty of white space, intended to be as
|
||||||
|
human-readable as possible. They are very fast, and tolerant of ill formed
|
||||||
|
XML documents. For example, an XML document that contains 2 root elements
|
||||||
|
and 2 declarations, will print.
|
||||||
|
|
||||||
|
C style input:
|
||||||
|
- based on FILE*
|
||||||
|
- the Parse() and LoadFile() methods
|
||||||
|
|
||||||
|
A fast, tolerant read. Use whenever you don't need the C++ streams.
|
||||||
|
|
||||||
|
C++ style ouput:
|
||||||
|
- based on std::ostream
|
||||||
|
- operator<<
|
||||||
|
|
||||||
|
Generates condensed output, intended for network transmission rather than
|
||||||
|
readability. Depending on your system's implementation of the ostream class,
|
||||||
|
these may be somewhat slower. (Or may not.) Not tolerant of ill formed XML:
|
||||||
|
a document should contain the correct one root element. Additional root level
|
||||||
|
elements will not be streamed out.
|
||||||
|
|
||||||
|
C++ style input:
|
||||||
|
- based on std::istream
|
||||||
|
- operator>>
|
||||||
|
|
||||||
|
Reads XML from a stream, making it useful for network transmission. The tricky
|
||||||
|
part is knowing when the XML document is complete, since there will almost
|
||||||
|
certainly be other data in the stream. TinyXml will assume the XML data is
|
||||||
|
complete after it reads the root element. Put another way, documents that
|
||||||
|
are ill-constructed with more than one root element will not read correctly.
|
||||||
|
Also note that operator>> is somewhat slower than Parse, due to both
|
||||||
|
implementation of the STL and limitations of TinyXml.
|
||||||
|
|
||||||
|
<h3> White space </h3>
|
||||||
|
The world simply does not agree on whether white space should be kept, or condensed.
|
||||||
|
For example, pretend the '_' is a space, and look at "Hello____world". HTML, and
|
||||||
|
at least some XML parsers, will interpret this as "Hello_world". They condense white
|
||||||
|
space. Some XML parsers do not, and will leave it as "Hello____world". (Remember
|
||||||
|
to keep pretending the _ is a space.) Others suggest that __Hello___world__ should become
|
||||||
|
Hello___world.
|
||||||
|
|
||||||
|
It's an issue that hasn't been resolved to my satisfaction. TinyXml supports the
|
||||||
|
first 2 approaches. Call TiXmlBase::SetCondenseWhiteSpace( bool ) to set the desired behavior.
|
||||||
|
The default is to condense white space.
|
||||||
|
|
||||||
|
If you change the default, you should call TiXmlBase::SetCondenseWhiteSpace( bool )
|
||||||
|
before making any calls to Parse XML data, and I don't recommend changing it after
|
||||||
|
it has been set.
|
||||||
|
|
||||||
|
|
||||||
|
<h3> Handles </h3>
|
||||||
|
|
||||||
|
Where browsing an XML document in a robust way, it is important to check
|
||||||
|
for null returns from method calls. An error safe implementation can
|
||||||
|
generate a lot of code like:
|
||||||
|
|
||||||
|
@verbatim
|
||||||
|
TiXmlElement* root = document.FirstChildElement( "Document" );
|
||||||
|
if ( root )
|
||||||
|
{
|
||||||
|
TiXmlElement* element = root->FirstChildElement( "Element" );
|
||||||
|
if ( element )
|
||||||
|
{
|
||||||
|
TiXmlElement* child = element->FirstChildElement( "Child" );
|
||||||
|
if ( child )
|
||||||
|
{
|
||||||
|
TiXmlElement* child2 = child->NextSiblingElement( "Child" );
|
||||||
|
if ( child2 )
|
||||||
|
{
|
||||||
|
// Finally do something useful.
|
||||||
|
@endverbatim
|
||||||
|
|
||||||
|
Handles have been introduced to clean this up. Using the TiXmlHandle class,
|
||||||
|
the previous code reduces to:
|
||||||
|
|
||||||
|
@verbatim
|
||||||
|
TiXmlHandle docHandle( &document );
|
||||||
|
TiXmlElement* child2 = docHandle.FirstChild( "Document" ).FirstChild( "Element" ).Child( "Child", 1 ).Element();
|
||||||
|
if ( child2 )
|
||||||
|
{
|
||||||
|
// do something useful
|
||||||
|
@endverbatim
|
||||||
|
|
||||||
|
Which is much easier to deal with. See TiXmlHandle for more information.
|
||||||
|
|
||||||
|
|
||||||
|
<h3> Row and Column tracking </h3>
|
||||||
|
Being able to track nodes and attributes back to their origin location
|
||||||
|
in source files can be very important for some applications. Additionally,
|
||||||
|
knowing where parsing errors occured in the original source can be very
|
||||||
|
time saving.
|
||||||
|
|
||||||
|
TinyXml can tracks the row and column origin of all nodes and attributes
|
||||||
|
in a text file. The TiXmlBase::Row() and TiXmlBase::Column() methods return
|
||||||
|
the origin of the node in the source text. The correct tabs can be
|
||||||
|
configured in TiXmlDocument::SetTabSize().
|
||||||
|
|
||||||
|
|
||||||
|
<h2> Using and Installing </h2>
|
||||||
|
|
||||||
|
To Compile and Run xmltest:
|
||||||
|
|
||||||
|
A Linux Makefile and a Windows Visual C++ .dsw file is provided.
|
||||||
|
Simply compile and run. It will write the file demotest.xml to your
|
||||||
|
disk and generate output on the screen. It also tests walking the
|
||||||
|
DOM by printing out the number of nodes found using different
|
||||||
|
techniques.
|
||||||
|
|
||||||
|
The Linux makefile is very generic and will
|
||||||
|
probably run on other systems, but is only tested on Linux. You no
|
||||||
|
longer need to run 'make depend'. The dependecies have been
|
||||||
|
hard coded.
|
||||||
|
|
||||||
|
<h3>Windows project file for VC6</h3>
|
||||||
|
<ul>
|
||||||
|
<li>tinyxml: tinyxml library, non-STL </li>
|
||||||
|
<li>tinyxmlSTL: tinyxml library, STL </li>
|
||||||
|
<li>tinyXmlTest: test app, non-STL </li>
|
||||||
|
<li>tinyXmlTestSTL: test app, STL </li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3>Linux Make file</h3>
|
||||||
|
At the top of the makefile you can set:
|
||||||
|
|
||||||
|
PROFILE, DEBUG, and TINYXML_USE_STL. Details (such that they are) are in
|
||||||
|
the makefile.
|
||||||
|
|
||||||
|
In the tinyxml directory, type "make clean" then "make". The executable
|
||||||
|
file 'xmltest' will be created.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h3>To Use in an Application:</h3>
|
||||||
|
|
||||||
|
Add tinyxml.cpp, tinyxml.h, tinyxmlerror.cpp, tinyxmlparser.cpp, and tinystr.cpp to your
|
||||||
|
project or make file. That's it! It should compile on any reasonably
|
||||||
|
compliant C++ system. You do not need to enable exceptions or
|
||||||
|
RTTI for TinyXml.
|
||||||
|
|
||||||
|
|
||||||
|
<h2> How TinyXml works. </h2>
|
||||||
|
|
||||||
|
An example is probably the best way to go. Take:
|
||||||
|
@verbatim
|
||||||
|
<?xml version="1.0" standalone=no>
|
||||||
|
<!-- Our to do list data -->
|
||||||
|
<ToDo>
|
||||||
|
<Item priority="1"> Go to the <bold>Toy store!</bold></Item>
|
||||||
|
<Item priority="2"> Do bills</Item>
|
||||||
|
</ToDo>
|
||||||
|
@endverbatim
|
||||||
|
|
||||||
|
Its not much of a To Do list, but it will do. To read this file
|
||||||
|
(say "demo.xml") you would create a document, and parse it in:
|
||||||
|
@verbatim
|
||||||
|
TiXmlDocument doc( "demo.xml" );
|
||||||
|
doc.LoadFile();
|
||||||
|
@endverbatim
|
||||||
|
|
||||||
|
And its ready to go. Now lets look at some lines and how they
|
||||||
|
relate to the DOM.
|
||||||
|
|
||||||
|
@verbatim
|
||||||
|
<?xml version="1.0" standalone=no>
|
||||||
|
@endverbatim
|
||||||
|
|
||||||
|
The first line is a declaration, and gets turned into the
|
||||||
|
TiXmlDeclaration class. It will be the first child of the
|
||||||
|
document node.
|
||||||
|
|
||||||
|
This is the only directive/special tag parsed by by TinyXml.
|
||||||
|
Generally directive targs are stored in TiXmlUnknown so the
|
||||||
|
commands wont be lost when it is saved back to disk.
|
||||||
|
|
||||||
|
@verbatim
|
||||||
|
<!-- Our to do list data -->
|
||||||
|
@endverbatim
|
||||||
|
|
||||||
|
A comment. Will become a TiXmlComment object.
|
||||||
|
|
||||||
|
@verbatim
|
||||||
|
<ToDo>
|
||||||
|
@endverbatim
|
||||||
|
|
||||||
|
The "ToDo" tag defines a TiXmlElement object. This one does not have
|
||||||
|
any attributes, but does contain 2 other elements.
|
||||||
|
|
||||||
|
@verbatim
|
||||||
|
<Item priority="1">
|
||||||
|
@endverbatim
|
||||||
|
|
||||||
|
Creates another TiXmlElement which is a child of the "ToDo" element.
|
||||||
|
This element has 1 attribute, with the name "priority" and the value
|
||||||
|
"1".
|
||||||
|
|
||||||
|
Go to the
|
||||||
|
|
||||||
|
A TiXmlText. This is a leaf node and cannot contain other nodes.
|
||||||
|
It is a child of the "Item" TiXmlElement.
|
||||||
|
|
||||||
|
@verbatim
|
||||||
|
<bold>
|
||||||
|
@endverbatim
|
||||||
|
|
||||||
|
|
||||||
|
Another TiXmlElement, this one a child of the "Item" element.
|
||||||
|
|
||||||
|
Etc.
|
||||||
|
|
||||||
|
Looking at the entire object tree, you end up with:
|
||||||
|
@verbatim
|
||||||
|
TiXmlDocument "demo.xml"
|
||||||
|
TiXmlDeclaration "version='1.0'" "standalone=no"
|
||||||
|
TiXmlComment " Our to do list data"
|
||||||
|
TiXmlElement "ToDo"
|
||||||
|
TiXmlElement "Item" Attribtutes: priority = 1
|
||||||
|
TiXmlText "Go to the "
|
||||||
|
TiXmlElement "bold"
|
||||||
|
TiXmlText "Toy store!"
|
||||||
|
TiXmlElement "Item" Attributes: priority=2
|
||||||
|
TiXmlText "bills"
|
||||||
|
@endverbatim
|
||||||
|
|
||||||
|
<h2> Documentation </h2>
|
||||||
|
|
||||||
|
The documentation is build with Doxygen, using the 'dox'
|
||||||
|
configuration file.
|
||||||
|
|
||||||
|
<h2> License </h2>
|
||||||
|
|
||||||
|
TinyXml is released under the zlib license:
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
Permission is granted to anyone to use this software for any
|
||||||
|
purpose, including commercial applications, and to alter it and
|
||||||
|
redistribute it freely, subject to the following restrictions:
|
||||||
|
|
||||||
|
1. The origin of this software must not be misrepresented; you must
|
||||||
|
not claim that you wrote the original software. If you use this
|
||||||
|
software in a product, an acknowledgment in the product documentation
|
||||||
|
would be appreciated but is not required.
|
||||||
|
|
||||||
|
2. Altered source versions must be plainly marked as such, and
|
||||||
|
must not be misrepresented as being the original software.
|
||||||
|
|
||||||
|
3. This notice may not be removed or altered from any source
|
||||||
|
distribution.
|
||||||
|
|
||||||
|
<h2> References </h2>
|
||||||
|
|
||||||
|
The World Wide Web Consortium is the definitive standard body for
|
||||||
|
XML, and there web pages contain huge amounts of information. I also
|
||||||
|
recommend "XML Pocket Reference" by Robert Eckstein and published by
|
||||||
|
OReilly.
|
||||||
|
|
||||||
|
<h2> Contributors, Contacts, and a Brief History </h2>
|
||||||
|
|
||||||
|
Thanks very much to everyone who sends suggestions, bugs, ideas, and
|
||||||
|
encouragement. It all helps, and makes this project fun. A special thanks
|
||||||
|
to the contributors on the web pages that keep it lively.
|
||||||
|
|
||||||
|
So many people have sent in bugs and ideas, that rather than list here
|
||||||
|
we try to give credit due in the "changes.txt" file.
|
||||||
|
|
||||||
|
TinyXml was originally written be Lee Thomason. (Often the "I" still
|
||||||
|
in the documenation.) Lee reviews changes and releases new versions,
|
||||||
|
with the help of Yves Berquin and the tinyXml community.
|
||||||
|
|
||||||
|
We appreciate your suggestions, and would love to know if you
|
||||||
|
use TinyXml. Hopefully you will enjoy it and find it useful.
|
||||||
|
Please post questions, comments, file bugs, or contact us at:
|
||||||
|
|
||||||
|
www.sourceforge.net/projects/tinyxml
|
||||||
|
|
||||||
|
Lee Thomason,
|
||||||
|
Yves Berquin
|
||||||
|
*/
|
126
zlib.txt
Normal file
126
zlib.txt
Normal file
@ -0,0 +1,126 @@
|
|||||||
|
ZLIB DATA COMPRESSION LIBRARY
|
||||||
|
|
||||||
|
zlib 1.2.1 is a general purpose data compression library. All the code is
|
||||||
|
thread safe. The data format used by the zlib library is described by RFCs
|
||||||
|
(Request for Comments) 1950 to 1952 in the files
|
||||||
|
http://www.ietf.org/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate format)
|
||||||
|
and rfc1952.txt (gzip format). These documents are also available in other
|
||||||
|
formats from ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html
|
||||||
|
|
||||||
|
All functions of the compression library are documented in the file zlib.h
|
||||||
|
(volunteer to write man pages welcome, contact zlib@gzip.org). A usage example
|
||||||
|
of the library is given in the file example.c which also tests that the library
|
||||||
|
is working correctly. Another example is given in the file minigzip.c. The
|
||||||
|
compression library itself is composed of all source files except example.c and
|
||||||
|
minigzip.c.
|
||||||
|
|
||||||
|
To compile all files and run the test program, follow the instructions given at
|
||||||
|
the top of Makefile. In short "make test; make install" should work for most
|
||||||
|
machines. For Unix: "./configure; make test; make install" For MSDOS, use one
|
||||||
|
of the special makefiles such as Makefile.msc. For VMS, use Make_vms.com or
|
||||||
|
descrip.mms.
|
||||||
|
|
||||||
|
Questions about zlib should be sent to <zlib@gzip.org>, or to Gilles Vollant
|
||||||
|
<info@winimage.com> for the Windows DLL version. The zlib home page is
|
||||||
|
http://www.zlib.org or http://www.gzip.org/zlib/ Before reporting a problem,
|
||||||
|
please check this site to verify that you have the latest version of zlib;
|
||||||
|
otherwise get the latest version and check whether the problem still exists or
|
||||||
|
not.
|
||||||
|
|
||||||
|
PLEASE read the zlib FAQ http://www.gzip.org/zlib/zlib_faq.html before asking
|
||||||
|
for help.
|
||||||
|
|
||||||
|
Mark Nelson <markn@ieee.org> wrote an article about zlib for the Jan. 1997
|
||||||
|
issue of Dr. Dobb's Journal; a copy of the article is available in
|
||||||
|
http://dogma.net/markn/articles/zlibtool/zlibtool.htm
|
||||||
|
|
||||||
|
The changes made in version 1.2.1 are documented in the file ChangeLog.
|
||||||
|
|
||||||
|
Unsupported third party contributions are provided in directory "contrib".
|
||||||
|
|
||||||
|
A Java implementation of zlib is available in the Java Development Kit
|
||||||
|
http://java.sun.com/j2se/1.4.2/docs/api/java/util/zip/package-summary.html
|
||||||
|
See the zlib home page http://www.zlib.org for details.
|
||||||
|
|
||||||
|
A Perl interface to zlib written by Paul Marquess <pmqs@cpan.org> is in the
|
||||||
|
CPAN (Comprehensive Perl Archive Network) sites
|
||||||
|
http://www.cpan.org/modules/by-module/Compress/
|
||||||
|
|
||||||
|
A Python interface to zlib written by A.M. Kuchling <amk@magnet.com> is
|
||||||
|
available in Python 1.5 and later versions, see
|
||||||
|
http://www.python.org/doc/lib/module-zlib.html
|
||||||
|
|
||||||
|
A zlib binding for TCL written by Andreas Kupries <a.kupries@westend.com> is
|
||||||
|
availlable at http://www.oche.de/~akupries/soft/trf/trf_zip.html
|
||||||
|
|
||||||
|
An experimental package to read and write files in .zip format, written on top
|
||||||
|
of zlib by Gilles Vollant <info@winimage.com>, is available in the
|
||||||
|
contrib/minizip directory of zlib.
|
||||||
|
|
||||||
|
|
||||||
|
Notes for some targets:
|
||||||
|
|
||||||
|
- For Windows DLL versions, please see win32/DLL_FAQ.txt
|
||||||
|
|
||||||
|
- For 64-bit Irix, deflate.c must be compiled without any optimization. With
|
||||||
|
-O, one libpng test fails. The test works in 32 bit mode (with the -n32
|
||||||
|
compiler flag). The compiler bug has been reported to SGI.
|
||||||
|
|
||||||
|
- zlib doesn't work with gcc 2.6.3 on a DEC 3000/300LX under OSF/1 2.1 it works
|
||||||
|
when compiled with cc.
|
||||||
|
|
||||||
|
- On Digital Unix 4.0D (formely OSF/1) on AlphaServer, the cc option -std1 is
|
||||||
|
necessary to get gzprintf working correctly. This is done by configure.
|
||||||
|
|
||||||
|
- zlib doesn't work on HP-UX 9.05 with some versions of /bin/cc. It works with
|
||||||
|
other compilers. Use "make test" to check your compiler.
|
||||||
|
|
||||||
|
- gzdopen is not supported on RISCOS, BEOS and by some Mac compilers.
|
||||||
|
|
||||||
|
- For PalmOs, see http://palmzlib.sourceforge.net/
|
||||||
|
|
||||||
|
- When building a shared, i.e. dynamic library on Mac OS X, the library must be
|
||||||
|
installed before testing (do "make install" before "make test"), since the
|
||||||
|
library location is specified in the library.
|
||||||
|
|
||||||
|
|
||||||
|
Acknowledgments:
|
||||||
|
|
||||||
|
The deflate format used by zlib was defined by Phil Katz. The deflate
|
||||||
|
and zlib specifications were written by L. Peter Deutsch. Thanks to all the
|
||||||
|
people who reported problems and suggested various improvements in zlib;
|
||||||
|
they are too numerous to cite here.
|
||||||
|
|
||||||
|
Copyright notice:
|
||||||
|
|
||||||
|
(C) 1995-2003 Jean-loup Gailly and Mark Adler
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
Permission is granted to anyone to use this software for any purpose,
|
||||||
|
including commercial applications, and to alter it and redistribute it
|
||||||
|
freely, subject to the following restrictions:
|
||||||
|
|
||||||
|
1. The origin of this software must not be misrepresented; you must not
|
||||||
|
claim that you wrote the original software. If you use this software
|
||||||
|
in a product, an acknowledgment in the product documentation would be
|
||||||
|
appreciated but is not required.
|
||||||
|
2. Altered source versions must be plainly marked as such, and must not be
|
||||||
|
misrepresented as being the original software.
|
||||||
|
3. This notice may not be removed or altered from any source distribution.
|
||||||
|
|
||||||
|
Jean-loup Gailly Mark Adler
|
||||||
|
jloup@gzip.org madler@alumni.caltech.edu
|
||||||
|
|
||||||
|
If you use the zlib library in a product, we would appreciate *not*
|
||||||
|
receiving lengthy legal documents to sign. The sources are provided
|
||||||
|
for free but without warranty of any kind. The library has been
|
||||||
|
entirely written by Jean-loup Gailly and Mark Adler; it does not
|
||||||
|
include third-party code.
|
||||||
|
|
||||||
|
If you redistribute modified sources, we would appreciate that you include
|
||||||
|
in the file ChangeLog history information documenting your changes. Please
|
||||||
|
read the FAQ for more information on the distribution of modified source
|
||||||
|
versions.
|
Loading…
Reference in New Issue
Block a user