summaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
Diffstat (limited to 'contrib')
-rw-r--r--contrib/asm386/gvmat32.asm696
-rw-r--r--contrib/asm386/gvmat32c.c63
-rw-r--r--contrib/asm386/zlibvc.dsp612
-rw-r--r--contrib/asm386/zlibvc.dsw29
-rw-r--r--contrib/asm386/zlibvc.mak781
5 files changed, 1053 insertions, 1128 deletions
diff --git a/contrib/asm386/gvmat32.asm b/contrib/asm386/gvmat32.asm
index 2918a5d..28d527f 100644
--- a/contrib/asm386/gvmat32.asm
+++ b/contrib/asm386/gvmat32.asm
@@ -9,40 +9,36 @@
9; For Visual C++ 4.2 and ML 6.11c (version in directory \MASM611C of Win95 DDK) 9; For Visual C++ 4.2 and ML 6.11c (version in directory \MASM611C of Win95 DDK)
10; I compile with : "ml /coff /Zi /c gvmat32.asm" 10; I compile with : "ml /coff /Zi /c gvmat32.asm"
11; 11;
12; uInt longest_match_gvasm(IPos cur_match,int* match_start_ptr,uInt scan_end,
13; uInt scan_start,ush* prev,uch* window,int best_len,
14; IPos limit,uInt chain_length,uch* scanrp,
15; uInt nice_match);
16 12
17;uInt longest_match(s, cur_match) 13;uInt longest_match_7fff(s, cur_match)
18; deflate_state *s; 14; deflate_state *s;
19; IPos cur_match; /* current match */ 15; IPos cur_match; /* current match */
20 16
21 NbStack equ 76 17 NbStack equ 76
22 cur_match equ dword ptr[esp+NbStack-0] 18 cur_match equ dword ptr[esp+NbStack-0]
23 str_s equ dword ptr[esp+NbStack-4] 19 str_s equ dword ptr[esp+NbStack-4]
24 ; 5 dword on top (ret,ebp,esi,edi,ebx) 20; 5 dword on top (ret,ebp,esi,edi,ebx)
25 adrret equ dword ptr[esp+NbStack-8] 21 adrret equ dword ptr[esp+NbStack-8]
26 pushebp equ dword ptr[esp+NbStack-12] 22 pushebp equ dword ptr[esp+NbStack-12]
27 pushedi equ dword ptr[esp+NbStack-16] 23 pushedi equ dword ptr[esp+NbStack-16]
28 pushesi equ dword ptr[esp+NbStack-20] 24 pushesi equ dword ptr[esp+NbStack-20]
29 pushebx equ dword ptr[esp+NbStack-24] 25 pushebx equ dword ptr[esp+NbStack-24]
30 26
31 chain_length equ dword ptr [esp+NbStack-28] 27 chain_length equ dword ptr [esp+NbStack-28]
32 limit equ dword ptr [esp+NbStack-32] 28 limit equ dword ptr [esp+NbStack-32]
33 best_len equ dword ptr [esp+NbStack-36] 29 best_len equ dword ptr [esp+NbStack-36]
34 window equ dword ptr [esp+NbStack-40] 30 window equ dword ptr [esp+NbStack-40]
35 prev equ dword ptr [esp+NbStack-44] 31 prev equ dword ptr [esp+NbStack-44]
36 scan_start equ word ptr [esp+NbStack-48] 32 scan_start equ word ptr [esp+NbStack-48]
37 scan_end equ word ptr [esp+NbStack-52] 33 wmask equ dword ptr [esp+NbStack-52]
38 match_start_ptr equ dword ptr [esp+NbStack-56] 34 match_start_ptr equ dword ptr [esp+NbStack-56]
39 nice_match equ dword ptr [esp+NbStack-60] 35 nice_match equ dword ptr [esp+NbStack-60]
40 scanrp equ dword ptr [esp+NbStack-64] 36 scan equ dword ptr [esp+NbStack-64]
41 37
42 windowlen equ dword ptr [esp+NbStack-68] 38 windowlen equ dword ptr [esp+NbStack-68]
43 match_start equ dword ptr [esp+NbStack-72] 39 match_start equ dword ptr [esp+NbStack-72]
44 strend equ dword ptr [esp+NbStack-76] 40 strend equ dword ptr [esp+NbStack-76]
45 NbStackAdd equ (76-24) 41 NbStackAdd equ (NbStack-24)
46 42
47 .386p 43 .386p
48 44
@@ -50,11 +46,11 @@
50 .MODEL FLAT 46 .MODEL FLAT
51 47
52 48
53@lmtype TYPEDEF PROTO C :PTR , :SDWORD
54longest_match_c PROTO @lmtype
55 49
56 ; all the +4 offsets are due to the addition of pending_buf_size 50; all the +4 offsets are due to the addition of pending_buf_size (in zlib
57 ; in the deflate_state structure since the asm code was first written 51; in the deflate_state structure since the asm code was first written
52; (if you compile with zlib 1.0.4 or older, remove the +4).
53; Note : these value are good with a 8 bytes boundary pack structure
58 dep_chain_length equ 70h+4 54 dep_chain_length equ 70h+4
59 dep_window equ 2ch+4 55 dep_window equ 2ch+4
60 dep_strstart equ 60h+4 56 dep_strstart equ 60h+4
@@ -68,398 +64,496 @@ longest_match_c PROTO @lmtype
68 dep_lookahead equ 68h+4 64 dep_lookahead equ 68h+4
69 65
70 66
71_TEXT segment 67_TEXT segment
72 public _longest_match_asm7fff
73 68
74 MAX_MATCH equ 258 69IFDEF NOUNDERLINE
75 MIN_MATCH equ 3 70 public longest_match_7fff
76 MIN_LOOKAHEAD equ (MAX_MATCH+MIN_MATCH+1) 71; public match_init
77 72ELSE
78; initialize or check the variables used in match.asm. 73 public _longest_match_7fff
74; public _match_init
75ENDIF
79 76
77 MAX_MATCH equ 258
78 MIN_MATCH equ 3
79 MIN_LOOKAHEAD equ (MAX_MATCH+MIN_MATCH+1)
80 80
81; -----------------------------------------------------------------------
82; Set match_start to the longest match starting at the given string and
83; return its length. Matches shorter or equal to prev_length are discarded,
84; in which case the result is equal to prev_length and match_start is
85; garbage.
86; IN assertions: cur_match is the head of the hash chain for the current
87; string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1
88 81
89; int longest_match(cur_match)
90 82
91_longest_match_asm7fff proc near 83IFDEF NOUNDERLINE
84;match_init proc near
85; ret
86;match_init endp
87ELSE
88;_match_init proc near
89; ret
90;_match_init endp
91ENDIF
92 92
93 93
94IFDEF NOUNDERLINE
95longest_match_7fff proc near
96ELSE
97_longest_match_7fff proc near
98ENDIF
94 99
95 ; return address 100 mov edx,[esp+4]
96 101
97 mov eax,[esp+4]
98 mov bx,[eax+dep_w_mask]
99 cmp bx,7fffh
100 jnz longest_match_c
101 102
102 push ebp
103 push edi
104 push esi
105 push ebx
106 103
107 sub esp,NbStackAdd 104 push ebp
105 push edi
106 push esi
107 push ebx
108 108
109 ;//mov ebp,str_s 109 sub esp,NbStackAdd
110 mov ebp,eax
111 110
112 mov eax,[ebp+dep_max_chain_length] 111; initialize or check the variables used in match.asm.
113 mov ebx,[ebp+dep_prev_length] 112 mov ebp,edx
114 cmp [ebp+dep_good_match],ebx ; if prev_length>=good_match chain_length >>= 2 113
115 ja noshr 114; chain_length = s->max_chain_length
116 shr eax,2 115; if (prev_length>=good_match) chain_length >>= 2
116 mov edx,[ebp+dep_chain_length]
117 mov ebx,[ebp+dep_prev_length]
118 cmp [ebp+dep_good_match],ebx
119 ja noshr
120 shr edx,2
117noshr: 121noshr:
118 mov edi,[ebp+dep_nice_match] 122; we increment chain_length because in the asm, the --chain_lenght is in the beginning of the loop
119 mov chain_length,eax 123 inc edx
120 mov edx,[ebp+dep_lookahead] 124 mov edi,[ebp+dep_nice_match]
121 cmp edx,edi 125 mov chain_length,edx
122;if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; 126 mov eax,[ebp+dep_lookahead]
123 jae nolookaheadnicematch 127 cmp eax,edi
124 mov edi,edx 128; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;
129 jae nolookaheadnicematch
130 mov edi,eax
125nolookaheadnicematch: 131nolookaheadnicematch:
126 mov best_len,ebx 132; best_len = s->prev_length
127 133 mov best_len,ebx
128 134
129 mov esi,[ebp+dep_window] 135; window = s->window
130 mov ecx,[ebp+dep_strstart] 136 mov esi,[ebp+dep_window]
131 mov window,esi 137 mov ecx,[ebp+dep_strstart]
132 138 mov window,esi
133 mov nice_match,edi 139
134 add esi,ecx 140 mov nice_match,edi
135 mov scanrp,esi 141; scan = window + strstart
136 mov ax,word ptr [esi] 142 add esi,ecx
137 mov bx,word ptr [esi+ebx-1] 143 mov scan,esi
138 add esi,MAX_MATCH-1 144; dx = *window
139 mov scan_start,ax 145 mov dx,word ptr [esi]
140 mov strend,esi 146; bx = *(window+best_len-1)
141 mov scan_end,bx 147 mov bx,word ptr [esi+ebx-1]
148 add esi,MAX_MATCH-1
149; scan_start = *scan
150 mov scan_start,dx
151; strend = scan + MAX_MATCH-1
152 mov strend,esi
153; bx = scan_end = *(window+best_len-1)
142 154
143; IPos limit = s->strstart > (IPos)MAX_DIST(s) ? 155; IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
144; s->strstart - (IPos)MAX_DIST(s) : NIL; 156; s->strstart - (IPos)MAX_DIST(s) : NIL;
145 157
146 mov esi,[ebp+dep_w_size] 158 mov esi,[ebp+dep_w_size]
147 sub esi,MIN_LOOKAHEAD 159 sub esi,MIN_LOOKAHEAD
148 ; here esi = MAX_DIST(s) 160; here esi = MAX_DIST(s)
149 sub ecx,esi 161 sub ecx,esi
150 ja nodist 162 ja nodist
151 xor ecx,ecx 163 xor ecx,ecx
152nodist: 164nodist:
153 mov limit,ecx 165 mov limit,ecx
154
155
156
157
158 mov eax,[ebp+dep_prev]
159 mov prev,eax
160 166
161 mov ebx,dword ptr [ebp+dep_match_start] 167; prev = s->prev
162 mov bp,scan_start 168 mov edx,[ebp+dep_prev]
163 mov edx,cur_match 169 mov prev,edx
164 mov match_start,ebx
165 170
166 mov bx,scan_end 171;
167 mov eax,window 172 mov edx,dword ptr [ebp+dep_match_start]
168 mov edi,eax 173 mov bp,scan_start
169 add edi,best_len 174 mov eax,cur_match
170 mov esi,prev 175 mov match_start,edx
171 dec edi 176
172 mov windowlen,edi 177 mov edx,window
173 178 mov edi,edx
174 jmp beginloop2 179 add edi,best_len
175 align 4 180 mov esi,prev
181 dec edi
182; windowlen = window + best_len -1
183 mov windowlen,edi
184
185 jmp beginloop2
186 align 4
176 187
177; here, in the loop 188; here, in the loop
178;;;; eax = chain_length 189; eax = ax = cur_match
179; edx = dx = cur_match
180; ecx = limit 190; ecx = limit
181; bx = scan_end 191; bx = scan_end
182; bp = scan_start 192; bp = scan_start
183; edi = windowlen (window + best_len) 193; edi = windowlen (window + best_len -1)
184; esi = prev 194; esi = prev
185 195
186 196
187;// here; eax <=16 197;// here; chain_length <=16
188normalbeg0add16: 198normalbeg0add16:
189 add chain_length,16 199 add chain_length,16
190 jz exitloop 200 jz exitloop
191normalbeg0: 201normalbeg0:
192 cmp word ptr[edi+edx-0],bx 202 cmp word ptr[edi+eax],bx
193 je normalbeg2 203 je normalbeg2noroll
194 and edx,7fffh 204rcontlabnoroll:
195 mov dx,word ptr[esi+edx*2] 205; cur_match = prev[cur_match & wmask]
196 cmp ecx,edx 206 and eax,7fffh
197 jnb exitloop 207 mov ax,word ptr[esi+eax*2]
198 dec chain_length 208; if cur_match > limit, go to exitloop
199 jnz normalbeg0 209 cmp ecx,eax
200;jnbexitloopshort1: 210 jnb exitloop
201 jmp exitloop 211; if --chain_length != 0, go to exitloop
212 dec chain_length
213 jnz normalbeg0
214 jmp exitloop
215
216normalbeg2noroll:
217; if (scan_start==*(cur_match+window)) goto normalbeg2
218 cmp bp,word ptr[edx+eax]
219 jne rcontlabnoroll
220 jmp normalbeg2
202 221
203contloop3: 222contloop3:
204 mov edi,windowlen 223 mov edi,windowlen
205 224
206; cur_match = prev[cur_match & wmask] 225; cur_match = prev[cur_match & wmask]
207 and edx,7fffh 226 and eax,7fffh
208 mov dx,word ptr[esi+edx*2] 227 mov ax,word ptr[esi+eax*2]
209; if cur_match > limit, go to exitloop 228; if cur_match > limit, go to exitloop
210 cmp ecx,edx 229 cmp ecx,eax
211jnbexitloopshort1: 230jnbexitloopshort1:
212 jnb exitloop 231 jnb exitloop
213; if --chain_length != 0, go to exitloop 232; if --chain_length != 0, go to exitloop
214 233
234
235; begin the main loop
215beginloop2: 236beginloop2:
216 sub chain_length,16+1 237 sub chain_length,16+1
217 jna normalbeg0add16 238; if chain_length <=16, don't use the unrolled loop
239 jna normalbeg0add16
218 240
219do16: 241do16:
220 cmp word ptr[edi+edx],bx 242 cmp word ptr[edi+eax],bx
221 je normalbeg2dc0 243 je normalbeg2dc0
222 244
223maccn MACRO lab 245maccn MACRO lab
224 and edx,7fffh 246 and eax,7fffh
225 mov dx,word ptr[esi+edx*2] 247 mov ax,word ptr[esi+eax*2]
226 cmp ecx,edx 248 cmp ecx,eax
227 jnb exitloop 249 jnb exitloop
228 cmp word ptr[edi+edx-0],bx 250 cmp word ptr[edi+eax],bx
229 je lab 251 je lab
230 ENDM 252 ENDM
231 253
232rcontloop0: 254rcontloop0:
233 maccn normalbeg2dc1 255 maccn normalbeg2dc1
234 256
235rcontloop1: 257rcontloop1:
236 maccn normalbeg2dc2 258 maccn normalbeg2dc2
237 259
238rcontloop2: 260rcontloop2:
239 maccn normalbeg2dc3 261 maccn normalbeg2dc3
240 262
241rcontloop3: 263rcontloop3:
242 maccn normalbeg2dc4 264 maccn normalbeg2dc4
243 265
244rcontloop4: 266rcontloop4:
245 maccn normalbeg2dc5 267 maccn normalbeg2dc5
246 268
247rcontloop5: 269rcontloop5:
248 maccn normalbeg2dc6 270 maccn normalbeg2dc6
249 271
250rcontloop6: 272rcontloop6:
251 maccn normalbeg2dc7 273 maccn normalbeg2dc7
252 274
253rcontloop7: 275rcontloop7:
254 maccn normalbeg2dc8 276 maccn normalbeg2dc8
255 277
256rcontloop8: 278rcontloop8:
257 maccn normalbeg2dc9 279 maccn normalbeg2dc9
258 280
259rcontloop9: 281rcontloop9:
260 maccn normalbeg2dc10 282 maccn normalbeg2dc10
261 283
262rcontloop10: 284rcontloop10:
263 maccn normalbeg2dc11 285 maccn short normalbeg2dc11
264 286
265rcontloop11: 287rcontloop11:
266 maccn short normalbeg2dc12 288 maccn short normalbeg2dc12
267 289
268rcontloop12: 290rcontloop12:
269 maccn short normalbeg2dc13 291 maccn short normalbeg2dc13
270 292
271rcontloop13: 293rcontloop13:
272 maccn short normalbeg2dc14 294 maccn short normalbeg2dc14
273 295
274rcontloop14: 296rcontloop14:
275 maccn short normalbeg2dc15 297 maccn short normalbeg2dc15
276 298
277rcontloop15: 299rcontloop15:
278 and edx,7fffh 300 and eax,7fffh
279 mov dx,word ptr[esi+edx*2] 301 mov ax,word ptr[esi+eax*2]
280 cmp ecx,edx 302 cmp ecx,eax
281 jnb short exitloopshort 303 jnb exitloop
282 304
283 sub chain_length,16 305 sub chain_length,16
284 ja do16 306 ja do16
285 jmp normalbeg0add16 307 jmp normalbeg0add16
286 308
287;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 309;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
288 310
289exitloopshort: 311normbeg MACRO rcontlab,valsub
290 jmp exitloop 312; if we are here, we know that *(match+best_len-1) == scan_end
313 cmp bp,word ptr[edx+eax]
314; if (match != scan_start) goto rcontlab
315 jne rcontlab
316; calculate the good chain_length, and we'll compare scan and match string
317 add chain_length,16-valsub
318 jmp iseq
319 ENDM
291 320
292normbeg MACRO rcontlab,valsub 321
293 cmp bp,word ptr[eax+edx] 322normalbeg2dc11:
294 jne rcontlab 323 normbeg rcontloop11,11
295 add chain_length,16-valsub
296 jmp iseq
297 ENDM
298 324
299normalbeg2dc12: 325normalbeg2dc12:
300 normbeg rcontloop12,12 326 normbeg short rcontloop12,12
301 327
302normalbeg2dc13: 328normalbeg2dc13:
303 normbeg rcontloop13,13 329 normbeg short rcontloop13,13
304 330
305normalbeg2dc14: 331normalbeg2dc14:
306 normbeg rcontloop14,14 332 normbeg short rcontloop14,14
307 333
308normalbeg2dc15: 334normalbeg2dc15:
309 normbeg rcontloop15,15 335 normbeg short rcontloop15,15
310
311normalbeg2dc11:
312 normbeg rcontloop11,11
313 336
314normalbeg2dc10: 337normalbeg2dc10:
315 normbeg rcontloop10,10 338 normbeg rcontloop10,10
316
317 339
318normalbeg2dc9: 340normalbeg2dc9:
319 normbeg rcontloop9,9 341 normbeg rcontloop9,9
320 342
321normalbeg2dc8: 343normalbeg2dc8:
322 normbeg rcontloop8,8 344 normbeg rcontloop8,8
323 345
324normalbeg2dc7: 346normalbeg2dc7:
325 normbeg rcontloop7,7 347 normbeg rcontloop7,7
326
327normalbeg2dc5:
328 normbeg rcontloop5,5
329
330
331
332
333 348
334normalbeg2dc6: 349normalbeg2dc6:
335 normbeg rcontloop6,6 350 normbeg rcontloop6,6
351
352normalbeg2dc5:
353 normbeg rcontloop5,5
336 354
337normalbeg2dc4: 355normalbeg2dc4:
338 normbeg rcontloop4,4 356 normbeg rcontloop4,4
339 357
340normalbeg2dc3: 358normalbeg2dc3:
341 normbeg rcontloop3,3 359 normbeg rcontloop3,3
342 360
343normalbeg2dc2: 361normalbeg2dc2:
344 normbeg rcontloop2,2 362 normbeg rcontloop2,2
345 363
346normalbeg2dc1: 364normalbeg2dc1:
347 normbeg rcontloop1,1 365 normbeg rcontloop1,1
348 366
349normalbeg2dc0: 367normalbeg2dc0:
350 normbeg rcontloop0,0 368 normbeg rcontloop0,0
351 369
352 370
353; we go in normalbeg2 because *(ushf*)(match+best_len-1) == scan_end 371; we go in normalbeg2 because *(ushf*)(match+best_len-1) == scan_end
354 372
355normalbeg2: 373normalbeg2:
374 mov edi,window
356 375
357 ; 10 nop here take 10% time 376 cmp bp,word ptr[edi+eax]
358 mov edi,window 377 jne contloop3 ; if *(ushf*)match != scan_start, continue
359 ;mov chain_length,eax ; now, we need eax...
360
361 cmp bp,word ptr[edi+edx]
362 jne contloop3 ; if *(ushf*)match != scan_start, continue
363 378
364iseq: 379iseq:
380; if we are here, we know that *(match+best_len-1) == scan_end
381; and (match == scan_start)
365 382
366 mov edi,eax 383 mov edi,edx
367 mov esi,scanrp ; esi = scan 384 mov esi,scan ; esi = scan
368 add edi,edx ; edi = window + cur_match = match 385 add edi,eax ; edi = window + cur_match = match
369 386
370 387 mov edx,[esi+3] ; compare manually dword at match+3
371 mov eax,[esi+3] ; compare manually dword at match+3 388 xor edx,[edi+3] ; and scan +3
372 xor eax,[edi+3] ; and scan +3
373 389
374 jz begincompare ; if equal, go to long compare 390 jz begincompare ; if equal, go to long compare
375 391
376 ; we will determine the unmatch byte and calculate len (in esi) 392; we will determine the unmatch byte and calculate len (in esi)
377 or al,al 393 or dl,dl
378 je eq1rr 394 je eq1rr
379 mov esi,3 395 mov esi,3
380 jmp trfinval 396 jmp trfinval
381eq1rr: 397eq1rr:
382 or ax,ax 398 or dx,dx
383 je eq1 399 je eq1
384 400
385 mov esi,4 401 mov esi,4
386 jmp trfinval 402 jmp trfinval
387eq1: 403eq1:
388 shl eax,8 404 and edx,0ffffffh
389 jz eq11 405 jz eq11
390 mov esi,5 406 mov esi,5
391 jmp trfinval 407 jmp trfinval
392eq11: 408eq11:
393 mov esi,6 409 mov esi,6
394 jmp trfinval 410 jmp trfinval
395 411
396begincompare: 412begincompare:
397 ; here we now scan and match begin same 413 ; here we now scan and match begin same
398 add edi,6 414 add edi,6
399 add esi,6 415 add esi,6
400 mov ecx,(MAX_MATCH-(2+4))/4 ;//; scan for at most MAX_MATCH bytes 416 mov ecx,(MAX_MATCH-(2+4))/4 ; scan for at most MAX_MATCH bytes
401 repe cmpsd ;//; loop until mismatch 417 repe cmpsd ; loop until mismatch
402 418
403 je trfin ; go to trfin if not unmatch 419 je trfin ; go to trfin if not unmatch
404 ; we determine the unmatch byte 420; we determine the unmatch byte
405 sub esi,4 421 sub esi,4
406 mov eax,[edi-4] 422 mov edx,[edi-4]
407 xor eax,[esi] 423 xor edx,[esi]
408 or al,al 424
409 425 or dl,dl
410 jnz trfin 426 jnz trfin
411 inc esi 427 inc esi
412 428
413 or ax,ax 429 or dx,dx
414 jnz trfin 430 jnz trfin
415 inc esi 431 inc esi
416 432
417 shl eax,8 433 and edx,0ffffffh
418 jnz trfin 434 jnz trfin
419 inc esi 435 inc esi
420 436
421trfin: 437trfin:
422 sub esi,scanrp ; esi = len 438 sub esi,scan ; esi = len
423trfinval: 439trfinval:
424 cmp esi,best_len ; if len <= best_len, go contloop2 440; here we have finised compare, and esi contain len of equal string
425 jbe contloop2 441 cmp esi,best_len ; if len > best_len, go newbestlen
426 442 ja short newbestlen
427 mov best_len,esi ; len become best_len 443; now we restore edx, ecx and esi, for the big loop
428 444 mov esi,prev
429 mov match_start,edx 445 mov ecx,limit
430 cmp esi,nice_match ;//; if esi >= nice_match, exit 446 mov edx,window
431 mov ecx,scanrp 447 jmp contloop3
432 jae exitloop 448
433 add esi,window 449newbestlen:
434 add ecx,best_len 450 mov best_len,esi ; len become best_len
435 dec esi 451
436 mov windowlen,esi 452 mov match_start,eax ; save new position as match_start
437 mov bx,[ecx-1] 453 cmp esi,nice_match ; if best_len >= nice_match, exit
438 454 jae exitloop
439 455 mov ecx,scan
440; now we restore eax, ecx and esi, for the big loop : 456 mov edx,window ; restore edx=window
441contloop2: 457 add ecx,esi
442 mov esi,prev 458 add esi,edx
443 mov ecx,limit 459
444 ;mov eax,chain_length 460 dec esi
445 mov eax,window 461 mov windowlen,esi ; windowlen = window + best_len-1
446 jmp contloop3 462 mov bx,[ecx-1] ; bx = *(scan+best_len-1) = scan_end
447 463
448exitloop: 464; now we restore ecx and esi, for the big loop :
449 mov ebx,match_start 465 mov esi,prev
450 mov ebp,str_s 466 mov ecx,limit
451 mov dword ptr [ebp+dep_match_start],ebx 467 jmp contloop3
452 mov eax,best_len 468
453 add esp,NbStackAdd 469exitloop:
454 470; exit : s->match_start=match_start
455 471 mov ebx,match_start
456 pop ebx 472 mov ebp,str_s
457 pop esi 473 mov ecx,best_len
458 pop edi 474 mov dword ptr [ebp+dep_match_start],ebx
459 pop ebp 475 mov eax,dword ptr [ebp+dep_lookahead]
460 ret 476 cmp ecx,eax
461 477 ja minexlo
462_longest_match_asm7fff endp 478 mov eax,ecx
479minexlo:
480; return min(best_len,s->lookahead)
481
482; restore stack and register ebx,esi,edi,ebp
483 add esp,NbStackAdd
484
485 pop ebx
486 pop esi
487 pop edi
488 pop ebp
489 ret
490InfoAuthor:
491; please don't remove this string !
492; Your are free use gvmat32 in any fre or commercial apps if you don't remove the string in the binary!
493 db 0dh,0ah,"GVMat32 optimised assembly code written 1996-98 by Gilles Vollant",0dh,0ah
494
495
496
497IFDEF NOUNDERLINE
498longest_match_7fff endp
499ELSE
500_longest_match_7fff endp
501ENDIF
502
503
504IFDEF NOUNDERLINE
505cpudetect32 proc near
506ELSE
507_cpudetect32 proc near
508ENDIF
509
510
511 pushfd ; push original EFLAGS
512 pop eax ; get original EFLAGS
513 mov ecx, eax ; save original EFLAGS
514 xor eax, 40000h ; flip AC bit in EFLAGS
515 push eax ; save new EFLAGS value on stack
516 popfd ; replace current EFLAGS value
517 pushfd ; get new EFLAGS
518 pop eax ; store new EFLAGS in EAX
519 xor eax, ecx ; can’t toggle AC bit, processor=80386
520 jz end_cpu_is_386 ; jump if 80386 processor
521 push ecx
522 popfd ; restore AC bit in EFLAGS first
523
524 pushfd
525 pushfd
526 pop ecx
527
528 mov eax, ecx ; get original EFLAGS
529 xor eax, 200000h ; flip ID bit in EFLAGS
530 push eax ; save new EFLAGS value on stack
531 popfd ; replace current EFLAGS value
532 pushfd ; get new EFLAGS
533 pop eax ; store new EFLAGS in EAX
534 popfd ; restore original EFLAGS
535 xor eax, ecx ; can’t toggle ID bit,
536 je is_old_486 ; processor=old
537
538 mov eax,1
539 db 0fh,0a2h ;CPUID
540
541exitcpudetect:
542 ret
543
544end_cpu_is_386:
545 mov eax,0300h
546 jmp exitcpudetect
547
548is_old_486:
549 mov eax,0400h
550 jmp exitcpudetect
551
552IFDEF NOUNDERLINE
553cpudetect32 endp
554ELSE
555_cpudetect32 endp
556ENDIF
463 557
464_TEXT ends 558_TEXT ends
465end 559end
diff --git a/contrib/asm386/gvmat32c.c b/contrib/asm386/gvmat32c.c
index 43d530b..d853bb7 100644
--- a/contrib/asm386/gvmat32c.c
+++ b/contrib/asm386/gvmat32c.c
@@ -7,7 +7,6 @@
7 * (assembly code is faster with a fixed wmask) 7 * (assembly code is faster with a fixed wmask)
8 * 8 *
9 */ 9 */
10//#pragma optimize("agt",on)
11 10
12#include "deflate.h" 11#include "deflate.h"
13 12
@@ -15,65 +14,31 @@
15#include <windows.h> 14#include <windows.h>
16 15
17#ifdef ASMV 16#ifdef ASMV
18
19#define NIL 0 17#define NIL 0
20 18
21static unsigned int tot=0;
22static unsigned int totl0=0;
23static unsigned int totl0p0=0;
24static unsigned int ba0=0;
25static unsigned int ba1=0;
26static unsigned int cpta=0;
27static unsigned int cptb=0;
28
29#define UNALIGNED_OK 19#define UNALIGNED_OK
30#define gvshow(a,b,c,d)
31/*
32void gvshow(int chain_length,int len,int limit,ushf* prev)
33{
34static int ival=0;
35char sz[80];
36unsigned long i;
37int prev0=*prev;
38 ival++;
39 //wsprintf(sz,"call %u, len=%u, chain_length=%u\n",ival,len,chain_length);
40 //OutputDebugString(sz);
41 tot++;
42 if (limit==NIL)
43 totl0++;
44 if ((limit==NIL) && (prev0==0))
45 totl0p0++;
46 for (i=limit+1;i<32768;i++)
47 {
48 ush va=*(prev+i);
49 if (ba0>4000000000)
50 {
51 ba0+=10;
52 }
53 ba0++;
54 if ((va>limit) || (va==0))
55 continue;
56 ba1++;
57 }
58}
59*/
60 20
61 21
62/* if your C compiler don't add underline before function name, 22/* if your C compiler don't add underline before function name,
63 define ADD_UNDERLINE_ASMFUNC */ 23 define ADD_UNDERLINE_ASMFUNC */
64#ifdef ADD_UNDERLINE_ASMFUNC 24#ifdef ADD_UNDERLINE_ASMFUNC
65#define longest_match_asm7fff _longest_match_asm7fff 25#define longest_match_7fff _longest_match_7fff
66#endif 26#endif
27
28
29
67void match_init() 30void match_init()
68{ 31{
69} 32}
70 33
34unsigned long cpudetect32();
35
71uInt longest_match_c( 36uInt longest_match_c(
72 deflate_state *s, 37 deflate_state *s,
73 IPos cur_match); /* current match */ 38 IPos cur_match); /* current match */
74 39
75 40
76uInt longest_match_asm7fff( 41uInt longest_match_7fff(
77 deflate_state *s, 42 deflate_state *s,
78 IPos cur_match); /* current match */ 43 IPos cur_match); /* current match */
79 44
@@ -81,9 +46,15 @@ uInt longest_match(
81 deflate_state *s, 46 deflate_state *s,
82 IPos cur_match) /* current match */ 47 IPos cur_match) /* current match */
83{ 48{
84 if (s->w_mask == 0x7fff) 49 static uInt iIsPPro=2;
85 return longest_match_asm7fff(s,cur_match); 50
86 return longest_match_c(s,cur_match); 51 if ((s->w_mask == 0x7fff) && (iIsPPro==0))
52 return longest_match_7fff(s,cur_match);
53
54 if (iIsPPro==2)
55 iIsPPro = (((cpudetect32()/0x100)&0xf)>=6) ? 1 : 0;
56
57 return longest_match_c(s,cur_match);
87} 58}
88 59
89 60
@@ -222,7 +193,7 @@ uInt longest_match_c(s, cur_match)
222 } while ((cur_match = prev[cur_match & wmask]) > limit 193 } while ((cur_match = prev[cur_match & wmask]) > limit
223 && --chain_length != 0); 194 && --chain_length != 0);
224 195
225 if ((uInt)best_len <= s->lookahead) return best_len; 196 if ((uInt)best_len <= s->lookahead) return (uInt)best_len;
226 return s->lookahead; 197 return s->lookahead;
227} 198}
228 199
diff --git a/contrib/asm386/zlibvc.dsp b/contrib/asm386/zlibvc.dsp
new file mode 100644
index 0000000..98676db
--- /dev/null
+++ b/contrib/asm386/zlibvc.dsp
@@ -0,0 +1,612 @@
1# Microsoft Developer Studio Project File - Name="zlibvc" - Package Owner=<4>
2# Microsoft Developer Studio Generated Build File, Format Version 5.00
3# ** DO NOT EDIT **
4
5# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
6# TARGTYPE "Win32 (ALPHA) Dynamic-Link Library" 0x0602
7
8CFG=zlibvc - Win32 Release
9!MESSAGE This is not a valid makefile. To build this project using NMAKE,
10!MESSAGE use the Export Makefile command and run
11!MESSAGE
12!MESSAGE NMAKE /f "zlibvc.mak".
13!MESSAGE
14!MESSAGE You can specify a configuration when running NMAKE
15!MESSAGE by defining the macro CFG on the command line. For example:
16!MESSAGE
17!MESSAGE NMAKE /f "zlibvc.mak" CFG="zlibvc - Win32 Release"
18!MESSAGE
19!MESSAGE Possible choices for configuration are:
20!MESSAGE
21!MESSAGE "zlibvc - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
22!MESSAGE "zlibvc - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
23!MESSAGE "zlibvc - Win32 ReleaseAxp" (based on\
24 "Win32 (ALPHA) Dynamic-Link Library")
25!MESSAGE "zlibvc - Win32 ReleaseWithoutAsm" (based on\
26 "Win32 (x86) Dynamic-Link Library")
27!MESSAGE "zlibvc - Win32 ReleaseWithoutCrtdll" (based on\
28 "Win32 (x86) Dynamic-Link Library")
29!MESSAGE
30
31# Begin Project
32# PROP Scc_ProjName ""
33# PROP Scc_LocalPath ""
34
35!IF "$(CFG)" == "zlibvc - Win32 Release"
36
37# PROP BASE Use_MFC 0
38# PROP BASE Use_Debug_Libraries 0
39# PROP BASE Output_Dir ".\Release"
40# PROP BASE Intermediate_Dir ".\Release"
41# PROP BASE Target_Dir ""
42# PROP Use_MFC 0
43# PROP Use_Debug_Libraries 0
44# PROP Output_Dir ".\Release"
45# PROP Intermediate_Dir ".\Release"
46# PROP Ignore_Export_Lib 0
47# PROP Target_Dir ""
48CPP=cl.exe
49# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
50# ADD CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /D "ASMV" /FAcs /FR /YX /FD /c
51MTL=midl.exe
52# ADD BASE MTL /nologo /D "NDEBUG" /win32
53# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
54RSC=rc.exe
55# ADD BASE RSC /l 0x40c /d "NDEBUG"
56# ADD RSC /l 0x40c /d "NDEBUG"
57BSC32=bscmake.exe
58# ADD BASE BSC32 /nologo
59# ADD BSC32 /nologo
60LINK32=link.exe
61# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
62# ADD LINK32 gvmat32.obj kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib crtdll.lib /nologo /subsystem:windows /dll /map /machine:I386 /nodefaultlib /out:".\Release\zlib.dll"
63# SUBTRACT LINK32 /pdb:none
64
65!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
66
67# PROP BASE Use_MFC 0
68# PROP BASE Use_Debug_Libraries 1
69# PROP BASE Output_Dir ".\Debug"
70# PROP BASE Intermediate_Dir ".\Debug"
71# PROP BASE Target_Dir ""
72# PROP Use_MFC 0
73# PROP Use_Debug_Libraries 1
74# PROP Output_Dir ".\Debug"
75# PROP Intermediate_Dir ".\Debug"
76# PROP Target_Dir ""
77CPP=cl.exe
78# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
79# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /YX /FD /c
80MTL=midl.exe
81# ADD BASE MTL /nologo /D "_DEBUG" /win32
82# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
83RSC=rc.exe
84# ADD BASE RSC /l 0x40c /d "_DEBUG"
85# ADD RSC /l 0x40c /d "_DEBUG"
86BSC32=bscmake.exe
87# ADD BASE BSC32 /nologo
88# ADD BSC32 /nologo
89LINK32=link.exe
90# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386
91# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:".\Debug\zlib.dll"
92
93!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
94
95# PROP BASE Use_MFC 0
96# PROP BASE Use_Debug_Libraries 0
97# PROP BASE Output_Dir "zlibvc__"
98# PROP BASE Intermediate_Dir "zlibvc__"
99# PROP BASE Ignore_Export_Lib 0
100# PROP BASE Target_Dir ""
101# PROP Use_MFC 0
102# PROP Use_Debug_Libraries 0
103# PROP Output_Dir "zlibvc__"
104# PROP Intermediate_Dir "zlibvc__"
105# PROP Ignore_Export_Lib 0
106# PROP Target_Dir ""
107MTL=midl.exe
108# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
109# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
110CPP=cl.exe
111# ADD BASE CPP /nologo /MT /Gt0 /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /FAcs /FR /YX /FD /c
112# ADD CPP /nologo /MT /Gt0 /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /FAcs /FR /YX /FD /c
113RSC=rc.exe
114# ADD BASE RSC /l 0x40c /d "NDEBUG"
115# ADD RSC /l 0x40c /d "NDEBUG"
116BSC32=bscmake.exe
117# ADD BASE BSC32 /nologo
118# ADD BSC32 /nologo
119LINK32=link.exe
120# ADD BASE LINK32 crtdll.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /map /machine:ALPHA /nodefaultlib /out:".\Release\zlib.dll"
121# SUBTRACT BASE LINK32 /pdb:none
122# ADD LINK32 crtdll.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /map /machine:ALPHA /nodefaultlib /out:"zlibvc__\zlib.dll"
123# SUBTRACT LINK32 /pdb:none
124
125!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
126
127# PROP BASE Use_MFC 0
128# PROP BASE Use_Debug_Libraries 0
129# PROP BASE Output_Dir "zlibvc_0"
130# PROP BASE Intermediate_Dir "zlibvc_0"
131# PROP BASE Ignore_Export_Lib 0
132# PROP BASE Target_Dir ""
133# PROP Use_MFC 0
134# PROP Use_Debug_Libraries 0
135# PROP Output_Dir "zlibvc_0"
136# PROP Intermediate_Dir "zlibvc_0"
137# PROP Ignore_Export_Lib 0
138# PROP Target_Dir ""
139CPP=cl.exe
140# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /FAcs /FR /YX /FD /c
141# ADD CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /FAcs /FR /YX /FD /c
142MTL=midl.exe
143# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
144# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
145RSC=rc.exe
146# ADD BASE RSC /l 0x40c /d "NDEBUG"
147# ADD RSC /l 0x40c /d "NDEBUG"
148BSC32=bscmake.exe
149# ADD BASE BSC32 /nologo
150# ADD BSC32 /nologo
151LINK32=link.exe
152# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib crtdll.lib /nologo /subsystem:windows /dll /map /machine:I386 /nodefaultlib /out:".\Release\zlib.dll"
153# SUBTRACT BASE LINK32 /pdb:none
154# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib crtdll.lib /nologo /subsystem:windows /dll /map /machine:I386 /nodefaultlib /out:".\zlibvc_0\zlib.dll"
155# SUBTRACT LINK32 /pdb:none
156
157!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
158
159# PROP BASE Use_MFC 0
160# PROP BASE Use_Debug_Libraries 0
161# PROP BASE Output_Dir "zlibvc_1"
162# PROP BASE Intermediate_Dir "zlibvc_1"
163# PROP BASE Ignore_Export_Lib 0
164# PROP BASE Target_Dir ""
165# PROP Use_MFC 0
166# PROP Use_Debug_Libraries 0
167# PROP Output_Dir "zlibvc_1"
168# PROP Intermediate_Dir "zlibvc_1"
169# PROP Ignore_Export_Lib 0
170# PROP Target_Dir ""
171CPP=cl.exe
172# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /D "ASMV" /FAcs /FR /YX /FD /c
173# ADD CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /D "ASMV" /FAcs /FR /YX /FD /c
174MTL=midl.exe
175# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
176# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
177RSC=rc.exe
178# ADD BASE RSC /l 0x40c /d "NDEBUG"
179# ADD RSC /l 0x40c /d "NDEBUG"
180BSC32=bscmake.exe
181# ADD BASE BSC32 /nologo
182# ADD BSC32 /nologo
183LINK32=link.exe
184# ADD BASE LINK32 gvmat32.obj kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib crtdll.lib /nologo /subsystem:windows /dll /map /machine:I386 /nodefaultlib /out:".\Release\zlib.dll"
185# SUBTRACT BASE LINK32 /pdb:none
186# ADD LINK32 gvmat32.obj kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib crtdll.lib /nologo /subsystem:windows /dll /map /machine:I386 /nodefaultlib /out:".\zlibvc_1\zlib.dll"
187# SUBTRACT LINK32 /pdb:none
188
189!ENDIF
190
191# Begin Target
192
193# Name "zlibvc - Win32 Release"
194# Name "zlibvc - Win32 Debug"
195# Name "zlibvc - Win32 ReleaseAxp"
196# Name "zlibvc - Win32 ReleaseWithoutAsm"
197# Name "zlibvc - Win32 ReleaseWithoutCrtdll"
198# Begin Group "Source Files"
199
200# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
201# Begin Source File
202
203SOURCE=.\adler32.c
204
205!IF "$(CFG)" == "zlibvc - Win32 Release"
206
207!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
208
209!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
210
211DEP_CPP_ADLER=\
212 ".\zconf.h"\
213 ".\zlib.h"\
214
215
216!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
217
218!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
219
220!ENDIF
221
222# End Source File
223# Begin Source File
224
225SOURCE=.\compress.c
226
227!IF "$(CFG)" == "zlibvc - Win32 Release"
228
229!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
230
231!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
232
233DEP_CPP_COMPR=\
234 ".\zconf.h"\
235 ".\zlib.h"\
236
237
238!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
239
240!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
241
242!ENDIF
243
244# End Source File
245# Begin Source File
246
247SOURCE=.\crc32.c
248
249!IF "$(CFG)" == "zlibvc - Win32 Release"
250
251!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
252
253!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
254
255DEP_CPP_CRC32=\
256 ".\zconf.h"\
257 ".\zlib.h"\
258
259
260!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
261
262!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
263
264!ENDIF
265
266# End Source File
267# Begin Source File
268
269SOURCE=.\deflate.c
270
271!IF "$(CFG)" == "zlibvc - Win32 Release"
272
273!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
274
275!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
276
277DEP_CPP_DEFLA=\
278 ".\deflate.h"\
279 ".\zconf.h"\
280 ".\zlib.h"\
281 ".\zutil.h"\
282
283
284!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
285
286!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
287
288!ENDIF
289
290# End Source File
291# Begin Source File
292
293SOURCE=.\gvmat32c.c
294
295!IF "$(CFG)" == "zlibvc - Win32 Release"
296
297!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
298
299!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
300
301!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
302
303!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
304
305!ENDIF
306
307# End Source File
308# Begin Source File
309
310SOURCE=.\gzio.c
311
312!IF "$(CFG)" == "zlibvc - Win32 Release"
313
314!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
315
316!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
317
318DEP_CPP_GZIO_=\
319 ".\zconf.h"\
320 ".\zlib.h"\
321 ".\zutil.h"\
322
323
324!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
325
326!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
327
328!ENDIF
329
330# End Source File
331# Begin Source File
332
333SOURCE=.\infblock.c
334
335!IF "$(CFG)" == "zlibvc - Win32 Release"
336
337!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
338
339!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
340
341DEP_CPP_INFBL=\
342 ".\infblock.h"\
343 ".\infcodes.h"\
344 ".\inftrees.h"\
345 ".\infutil.h"\
346 ".\zconf.h"\
347 ".\zlib.h"\
348 ".\zutil.h"\
349
350
351!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
352
353!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
354
355!ENDIF
356
357# End Source File
358# Begin Source File
359
360SOURCE=.\infcodes.c
361
362!IF "$(CFG)" == "zlibvc - Win32 Release"
363
364!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
365
366!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
367
368DEP_CPP_INFCO=\
369 ".\infblock.h"\
370 ".\infcodes.h"\
371 ".\inffast.h"\
372 ".\inftrees.h"\
373 ".\infutil.h"\
374 ".\zconf.h"\
375 ".\zlib.h"\
376 ".\zutil.h"\
377
378
379!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
380
381!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
382
383!ENDIF
384
385# End Source File
386# Begin Source File
387
388SOURCE=.\inffast.c
389
390!IF "$(CFG)" == "zlibvc - Win32 Release"
391
392!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
393
394!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
395
396DEP_CPP_INFFA=\
397 ".\infblock.h"\
398 ".\infcodes.h"\
399 ".\inffast.h"\
400 ".\inftrees.h"\
401 ".\infutil.h"\
402 ".\zconf.h"\
403 ".\zlib.h"\
404 ".\zutil.h"\
405
406
407!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
408
409!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
410
411!ENDIF
412
413# End Source File
414# Begin Source File
415
416SOURCE=.\inflate.c
417
418!IF "$(CFG)" == "zlibvc - Win32 Release"
419
420!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
421
422!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
423
424DEP_CPP_INFLA=\
425 ".\infblock.h"\
426 ".\zconf.h"\
427 ".\zlib.h"\
428 ".\zutil.h"\
429
430
431!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
432
433!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
434
435!ENDIF
436
437# End Source File
438# Begin Source File
439
440SOURCE=.\inftrees.c
441
442!IF "$(CFG)" == "zlibvc - Win32 Release"
443
444!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
445
446!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
447
448DEP_CPP_INFTR=\
449 ".\inftrees.h"\
450 ".\zconf.h"\
451 ".\zlib.h"\
452 ".\zutil.h"\
453
454
455!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
456
457!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
458
459!ENDIF
460
461# End Source File
462# Begin Source File
463
464SOURCE=.\infutil.c
465
466!IF "$(CFG)" == "zlibvc - Win32 Release"
467
468!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
469
470!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
471
472DEP_CPP_INFUT=\
473 ".\infblock.h"\
474 ".\infcodes.h"\
475 ".\inftrees.h"\
476 ".\infutil.h"\
477 ".\zconf.h"\
478 ".\zlib.h"\
479 ".\zutil.h"\
480
481
482!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
483
484!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
485
486!ENDIF
487
488# End Source File
489# Begin Source File
490
491SOURCE=.\trees.c
492
493!IF "$(CFG)" == "zlibvc - Win32 Release"
494
495!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
496
497!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
498
499DEP_CPP_TREES=\
500 ".\deflate.h"\
501 ".\zconf.h"\
502 ".\zlib.h"\
503 ".\zutil.h"\
504
505
506!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
507
508!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
509
510!ENDIF
511
512# End Source File
513# Begin Source File
514
515SOURCE=.\uncompr.c
516
517!IF "$(CFG)" == "zlibvc - Win32 Release"
518
519!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
520
521!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
522
523DEP_CPP_UNCOM=\
524 ".\zconf.h"\
525 ".\zlib.h"\
526
527
528!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
529
530!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
531
532!ENDIF
533
534# End Source File
535# Begin Source File
536
537SOURCE=.\zlib.rc
538# End Source File
539# Begin Source File
540
541SOURCE=.\zlibvc.def
542# End Source File
543# Begin Source File
544
545SOURCE=.\zutil.c
546
547!IF "$(CFG)" == "zlibvc - Win32 Release"
548
549!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
550
551!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
552
553DEP_CPP_ZUTIL=\
554 ".\zconf.h"\
555 ".\zlib.h"\
556 ".\zutil.h"\
557
558
559!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
560
561!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
562
563!ENDIF
564
565# End Source File
566# End Group
567# Begin Group "Header Files"
568
569# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
570# Begin Source File
571
572SOURCE=.\deflate.h
573# End Source File
574# Begin Source File
575
576SOURCE=.\infblock.h
577# End Source File
578# Begin Source File
579
580SOURCE=.\infcodes.h
581# End Source File
582# Begin Source File
583
584SOURCE=.\inffast.h
585# End Source File
586# Begin Source File
587
588SOURCE=.\inftrees.h
589# End Source File
590# Begin Source File
591
592SOURCE=.\infutil.h
593# End Source File
594# Begin Source File
595
596SOURCE=.\zconf.h
597# End Source File
598# Begin Source File
599
600SOURCE=.\zlib.h
601# End Source File
602# Begin Source File
603
604SOURCE=.\zutil.h
605# End Source File
606# End Group
607# Begin Group "Resource Files"
608
609# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
610# End Group
611# End Target
612# End Project
diff --git a/contrib/asm386/zlibvc.dsw b/contrib/asm386/zlibvc.dsw
new file mode 100644
index 0000000..b62e50b
--- /dev/null
+++ b/contrib/asm386/zlibvc.dsw
@@ -0,0 +1,29 @@
1Microsoft Developer Studio Workspace File, Format Version 5.00
2# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
3
4###############################################################################
5
6Project: "zlibvc"=".\zlibvc.dsp" - Package Owner=<4>
7
8Package=<5>
9{{{
10}}}
11
12Package=<4>
13{{{
14}}}
15
16###############################################################################
17
18Global:
19
20Package=<5>
21{{{
22}}}
23
24Package=<3>
25{{{
26}}}
27
28###############################################################################
29
diff --git a/contrib/asm386/zlibvc.mak b/contrib/asm386/zlibvc.mak
deleted file mode 100644
index ae3d14b..0000000
--- a/contrib/asm386/zlibvc.mak
+++ /dev/null
@@ -1,781 +0,0 @@
1# Microsoft Developer Studio Generated NMAKE File, Format Version 4.20
2# ** DO NOT EDIT **
3
4# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
5
6!IF "$(CFG)" == ""
7CFG=zlibvc - Win32 Debug
8!MESSAGE No configuration specified. Defaulting to zlibvc - Win32 Debug.
9!ENDIF
10
11!IF "$(CFG)" != "zlibvc - Win32 Release" && "$(CFG)" != "zlibvc - Win32 Debug"
12!MESSAGE Invalid configuration "$(CFG)" specified.
13!MESSAGE You can specify a configuration when running NMAKE on this makefile
14!MESSAGE by defining the macro CFG on the command line. For example:
15!MESSAGE
16!MESSAGE NMAKE /f "zlibvc.mak" CFG="zlibvc - Win32 Debug"
17!MESSAGE
18!MESSAGE Possible choices for configuration are:
19!MESSAGE
20!MESSAGE "zlibvc - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
21!MESSAGE "zlibvc - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
22!MESSAGE
23!ERROR An invalid configuration is specified.
24!ENDIF
25
26!IF "$(OS)" == "Windows_NT"
27NULL=
28!ELSE
29NULL=nul
30!ENDIF
31################################################################################
32# Begin Project
33# PROP Target_Last_Scanned "zlibvc - Win32 Debug"
34CPP=cl.exe
35RSC=rc.exe
36MTL=mktyplib.exe
37
38!IF "$(CFG)" == "zlibvc - Win32 Release"
39
40# PROP BASE Use_MFC 0
41# PROP BASE Use_Debug_Libraries 0
42# PROP BASE Output_Dir "Release"
43# PROP BASE Intermediate_Dir "Release"
44# PROP BASE Target_Dir ""
45# PROP Use_MFC 0
46# PROP Use_Debug_Libraries 0
47# PROP Output_Dir "Release"
48# PROP Intermediate_Dir "Release"
49# PROP Target_Dir ""
50OUTDIR=.\Release
51INTDIR=.\Release
52
53ALL : "$(OUTDIR)\zlib.dll" "$(OUTDIR)\zlibvc.bsc"
54
55CLEAN :
56 -@erase "$(INTDIR)\adler32.obj"
57 -@erase "$(INTDIR)\adler32.sbr"
58 -@erase "$(INTDIR)\compress.obj"
59 -@erase "$(INTDIR)\compress.sbr"
60 -@erase "$(INTDIR)\crc32.obj"
61 -@erase "$(INTDIR)\crc32.sbr"
62 -@erase "$(INTDIR)\deflate.obj"
63 -@erase "$(INTDIR)\deflate.sbr"
64 -@erase "$(INTDIR)\gvmat32c.obj"
65 -@erase "$(INTDIR)\gvmat32c.sbr"
66 -@erase "$(INTDIR)\gzio.obj"
67 -@erase "$(INTDIR)\gzio.sbr"
68 -@erase "$(INTDIR)\infblock.obj"
69 -@erase "$(INTDIR)\infblock.sbr"
70 -@erase "$(INTDIR)\infcodes.obj"
71 -@erase "$(INTDIR)\infcodes.sbr"
72 -@erase "$(INTDIR)\inffast.obj"
73 -@erase "$(INTDIR)\inffast.sbr"
74 -@erase "$(INTDIR)\inflate.obj"
75 -@erase "$(INTDIR)\inflate.sbr"
76 -@erase "$(INTDIR)\inftrees.obj"
77 -@erase "$(INTDIR)\inftrees.sbr"
78 -@erase "$(INTDIR)\infutil.obj"
79 -@erase "$(INTDIR)\infutil.sbr"
80 -@erase "$(INTDIR)\trees.obj"
81 -@erase "$(INTDIR)\trees.sbr"
82 -@erase "$(INTDIR)\uncompr.obj"
83 -@erase "$(INTDIR)\uncompr.sbr"
84 -@erase "$(INTDIR)\zlib.res"
85 -@erase "$(INTDIR)\zutil.obj"
86 -@erase "$(INTDIR)\zutil.sbr"
87 -@erase "$(OUTDIR)\zlib.dll"
88 -@erase "$(OUTDIR)\zlib.exp"
89 -@erase "$(OUTDIR)\zlib.lib"
90 -@erase "$(OUTDIR)\zlib.map"
91 -@erase "$(OUTDIR)\zlibvc.bsc"
92
93"$(OUTDIR)" :
94 if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
95
96# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
97# ADD CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D fdopen=_fdopen /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "ASMV" /FR /YX /c
98CPP_PROJ=/nologo /MT /W3 /GX /O2 /D "NDEBUG" /D fdopen=_fdopen /D "WIN32" /D\
99 "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "ASMV"\
100 /FR"$(INTDIR)/" /Fp"$(INTDIR)/zlibvc.pch" /YX /Fo"$(INTDIR)/" /c
101CPP_OBJS=.\Release/
102CPP_SBRS=.\Release/
103# ADD BASE MTL /nologo /D "NDEBUG" /win32
104# ADD MTL /nologo /D "NDEBUG" /win32
105MTL_PROJ=/nologo /D "NDEBUG" /win32
106# ADD BASE RSC /l 0x40c /d "NDEBUG"
107# ADD RSC /l 0x40c /d "NDEBUG"
108RSC_PROJ=/l 0x40c /fo"$(INTDIR)/zlib.res" /d "NDEBUG"
109BSC32=bscmake.exe
110# ADD BASE BSC32 /nologo
111# ADD BSC32 /nologo
112BSC32_FLAGS=/nologo /o"$(OUTDIR)/zlibvc.bsc"
113BSC32_SBRS= \
114 "$(INTDIR)\adler32.sbr" \
115 "$(INTDIR)\compress.sbr" \
116 "$(INTDIR)\crc32.sbr" \
117 "$(INTDIR)\deflate.sbr" \
118 "$(INTDIR)\gvmat32c.sbr" \
119 "$(INTDIR)\gzio.sbr" \
120 "$(INTDIR)\infblock.sbr" \
121 "$(INTDIR)\infcodes.sbr" \
122 "$(INTDIR)\inffast.sbr" \
123 "$(INTDIR)\inflate.sbr" \
124 "$(INTDIR)\inftrees.sbr" \
125 "$(INTDIR)\infutil.sbr" \
126 "$(INTDIR)\trees.sbr" \
127 "$(INTDIR)\uncompr.sbr" \
128 "$(INTDIR)\zutil.sbr"
129
130"$(OUTDIR)\zlibvc.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
131 $(BSC32) @<<
132 $(BSC32_FLAGS) $(BSC32_SBRS)
133<<
134
135LINK32=link.exe
136# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
137# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib crtdll.lib /nologo /subsystem:windows /dll /map /machine:I386 /nodefaultlib /out:"Release/zlib.dll"
138LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
139 advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib crtdll.lib /nologo\
140 /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)/zlib.pdb"\
141 /map:"$(INTDIR)/zlib.map" /machine:I386 /nodefaultlib /def:".\zlib.def"\
142 /out:"$(OUTDIR)/zlib.dll" /implib:"$(OUTDIR)/zlib.lib"
143DEF_FILE= \
144 ".\zlib.def"
145LINK32_OBJS= \
146 "$(INTDIR)\adler32.obj" \
147 "$(INTDIR)\compress.obj" \
148 "$(INTDIR)\crc32.obj" \
149 "$(INTDIR)\deflate.obj" \
150 "$(INTDIR)\gvmat32c.obj" \
151 "$(INTDIR)\gzio.obj" \
152 "$(INTDIR)\infblock.obj" \
153 "$(INTDIR)\infcodes.obj" \
154 "$(INTDIR)\inffast.obj" \
155 "$(INTDIR)\inflate.obj" \
156 "$(INTDIR)\inftrees.obj" \
157 "$(INTDIR)\infutil.obj" \
158 "$(INTDIR)\trees.obj" \
159 "$(INTDIR)\uncompr.obj" \
160 "$(INTDIR)\zlib.res" \
161 "$(INTDIR)\zutil.obj" \
162 ".\GVMAT32.obj"
163
164"$(OUTDIR)\zlib.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
165 $(LINK32) @<<
166 $(LINK32_FLAGS) $(LINK32_OBJS)
167<<
168
169!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
170
171# PROP BASE Use_MFC 0
172# PROP BASE Use_Debug_Libraries 1
173# PROP BASE Output_Dir "Debug"
174# PROP BASE Intermediate_Dir "Debug"
175# PROP BASE Target_Dir ""
176# PROP Use_MFC 0
177# PROP Use_Debug_Libraries 1
178# PROP Output_Dir "Debug"
179# PROP Intermediate_Dir "Debug"
180# PROP Target_Dir ""
181OUTDIR=.\Debug
182INTDIR=.\Debug
183
184ALL : "$(OUTDIR)\zlib.dll"
185
186CLEAN :
187 -@erase "$(INTDIR)\adler32.obj"
188 -@erase "$(INTDIR)\compress.obj"
189 -@erase "$(INTDIR)\crc32.obj"
190 -@erase "$(INTDIR)\deflate.obj"
191 -@erase "$(INTDIR)\gvmat32c.obj"
192 -@erase "$(INTDIR)\gzio.obj"
193 -@erase "$(INTDIR)\infblock.obj"
194 -@erase "$(INTDIR)\infcodes.obj"
195 -@erase "$(INTDIR)\inffast.obj"
196 -@erase "$(INTDIR)\inflate.obj"
197 -@erase "$(INTDIR)\inftrees.obj"
198 -@erase "$(INTDIR)\infutil.obj"
199 -@erase "$(INTDIR)\trees.obj"
200 -@erase "$(INTDIR)\uncompr.obj"
201 -@erase "$(INTDIR)\vc40.idb"
202 -@erase "$(INTDIR)\vc40.pdb"
203 -@erase "$(INTDIR)\zlib.res"
204 -@erase "$(INTDIR)\zutil.obj"
205 -@erase "$(OUTDIR)\zlib.dll"
206 -@erase "$(OUTDIR)\zlib.exp"
207 -@erase "$(OUTDIR)\zlib.ilk"
208 -@erase "$(OUTDIR)\zlib.lib"
209 -@erase "$(OUTDIR)\zlib.pdb"
210
211"$(OUTDIR)" :
212 if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
213
214# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
215# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /YX /c
216CPP_PROJ=/nologo /MTd /W3 /Gm /GX /Zi /Od /D "_DEBUG" /D "WIN32" /D "_WINDOWS"\
217 /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL"\
218 /Fp"$(INTDIR)/zlibvc.pch" /YX /Fo"$(INTDIR)/" /Fd"$(INTDIR)/" /c
219CPP_OBJS=.\Debug/
220CPP_SBRS=.\.
221# ADD BASE MTL /nologo /D "_DEBUG" /win32
222# ADD MTL /nologo /D "_DEBUG" /win32
223MTL_PROJ=/nologo /D "_DEBUG" /win32
224# ADD BASE RSC /l 0x40c /d "_DEBUG"
225# ADD RSC /l 0x40c /d "_DEBUG"
226RSC_PROJ=/l 0x40c /fo"$(INTDIR)/zlib.res" /d "_DEBUG"
227BSC32=bscmake.exe
228# ADD BASE BSC32 /nologo
229# ADD BSC32 /nologo
230BSC32_FLAGS=/nologo /o"$(OUTDIR)/zlibvc.bsc"
231BSC32_SBRS= \
232
233LINK32=link.exe
234# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386
235# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:"Debug/zlib.dll"
236LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
237 advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo\
238 /subsystem:windows /dll /incremental:yes /pdb:"$(OUTDIR)/zlib.pdb" /debug\
239 /machine:I386 /def:".\zlib.def" /out:"$(OUTDIR)/zlib.dll"\
240 /implib:"$(OUTDIR)/zlib.lib"
241DEF_FILE= \
242 ".\zlib.def"
243LINK32_OBJS= \
244 "$(INTDIR)\adler32.obj" \
245 "$(INTDIR)\compress.obj" \
246 "$(INTDIR)\crc32.obj" \
247 "$(INTDIR)\deflate.obj" \
248 "$(INTDIR)\gvmat32c.obj" \
249 "$(INTDIR)\gzio.obj" \
250 "$(INTDIR)\infblock.obj" \
251 "$(INTDIR)\infcodes.obj" \
252 "$(INTDIR)\inffast.obj" \
253 "$(INTDIR)\inflate.obj" \
254 "$(INTDIR)\inftrees.obj" \
255 "$(INTDIR)\infutil.obj" \
256 "$(INTDIR)\trees.obj" \
257 "$(INTDIR)\uncompr.obj" \
258 "$(INTDIR)\zlib.res" \
259 "$(INTDIR)\zutil.obj" \
260 ".\GVMAT32.obj"
261
262"$(OUTDIR)\zlib.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
263 $(LINK32) @<<
264 $(LINK32_FLAGS) $(LINK32_OBJS)
265<<
266
267!ENDIF
268
269.c{$(CPP_OBJS)}.obj:
270 $(CPP) $(CPP_PROJ) $<
271
272.cpp{$(CPP_OBJS)}.obj:
273 $(CPP) $(CPP_PROJ) $<
274
275.cxx{$(CPP_OBJS)}.obj:
276 $(CPP) $(CPP_PROJ) $<
277
278.c{$(CPP_SBRS)}.sbr:
279 $(CPP) $(CPP_PROJ) $<
280
281.cpp{$(CPP_SBRS)}.sbr:
282 $(CPP) $(CPP_PROJ) $<
283
284.cxx{$(CPP_SBRS)}.sbr:
285 $(CPP) $(CPP_PROJ) $<
286
287################################################################################
288# Begin Target
289
290# Name "zlibvc - Win32 Release"
291# Name "zlibvc - Win32 Debug"
292
293!IF "$(CFG)" == "zlibvc - Win32 Release"
294
295!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
296
297!ENDIF
298
299################################################################################
300# Begin Source File
301
302SOURCE=.\adler32.c
303DEP_CPP_ADLER=\
304 ".\zconf.h"\
305 ".\zlib.h"\
306
307
308!IF "$(CFG)" == "zlibvc - Win32 Release"
309
310
311"$(INTDIR)\adler32.obj" : $(SOURCE) $(DEP_CPP_ADLER) "$(INTDIR)"
312
313"$(INTDIR)\adler32.sbr" : $(SOURCE) $(DEP_CPP_ADLER) "$(INTDIR)"
314
315
316!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
317
318
319"$(INTDIR)\adler32.obj" : $(SOURCE) $(DEP_CPP_ADLER) "$(INTDIR)"
320
321
322!ENDIF
323
324# End Source File
325################################################################################
326# Begin Source File
327
328SOURCE=.\compress.c
329DEP_CPP_COMPR=\
330 ".\zconf.h"\
331 ".\zlib.h"\
332
333
334!IF "$(CFG)" == "zlibvc - Win32 Release"
335
336
337"$(INTDIR)\compress.obj" : $(SOURCE) $(DEP_CPP_COMPR) "$(INTDIR)"
338
339"$(INTDIR)\compress.sbr" : $(SOURCE) $(DEP_CPP_COMPR) "$(INTDIR)"
340
341
342!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
343
344
345"$(INTDIR)\compress.obj" : $(SOURCE) $(DEP_CPP_COMPR) "$(INTDIR)"
346
347
348!ENDIF
349
350# End Source File
351################################################################################
352# Begin Source File
353
354SOURCE=.\crc32.c
355DEP_CPP_CRC32=\
356 ".\zconf.h"\
357 ".\zlib.h"\
358
359
360!IF "$(CFG)" == "zlibvc - Win32 Release"
361
362
363"$(INTDIR)\crc32.obj" : $(SOURCE) $(DEP_CPP_CRC32) "$(INTDIR)"
364
365"$(INTDIR)\crc32.sbr" : $(SOURCE) $(DEP_CPP_CRC32) "$(INTDIR)"
366
367
368!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
369
370
371"$(INTDIR)\crc32.obj" : $(SOURCE) $(DEP_CPP_CRC32) "$(INTDIR)"
372
373
374!ENDIF
375
376# End Source File
377################################################################################
378# Begin Source File
379
380SOURCE=.\deflate.c
381
382!IF "$(CFG)" == "zlibvc - Win32 Release"
383
384DEP_CPP_DEFLA=\
385 ".\deflate.h"\
386 ".\zconf.h"\
387 ".\zlib.h"\
388 ".\zutil.h"\
389
390
391"$(INTDIR)\deflate.obj" : $(SOURCE) $(DEP_CPP_DEFLA) "$(INTDIR)"
392
393"$(INTDIR)\deflate.sbr" : $(SOURCE) $(DEP_CPP_DEFLA) "$(INTDIR)"
394
395
396!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
397
398DEP_CPP_DEFLA=\
399 ".\deflate.h"\
400 ".\zconf.h"\
401 ".\zlib.h"\
402 ".\zutil.h"\
403
404NODEP_CPP_DEFLA=\
405 ".\local"\
406
407
408"$(INTDIR)\deflate.obj" : $(SOURCE) $(DEP_CPP_DEFLA) "$(INTDIR)"
409
410
411!ENDIF
412
413# End Source File
414################################################################################
415# Begin Source File
416
417SOURCE=.\gzio.c
418DEP_CPP_GZIO_=\
419 ".\zconf.h"\
420 ".\zlib.h"\
421 ".\zutil.h"\
422
423
424!IF "$(CFG)" == "zlibvc - Win32 Release"
425
426
427"$(INTDIR)\gzio.obj" : $(SOURCE) $(DEP_CPP_GZIO_) "$(INTDIR)"
428
429"$(INTDIR)\gzio.sbr" : $(SOURCE) $(DEP_CPP_GZIO_) "$(INTDIR)"
430
431
432!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
433
434
435"$(INTDIR)\gzio.obj" : $(SOURCE) $(DEP_CPP_GZIO_) "$(INTDIR)"
436
437
438!ENDIF
439
440# End Source File
441################################################################################
442# Begin Source File
443
444SOURCE=.\infblock.c
445DEP_CPP_INFBL=\
446 ".\infblock.h"\
447 ".\infcodes.h"\
448 ".\inftrees.h"\
449 ".\infutil.h"\
450 ".\zconf.h"\
451 ".\zlib.h"\
452 ".\zutil.h"\
453
454
455!IF "$(CFG)" == "zlibvc - Win32 Release"
456
457
458"$(INTDIR)\infblock.obj" : $(SOURCE) $(DEP_CPP_INFBL) "$(INTDIR)"
459
460"$(INTDIR)\infblock.sbr" : $(SOURCE) $(DEP_CPP_INFBL) "$(INTDIR)"
461
462
463!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
464
465
466"$(INTDIR)\infblock.obj" : $(SOURCE) $(DEP_CPP_INFBL) "$(INTDIR)"
467
468
469!ENDIF
470
471# End Source File
472################################################################################
473# Begin Source File
474
475SOURCE=.\infcodes.c
476DEP_CPP_INFCO=\
477 ".\infblock.h"\
478 ".\infcodes.h"\
479 ".\inffast.h"\
480 ".\inftrees.h"\
481 ".\infutil.h"\
482 ".\zconf.h"\
483 ".\zlib.h"\
484 ".\zutil.h"\
485
486
487!IF "$(CFG)" == "zlibvc - Win32 Release"
488
489
490"$(INTDIR)\infcodes.obj" : $(SOURCE) $(DEP_CPP_INFCO) "$(INTDIR)"
491
492"$(INTDIR)\infcodes.sbr" : $(SOURCE) $(DEP_CPP_INFCO) "$(INTDIR)"
493
494
495!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
496
497
498"$(INTDIR)\infcodes.obj" : $(SOURCE) $(DEP_CPP_INFCO) "$(INTDIR)"
499
500
501!ENDIF
502
503# End Source File
504################################################################################
505# Begin Source File
506
507SOURCE=.\inffast.c
508DEP_CPP_INFFA=\
509 ".\infblock.h"\
510 ".\infcodes.h"\
511 ".\inffast.h"\
512 ".\inftrees.h"\
513 ".\infutil.h"\
514 ".\zconf.h"\
515 ".\zlib.h"\
516 ".\zutil.h"\
517
518
519!IF "$(CFG)" == "zlibvc - Win32 Release"
520
521
522"$(INTDIR)\inffast.obj" : $(SOURCE) $(DEP_CPP_INFFA) "$(INTDIR)"
523
524"$(INTDIR)\inffast.sbr" : $(SOURCE) $(DEP_CPP_INFFA) "$(INTDIR)"
525
526
527!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
528
529
530"$(INTDIR)\inffast.obj" : $(SOURCE) $(DEP_CPP_INFFA) "$(INTDIR)"
531
532
533!ENDIF
534
535# End Source File
536################################################################################
537# Begin Source File
538
539SOURCE=.\inflate.c
540DEP_CPP_INFLA=\
541 ".\infblock.h"\
542 ".\zconf.h"\
543 ".\zlib.h"\
544 ".\zutil.h"\
545
546
547!IF "$(CFG)" == "zlibvc - Win32 Release"
548
549
550"$(INTDIR)\inflate.obj" : $(SOURCE) $(DEP_CPP_INFLA) "$(INTDIR)"
551
552"$(INTDIR)\inflate.sbr" : $(SOURCE) $(DEP_CPP_INFLA) "$(INTDIR)"
553
554
555!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
556
557
558"$(INTDIR)\inflate.obj" : $(SOURCE) $(DEP_CPP_INFLA) "$(INTDIR)"
559
560
561!ENDIF
562
563# End Source File
564################################################################################
565# Begin Source File
566
567SOURCE=.\inftrees.c
568DEP_CPP_INFTR=\
569 ".\inftrees.h"\
570 ".\zconf.h"\
571 ".\zlib.h"\
572 ".\zutil.h"\
573
574
575!IF "$(CFG)" == "zlibvc - Win32 Release"
576
577
578"$(INTDIR)\inftrees.obj" : $(SOURCE) $(DEP_CPP_INFTR) "$(INTDIR)"
579
580"$(INTDIR)\inftrees.sbr" : $(SOURCE) $(DEP_CPP_INFTR) "$(INTDIR)"
581
582
583!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
584
585
586"$(INTDIR)\inftrees.obj" : $(SOURCE) $(DEP_CPP_INFTR) "$(INTDIR)"
587
588
589!ENDIF
590
591# End Source File
592################################################################################
593# Begin Source File
594
595SOURCE=.\infutil.c
596DEP_CPP_INFUT=\
597 ".\infblock.h"\
598 ".\infcodes.h"\
599 ".\inftrees.h"\
600 ".\infutil.h"\
601 ".\zconf.h"\
602 ".\zlib.h"\
603 ".\zutil.h"\
604
605
606!IF "$(CFG)" == "zlibvc - Win32 Release"
607
608
609"$(INTDIR)\infutil.obj" : $(SOURCE) $(DEP_CPP_INFUT) "$(INTDIR)"
610
611"$(INTDIR)\infutil.sbr" : $(SOURCE) $(DEP_CPP_INFUT) "$(INTDIR)"
612
613
614!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
615
616
617"$(INTDIR)\infutil.obj" : $(SOURCE) $(DEP_CPP_INFUT) "$(INTDIR)"
618
619
620!ENDIF
621
622# End Source File
623################################################################################
624# Begin Source File
625
626SOURCE=.\trees.c
627DEP_CPP_TREES=\
628 ".\deflate.h"\
629 ".\zconf.h"\
630 ".\zlib.h"\
631 ".\zutil.h"\
632
633
634!IF "$(CFG)" == "zlibvc - Win32 Release"
635
636
637"$(INTDIR)\trees.obj" : $(SOURCE) $(DEP_CPP_TREES) "$(INTDIR)"
638
639"$(INTDIR)\trees.sbr" : $(SOURCE) $(DEP_CPP_TREES) "$(INTDIR)"
640
641
642!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
643
644
645"$(INTDIR)\trees.obj" : $(SOURCE) $(DEP_CPP_TREES) "$(INTDIR)"
646
647
648!ENDIF
649
650# End Source File
651################################################################################
652# Begin Source File
653
654SOURCE=.\uncompr.c
655
656!IF "$(CFG)" == "zlibvc - Win32 Release"
657
658DEP_CPP_UNCOM=\
659 ".\zconf.h"\
660 ".\zlib.h"\
661
662
663"$(INTDIR)\uncompr.obj" : $(SOURCE) $(DEP_CPP_UNCOM) "$(INTDIR)"
664
665"$(INTDIR)\uncompr.sbr" : $(SOURCE) $(DEP_CPP_UNCOM) "$(INTDIR)"
666
667
668!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
669
670DEP_CPP_UNCOM=\
671 ".\zconf.h"\
672 ".\zlib.h"\
673
674NODEP_CPP_UNCOM=\
675 ".\uncompress"\
676
677
678"$(INTDIR)\uncompr.obj" : $(SOURCE) $(DEP_CPP_UNCOM) "$(INTDIR)"
679
680
681!ENDIF
682
683# End Source File
684################################################################################
685# Begin Source File
686
687SOURCE=.\zutil.c
688DEP_CPP_ZUTIL=\
689 ".\zconf.h"\
690 ".\zlib.h"\
691 ".\zutil.h"\
692
693
694!IF "$(CFG)" == "zlibvc - Win32 Release"
695
696
697"$(INTDIR)\zutil.obj" : $(SOURCE) $(DEP_CPP_ZUTIL) "$(INTDIR)"
698
699"$(INTDIR)\zutil.sbr" : $(SOURCE) $(DEP_CPP_ZUTIL) "$(INTDIR)"
700
701
702!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
703
704
705"$(INTDIR)\zutil.obj" : $(SOURCE) $(DEP_CPP_ZUTIL) "$(INTDIR)"
706
707
708!ENDIF
709
710# End Source File
711################################################################################
712# Begin Source File
713
714SOURCE=.\zlib.rc
715
716"$(INTDIR)\zlib.res" : $(SOURCE) "$(INTDIR)"
717 $(RSC) $(RSC_PROJ) $(SOURCE)
718
719
720# End Source File
721################################################################################
722# Begin Source File
723
724SOURCE=.\zlib.def
725
726!IF "$(CFG)" == "zlibvc - Win32 Release"
727
728!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
729
730!ENDIF
731
732# End Source File
733################################################################################
734# Begin Source File
735
736SOURCE=.\GVMAT32.obj
737
738!IF "$(CFG)" == "zlibvc - Win32 Release"
739
740!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
741
742!ENDIF
743
744# End Source File
745################################################################################
746# Begin Source File
747
748SOURCE=.\gvmat32c.c
749
750!IF "$(CFG)" == "zlibvc - Win32 Release"
751
752DEP_CPP_GVMAT=\
753 ".\deflate.h"\
754 ".\zconf.h"\
755 ".\zlib.h"\
756 ".\zutil.h"\
757
758
759"$(INTDIR)\gvmat32c.obj" : $(SOURCE) $(DEP_CPP_GVMAT) "$(INTDIR)"
760
761"$(INTDIR)\gvmat32c.sbr" : $(SOURCE) $(DEP_CPP_GVMAT) "$(INTDIR)"
762
763
764!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
765
766DEP_CPP_GVMAT=\
767 ".\deflate.h"\
768 ".\zconf.h"\
769 ".\zlib.h"\
770 ".\zutil.h"\
771
772
773"$(INTDIR)\gvmat32c.obj" : $(SOURCE) $(DEP_CPP_GVMAT) "$(INTDIR)"
774
775
776!ENDIF
777
778# End Source File
779# End Target
780# End Project
781################################################################################