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