annotate src/zlib-1.2.8/contrib/pascal/readme.txt @ 168:ceec0dd9ec9c

Replace these with versions built using an older toolset (so as to avoid ABI compatibilities when linking on Ubuntu 14.04 for packaging purposes)
author Chris Cannam <cannam@all-day-breakfast.com>
date Fri, 07 Feb 2020 11:51:13 +0000
parents 5b4145a0d408
children
rev   line source
cannam@128 1
cannam@128 2 This directory contains a Pascal (Delphi, Kylix) interface to the
cannam@128 3 zlib data compression library.
cannam@128 4
cannam@128 5
cannam@128 6 Directory listing
cannam@128 7 =================
cannam@128 8
cannam@128 9 zlibd32.mak makefile for Borland C++
cannam@128 10 example.pas usage example of zlib
cannam@128 11 zlibpas.pas the Pascal interface to zlib
cannam@128 12 readme.txt this file
cannam@128 13
cannam@128 14
cannam@128 15 Compatibility notes
cannam@128 16 ===================
cannam@128 17
cannam@128 18 - Although the name "zlib" would have been more normal for the
cannam@128 19 zlibpas unit, this name is already taken by Borland's ZLib unit.
cannam@128 20 This is somehow unfortunate, because that unit is not a genuine
cannam@128 21 interface to the full-fledged zlib functionality, but a suite of
cannam@128 22 class wrappers around zlib streams. Other essential features,
cannam@128 23 such as checksums, are missing.
cannam@128 24 It would have been more appropriate for that unit to have a name
cannam@128 25 like "ZStreams", or something similar.
cannam@128 26
cannam@128 27 - The C and zlib-supplied types int, uInt, long, uLong, etc. are
cannam@128 28 translated directly into Pascal types of similar sizes (Integer,
cannam@128 29 LongInt, etc.), to avoid namespace pollution. In particular,
cannam@128 30 there is no conversion of unsigned int into a Pascal unsigned
cannam@128 31 integer. The Word type is non-portable and has the same size
cannam@128 32 (16 bits) both in a 16-bit and in a 32-bit environment, unlike
cannam@128 33 Integer. Even if there is a 32-bit Cardinal type, there is no
cannam@128 34 real need for unsigned int in zlib under a 32-bit environment.
cannam@128 35
cannam@128 36 - Except for the callbacks, the zlib function interfaces are
cannam@128 37 assuming the calling convention normally used in Pascal
cannam@128 38 (__pascal for DOS and Windows16, __fastcall for Windows32).
cannam@128 39 Since the cdecl keyword is used, the old Turbo Pascal does
cannam@128 40 not work with this interface.
cannam@128 41
cannam@128 42 - The gz* function interfaces are not translated, to avoid
cannam@128 43 interfacing problems with the C runtime library. Besides,
cannam@128 44 gzprintf(gzFile file, const char *format, ...)
cannam@128 45 cannot be translated into Pascal.
cannam@128 46
cannam@128 47
cannam@128 48 Legal issues
cannam@128 49 ============
cannam@128 50
cannam@128 51 The zlibpas interface is:
cannam@128 52 Copyright (C) 1995-2003 Jean-loup Gailly and Mark Adler.
cannam@128 53 Copyright (C) 1998 by Bob Dellaca.
cannam@128 54 Copyright (C) 2003 by Cosmin Truta.
cannam@128 55
cannam@128 56 The example program is:
cannam@128 57 Copyright (C) 1995-2003 by Jean-loup Gailly.
cannam@128 58 Copyright (C) 1998,1999,2000 by Jacques Nomssi Nzali.
cannam@128 59 Copyright (C) 2003 by Cosmin Truta.
cannam@128 60
cannam@128 61 This software is provided 'as-is', without any express or implied
cannam@128 62 warranty. In no event will the author be held liable for any damages
cannam@128 63 arising from the use of this software.
cannam@128 64
cannam@128 65 Permission is granted to anyone to use this software for any purpose,
cannam@128 66 including commercial applications, and to alter it and redistribute it
cannam@128 67 freely, subject to the following restrictions:
cannam@128 68
cannam@128 69 1. The origin of this software must not be misrepresented; you must not
cannam@128 70 claim that you wrote the original software. If you use this software
cannam@128 71 in a product, an acknowledgment in the product documentation would be
cannam@128 72 appreciated but is not required.
cannam@128 73 2. Altered source versions must be plainly marked as such, and must not be
cannam@128 74 misrepresented as being the original software.
cannam@128 75 3. This notice may not be removed or altered from any source distribution.
cannam@128 76