summaryrefslogtreecommitdiff
path: root/contrib/delphi
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--contrib/delphi/ZLib.pas (renamed from contrib/delphi2/zlib.pas)163
-rw-r--r--contrib/delphi/ZLibConst.pas11
-rw-r--r--contrib/delphi/readme.txt76
-rw-r--r--contrib/delphi/zlib.mak36
-rw-r--r--contrib/delphi/zlibd32.mak93
-rw-r--r--contrib/delphi/zlibdef.pas169
-rw-r--r--contrib/delphi2/d_zlib.bpr224
-rw-r--r--contrib/delphi2/d_zlib.cpp17
-rw-r--r--contrib/delphi2/readme.txt17
-rw-r--r--contrib/delphi2/zlib.bpg26
-rw-r--r--contrib/delphi2/zlib.bpr225
-rw-r--r--contrib/delphi2/zlib.cpp22
-rw-r--r--contrib/delphi2/zlib32.bpr174
-rw-r--r--contrib/delphi2/zlib32.cpp42
14 files changed, 273 insertions, 1022 deletions
diff --git a/contrib/delphi2/zlib.pas b/contrib/delphi/ZLib.pas
index 10ae4ca..ea9a17f 100644
--- a/contrib/delphi2/zlib.pas
+++ b/contrib/delphi/ZLib.pas
@@ -1,33 +1,33 @@
1{*******************************************************} 1{*******************************************************}
2{ } 2{ }
3{ Delphi Supplemental Components } 3{ Borland Delphi Supplemental Components }
4{ ZLIB Data Compression Interface Unit } 4{ ZLIB Data Compression Interface Unit }
5{ } 5{ }
6{ Copyright (c) 1997 Borland International } 6{ Copyright (c) 1997,99 Borland Corporation }
7{ } 7{ }
8{*******************************************************} 8{*******************************************************}
9 9
10{ Modified for zlib 1.1.3 by Davide Moretti <dave@rimini.com } 10{ Updated for zlib 1.2.x by Cosmin Truta <cosmint@cs.ubbcluj.ro> }
11 11
12unit zlib; 12unit ZLib;
13 13
14interface 14interface
15 15
16uses Sysutils, Classes; 16uses SysUtils, Classes;
17 17
18type 18type
19 TAlloc = function (AppData: Pointer; Items, Size: Integer): Pointer; 19 TAlloc = function (AppData: Pointer; Items, Size: Integer): Pointer; cdecl;
20 TFree = procedure (AppData, Block: Pointer); 20 TFree = procedure (AppData, Block: Pointer); cdecl;
21 21
22 // Internal structure. Ignore. 22 // Internal structure. Ignore.
23 TZStreamRec = packed record 23 TZStreamRec = packed record
24 next_in: PChar; // next input byte 24 next_in: PChar; // next input byte
25 avail_in: Integer; // number of bytes available at next_in 25 avail_in: Integer; // number of bytes available at next_in
26 total_in: Integer; // total nb of input bytes read so far 26 total_in: Longint; // total nb of input bytes read so far
27 27
28 next_out: PChar; // next output byte should be put here 28 next_out: PChar; // next output byte should be put here
29 avail_out: Integer; // remaining free space at next_out 29 avail_out: Integer; // remaining free space at next_out
30 total_out: Integer; // total nb of bytes output so far 30 total_out: Longint; // total nb of bytes output so far
31 31
32 msg: PChar; // last error message, NULL if no error 32 msg: PChar; // last error message, NULL if no error
33 internal: Pointer; // not visible by applications 33 internal: Pointer; // not visible by applications
@@ -36,9 +36,9 @@ type
36 zfree: TFree; // used to free the internal state 36 zfree: TFree; // used to free the internal state
37 AppData: Pointer; // private data object passed to zalloc and zfree 37 AppData: Pointer; // private data object passed to zalloc and zfree
38 38
39 data_type: Integer; // best guess about the data type: ascii or binary 39 data_type: Integer; // best guess about the data type: ascii or binary
40 adler: Integer; // adler32 value of the uncompressed data 40 adler: Longint; // adler32 value of the uncompressed data
41 reserved: Integer; // reserved for future use 41 reserved: Longint; // reserved for future use
42 end; 42 end;
43 43
44 // Abstract ancestor class 44 // Abstract ancestor class
@@ -143,18 +143,26 @@ procedure CompressBuf(const InBuf: Pointer; InBytes: Integer;
143procedure DecompressBuf(const InBuf: Pointer; InBytes: Integer; 143procedure DecompressBuf(const InBuf: Pointer; InBytes: Integer;
144 OutEstimate: Integer; out OutBuf: Pointer; out OutBytes: Integer); 144 OutEstimate: Integer; out OutBuf: Pointer; out OutBytes: Integer);
145 145
146{ DecompressToUserBuf decompresses data, buffer to buffer, in one call.
147 In: InBuf = ptr to compressed data
148 InBytes = number of bytes in InBuf
149 Out: OutBuf = ptr to user-allocated buffer to contain decompressed data
150 BufSize = number of bytes in OutBuf }
151procedure DecompressToUserBuf(const InBuf: Pointer; InBytes: Integer;
152 const OutBuf: Pointer; BufSize: Integer);
153
146const 154const
147 zlib_version = '1.1.3'; 155 zlib_version = '1.2.0';
148 156
149type 157type
150 EZlibError = class(Exception); 158 EZlibError = class(Exception);
151 ECompressionError = class(EZlibError); 159 ECompressionError = class(EZlibError);
152 EDecompressionError = class(EZlibError); 160 EDecompressionError = class(EZlibError);
153 161
154function adler32(adler: Integer; buf: PChar; len: Integer): Integer;
155
156implementation 162implementation
157 163
164uses ZLibConst;
165
158const 166const
159 Z_NO_FLUSH = 0; 167 Z_NO_FLUSH = 0;
160 Z_PARTIAL_FLUSH = 1; 168 Z_PARTIAL_FLUSH = 1;
@@ -179,6 +187,7 @@ const
179 187
180 Z_FILTERED = 1; 188 Z_FILTERED = 1;
181 Z_HUFFMAN_ONLY = 2; 189 Z_HUFFMAN_ONLY = 2;
190 Z_RLE = 3;
182 Z_DEFAULT_STRATEGY = 0; 191 Z_DEFAULT_STRATEGY = 0;
183 192
184 Z_BINARY = 0; 193 Z_BINARY = 0;
@@ -187,56 +196,41 @@ const
187 196
188 Z_DEFLATED = 8; 197 Z_DEFLATED = 8;
189 198
190 _z_errmsg: array[0..9] of PChar = (
191 'need dictionary', // Z_NEED_DICT (2)
192 'stream end', // Z_STREAM_END (1)
193 '', // Z_OK (0)
194 'file error', // Z_ERRNO (-1)
195 'stream error', // Z_STREAM_ERROR (-2)
196 'data error', // Z_DATA_ERROR (-3)
197 'insufficient memory', // Z_MEM_ERROR (-4)
198 'buffer error', // Z_BUF_ERROR (-5)
199 'incompatible version', // Z_VERSION_ERROR (-6)
200 ''
201 );
202 199
200{$L adler32.obj}
201{$L compress.obj}
202{$L crc32.obj}
203{$L deflate.obj} 203{$L deflate.obj}
204{$L infback.obj}
205{$L inffast.obj}
204{$L inflate.obj} 206{$L inflate.obj}
205{$L inftrees.obj} 207{$L inftrees.obj}
206{$L trees.obj} 208{$L trees.obj}
207{$L adler32.obj} 209{$L uncompr.obj}
208{$L infblock.obj} 210{$L zutil.obj}
209{$L infcodes.obj} 211
210{$L infutil.obj} 212procedure adler32; external;
211{$L inffast.obj} 213procedure compressBound; external;
214procedure crc32; external;
215procedure deflateInit2_; external;
216procedure deflateParams; external;
212 217
213procedure _tr_init; external; 218function _malloc(Size: Integer): Pointer; cdecl;
214procedure _tr_tally; external; 219begin
215procedure _tr_flush_block; external; 220 Result := AllocMem(Size);
216procedure _tr_align; external; 221end;
217procedure _tr_stored_block; external; 222
218function adler32; external; 223procedure _free(Block: Pointer); cdecl;
219procedure inflate_blocks_new; external; 224begin
220procedure inflate_blocks; external; 225 FreeMem(Block);
221procedure inflate_blocks_reset; external; 226end;
222procedure inflate_blocks_free; external; 227
223procedure inflate_set_dictionary; external; 228procedure _memset(P: Pointer; B: Byte; count: Integer); cdecl;
224procedure inflate_trees_bits; external;
225procedure inflate_trees_dynamic; external;
226procedure inflate_trees_fixed; external;
227procedure inflate_codes_new; external;
228procedure inflate_codes; external;
229procedure inflate_codes_free; external;
230procedure _inflate_mask; external;
231procedure inflate_flush; external;
232procedure inflate_fast; external;
233
234procedure _memset(P: Pointer; B: Byte; count: Integer);cdecl;
235begin 229begin
236 FillChar(P^, count, B); 230 FillChar(P^, count, B);
237end; 231end;
238 232
239procedure _memcpy(dest, source: Pointer; count: Integer);cdecl; 233procedure _memcpy(dest, source: Pointer; count: Integer); cdecl;
240begin 234begin
241 Move(source^, dest^, count); 235 Move(source^, dest^, count);
242end; 236end;
@@ -257,22 +251,23 @@ function inflateEnd(var strm: TZStreamRec): Integer; external;
257function inflateReset(var strm: TZStreamRec): Integer; external; 251function inflateReset(var strm: TZStreamRec): Integer; external;
258 252
259 253
260function zcalloc(AppData: Pointer; Items, Size: Integer): Pointer; 254function zlibAllocMem(AppData: Pointer; Items, Size: Integer): Pointer; cdecl;
261begin 255begin
262 GetMem(Result, Items*Size); 256// GetMem(Result, Items*Size);
257 Result := AllocMem(Items * Size);
263end; 258end;
264 259
265procedure zcfree(AppData, Block: Pointer); 260procedure zlibFreeMem(AppData, Block: Pointer); cdecl;
266begin 261begin
267 FreeMem(Block); 262 FreeMem(Block);
268end; 263end;
269 264
270function zlibCheck(code: Integer): Integer; 265{function zlibCheck(code: Integer): Integer;
271begin 266begin
272 Result := code; 267 Result := code;
273 if code < 0 then 268 if code < 0 then
274 raise EZlibError.Create('error'); //!! 269 raise EZlibError.Create('error'); //!!
275end; 270end;}
276 271
277function CCheck(code: Integer): Integer; 272function CCheck(code: Integer): Integer;
278begin 273begin
@@ -295,6 +290,8 @@ var
295 P: Pointer; 290 P: Pointer;
296begin 291begin
297 FillChar(strm, sizeof(strm), 0); 292 FillChar(strm, sizeof(strm), 0);
293 strm.zalloc := zlibAllocMem;
294 strm.zfree := zlibFreeMem;
298 OutBytes := ((InBytes + (InBytes div 10) + 12) + 255) and not 255; 295 OutBytes := ((InBytes + (InBytes div 10) + 12) + 255) and not 255;
299 GetMem(OutBuf, OutBytes); 296 GetMem(OutBuf, OutBytes);
300 try 297 try
@@ -332,6 +329,8 @@ var
332 BufInc: Integer; 329 BufInc: Integer;
333begin 330begin
334 FillChar(strm, sizeof(strm), 0); 331 FillChar(strm, sizeof(strm), 0);
332 strm.zalloc := zlibAllocMem;
333 strm.zfree := zlibFreeMem;
335 BufInc := (InBytes + 255) and not 255; 334 BufInc := (InBytes + 255) and not 255;
336 if OutEstimate = 0 then 335 if OutEstimate = 0 then
337 OutBytes := BufInc 336 OutBytes := BufInc
@@ -364,6 +363,26 @@ begin
364 end; 363 end;
365end; 364end;
366 365
366procedure DecompressToUserBuf(const InBuf: Pointer; InBytes: Integer;
367 const OutBuf: Pointer; BufSize: Integer);
368var
369 strm: TZStreamRec;
370begin
371 FillChar(strm, sizeof(strm), 0);
372 strm.zalloc := zlibAllocMem;
373 strm.zfree := zlibFreeMem;
374 strm.next_in := InBuf;
375 strm.avail_in := InBytes;
376 strm.next_out := OutBuf;
377 strm.avail_out := BufSize;
378 DCheck(inflateInit_(strm, zlib_version, sizeof(strm)));
379 try
380 if DCheck(inflate(strm, Z_FINISH)) <> Z_STREAM_END then
381 raise EZlibError.CreateRes(@sTargetBufferTooSmall);
382 finally
383 DCheck(inflateEnd(strm));
384 end;
385end;
367 386
368// TCustomZlibStream 387// TCustomZlibStream
369 388
@@ -372,6 +391,8 @@ begin
372 inherited Create; 391 inherited Create;
373 FStrm := Strm; 392 FStrm := Strm;
374 FStrmPos := Strm.Position; 393 FStrmPos := Strm.Position;
394 FZRec.zalloc := zlibAllocMem;
395 FZRec.zfree := zlibFreeMem;
375end; 396end;
376 397
377procedure TCustomZLibStream.Progress(Sender: TObject); 398procedure TCustomZLibStream.Progress(Sender: TObject);
@@ -417,7 +438,7 @@ end;
417 438
418function TCompressionStream.Read(var Buffer; Count: Longint): Longint; 439function TCompressionStream.Read(var Buffer; Count: Longint): Longint;
419begin 440begin
420 raise ECompressionError.Create('Invalid stream operation'); 441 raise ECompressionError.CreateRes(@sInvalidStreamOp);
421end; 442end;
422 443
423function TCompressionStream.Write(const Buffer; Count: Longint): Longint; 444function TCompressionStream.Write(const Buffer; Count: Longint): Longint;
@@ -445,7 +466,7 @@ begin
445 if (Offset = 0) and (Origin = soFromCurrent) then 466 if (Offset = 0) and (Origin = soFromCurrent) then
446 Result := FZRec.total_in 467 Result := FZRec.total_in
447 else 468 else
448 raise ECompressionError.Create('Invalid stream operation'); 469 raise ECompressionError.CreateRes(@sInvalidStreamOp);
449end; 470end;
450 471
451function TCompressionStream.GetCompressionRate: Single; 472function TCompressionStream.GetCompressionRate: Single;
@@ -469,6 +490,7 @@ end;
469 490
470destructor TDecompressionStream.Destroy; 491destructor TDecompressionStream.Destroy;
471begin 492begin
493 FStrm.Seek(-FZRec.avail_in, 1);
472 inflateEnd(FZRec); 494 inflateEnd(FZRec);
473 inherited Destroy; 495 inherited Destroy;
474end; 496end;
@@ -484,22 +506,22 @@ begin
484 begin 506 begin
485 FZRec.avail_in := FStrm.Read(FBuffer, sizeof(FBuffer)); 507 FZRec.avail_in := FStrm.Read(FBuffer, sizeof(FBuffer));
486 if FZRec.avail_in = 0 then 508 if FZRec.avail_in = 0 then
487 begin 509 begin
488 Result := Count - FZRec.avail_out; 510 Result := Count - FZRec.avail_out;
489 Exit; 511 Exit;
490 end; 512 end;
491 FZRec.next_in := FBuffer; 513 FZRec.next_in := FBuffer;
492 FStrmPos := FStrm.Position; 514 FStrmPos := FStrm.Position;
493 Progress(Self); 515 Progress(Self);
494 end; 516 end;
495 DCheck(inflate(FZRec, 0)); 517 CCheck(inflate(FZRec, 0));
496 end; 518 end;
497 Result := Count; 519 Result := Count;
498end; 520end;
499 521
500function TDecompressionStream.Write(const Buffer; Count: Longint): Longint; 522function TDecompressionStream.Write(const Buffer; Count: Longint): Longint;
501begin 523begin
502 raise EDecompressionError.Create('Invalid stream operation'); 524 raise EDecompressionError.CreateRes(@sInvalidStreamOp);
503end; 525end;
504 526
505function TDecompressionStream.Seek(Offset: Longint; Origin: Word): Longint; 527function TDecompressionStream.Seek(Offset: Longint; Origin: Word): Longint;
@@ -527,8 +549,9 @@ begin
527 end; 549 end;
528 end 550 end
529 else 551 else
530 raise EDecompressionError.Create('Invalid stream operation'); 552 raise EDecompressionError.CreateRes(@sInvalidStreamOp);
531 Result := FZRec.total_out; 553 Result := FZRec.total_out;
532end; 554end;
533 555
556
534end. 557end.
diff --git a/contrib/delphi/ZLibConst.pas b/contrib/delphi/ZLibConst.pas
new file mode 100644
index 0000000..cdfe136
--- /dev/null
+++ b/contrib/delphi/ZLibConst.pas
@@ -0,0 +1,11 @@
1unit ZLibConst;
2
3interface
4
5resourcestring
6 sTargetBufferTooSmall = 'ZLib error: target buffer may be too small';
7 sInvalidStreamOp = 'Invalid stream operation';
8
9implementation
10
11end.
diff --git a/contrib/delphi/readme.txt b/contrib/delphi/readme.txt
new file mode 100644
index 0000000..65e58b3
--- /dev/null
+++ b/contrib/delphi/readme.txt
@@ -0,0 +1,76 @@
1
2Overview
3========
4
5This directory contains an update to the ZLib interface unit,
6distributed by Borland as a Delphi supplemental component.
7
8The original ZLib unit is Copyright (c) 1997,99 Borland Corp.,
9and is based on zlib version 1.0.4. There are a series of bugs
10and security problems associated with that old zlib version, and
11we recommend the users to update their ZLib unit.
12
13
14Summary of modifications
15========================
16
17- Improved makefile, adapted to zlib version 1.2.0.
18
19- Some field types from TZStreamRec are changed from Integer to
20 Longint, for consistency with the zlib.h header, and for 64-bit
21 readiness.
22
23- The zlib_version constant is updated.
24
25- The new Z_RLE strategy has its corresponding symbolic constant.
26
27- The allocation and deallocation functions and function types
28 (TAlloc, TFree, zlibAllocMem and zlibFreeMem) are now cdecl,
29 and _malloc and _free are added as C RTL stubs. As a result,
30 the original C sources of zlib can be compiled out of the box,
31 and linked to the ZLib unit.
32
33
34Suggestions for improvements
35============================
36
37Currently, the ZLib unit provides only a limited wrapper around
38the zlib library, and much of the original zlib functionality is
39missing. Handling compressed file formats like ZIP/GZIP or PNG
40cannot be implemented without having this functionality.
41Applications that handle these formats are either using their own,
42duplicated code, or not using the ZLib unit at all.
43
44Here are a few suggestions:
45
46- Checksum class wrappers around adler32() and crc32(), similar
47 to the Java classes that implement the java.util.zip.Checksum
48 interface.
49
50- The ability to read and write raw deflate streams, without the
51 zlib stream header and trailer. Raw deflate streams are used
52 in the ZIP file format.
53
54- The ability to read and write gzip streams, used in the GZIP
55 file format, and normally produced by the gzip program.
56
57- The ability to select a different compression strategy, useful
58 to PNG and MNG image compression, and to multimedia compression
59 in general. Besides the compression level
60
61 TCompressionLevel = (clNone, clFastest, clDefault, clMax);
62
63 which, in fact, could have used the 'z' prefix and avoided
64 TColor-like symbols
65
66 TCompressionLevel = (zcNone, zcFastest, zcDefault, zcMax);
67
68 there could be a compression strategy
69
70 TCompressionStrategy = (zsDefault, zsFiltered, zsHuffmanOnly, zsRle);
71
72- ZIP and GZIP stream handling via TStreams.
73
74
75--
76Cosmin Truta <cosmint@cs.ubbcluj.ro>
diff --git a/contrib/delphi/zlib.mak b/contrib/delphi/zlib.mak
deleted file mode 100644
index ba557e2..0000000
--- a/contrib/delphi/zlib.mak
+++ /dev/null
@@ -1,36 +0,0 @@
1# Makefile for zlib32bd.lib
2# ------------- Borland C++ 4.5 -------------
3
4# The (32-bit) zlib32bd.lib made with this makefile is intended for use
5# in making the (32-bit) DLL, png32bd.dll. It uses the "stdcall" calling
6# convention.
7
8CFLAGS= -ps -O2 -C -K -N- -k- -d -3 -r- -w-par -w-aus -WDE
9CC=f:\bc45\bin\bcc32
10LIBFLAGS= /C
11LIB=f:\bc45\bin\tlib
12ZLIB=zlib32bd.lib
13
14.autodepend
15.c.obj:
16 $(CC) -c $(CFLAGS) $<
17
18OBJ1=adler32.obj compress.obj crc32.obj deflate.obj gzio.obj infblock.obj
19OBJ2=infcodes.obj inflate.obj inftrees.obj infutil.obj inffast.obj
20OBJ3=trees.obj uncompr.obj zutil.obj
21pOBJ1=+adler32.obj+compress.obj+crc32.obj+deflate.obj+gzio.obj+infblock.obj
22pOBJ2=+infcodes.obj+inflate.obj+inftrees.obj+infutil.obj+inffast.obj
23pOBJ3=+trees.obj+uncompr.obj+zutil.obj
24
25all: $(ZLIB)
26
27$(ZLIB): $(OBJ1) $(OBJ2) $(OBJ3)
28 @if exist $@ del $@
29 $(LIB) @&&|
30$@ $(LIBFLAGS) &
31$(pOBJ1) &
32$(pOBJ2) &
33$(pOBJ3)
34|
35
36# End of makefile for zlib32bd.lib
diff --git a/contrib/delphi/zlibd32.mak b/contrib/delphi/zlibd32.mak
new file mode 100644
index 0000000..88fafa0
--- /dev/null
+++ b/contrib/delphi/zlibd32.mak
@@ -0,0 +1,93 @@
1# Makefile for zlib
2# For use with Delphi and C++ Builder under Win32
3# Updated for zlib 1.2.x by Cosmin Truta
4
5# ------------ Borland C++ ------------
6
7# This project uses the Delphi (fastcall/register) calling convention:
8LOC = -DZEXPORT=__fastcall -DZEXPORTVA=__cdecl
9
10CC = bcc32
11LD = bcc32
12AR = tlib
13# do not use "-pr" in CFLAGS
14CFLAGS = -a -d -k- -O2 $(LOC)
15LDFLAGS =
16
17
18# variables
19ZLIB_LIB = zlib.lib
20
21OBJ1 = adler32.obj compress.obj crc32.obj deflate.obj gzio.obj infback.obj
22OBJ2 = inffast.obj inflate.obj inftrees.obj trees.obj uncompr.obj zutil.obj
23OBJP1 = +adler32.obj+compress.obj+crc32.obj+deflate.obj+gzio.obj+infback.obj
24OBJP2 = +inffast.obj+inflate.obj+inftrees.obj+trees.obj+uncompr.obj+zutil.obj
25
26
27# targets
28all: $(ZLIB_LIB) example.exe minigzip.exe
29
30.c.obj:
31 $(CC) -c $(CFLAGS) $*.c
32
33adler32.obj: adler32.c zlib.h zconf.h
34
35compress.obj: compress.c zlib.h zconf.h
36
37crc32.obj: crc32.c zlib.h zconf.h crc32.h
38
39deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h
40
41gzio.obj: gzio.c zutil.h zlib.h zconf.h
42
43infback.obj: infback.c zutil.h zlib.h zconf.h inftrees.h inflate.h \
44 inffast.h inffixed.h
45
46inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h inflate.h \
47 inffast.h
48
49inflate.obj: inflate.c zutil.h zlib.h zconf.h inftrees.h inflate.h \
50 inffast.h inffixed.h
51
52inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h
53
54trees.obj: trees.c zutil.h zlib.h zconf.h deflate.h trees.h
55
56uncompr.obj: uncompr.c zlib.h zconf.h
57
58zutil.obj: zutil.c zutil.h zlib.h zconf.h
59
60example.obj: example.c zlib.h zconf.h
61
62minigzip.obj: minigzip.c zlib.h zconf.h
63
64
65# For the sake of the old Borland make,
66# the command line is cut to fit in the MS-DOS 128 byte limit:
67$(ZLIB_LIB): $(OBJ1) $(OBJ2)
68 -del $(ZLIB_LIB)
69 $(AR) $(ZLIB_LIB) $(OBJP1)
70 $(AR) $(ZLIB_LIB) $(OBJP2)
71
72
73# testing
74test: example.exe minigzip.exe
75 example
76 echo hello world | minigzip | minigzip -d
77
78example.exe: example.obj $(ZLIB_LIB)
79 $(LD) $(LDFLAGS) example.obj $(ZLIB_LIB)
80
81minigzip.exe: minigzip.obj $(ZLIB_LIB)
82 $(LD) $(LDFLAGS) minigzip.obj $(ZLIB_LIB)
83
84
85# cleanup
86clean:
87 -del *.obj
88 -del *.exe
89 -del *.lib
90 -del *.tds
91 -del zlib.bak
92 -del foo.gz
93
diff --git a/contrib/delphi/zlibdef.pas b/contrib/delphi/zlibdef.pas
deleted file mode 100644
index 4f96b7d..0000000
--- a/contrib/delphi/zlibdef.pas
+++ /dev/null
@@ -1,169 +0,0 @@
1unit zlibdef;
2
3interface
4
5uses
6 Windows;
7
8const
9 ZLIB_VERSION = '1.1.3';
10
11type
12 voidpf = Pointer;
13 int = Integer;
14 uInt = Cardinal;
15 pBytef = PChar;
16 uLong = Cardinal;
17
18 alloc_func = function(opaque: voidpf; items, size: uInt): voidpf;
19 stdcall;
20 free_func = procedure(opaque, address: voidpf);
21 stdcall;
22
23 internal_state = Pointer;
24
25 z_streamp = ^z_stream;
26 z_stream = packed record
27 next_in: pBytef; // next input byte
28 avail_in: uInt; // number of bytes available at next_in
29 total_in: uLong; // total nb of input bytes read so far
30
31 next_out: pBytef; // next output byte should be put there
32 avail_out: uInt; // remaining free space at next_out
33 total_out: uLong; // total nb of bytes output so far
34
35 msg: PChar; // last error message, NULL if no error
36 state: internal_state; // not visible by applications
37
38 zalloc: alloc_func; // used to allocate the internal state
39 zfree: free_func; // used to free the internal state
40 opaque: voidpf; // private data object passed to zalloc and zfree
41
42 data_type: int; // best guess about the data type: ascii or binary
43 adler: uLong; // adler32 value of the uncompressed data
44 reserved: uLong; // reserved for future use
45 end;
46
47const
48 Z_NO_FLUSH = 0;
49 Z_SYNC_FLUSH = 2;
50 Z_FULL_FLUSH = 3;
51 Z_FINISH = 4;
52
53 Z_OK = 0;
54 Z_STREAM_END = 1;
55
56 Z_NO_COMPRESSION = 0;
57 Z_BEST_SPEED = 1;
58 Z_BEST_COMPRESSION = 9;
59 Z_DEFAULT_COMPRESSION = -1;
60
61 Z_FILTERED = 1;
62 Z_HUFFMAN_ONLY = 2;
63 Z_DEFAULT_STRATEGY = 0;
64
65 Z_BINARY = 0;
66 Z_ASCII = 1;
67 Z_UNKNOWN = 2;
68
69 Z_DEFLATED = 8;
70
71 MAX_MEM_LEVEL = 9;
72
73function adler32(adler: uLong; const buf: pBytef; len: uInt): uLong;
74 stdcall;
75function crc32(crc: uLong; const buf: pBytef; len: uInt): uLong;
76 stdcall;
77function deflate(strm: z_streamp; flush: int): int;
78 stdcall;
79function deflateCopy(dest, source: z_streamp): int;
80 stdcall;
81function deflateEnd(strm: z_streamp): int;
82 stdcall;
83function deflateInit2_(strm: z_streamp; level, method,
84 windowBits, memLevel, strategy: int;
85 const version: PChar; stream_size: int): int;
86 stdcall;
87function deflateInit_(strm: z_streamp; level: int;
88 const version: PChar; stream_size: int): int;
89 stdcall;
90function deflateParams(strm: z_streamp; level, strategy: int): int;
91 stdcall;
92function deflateReset(strm: z_streamp): int;
93 stdcall;
94function deflateSetDictionary(strm: z_streamp;
95 const dictionary: pBytef;
96 dictLength: uInt): int;
97 stdcall;
98function inflate(strm: z_streamp; flush: int): int;
99 stdcall;
100function inflateEnd(strm: z_streamp): int;
101 stdcall;
102function inflateInit2_(strm: z_streamp; windowBits: int;
103 const version: PChar; stream_size: int): int;
104 stdcall;
105function inflateInit_(strm: z_streamp; const version: PChar;
106 stream_size: int): int;
107 stdcall;
108function inflateReset(strm: z_streamp): int;
109 stdcall;
110function inflateSetDictionary(strm: z_streamp;
111 const dictionary: pBytef;
112 dictLength: uInt): int;
113 stdcall;
114function inflateSync(strm: z_streamp): int;
115 stdcall;
116
117function deflateInit(strm: z_streamp; level: int): int;
118function deflateInit2(strm: z_streamp; level, method, windowBits,
119 memLevel, strategy: int): int;
120function inflateInit(strm: z_streamp): int;
121function inflateInit2(strm: z_streamp; windowBits: int): int;
122
123implementation
124
125function deflateInit(strm: z_streamp; level: int): int;
126begin
127 Result := deflateInit_(strm, level, ZLIB_VERSION, sizeof(z_stream));
128end;
129
130function deflateInit2(strm: z_streamp; level, method, windowBits,
131 memLevel, strategy: int): int;
132begin
133 Result := deflateInit2_(strm, level, method, windowBits, memLevel,
134 strategy, ZLIB_VERSION, sizeof(z_stream));
135end;
136
137function inflateInit(strm: z_streamp): int;
138begin
139 Result := inflateInit_(strm, ZLIB_VERSION, sizeof(z_stream));
140end;
141
142function inflateInit2(strm: z_streamp; windowBits: int): int;
143begin
144 Result := inflateInit2_(strm, windowBits, ZLIB_VERSION,
145 sizeof(z_stream));
146end;
147
148const
149 zlibDLL = 'png32bd.dll';
150
151function adler32; external zlibDLL;
152function crc32; external zlibDLL;
153function deflate; external zlibDLL;
154function deflateCopy; external zlibDLL;
155function deflateEnd; external zlibDLL;
156function deflateInit2_; external zlibDLL;
157function deflateInit_; external zlibDLL;
158function deflateParams; external zlibDLL;
159function deflateReset; external zlibDLL;
160function deflateSetDictionary; external zlibDLL;
161function inflate; external zlibDLL;
162function inflateEnd; external zlibDLL;
163function inflateInit2_; external zlibDLL;
164function inflateInit_; external zlibDLL;
165function inflateReset; external zlibDLL;
166function inflateSetDictionary; external zlibDLL;
167function inflateSync; external zlibDLL;
168
169end.
diff --git a/contrib/delphi2/d_zlib.bpr b/contrib/delphi2/d_zlib.bpr
deleted file mode 100644
index 78bb254..0000000
--- a/contrib/delphi2/d_zlib.bpr
+++ /dev/null
@@ -1,224 +0,0 @@
1# ---------------------------------------------------------------------------
2!if !$d(BCB)
3BCB = $(MAKEDIR)\..
4!endif
5
6# ---------------------------------------------------------------------------
7# IDE SECTION
8# ---------------------------------------------------------------------------
9# The following section of the project makefile is managed by the BCB IDE.
10# It is recommended to use the IDE to change any of the values in this
11# section.
12# ---------------------------------------------------------------------------
13
14VERSION = BCB.03
15# ---------------------------------------------------------------------------
16PROJECT = d_zlib.lib
17OBJFILES = d_zlib.obj adler32.obj deflate.obj infblock.obj infcodes.obj inffast.obj \
18 inflate.obj inftrees.obj infutil.obj trees.obj
19RESFILES =
20RESDEPEN = $(RESFILES)
21LIBFILES =
22LIBRARIES = VCL35.lib
23SPARELIBS = VCL35.lib
24DEFFILE =
25PACKAGES = VCLX35.bpi VCL35.bpi VCLDB35.bpi VCLDBX35.bpi ibsmp35.bpi bcbsmp35.bpi \
26 dclocx35.bpi QRPT35.bpi TEEUI35.bpi TEEDB35.bpi TEE35.bpi DSS35.bpi \
27 NMFAST35.bpi INETDB35.bpi INET35.bpi VCLMID35.bpi
28# ---------------------------------------------------------------------------
29PATHCPP = .;
30PATHASM = .;
31PATHPAS = .;
32PATHRC = .;
33DEBUGLIBPATH = $(BCB)\lib\debug
34RELEASELIBPATH = $(BCB)\lib\release
35# ---------------------------------------------------------------------------
36CFLAG1 = -O2 -Ve -d -k- -vi
37CFLAG2 = -I$(BCB)\include;$(BCB)\include\vcl -H=$(BCB)\lib\vcl35.csm
38CFLAG3 = -ff -pr -5
39PFLAGS = -U;$(DEBUGLIBPATH) -I$(BCB)\include;$(BCB)\include\vcl -H -W -$I- -v -JPHN -M
40RFLAGS = -i$(BCB)\include;$(BCB)\include\vcl
41AFLAGS = /i$(BCB)\include /i$(BCB)\include\vcl /mx /w2 /zn
42LFLAGS =
43IFLAGS = -g -Gn
44# ---------------------------------------------------------------------------
45ALLOBJ = c0w32.obj $(OBJFILES)
46ALLRES = $(RESFILES)
47ALLLIB = $(LIBFILES) $(LIBRARIES) import32.lib cp32mt.lib
48# ---------------------------------------------------------------------------
49!!ifdef IDEOPTIONS
50
51[Version Info]
52IncludeVerInfo=0
53AutoIncBuild=0
54MajorVer=1
55MinorVer=0
56Release=0
57Build=0
58Debug=0
59PreRelease=0
60Special=0
61Private=0
62DLL=0
63Locale=1040
64CodePage=1252
65
66[Version Info Keys]
67CompanyName=
68FileDescription=
69FileVersion=1.0.0.0
70InternalName=
71LegalCopyright=
72LegalTrademarks=
73OriginalFilename=
74ProductName=
75ProductVersion=1.0.0.0
76Comments=
77
78[HistoryLists\hlIncludePath]
79Count=2
80Item0=$(BCB)\include
81Item1=$(BCB)\include;$(BCB)\include\vcl
82
83[HistoryLists\hlLibraryPath]
84Count=1
85Item0=$(BCB)\lib\obj;$(BCB)\lib
86
87[HistoryLists\hlDebugSourcePath]
88Count=1
89Item0=$(BCB)\source\vcl
90
91[Debugging]
92DebugSourceDirs=
93
94[Parameters]
95RunParams=
96HostApplication=
97
98!endif
99
100 ---------------------------------------------------------------------------
101# MAKE SECTION
102# ---------------------------------------------------------------------------
103# This section of the project file is not used by the BCB IDE. It is for
104# the benefit of building from the command-line using the MAKE utility.
105# ---------------------------------------------------------------------------
106
107.autodepend
108# ---------------------------------------------------------------------------
109!if !$d(BCC32)
110BCC32 = bcc32
111!endif
112
113!if !$d(DCC32)
114DCC32 = dcc32
115!endif
116
117!if !$d(TASM32)
118TASM32 = tasm32
119!endif
120
121!if !$d(LINKER)
122LINKER = TLib
123!endif
124
125!if !$d(BRCC32)
126BRCC32 = brcc32
127!endif
128# ---------------------------------------------------------------------------
129!if $d(PATHCPP)
130.PATH.CPP = $(PATHCPP)
131.PATH.C = $(PATHCPP)
132!endif
133
134!if $d(PATHPAS)
135.PATH.PAS = $(PATHPAS)
136!endif
137
138!if $d(PATHASM)
139.PATH.ASM = $(PATHASM)
140!endif
141
142!if $d(PATHRC)
143.PATH.RC = $(PATHRC)
144!endif
145# ---------------------------------------------------------------------------
146!ifdef IDEOPTIONS
147
148[Version Info]
149IncludeVerInfo=0
150AutoIncBuild=0
151MajorVer=1
152MinorVer=0
153Release=0
154Build=0
155Debug=0
156PreRelease=0
157Special=0
158Private=0
159DLL=0
160Locale=1040
161CodePage=1252
162
163[Version Info Keys]
164CompanyName=
165FileDescription=
166FileVersion=1.0.0.0
167InternalName=
168LegalCopyright=
169LegalTrademarks=
170OriginalFilename=
171ProductName=
172ProductVersion=1.0.0.0
173Comments=
174
175[HistoryLists\hlIncludePath]
176Count=2
177Item0=$(BCB)\include;$(BCB)\include\vcl
178Item1=$(BCB)\include
179
180[HistoryLists\hlLibraryPath]
181Count=1
182Item0=$(BCB)\lib\obj;$(BCB)\lib
183
184[HistoryLists\hlDebugSourcePath]
185Count=1
186Item0=$(BCB)\source\vcl
187
188[Debugging]
189DebugSourceDirs=
190
191[Parameters]
192RunParams=
193HostApplication=
194
195!endif
196
197$(PROJECT): $(OBJFILES) $(RESDEPEN) $(DEFFILE)
198 $(BCB)\BIN\$(LINKER) @&&!
199 $(LFLAGS) $(IFLAGS) +
200 $(ALLOBJ), +
201 $(PROJECT),, +
202 $(ALLLIB), +
203 $(DEFFILE), +
204 $(ALLRES)
205!
206# ---------------------------------------------------------------------------
207.pas.hpp:
208 $(BCB)\BIN\$(DCC32) $(PFLAGS) {$< }
209
210.pas.obj:
211 $(BCB)\BIN\$(DCC32) $(PFLAGS) {$< }
212
213.cpp.obj:
214 $(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< }
215
216.c.obj:
217 $(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< }
218
219.asm.obj:
220 $(BCB)\BIN\$(TASM32) $(AFLAGS) $<, $@
221
222.rc.res:
223 $(BCB)\BIN\$(BRCC32) $(RFLAGS) -fo$@ $<
224# ---------------------------------------------------------------------------
diff --git a/contrib/delphi2/d_zlib.cpp b/contrib/delphi2/d_zlib.cpp
deleted file mode 100644
index f5dea59..0000000
--- a/contrib/delphi2/d_zlib.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
1#include <condefs.h>
2#pragma hdrstop
3//---------------------------------------------------------------------------
4USEUNIT("adler32.c");
5USEUNIT("deflate.c");
6USEUNIT("infblock.c");
7USEUNIT("infcodes.c");
8USEUNIT("inffast.c");
9USEUNIT("inflate.c");
10USEUNIT("inftrees.c");
11USEUNIT("infutil.c");
12USEUNIT("trees.c");
13//---------------------------------------------------------------------------
14#define Library
15
16// To add a file to the library use the Project menu 'Add to Project'.
17
diff --git a/contrib/delphi2/readme.txt b/contrib/delphi2/readme.txt
deleted file mode 100644
index cbd3162..0000000
--- a/contrib/delphi2/readme.txt
+++ /dev/null
@@ -1,17 +0,0 @@
1These are files used to compile zlib under Borland C++ Builder 3.
2
3zlib.bpg is the main project group that can be loaded in the BCB IDE and
4loads all other *.bpr projects
5
6zlib.bpr is a project used to create a static zlib.lib library with C calling
7convention for functions.
8
9zlib32.bpr creates a zlib32.dll dynamic link library with Windows standard
10calling convention.
11
12d_zlib.bpr creates a set of .obj files with register calling convention.
13These files are used by zlib.pas to create a Delphi unit containing zlib.
14The d_zlib.lib file generated isn't useful and can be deleted.
15
16zlib.cpp, zlib32.cpp and d_zlib.cpp are used by the above projects.
17
diff --git a/contrib/delphi2/zlib.bpg b/contrib/delphi2/zlib.bpg
deleted file mode 100644
index b6c9acd..0000000
--- a/contrib/delphi2/zlib.bpg
+++ /dev/null
@@ -1,26 +0,0 @@
1#------------------------------------------------------------------------------
2VERSION = BWS.01
3#------------------------------------------------------------------------------
4!ifndef ROOT
5ROOT = $(MAKEDIR)\..
6!endif
7#------------------------------------------------------------------------------
8MAKE = $(ROOT)\bin\make.exe -$(MAKEFLAGS) -f$**
9DCC = $(ROOT)\bin\dcc32.exe $**
10BRCC = $(ROOT)\bin\brcc32.exe $**
11#------------------------------------------------------------------------------
12PROJECTS = zlib zlib32 d_zlib
13#------------------------------------------------------------------------------
14default: $(PROJECTS)
15#------------------------------------------------------------------------------
16
17zlib: zlib.bpr
18 $(MAKE)
19
20zlib32: zlib32.bpr
21 $(MAKE)
22
23d_zlib: d_zlib.bpr
24 $(MAKE)
25
26
diff --git a/contrib/delphi2/zlib.bpr b/contrib/delphi2/zlib.bpr
deleted file mode 100644
index cf3945b..0000000
--- a/contrib/delphi2/zlib.bpr
+++ /dev/null
@@ -1,225 +0,0 @@
1# ---------------------------------------------------------------------------
2!if !$d(BCB)
3BCB = $(MAKEDIR)\..
4!endif
5
6# ---------------------------------------------------------------------------
7# IDE SECTION
8# ---------------------------------------------------------------------------
9# The following section of the project makefile is managed by the BCB IDE.
10# It is recommended to use the IDE to change any of the values in this
11# section.
12# ---------------------------------------------------------------------------
13
14VERSION = BCB.03
15# ---------------------------------------------------------------------------
16PROJECT = zlib.lib
17OBJFILES = zlib.obj adler32.obj compress.obj crc32.obj deflate.obj gzio.obj infblock.obj \
18 infcodes.obj inffast.obj inflate.obj inftrees.obj infutil.obj trees.obj \
19 uncompr.obj zutil.obj
20RESFILES =
21RESDEPEN = $(RESFILES)
22LIBFILES =
23LIBRARIES = VCL35.lib
24SPARELIBS = VCL35.lib
25DEFFILE =
26PACKAGES = VCLX35.bpi VCL35.bpi VCLDB35.bpi VCLDBX35.bpi ibsmp35.bpi bcbsmp35.bpi \
27 dclocx35.bpi QRPT35.bpi TEEUI35.bpi TEEDB35.bpi TEE35.bpi DSS35.bpi \
28 NMFAST35.bpi INETDB35.bpi INET35.bpi VCLMID35.bpi
29# ---------------------------------------------------------------------------
30PATHCPP = .;
31PATHASM = .;
32PATHPAS = .;
33PATHRC = .;
34DEBUGLIBPATH = $(BCB)\lib\debug
35RELEASELIBPATH = $(BCB)\lib\release
36# ---------------------------------------------------------------------------
37CFLAG1 = -O2 -Ve -d -k- -vi
38CFLAG2 = -I$(BCB)\include;$(BCB)\include\vcl -H=$(BCB)\lib\vcl35.csm
39CFLAG3 = -ff -5
40PFLAGS = -U;$(DEBUGLIBPATH) -I$(BCB)\include;$(BCB)\include\vcl -H -W -$I- -v -JPHN -M
41RFLAGS = -i$(BCB)\include;$(BCB)\include\vcl
42AFLAGS = /i$(BCB)\include /i$(BCB)\include\vcl /mx /w2 /zn
43LFLAGS =
44IFLAGS = -g -Gn
45# ---------------------------------------------------------------------------
46ALLOBJ = c0w32.obj $(OBJFILES)
47ALLRES = $(RESFILES)
48ALLLIB = $(LIBFILES) $(LIBRARIES) import32.lib cp32mt.lib
49# ---------------------------------------------------------------------------
50!!ifdef IDEOPTIONS
51
52[Version Info]
53IncludeVerInfo=0
54AutoIncBuild=0
55MajorVer=1
56MinorVer=0
57Release=0
58Build=0
59Debug=0
60PreRelease=0
61Special=0
62Private=0
63DLL=0
64Locale=1040
65CodePage=1252
66
67[Version Info Keys]
68CompanyName=
69FileDescription=
70FileVersion=1.0.0.0
71InternalName=
72LegalCopyright=
73LegalTrademarks=
74OriginalFilename=
75ProductName=
76ProductVersion=1.0.0.0
77Comments=
78
79[HistoryLists\hlIncludePath]
80Count=2
81Item0=$(BCB)\include
82Item1=$(BCB)\include;$(BCB)\include\vcl
83
84[HistoryLists\hlLibraryPath]
85Count=1
86Item0=$(BCB)\lib\obj;$(BCB)\lib
87
88[HistoryLists\hlDebugSourcePath]
89Count=1
90Item0=$(BCB)\source\vcl
91
92[Debugging]
93DebugSourceDirs=
94
95[Parameters]
96RunParams=
97HostApplication=
98
99!endif
100
101 ---------------------------------------------------------------------------
102# MAKE SECTION
103# ---------------------------------------------------------------------------
104# This section of the project file is not used by the BCB IDE. It is for
105# the benefit of building from the command-line using the MAKE utility.
106# ---------------------------------------------------------------------------
107
108.autodepend
109# ---------------------------------------------------------------------------
110!if !$d(BCC32)
111BCC32 = bcc32
112!endif
113
114!if !$d(DCC32)
115DCC32 = dcc32
116!endif
117
118!if !$d(TASM32)
119TASM32 = tasm32
120!endif
121
122!if !$d(LINKER)
123LINKER = TLib
124!endif
125
126!if !$d(BRCC32)
127BRCC32 = brcc32
128!endif
129# ---------------------------------------------------------------------------
130!if $d(PATHCPP)
131.PATH.CPP = $(PATHCPP)
132.PATH.C = $(PATHCPP)
133!endif
134
135!if $d(PATHPAS)
136.PATH.PAS = $(PATHPAS)
137!endif
138
139!if $d(PATHASM)
140.PATH.ASM = $(PATHASM)
141!endif
142
143!if $d(PATHRC)
144.PATH.RC = $(PATHRC)
145!endif
146# ---------------------------------------------------------------------------
147!ifdef IDEOPTIONS
148
149[Version Info]
150IncludeVerInfo=0
151AutoIncBuild=0
152MajorVer=1
153MinorVer=0
154Release=0
155Build=0
156Debug=0
157PreRelease=0
158Special=0
159Private=0
160DLL=0
161Locale=1040
162CodePage=1252
163
164[Version Info Keys]
165CompanyName=
166FileDescription=
167FileVersion=1.0.0.0
168InternalName=
169LegalCopyright=
170LegalTrademarks=
171OriginalFilename=
172ProductName=
173ProductVersion=1.0.0.0
174Comments=
175
176[HistoryLists\hlIncludePath]
177Count=2
178Item0=$(BCB)\include;$(BCB)\include\vcl
179Item1=$(BCB)\include
180
181[HistoryLists\hlLibraryPath]
182Count=1
183Item0=$(BCB)\lib\obj;$(BCB)\lib
184
185[HistoryLists\hlDebugSourcePath]
186Count=1
187Item0=$(BCB)\source\vcl
188
189[Debugging]
190DebugSourceDirs=
191
192[Parameters]
193RunParams=
194HostApplication=
195
196!endif
197
198$(PROJECT): $(OBJFILES) $(RESDEPEN) $(DEFFILE)
199 $(BCB)\BIN\$(LINKER) @&&!
200 $(LFLAGS) $(IFLAGS) +
201 $(ALLOBJ), +
202 $(PROJECT),, +
203 $(ALLLIB), +
204 $(DEFFILE), +
205 $(ALLRES)
206!
207# ---------------------------------------------------------------------------
208.pas.hpp:
209 $(BCB)\BIN\$(DCC32) $(PFLAGS) {$< }
210
211.pas.obj:
212 $(BCB)\BIN\$(DCC32) $(PFLAGS) {$< }
213
214.cpp.obj:
215 $(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< }
216
217.c.obj:
218 $(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< }
219
220.asm.obj:
221 $(BCB)\BIN\$(TASM32) $(AFLAGS) $<, $@
222
223.rc.res:
224 $(BCB)\BIN\$(BRCC32) $(RFLAGS) -fo$@ $<
225# ---------------------------------------------------------------------------
diff --git a/contrib/delphi2/zlib.cpp b/contrib/delphi2/zlib.cpp
deleted file mode 100644
index bf6953b..0000000
--- a/contrib/delphi2/zlib.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
1#include <condefs.h>
2#pragma hdrstop
3//---------------------------------------------------------------------------
4USEUNIT("adler32.c");
5USEUNIT("compress.c");
6USEUNIT("crc32.c");
7USEUNIT("deflate.c");
8USEUNIT("gzio.c");
9USEUNIT("infblock.c");
10USEUNIT("infcodes.c");
11USEUNIT("inffast.c");
12USEUNIT("inflate.c");
13USEUNIT("inftrees.c");
14USEUNIT("infutil.c");
15USEUNIT("trees.c");
16USEUNIT("uncompr.c");
17USEUNIT("zutil.c");
18//---------------------------------------------------------------------------
19#define Library
20
21// To add a file to the library use the Project menu 'Add to Project'.
22
diff --git a/contrib/delphi2/zlib32.bpr b/contrib/delphi2/zlib32.bpr
deleted file mode 100644
index cabcec4..0000000
--- a/contrib/delphi2/zlib32.bpr
+++ /dev/null
@@ -1,174 +0,0 @@
1# ---------------------------------------------------------------------------
2!if !$d(BCB)
3BCB = $(MAKEDIR)\..
4!endif
5
6# ---------------------------------------------------------------------------
7# IDE SECTION
8# ---------------------------------------------------------------------------
9# The following section of the project makefile is managed by the BCB IDE.
10# It is recommended to use the IDE to change any of the values in this
11# section.
12# ---------------------------------------------------------------------------
13
14VERSION = BCB.03
15# ---------------------------------------------------------------------------
16PROJECT = zlib32.dll
17OBJFILES = zlib32.obj adler32.obj compress.obj crc32.obj deflate.obj gzio.obj infblock.obj \
18 infcodes.obj inffast.obj inflate.obj inftrees.obj infutil.obj trees.obj \
19 uncompr.obj zutil.obj
20RESFILES =
21RESDEPEN = $(RESFILES)
22LIBFILES =
23LIBRARIES =
24SPARELIBS =
25DEFFILE =
26PACKAGES = VCLX35.bpi VCL35.bpi VCLDB35.bpi VCLDBX35.bpi ibsmp35.bpi bcbsmp35.bpi \
27 dclocx35.bpi QRPT35.bpi TEEUI35.bpi TEEDB35.bpi TEE35.bpi DSS35.bpi \
28 NMFAST35.bpi INETDB35.bpi INET35.bpi VCLMID35.bpi
29# ---------------------------------------------------------------------------
30PATHCPP = .;
31PATHASM = .;
32PATHPAS = .;
33PATHRC = .;
34DEBUGLIBPATH = $(BCB)\lib\debug
35RELEASELIBPATH = $(BCB)\lib\release
36# ---------------------------------------------------------------------------
37CFLAG1 = -WD -O2 -Ve -d -k- -vi -c -tWD
38CFLAG2 = -D_NO_VCL;ZLIB_DLL -I$(BCB)\include
39CFLAG3 = -ff -5
40PFLAGS = -D_NO_VCL;ZLIB_DLL -U$(BCB)\lib;$(RELEASELIBPATH) -I$(BCB)\include -$I- -v \
41 -JPHN -M
42RFLAGS = -D_NO_VCL;ZLIB_DLL -i$(BCB)\include
43AFLAGS = /i$(BCB)\include /d_NO_VCL /dZLIB_DLL /mx /w2 /zn
44LFLAGS = -L$(BCB)\lib;$(RELEASELIBPATH) -aa -Tpd -x -Gi
45IFLAGS = -Gn -g
46# ---------------------------------------------------------------------------
47ALLOBJ = c0d32.obj $(OBJFILES)
48ALLRES = $(RESFILES)
49ALLLIB = $(LIBFILES) import32.lib cw32mt.lib
50# ---------------------------------------------------------------------------
51!ifdef IDEOPTIONS
52
53[Version Info]
54IncludeVerInfo=0
55AutoIncBuild=0
56MajorVer=1
57MinorVer=0
58Release=0
59Build=0
60Debug=0
61PreRelease=0
62Special=0
63Private=0
64DLL=1
65Locale=1040
66CodePage=1252
67
68[Version Info Keys]
69CompanyName=
70FileDescription=DLL (GUI)
71FileVersion=1.0.0.0
72InternalName=
73LegalCopyright=
74LegalTrademarks=
75OriginalFilename=
76ProductName=
77ProductVersion=1.0.0.0
78Comments=
79
80[HistoryLists\hlIncludePath]
81Count=1
82Item0=$(BCB)\include
83
84[HistoryLists\hlLibraryPath]
85Count=1
86Item0=$(BCB)\lib
87
88[HistoryLists\hlConditionals]
89Count=1
90Item0=_NO_VCL;ZLIB_DLL
91
92[Debugging]
93DebugSourceDirs=
94
95[Parameters]
96RunParams=
97HostApplication=
98
99!endif
100
101# ---------------------------------------------------------------------------
102# MAKE SECTION
103# ---------------------------------------------------------------------------
104# This section of the project file is not used by the BCB IDE. It is for
105# the benefit of building from the command-line using the MAKE utility.
106# ---------------------------------------------------------------------------
107
108.autodepend
109# ---------------------------------------------------------------------------
110!if !$d(BCC32)
111BCC32 = bcc32
112!endif
113
114!if !$d(DCC32)
115DCC32 = dcc32
116!endif
117
118!if !$d(TASM32)
119TASM32 = tasm32
120!endif
121
122!if !$d(LINKER)
123LINKER = ilink32
124!endif
125
126!if !$d(BRCC32)
127BRCC32 = brcc32
128!endif
129# ---------------------------------------------------------------------------
130!if $d(PATHCPP)
131.PATH.CPP = $(PATHCPP)
132.PATH.C = $(PATHCPP)
133!endif
134
135!if $d(PATHPAS)
136.PATH.PAS = $(PATHPAS)
137!endif
138
139!if $d(PATHASM)
140.PATH.ASM = $(PATHASM)
141!endif
142
143!if $d(PATHRC)
144.PATH.RC = $(PATHRC)
145!endif
146# ---------------------------------------------------------------------------
147$(PROJECT): $(OBJFILES) $(RESDEPEN) $(DEFFILE)
148 $(BCB)\BIN\$(LINKER) @&&!
149 $(LFLAGS) $(IFLAGS) +
150 $(ALLOBJ), +
151 $(PROJECT),, +
152 $(ALLLIB), +
153 $(DEFFILE), +
154 $(ALLRES)
155!
156# ---------------------------------------------------------------------------
157.pas.hpp:
158 $(BCB)\BIN\$(DCC32) $(PFLAGS) {$< }
159
160.pas.obj:
161 $(BCB)\BIN\$(DCC32) $(PFLAGS) {$< }
162
163.cpp.obj:
164 $(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< }
165
166.c.obj:
167 $(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< }
168
169.asm.obj:
170 $(BCB)\BIN\$(TASM32) $(AFLAGS) $<, $@
171
172.rc.res:
173 $(BCB)\BIN\$(BRCC32) $(RFLAGS) -fo$@ $<
174# ---------------------------------------------------------------------------
diff --git a/contrib/delphi2/zlib32.cpp b/contrib/delphi2/zlib32.cpp
deleted file mode 100644
index 7372f6b..0000000
--- a/contrib/delphi2/zlib32.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
1
2#include <windows.h>
3#pragma hdrstop
4#include <condefs.h>
5
6
7//---------------------------------------------------------------------------
8// Important note about DLL memory management in a VCL DLL:
9//
10//
11//
12// If your DLL uses VCL and exports any functions that pass VCL String objects
13// (or structs/classes containing nested Strings) as parameter or function
14// results, you will need to build both your DLL project and any EXE projects
15// that use your DLL with the dynamic RTL (the RTL DLL). This will change your
16// DLL and its calling EXE's to use BORLNDMM.DLL as their memory manager. In
17// these cases, the file BORLNDMM.DLL should be deployed along with your DLL
18// and the RTL DLL (CP3240MT.DLL). To avoid the requiring BORLNDMM.DLL in
19// these situations, pass string information using "char *" or ShortString
20// parameters and then link with the static RTL.
21//
22//---------------------------------------------------------------------------
23USEUNIT("adler32.c");
24USEUNIT("compress.c");
25USEUNIT("crc32.c");
26USEUNIT("deflate.c");
27USEUNIT("gzio.c");
28USEUNIT("infblock.c");
29USEUNIT("infcodes.c");
30USEUNIT("inffast.c");
31USEUNIT("inflate.c");
32USEUNIT("inftrees.c");
33USEUNIT("infutil.c");
34USEUNIT("trees.c");
35USEUNIT("uncompr.c");
36USEUNIT("zutil.c");
37//---------------------------------------------------------------------------
38#pragma argsused
39int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void*)
40{
41 return 1;
42}