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