xref: /netbsd/common/dist/zlib/contrib/ada/readme.txt (revision aaf4ece6)
1*aaf4ece6Schristos                        ZLib for Ada thick binding (ZLib.Ada)
2*aaf4ece6Schristos                        Release 1.3
3*aaf4ece6Schristos
4*aaf4ece6SchristosZLib.Ada is a thick binding interface to the popular ZLib data
5*aaf4ece6Schristoscompression library, available at http://www.gzip.org/zlib/.
6*aaf4ece6SchristosIt provides Ada-style access to the ZLib C library.
7*aaf4ece6Schristos
8*aaf4ece6Schristos
9*aaf4ece6Schristos        Here are the main changes since ZLib.Ada 1.2:
10*aaf4ece6Schristos
11*aaf4ece6Schristos- Attension: ZLib.Read generic routine have a initialization requirement
12*aaf4ece6Schristos  for Read_Last parameter now. It is a bit incompartible with previous version,
13*aaf4ece6Schristos  but extends functionality, we could use new parameters Allow_Read_Some and
14*aaf4ece6Schristos  Flush now.
15*aaf4ece6Schristos
16*aaf4ece6Schristos- Added Is_Open routines to ZLib and ZLib.Streams packages.
17*aaf4ece6Schristos
18*aaf4ece6Schristos- Add pragma Assert to check Stream_Element is 8 bit.
19*aaf4ece6Schristos
20*aaf4ece6Schristos- Fix extraction to buffer with exact known decompressed size. Error reported by
21*aaf4ece6Schristos  Steve Sangwine.
22*aaf4ece6Schristos
23*aaf4ece6Schristos- Fix definition of ULong (changed to unsigned_long), fix regression on 64 bits
24*aaf4ece6Schristos  computers. Patch provided by Pascal Obry.
25*aaf4ece6Schristos
26*aaf4ece6Schristos- Add Status_Error exception definition.
27*aaf4ece6Schristos
28*aaf4ece6Schristos- Add pragma Assertion that Ada.Streams.Stream_Element size is 8 bit.
29*aaf4ece6Schristos
30*aaf4ece6Schristos
31*aaf4ece6Schristos        How to build ZLib.Ada under GNAT
32*aaf4ece6Schristos
33*aaf4ece6SchristosYou should have the ZLib library already build on your computer, before
34*aaf4ece6Schristosbuilding ZLib.Ada. Make the directory of ZLib.Ada sources current and
35*aaf4ece6Schristosissue the command:
36*aaf4ece6Schristos
37*aaf4ece6Schristos  gnatmake test -largs -L<directory where libz.a is> -lz
38*aaf4ece6Schristos
39*aaf4ece6SchristosOr use the GNAT project file build for GNAT 3.15 or later:
40*aaf4ece6Schristos
41*aaf4ece6Schristos  gnatmake -Pzlib.gpr -L<directory where libz.a is>
42*aaf4ece6Schristos
43*aaf4ece6Schristos
44*aaf4ece6Schristos        How to build ZLib.Ada under Aonix ObjectAda for Win32 7.2.2
45*aaf4ece6Schristos
46*aaf4ece6Schristos1. Make a project with all *.ads and *.adb files from the distribution.
47*aaf4ece6Schristos2. Build the libz.a library from the ZLib C sources.
48*aaf4ece6Schristos3. Rename libz.a to z.lib.
49*aaf4ece6Schristos4. Add the library z.lib to the project.
50*aaf4ece6Schristos5. Add the libc.lib library from the ObjectAda distribution to the project.
51*aaf4ece6Schristos6. Build the executable using test.adb as a main procedure.
52*aaf4ece6Schristos
53*aaf4ece6Schristos
54*aaf4ece6Schristos        How to use ZLib.Ada
55*aaf4ece6Schristos
56*aaf4ece6SchristosThe source files test.adb and read.adb are small demo programs that show
57*aaf4ece6Schristosthe main functionality of ZLib.Ada.
58*aaf4ece6Schristos
59*aaf4ece6SchristosThe routines from the package specifications are commented.
60*aaf4ece6Schristos
61*aaf4ece6Schristos
62*aaf4ece6SchristosHomepage: http://zlib-ada.sourceforge.net/
63*aaf4ece6SchristosAuthor: Dmitriy Anisimkov <anisimkov@yahoo.com>
64*aaf4ece6Schristos
65*aaf4ece6SchristosContributors: Pascal Obry <pascal@obry.org>, Steve Sangwine <sjs@essex.ac.uk>
66