1b33c96954667ba382fa595baf7b31290bfdd517vboxsync ZLib for Ada thick binding (ZLib.Ada)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Release 1.3
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncZLib.Ada is a thick binding interface to the popular ZLib data
1b33c96954667ba382fa595baf7b31290bfdd517vboxsynccompression library, available at http://www.gzip.org/zlib/.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncIt provides Ada-style access to the ZLib C library.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Here are the main changes since ZLib.Ada 1.2:
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync- Attension: ZLib.Read generic routine have a initialization requirement
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync for Read_Last parameter now. It is a bit incompartible with previous version,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync but extends functionality, we could use new parameters Allow_Read_Some and
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Flush now.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync- Added Is_Open routines to ZLib and ZLib.Streams packages.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync- Add pragma Assert to check Stream_Element is 8 bit.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync- Fix extraction to buffer with exact known decompressed size. Error reported by
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Steve Sangwine.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync- Fix definition of ULong (changed to unsigned_long), fix regression on 64 bits
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync computers. Patch provided by Pascal Obry.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync- Add Status_Error exception definition.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync- Add pragma Assertion that Ada.Streams.Stream_Element size is 8 bit.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync How to build ZLib.Ada under GNAT
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncYou should have the ZLib library already build on your computer, before
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncbuilding ZLib.Ada. Make the directory of ZLib.Ada sources current and
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncissue the command:
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync gnatmake test -largs -L<directory where libz.a is> -lz
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncOr use the GNAT project file build for GNAT 3.15 or later:
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync gnatmake -Pzlib.gpr -L<directory where libz.a is>
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync How to build ZLib.Ada under Aonix ObjectAda for Win32 7.2.2
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync1. Make a project with all *.ads and *.adb files from the distribution.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync2. Build the libz.a library from the ZLib C sources.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync3. Rename libz.a to z.lib.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync4. Add the library z.lib to the project.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync5. Add the libc.lib library from the ObjectAda distribution to the project.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync6. Build the executable using test.adb as a main procedure.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync How to use ZLib.Ada
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncThe source files test.adb and read.adb are small demo programs that show
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncthe main functionality of ZLib.Ada.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncThe routines from the package specifications are commented.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncHomepage: http://zlib-ada.sourceforge.net/
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncAuthor: Dmitriy Anisimkov <anisimkov@yahoo.com>
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncContributors: Pascal Obry <pascal@obry.org>, Steve Sangwine <sjs@essex.ac.uk>