diff options
author | Mark Adler <madler@alumni.caltech.edu> | 2011-09-09 23:22:37 -0700 |
---|---|---|
committer | Mark Adler <madler@alumni.caltech.edu> | 2011-09-09 23:22:37 -0700 |
commit | 4b5a43a219d51066c01ff2ab86af18b967f2d0dd (patch) | |
tree | 4dcaf0cd18751d04cf638a9a6ec521990d4f2e90 /contrib/asm386 | |
parent | 086e982175da84b3db958191031380794315f95f (diff) | |
download | zlib-1.2.0.5.tar.gz zlib-1.2.0.5.tar.bz2 zlib-1.2.0.5.zip |
zlib 1.2.0.5v1.2.0.5
Diffstat (limited to 'contrib/asm386')
-rw-r--r-- | contrib/asm386/gvmat32.asm | 559 | ||||
-rw-r--r-- | contrib/asm386/gvmat32c.c | 200 | ||||
-rw-r--r-- | contrib/asm386/mkgvmt32.bat | 1 | ||||
-rw-r--r-- | contrib/asm386/zlibvc.def | 74 | ||||
-rw-r--r-- | contrib/asm386/zlibvc.dsp | 651 | ||||
-rw-r--r-- | contrib/asm386/zlibvc.dsw | 41 |
6 files changed, 0 insertions, 1526 deletions
diff --git a/contrib/asm386/gvmat32.asm b/contrib/asm386/gvmat32.asm deleted file mode 100644 index 28d527f..0000000 --- a/contrib/asm386/gvmat32.asm +++ /dev/null | |||
@@ -1,559 +0,0 @@ | |||
1 | ; | ||
2 | ; gvmat32.asm -- Asm portion of the optimized longest_match for 32 bits x86 | ||
3 | ; Copyright (C) 1995-1996 Jean-loup Gailly and Gilles Vollant. | ||
4 | ; File written by Gilles Vollant, by modifiying the longest_match | ||
5 | ; from Jean-loup Gailly in deflate.c | ||
6 | ; It need wmask == 0x7fff | ||
7 | ; (assembly code is faster with a fixed wmask) | ||
8 | ; | ||
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" | ||
11 | ; | ||
12 | |||
13 | ;uInt longest_match_7fff(s, cur_match) | ||
14 | ; deflate_state *s; | ||
15 | ; IPos cur_match; /* current match */ | ||
16 | |||
17 | NbStack equ 76 | ||
18 | cur_match equ dword ptr[esp+NbStack-0] | ||
19 | str_s equ dword ptr[esp+NbStack-4] | ||
20 | ; 5 dword on top (ret,ebp,esi,edi,ebx) | ||
21 | adrret equ dword ptr[esp+NbStack-8] | ||
22 | pushebp equ dword ptr[esp+NbStack-12] | ||
23 | pushedi equ dword ptr[esp+NbStack-16] | ||
24 | pushesi equ dword ptr[esp+NbStack-20] | ||
25 | pushebx equ dword ptr[esp+NbStack-24] | ||
26 | |||
27 | chain_length equ dword ptr [esp+NbStack-28] | ||
28 | limit equ dword ptr [esp+NbStack-32] | ||
29 | best_len equ dword ptr [esp+NbStack-36] | ||
30 | window equ dword ptr [esp+NbStack-40] | ||
31 | prev equ dword ptr [esp+NbStack-44] | ||
32 | scan_start equ word ptr [esp+NbStack-48] | ||
33 | wmask equ dword ptr [esp+NbStack-52] | ||
34 | match_start_ptr equ dword ptr [esp+NbStack-56] | ||
35 | nice_match equ dword ptr [esp+NbStack-60] | ||
36 | scan equ dword ptr [esp+NbStack-64] | ||
37 | |||
38 | windowlen equ dword ptr [esp+NbStack-68] | ||
39 | match_start equ dword ptr [esp+NbStack-72] | ||
40 | strend equ dword ptr [esp+NbStack-76] | ||
41 | NbStackAdd equ (NbStack-24) | ||
42 | |||
43 | .386p | ||
44 | |||
45 | name gvmatch | ||
46 | .MODEL FLAT | ||
47 | |||
48 | |||
49 | |||
50 | ; all the +4 offsets are due to the addition of pending_buf_size (in zlib | ||
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 | ||
54 | dep_chain_length equ 70h+4 | ||
55 | dep_window equ 2ch+4 | ||
56 | dep_strstart equ 60h+4 | ||
57 | dep_prev_length equ 6ch+4 | ||
58 | dep_nice_match equ 84h+4 | ||
59 | dep_w_size equ 20h+4 | ||
60 | dep_prev equ 34h+4 | ||
61 | dep_w_mask equ 28h+4 | ||
62 | dep_good_match equ 80h+4 | ||
63 | dep_match_start equ 64h+4 | ||
64 | dep_lookahead equ 68h+4 | ||
65 | |||
66 | |||
67 | _TEXT segment | ||
68 | |||
69 | IFDEF NOUNDERLINE | ||
70 | public longest_match_7fff | ||
71 | ; public match_init | ||
72 | ELSE | ||
73 | public _longest_match_7fff | ||
74 | ; public _match_init | ||
75 | ENDIF | ||
76 | |||
77 | MAX_MATCH equ 258 | ||
78 | MIN_MATCH equ 3 | ||
79 | MIN_LOOKAHEAD equ (MAX_MATCH+MIN_MATCH+1) | ||
80 | |||
81 | |||
82 | |||
83 | IFDEF NOUNDERLINE | ||
84 | ;match_init proc near | ||
85 | ; ret | ||
86 | ;match_init endp | ||
87 | ELSE | ||
88 | ;_match_init proc near | ||
89 | ; ret | ||
90 | ;_match_init endp | ||
91 | ENDIF | ||
92 | |||
93 | |||
94 | IFDEF NOUNDERLINE | ||
95 | longest_match_7fff proc near | ||
96 | ELSE | ||
97 | _longest_match_7fff proc near | ||
98 | ENDIF | ||
99 | |||
100 | mov edx,[esp+4] | ||
101 | |||
102 | |||
103 | |||
104 | push ebp | ||
105 | push edi | ||
106 | push esi | ||
107 | push ebx | ||
108 | |||
109 | sub esp,NbStackAdd | ||
110 | |||
111 | ; initialize or check the variables used in match.asm. | ||
112 | mov ebp,edx | ||
113 | |||
114 | ; chain_length = s->max_chain_length | ||
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 | ||
121 | noshr: | ||
122 | ; we increment chain_length because in the asm, the --chain_lenght is in the beginning of the loop | ||
123 | inc edx | ||
124 | mov edi,[ebp+dep_nice_match] | ||
125 | mov chain_length,edx | ||
126 | mov eax,[ebp+dep_lookahead] | ||
127 | cmp eax,edi | ||
128 | ; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; | ||
129 | jae nolookaheadnicematch | ||
130 | mov edi,eax | ||
131 | nolookaheadnicematch: | ||
132 | ; best_len = s->prev_length | ||
133 | mov best_len,ebx | ||
134 | |||
135 | ; window = s->window | ||
136 | mov esi,[ebp+dep_window] | ||
137 | mov ecx,[ebp+dep_strstart] | ||
138 | mov window,esi | ||
139 | |||
140 | mov nice_match,edi | ||
141 | ; scan = window + strstart | ||
142 | add esi,ecx | ||
143 | mov scan,esi | ||
144 | ; dx = *window | ||
145 | mov dx,word ptr [esi] | ||
146 | ; bx = *(window+best_len-1) | ||
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) | ||
154 | |||
155 | ; IPos limit = s->strstart > (IPos)MAX_DIST(s) ? | ||
156 | ; s->strstart - (IPos)MAX_DIST(s) : NIL; | ||
157 | |||
158 | mov esi,[ebp+dep_w_size] | ||
159 | sub esi,MIN_LOOKAHEAD | ||
160 | ; here esi = MAX_DIST(s) | ||
161 | sub ecx,esi | ||
162 | ja nodist | ||
163 | xor ecx,ecx | ||
164 | nodist: | ||
165 | mov limit,ecx | ||
166 | |||
167 | ; prev = s->prev | ||
168 | mov edx,[ebp+dep_prev] | ||
169 | mov prev,edx | ||
170 | |||
171 | ; | ||
172 | mov edx,dword ptr [ebp+dep_match_start] | ||
173 | mov bp,scan_start | ||
174 | mov eax,cur_match | ||
175 | mov match_start,edx | ||
176 | |||
177 | mov edx,window | ||
178 | mov edi,edx | ||
179 | add edi,best_len | ||
180 | mov esi,prev | ||
181 | dec edi | ||
182 | ; windowlen = window + best_len -1 | ||
183 | mov windowlen,edi | ||
184 | |||
185 | jmp beginloop2 | ||
186 | align 4 | ||
187 | |||
188 | ; here, in the loop | ||
189 | ; eax = ax = cur_match | ||
190 | ; ecx = limit | ||
191 | ; bx = scan_end | ||
192 | ; bp = scan_start | ||
193 | ; edi = windowlen (window + best_len -1) | ||
194 | ; esi = prev | ||
195 | |||
196 | |||
197 | ;// here; chain_length <=16 | ||
198 | normalbeg0add16: | ||
199 | add chain_length,16 | ||
200 | jz exitloop | ||
201 | normalbeg0: | ||
202 | cmp word ptr[edi+eax],bx | ||
203 | je normalbeg2noroll | ||
204 | rcontlabnoroll: | ||
205 | ; cur_match = prev[cur_match & wmask] | ||
206 | and eax,7fffh | ||
207 | mov ax,word ptr[esi+eax*2] | ||
208 | ; if cur_match > limit, go to exitloop | ||
209 | cmp ecx,eax | ||
210 | jnb exitloop | ||
211 | ; if --chain_length != 0, go to exitloop | ||
212 | dec chain_length | ||
213 | jnz normalbeg0 | ||
214 | jmp exitloop | ||
215 | |||
216 | normalbeg2noroll: | ||
217 | ; if (scan_start==*(cur_match+window)) goto normalbeg2 | ||
218 | cmp bp,word ptr[edx+eax] | ||
219 | jne rcontlabnoroll | ||
220 | jmp normalbeg2 | ||
221 | |||
222 | contloop3: | ||
223 | mov edi,windowlen | ||
224 | |||
225 | ; cur_match = prev[cur_match & wmask] | ||
226 | and eax,7fffh | ||
227 | mov ax,word ptr[esi+eax*2] | ||
228 | ; if cur_match > limit, go to exitloop | ||
229 | cmp ecx,eax | ||
230 | jnbexitloopshort1: | ||
231 | jnb exitloop | ||
232 | ; if --chain_length != 0, go to exitloop | ||
233 | |||
234 | |||
235 | ; begin the main loop | ||
236 | beginloop2: | ||
237 | sub chain_length,16+1 | ||
238 | ; if chain_length <=16, don't use the unrolled loop | ||
239 | jna normalbeg0add16 | ||
240 | |||
241 | do16: | ||
242 | cmp word ptr[edi+eax],bx | ||
243 | je normalbeg2dc0 | ||
244 | |||
245 | maccn MACRO lab | ||
246 | and eax,7fffh | ||
247 | mov ax,word ptr[esi+eax*2] | ||
248 | cmp ecx,eax | ||
249 | jnb exitloop | ||
250 | cmp word ptr[edi+eax],bx | ||
251 | je lab | ||
252 | ENDM | ||
253 | |||
254 | rcontloop0: | ||
255 | maccn normalbeg2dc1 | ||
256 | |||
257 | rcontloop1: | ||
258 | maccn normalbeg2dc2 | ||
259 | |||
260 | rcontloop2: | ||
261 | maccn normalbeg2dc3 | ||
262 | |||
263 | rcontloop3: | ||
264 | maccn normalbeg2dc4 | ||
265 | |||
266 | rcontloop4: | ||
267 | maccn normalbeg2dc5 | ||
268 | |||
269 | rcontloop5: | ||
270 | maccn normalbeg2dc6 | ||
271 | |||
272 | rcontloop6: | ||
273 | maccn normalbeg2dc7 | ||
274 | |||
275 | rcontloop7: | ||
276 | maccn normalbeg2dc8 | ||
277 | |||
278 | rcontloop8: | ||
279 | maccn normalbeg2dc9 | ||
280 | |||
281 | rcontloop9: | ||
282 | maccn normalbeg2dc10 | ||
283 | |||
284 | rcontloop10: | ||
285 | maccn short normalbeg2dc11 | ||
286 | |||
287 | rcontloop11: | ||
288 | maccn short normalbeg2dc12 | ||
289 | |||
290 | rcontloop12: | ||
291 | maccn short normalbeg2dc13 | ||
292 | |||
293 | rcontloop13: | ||
294 | maccn short normalbeg2dc14 | ||
295 | |||
296 | rcontloop14: | ||
297 | maccn short normalbeg2dc15 | ||
298 | |||
299 | rcontloop15: | ||
300 | and eax,7fffh | ||
301 | mov ax,word ptr[esi+eax*2] | ||
302 | cmp ecx,eax | ||
303 | jnb exitloop | ||
304 | |||
305 | sub chain_length,16 | ||
306 | ja do16 | ||
307 | jmp normalbeg0add16 | ||
308 | |||
309 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
310 | |||
311 | normbeg MACRO rcontlab,valsub | ||
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 | ||
320 | |||
321 | |||
322 | normalbeg2dc11: | ||
323 | normbeg rcontloop11,11 | ||
324 | |||
325 | normalbeg2dc12: | ||
326 | normbeg short rcontloop12,12 | ||
327 | |||
328 | normalbeg2dc13: | ||
329 | normbeg short rcontloop13,13 | ||
330 | |||
331 | normalbeg2dc14: | ||
332 | normbeg short rcontloop14,14 | ||
333 | |||
334 | normalbeg2dc15: | ||
335 | normbeg short rcontloop15,15 | ||
336 | |||
337 | normalbeg2dc10: | ||
338 | normbeg rcontloop10,10 | ||
339 | |||
340 | normalbeg2dc9: | ||
341 | normbeg rcontloop9,9 | ||
342 | |||
343 | normalbeg2dc8: | ||
344 | normbeg rcontloop8,8 | ||
345 | |||
346 | normalbeg2dc7: | ||
347 | normbeg rcontloop7,7 | ||
348 | |||
349 | normalbeg2dc6: | ||
350 | normbeg rcontloop6,6 | ||
351 | |||
352 | normalbeg2dc5: | ||
353 | normbeg rcontloop5,5 | ||
354 | |||
355 | normalbeg2dc4: | ||
356 | normbeg rcontloop4,4 | ||
357 | |||
358 | normalbeg2dc3: | ||
359 | normbeg rcontloop3,3 | ||
360 | |||
361 | normalbeg2dc2: | ||
362 | normbeg rcontloop2,2 | ||
363 | |||
364 | normalbeg2dc1: | ||
365 | normbeg rcontloop1,1 | ||
366 | |||
367 | normalbeg2dc0: | ||
368 | normbeg rcontloop0,0 | ||
369 | |||
370 | |||
371 | ; we go in normalbeg2 because *(ushf*)(match+best_len-1) == scan_end | ||
372 | |||
373 | normalbeg2: | ||
374 | mov edi,window | ||
375 | |||
376 | cmp bp,word ptr[edi+eax] | ||
377 | jne contloop3 ; if *(ushf*)match != scan_start, continue | ||
378 | |||
379 | iseq: | ||
380 | ; if we are here, we know that *(match+best_len-1) == scan_end | ||
381 | ; and (match == scan_start) | ||
382 | |||
383 | mov edi,edx | ||
384 | mov esi,scan ; esi = scan | ||
385 | add edi,eax ; edi = window + cur_match = match | ||
386 | |||
387 | mov edx,[esi+3] ; compare manually dword at match+3 | ||
388 | xor edx,[edi+3] ; and scan +3 | ||
389 | |||
390 | jz begincompare ; if equal, go to long compare | ||
391 | |||
392 | ; we will determine the unmatch byte and calculate len (in esi) | ||
393 | or dl,dl | ||
394 | je eq1rr | ||
395 | mov esi,3 | ||
396 | jmp trfinval | ||
397 | eq1rr: | ||
398 | or dx,dx | ||
399 | je eq1 | ||
400 | |||
401 | mov esi,4 | ||
402 | jmp trfinval | ||
403 | eq1: | ||
404 | and edx,0ffffffh | ||
405 | jz eq11 | ||
406 | mov esi,5 | ||
407 | jmp trfinval | ||
408 | eq11: | ||
409 | mov esi,6 | ||
410 | jmp trfinval | ||
411 | |||
412 | begincompare: | ||
413 | ; here we now scan and match begin same | ||
414 | add edi,6 | ||
415 | add esi,6 | ||
416 | mov ecx,(MAX_MATCH-(2+4))/4 ; scan for at most MAX_MATCH bytes | ||
417 | repe cmpsd ; loop until mismatch | ||
418 | |||
419 | je trfin ; go to trfin if not unmatch | ||
420 | ; we determine the unmatch byte | ||
421 | sub esi,4 | ||
422 | mov edx,[edi-4] | ||
423 | xor edx,[esi] | ||
424 | |||
425 | or dl,dl | ||
426 | jnz trfin | ||
427 | inc esi | ||
428 | |||
429 | or dx,dx | ||
430 | jnz trfin | ||
431 | inc esi | ||
432 | |||
433 | and edx,0ffffffh | ||
434 | jnz trfin | ||
435 | inc esi | ||
436 | |||
437 | trfin: | ||
438 | sub esi,scan ; esi = len | ||
439 | trfinval: | ||
440 | ; here we have finised compare, and esi contain len of equal string | ||
441 | cmp esi,best_len ; if len > best_len, go newbestlen | ||
442 | ja short newbestlen | ||
443 | ; now we restore edx, ecx and esi, for the big loop | ||
444 | mov esi,prev | ||
445 | mov ecx,limit | ||
446 | mov edx,window | ||
447 | jmp contloop3 | ||
448 | |||
449 | newbestlen: | ||
450 | mov best_len,esi ; len become best_len | ||
451 | |||
452 | mov match_start,eax ; save new position as match_start | ||
453 | cmp esi,nice_match ; if best_len >= nice_match, exit | ||
454 | jae exitloop | ||
455 | mov ecx,scan | ||
456 | mov edx,window ; restore edx=window | ||
457 | add ecx,esi | ||
458 | add esi,edx | ||
459 | |||
460 | dec esi | ||
461 | mov windowlen,esi ; windowlen = window + best_len-1 | ||
462 | mov bx,[ecx-1] ; bx = *(scan+best_len-1) = scan_end | ||
463 | |||
464 | ; now we restore ecx and esi, for the big loop : | ||
465 | mov esi,prev | ||
466 | mov ecx,limit | ||
467 | jmp contloop3 | ||
468 | |||
469 | exitloop: | ||
470 | ; exit : s->match_start=match_start | ||
471 | mov ebx,match_start | ||
472 | mov ebp,str_s | ||
473 | mov ecx,best_len | ||
474 | mov dword ptr [ebp+dep_match_start],ebx | ||
475 | mov eax,dword ptr [ebp+dep_lookahead] | ||
476 | cmp ecx,eax | ||
477 | ja minexlo | ||
478 | mov eax,ecx | ||
479 | minexlo: | ||
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 | ||
490 | InfoAuthor: | ||
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 | |||
497 | IFDEF NOUNDERLINE | ||
498 | longest_match_7fff endp | ||
499 | ELSE | ||
500 | _longest_match_7fff endp | ||
501 | ENDIF | ||
502 | |||
503 | |||
504 | IFDEF NOUNDERLINE | ||
505 | cpudetect32 proc near | ||
506 | ELSE | ||
507 | _cpudetect32 proc near | ||
508 | ENDIF | ||
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 | |||
541 | exitcpudetect: | ||
542 | ret | ||
543 | |||
544 | end_cpu_is_386: | ||
545 | mov eax,0300h | ||
546 | jmp exitcpudetect | ||
547 | |||
548 | is_old_486: | ||
549 | mov eax,0400h | ||
550 | jmp exitcpudetect | ||
551 | |||
552 | IFDEF NOUNDERLINE | ||
553 | cpudetect32 endp | ||
554 | ELSE | ||
555 | _cpudetect32 endp | ||
556 | ENDIF | ||
557 | |||
558 | _TEXT ends | ||
559 | end | ||
diff --git a/contrib/asm386/gvmat32c.c b/contrib/asm386/gvmat32c.c deleted file mode 100644 index d853bb7..0000000 --- a/contrib/asm386/gvmat32c.c +++ /dev/null | |||
@@ -1,200 +0,0 @@ | |||
1 | /* gvmat32.c -- C portion of the optimized longest_match for 32 bits x86 | ||
2 | * Copyright (C) 1995-1996 Jean-loup Gailly and Gilles Vollant. | ||
3 | * File written by Gilles Vollant, by modifiying the longest_match | ||
4 | * from Jean-loup Gailly in deflate.c | ||
5 | * it prepare all parameters and call the assembly longest_match_gvasm | ||
6 | * longest_match execute standard C code is wmask != 0x7fff | ||
7 | * (assembly code is faster with a fixed wmask) | ||
8 | * | ||
9 | */ | ||
10 | |||
11 | #include "deflate.h" | ||
12 | |||
13 | #undef FAR | ||
14 | #include <windows.h> | ||
15 | |||
16 | #ifdef ASMV | ||
17 | #define NIL 0 | ||
18 | |||
19 | #define UNALIGNED_OK | ||
20 | |||
21 | |||
22 | /* if your C compiler don't add underline before function name, | ||
23 | define ADD_UNDERLINE_ASMFUNC */ | ||
24 | #ifdef ADD_UNDERLINE_ASMFUNC | ||
25 | #define longest_match_7fff _longest_match_7fff | ||
26 | #endif | ||
27 | |||
28 | |||
29 | |||
30 | void match_init() | ||
31 | { | ||
32 | } | ||
33 | |||
34 | unsigned long cpudetect32(); | ||
35 | |||
36 | uInt longest_match_c( | ||
37 | deflate_state *s, | ||
38 | IPos cur_match); /* current match */ | ||
39 | |||
40 | |||
41 | uInt longest_match_7fff( | ||
42 | deflate_state *s, | ||
43 | IPos cur_match); /* current match */ | ||
44 | |||
45 | uInt longest_match( | ||
46 | deflate_state *s, | ||
47 | IPos cur_match) /* current match */ | ||
48 | { | ||
49 | static uInt iIsPPro=2; | ||
50 | |||
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); | ||
58 | } | ||
59 | |||
60 | |||
61 | |||
62 | uInt longest_match_c(s, cur_match) | ||
63 | deflate_state *s; | ||
64 | IPos cur_match; /* current match */ | ||
65 | { | ||
66 | unsigned chain_length = s->max_chain_length;/* max hash chain length */ | ||
67 | register Bytef *scan = s->window + s->strstart; /* current string */ | ||
68 | register Bytef *match; /* matched string */ | ||
69 | register int len; /* length of current match */ | ||
70 | int best_len = s->prev_length; /* best match length so far */ | ||
71 | int nice_match = s->nice_match; /* stop if match long enough */ | ||
72 | IPos limit = s->strstart > (IPos)MAX_DIST(s) ? | ||
73 | s->strstart - (IPos)MAX_DIST(s) : NIL; | ||
74 | /* Stop when cur_match becomes <= limit. To simplify the code, | ||
75 | * we prevent matches with the string of window index 0. | ||
76 | */ | ||
77 | Posf *prev = s->prev; | ||
78 | uInt wmask = s->w_mask; | ||
79 | |||
80 | #ifdef UNALIGNED_OK | ||
81 | /* Compare two bytes at a time. Note: this is not always beneficial. | ||
82 | * Try with and without -DUNALIGNED_OK to check. | ||
83 | */ | ||
84 | register Bytef *strend = s->window + s->strstart + MAX_MATCH - 1; | ||
85 | register ush scan_start = *(ushf*)scan; | ||
86 | register ush scan_end = *(ushf*)(scan+best_len-1); | ||
87 | #else | ||
88 | register Bytef *strend = s->window + s->strstart + MAX_MATCH; | ||
89 | register Byte scan_end1 = scan[best_len-1]; | ||
90 | register Byte scan_end = scan[best_len]; | ||
91 | #endif | ||
92 | |||
93 | /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16. | ||
94 | * It is easy to get rid of this optimization if necessary. | ||
95 | */ | ||
96 | Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever"); | ||
97 | |||
98 | /* Do not waste too much time if we already have a good match: */ | ||
99 | if (s->prev_length >= s->good_match) { | ||
100 | chain_length >>= 2; | ||
101 | } | ||
102 | /* Do not look for matches beyond the end of the input. This is necessary | ||
103 | * to make deflate deterministic. | ||
104 | */ | ||
105 | if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; | ||
106 | |||
107 | Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead"); | ||
108 | |||
109 | do { | ||
110 | Assert(cur_match < s->strstart, "no future"); | ||
111 | match = s->window + cur_match; | ||
112 | |||
113 | /* Skip to next match if the match length cannot increase | ||
114 | * or if the match length is less than 2: | ||
115 | */ | ||
116 | #if (defined(UNALIGNED_OK) && MAX_MATCH == 258) | ||
117 | /* This code assumes sizeof(unsigned short) == 2. Do not use | ||
118 | * UNALIGNED_OK if your compiler uses a different size. | ||
119 | */ | ||
120 | if (*(ushf*)(match+best_len-1) != scan_end || | ||
121 | *(ushf*)match != scan_start) continue; | ||
122 | |||
123 | /* It is not necessary to compare scan[2] and match[2] since they are | ||
124 | * always equal when the other bytes match, given that the hash keys | ||
125 | * are equal and that HASH_BITS >= 8. Compare 2 bytes at a time at | ||
126 | * strstart+3, +5, ... up to strstart+257. We check for insufficient | ||
127 | * lookahead only every 4th comparison; the 128th check will be made | ||
128 | * at strstart+257. If MAX_MATCH-2 is not a multiple of 8, it is | ||
129 | * necessary to put more guard bytes at the end of the window, or | ||
130 | * to check more often for insufficient lookahead. | ||
131 | */ | ||
132 | Assert(scan[2] == match[2], "scan[2]?"); | ||
133 | scan++, match++; | ||
134 | do { | ||
135 | } while (*(ushf*)(scan+=2) == *(ushf*)(match+=2) && | ||
136 | *(ushf*)(scan+=2) == *(ushf*)(match+=2) && | ||
137 | *(ushf*)(scan+=2) == *(ushf*)(match+=2) && | ||
138 | *(ushf*)(scan+=2) == *(ushf*)(match+=2) && | ||
139 | scan < strend); | ||
140 | /* The funny "do {}" generates better code on most compilers */ | ||
141 | |||
142 | /* Here, scan <= window+strstart+257 */ | ||
143 | Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan"); | ||
144 | if (*scan == *match) scan++; | ||
145 | |||
146 | len = (MAX_MATCH - 1) - (int)(strend-scan); | ||
147 | scan = strend - (MAX_MATCH-1); | ||
148 | |||
149 | #else /* UNALIGNED_OK */ | ||
150 | |||
151 | if (match[best_len] != scan_end || | ||
152 | match[best_len-1] != scan_end1 || | ||
153 | *match != *scan || | ||
154 | *++match != scan[1]) continue; | ||
155 | |||
156 | /* The check at best_len-1 can be removed because it will be made | ||
157 | * again later. (This heuristic is not always a win.) | ||
158 | * It is not necessary to compare scan[2] and match[2] since they | ||
159 | * are always equal when the other bytes match, given that | ||
160 | * the hash keys are equal and that HASH_BITS >= 8. | ||
161 | */ | ||
162 | scan += 2, match++; | ||
163 | Assert(*scan == *match, "match[2]?"); | ||
164 | |||
165 | /* We check for insufficient lookahead only every 8th comparison; | ||
166 | * the 256th check will be made at strstart+258. | ||
167 | */ | ||
168 | do { | ||
169 | } while (*++scan == *++match && *++scan == *++match && | ||
170 | *++scan == *++match && *++scan == *++match && | ||
171 | *++scan == *++match && *++scan == *++match && | ||
172 | *++scan == *++match && *++scan == *++match && | ||
173 | scan < strend); | ||
174 | |||
175 | Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan"); | ||
176 | |||
177 | len = MAX_MATCH - (int)(strend - scan); | ||
178 | scan = strend - MAX_MATCH; | ||
179 | |||
180 | #endif /* UNALIGNED_OK */ | ||
181 | |||
182 | if (len > best_len) { | ||
183 | s->match_start = cur_match; | ||
184 | best_len = len; | ||
185 | if (len >= nice_match) break; | ||
186 | #ifdef UNALIGNED_OK | ||
187 | scan_end = *(ushf*)(scan+best_len-1); | ||
188 | #else | ||
189 | scan_end1 = scan[best_len-1]; | ||
190 | scan_end = scan[best_len]; | ||
191 | #endif | ||
192 | } | ||
193 | } while ((cur_match = prev[cur_match & wmask]) > limit | ||
194 | && --chain_length != 0); | ||
195 | |||
196 | if ((uInt)best_len <= s->lookahead) return (uInt)best_len; | ||
197 | return s->lookahead; | ||
198 | } | ||
199 | |||
200 | #endif /* ASMV */ | ||
diff --git a/contrib/asm386/mkgvmt32.bat b/contrib/asm386/mkgvmt32.bat deleted file mode 100644 index 6c5ffd7..0000000 --- a/contrib/asm386/mkgvmt32.bat +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | c:\masm611\bin\ml /coff /Zi /c /Flgvmat32.lst gvmat32.asm | ||
diff --git a/contrib/asm386/zlibvc.def b/contrib/asm386/zlibvc.def deleted file mode 100644 index 7e9d60d..0000000 --- a/contrib/asm386/zlibvc.def +++ /dev/null | |||
@@ -1,74 +0,0 @@ | |||
1 | LIBRARY "zlib" | ||
2 | |||
3 | DESCRIPTION '"""zlib data compression library"""' | ||
4 | |||
5 | |||
6 | VERSION 1.11 | ||
7 | |||
8 | |||
9 | HEAPSIZE 1048576,8192 | ||
10 | |||
11 | EXPORTS | ||
12 | adler32 @1 | ||
13 | compress @2 | ||
14 | crc32 @3 | ||
15 | deflate @4 | ||
16 | deflateCopy @5 | ||
17 | deflateEnd @6 | ||
18 | deflateInit2_ @7 | ||
19 | deflateInit_ @8 | ||
20 | deflateParams @9 | ||
21 | deflateReset @10 | ||
22 | deflateSetDictionary @11 | ||
23 | gzclose @12 | ||
24 | gzdopen @13 | ||
25 | gzerror @14 | ||
26 | gzflush @15 | ||
27 | gzopen @16 | ||
28 | gzread @17 | ||
29 | gzwrite @18 | ||
30 | inflate @19 | ||
31 | inflateEnd @20 | ||
32 | inflateInit2_ @21 | ||
33 | inflateInit_ @22 | ||
34 | inflateReset @23 | ||
35 | inflateSetDictionary @24 | ||
36 | inflateSync @25 | ||
37 | uncompress @26 | ||
38 | zlibVersion @27 | ||
39 | gzprintf @28 | ||
40 | gzputc @29 | ||
41 | gzgetc @30 | ||
42 | gzseek @31 | ||
43 | gzrewind @32 | ||
44 | gztell @33 | ||
45 | gzeof @34 | ||
46 | gzsetparams @35 | ||
47 | zError @36 | ||
48 | inflateSyncPoint @37 | ||
49 | get_crc_table @38 | ||
50 | compress2 @39 | ||
51 | gzputs @40 | ||
52 | gzgets @41 | ||
53 | |||
54 | unzOpen @61 | ||
55 | unzClose @62 | ||
56 | unzGetGlobalInfo @63 | ||
57 | unzGetCurrentFileInfo @64 | ||
58 | unzGoToFirstFile @65 | ||
59 | unzGoToNextFile @66 | ||
60 | unzOpenCurrentFile @67 | ||
61 | unzReadCurrentFile @68 | ||
62 | unztell @70 | ||
63 | unzeof @71 | ||
64 | unzCloseCurrentFile @72 | ||
65 | unzGetGlobalComment @73 | ||
66 | unzStringFileNameCompare @74 | ||
67 | unzLocateFile @75 | ||
68 | unzGetLocalExtrafield @76 | ||
69 | |||
70 | zipOpen @80 | ||
71 | zipOpenNewFileInZip @81 | ||
72 | zipWriteInFileInZip @82 | ||
73 | zipCloseFileInZip @83 | ||
74 | zipClose @84 | ||
diff --git a/contrib/asm386/zlibvc.dsp b/contrib/asm386/zlibvc.dsp deleted file mode 100644 index a70d4d4..0000000 --- a/contrib/asm386/zlibvc.dsp +++ /dev/null | |||
@@ -1,651 +0,0 @@ | |||
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 | |||
8 | CFG=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 "" | ||
48 | CPP=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 /FD /c | ||
51 | # SUBTRACT CPP /YX | ||
52 | MTL=midl.exe | ||
53 | # ADD BASE MTL /nologo /D "NDEBUG" /win32 | ||
54 | # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 | ||
55 | RSC=rc.exe | ||
56 | # ADD BASE RSC /l 0x40c /d "NDEBUG" | ||
57 | # ADD RSC /l 0x40c /d "NDEBUG" | ||
58 | BSC32=bscmake.exe | ||
59 | # ADD BASE BSC32 /nologo | ||
60 | # ADD BSC32 /nologo | ||
61 | LINK32=link.exe | ||
62 | # 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 | ||
63 | # 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" | ||
64 | # SUBTRACT LINK32 /pdb:none | ||
65 | |||
66 | !ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" | ||
67 | |||
68 | # PROP BASE Use_MFC 0 | ||
69 | # PROP BASE Use_Debug_Libraries 1 | ||
70 | # PROP BASE Output_Dir ".\Debug" | ||
71 | # PROP BASE Intermediate_Dir ".\Debug" | ||
72 | # PROP BASE Target_Dir "" | ||
73 | # PROP Use_MFC 0 | ||
74 | # PROP Use_Debug_Libraries 1 | ||
75 | # PROP Output_Dir ".\Debug" | ||
76 | # PROP Intermediate_Dir ".\Debug" | ||
77 | # PROP Target_Dir "" | ||
78 | CPP=cl.exe | ||
79 | # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c | ||
80 | # 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" /FD /c | ||
81 | # SUBTRACT CPP /YX | ||
82 | MTL=midl.exe | ||
83 | # ADD BASE MTL /nologo /D "_DEBUG" /win32 | ||
84 | # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 | ||
85 | RSC=rc.exe | ||
86 | # ADD BASE RSC /l 0x40c /d "_DEBUG" | ||
87 | # ADD RSC /l 0x40c /d "_DEBUG" | ||
88 | BSC32=bscmake.exe | ||
89 | # ADD BASE BSC32 /nologo | ||
90 | # ADD BSC32 /nologo | ||
91 | LINK32=link.exe | ||
92 | # 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 | ||
93 | # 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" | ||
94 | |||
95 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" | ||
96 | |||
97 | # PROP BASE Use_MFC 0 | ||
98 | # PROP BASE Use_Debug_Libraries 0 | ||
99 | # PROP BASE Output_Dir "zlibvc__" | ||
100 | # PROP BASE Intermediate_Dir "zlibvc__" | ||
101 | # PROP BASE Ignore_Export_Lib 0 | ||
102 | # PROP BASE Target_Dir "" | ||
103 | # PROP Use_MFC 0 | ||
104 | # PROP Use_Debug_Libraries 0 | ||
105 | # PROP Output_Dir "zlibvc__" | ||
106 | # PROP Intermediate_Dir "zlibvc__" | ||
107 | # PROP Ignore_Export_Lib 0 | ||
108 | # PROP Target_Dir "" | ||
109 | MTL=midl.exe | ||
110 | # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 | ||
111 | # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 | ||
112 | CPP=cl.exe | ||
113 | # 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 | ||
114 | # 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 /FD /c | ||
115 | # SUBTRACT CPP /YX | ||
116 | RSC=rc.exe | ||
117 | # ADD BASE RSC /l 0x40c /d "NDEBUG" | ||
118 | # ADD RSC /l 0x40c /d "NDEBUG" | ||
119 | BSC32=bscmake.exe | ||
120 | # ADD BASE BSC32 /nologo | ||
121 | # ADD BSC32 /nologo | ||
122 | LINK32=link.exe | ||
123 | # 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" | ||
124 | # SUBTRACT BASE LINK32 /pdb:none | ||
125 | # 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" | ||
126 | # SUBTRACT LINK32 /pdb:none | ||
127 | |||
128 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" | ||
129 | |||
130 | # PROP BASE Use_MFC 0 | ||
131 | # PROP BASE Use_Debug_Libraries 0 | ||
132 | # PROP BASE Output_Dir "zlibvc_0" | ||
133 | # PROP BASE Intermediate_Dir "zlibvc_0" | ||
134 | # PROP BASE Ignore_Export_Lib 0 | ||
135 | # PROP BASE Target_Dir "" | ||
136 | # PROP Use_MFC 0 | ||
137 | # PROP Use_Debug_Libraries 0 | ||
138 | # PROP Output_Dir "zlibvc_0" | ||
139 | # PROP Intermediate_Dir "zlibvc_0" | ||
140 | # PROP Ignore_Export_Lib 0 | ||
141 | # PROP Target_Dir "" | ||
142 | CPP=cl.exe | ||
143 | # 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 | ||
144 | # 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 /FD /c | ||
145 | # SUBTRACT CPP /YX | ||
146 | MTL=midl.exe | ||
147 | # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 | ||
148 | # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 | ||
149 | RSC=rc.exe | ||
150 | # ADD BASE RSC /l 0x40c /d "NDEBUG" | ||
151 | # ADD RSC /l 0x40c /d "NDEBUG" | ||
152 | BSC32=bscmake.exe | ||
153 | # ADD BASE BSC32 /nologo | ||
154 | # ADD BSC32 /nologo | ||
155 | LINK32=link.exe | ||
156 | # 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" | ||
157 | # SUBTRACT BASE LINK32 /pdb:none | ||
158 | # 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" | ||
159 | # SUBTRACT LINK32 /pdb:none | ||
160 | |||
161 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" | ||
162 | |||
163 | # PROP BASE Use_MFC 0 | ||
164 | # PROP BASE Use_Debug_Libraries 0 | ||
165 | # PROP BASE Output_Dir "zlibvc_1" | ||
166 | # PROP BASE Intermediate_Dir "zlibvc_1" | ||
167 | # PROP BASE Ignore_Export_Lib 0 | ||
168 | # PROP BASE Target_Dir "" | ||
169 | # PROP Use_MFC 0 | ||
170 | # PROP Use_Debug_Libraries 0 | ||
171 | # PROP Output_Dir "zlibvc_1" | ||
172 | # PROP Intermediate_Dir "zlibvc_1" | ||
173 | # PROP Ignore_Export_Lib 0 | ||
174 | # PROP Target_Dir "" | ||
175 | CPP=cl.exe | ||
176 | # 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 | ||
177 | # 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 /FD /c | ||
178 | # SUBTRACT CPP /YX | ||
179 | MTL=midl.exe | ||
180 | # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 | ||
181 | # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 | ||
182 | RSC=rc.exe | ||
183 | # ADD BASE RSC /l 0x40c /d "NDEBUG" | ||
184 | # ADD RSC /l 0x40c /d "NDEBUG" | ||
185 | BSC32=bscmake.exe | ||
186 | # ADD BASE BSC32 /nologo | ||
187 | # ADD BSC32 /nologo | ||
188 | LINK32=link.exe | ||
189 | # 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" | ||
190 | # SUBTRACT BASE LINK32 /pdb:none | ||
191 | # 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" | ||
192 | # SUBTRACT LINK32 /pdb:none | ||
193 | |||
194 | !ENDIF | ||
195 | |||
196 | # Begin Target | ||
197 | |||
198 | # Name "zlibvc - Win32 Release" | ||
199 | # Name "zlibvc - Win32 Debug" | ||
200 | # Name "zlibvc - Win32 ReleaseAxp" | ||
201 | # Name "zlibvc - Win32 ReleaseWithoutAsm" | ||
202 | # Name "zlibvc - Win32 ReleaseWithoutCrtdll" | ||
203 | # Begin Group "Source Files" | ||
204 | |||
205 | # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90" | ||
206 | # Begin Source File | ||
207 | |||
208 | SOURCE=.\adler32.c | ||
209 | |||
210 | !IF "$(CFG)" == "zlibvc - Win32 Release" | ||
211 | |||
212 | !ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" | ||
213 | |||
214 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" | ||
215 | |||
216 | DEP_CPP_ADLER=\ | ||
217 | ".\zconf.h"\ | ||
218 | ".\zlib.h"\ | ||
219 | |||
220 | |||
221 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" | ||
222 | |||
223 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" | ||
224 | |||
225 | !ENDIF | ||
226 | |||
227 | # End Source File | ||
228 | # Begin Source File | ||
229 | |||
230 | SOURCE=.\compress.c | ||
231 | |||
232 | !IF "$(CFG)" == "zlibvc - Win32 Release" | ||
233 | |||
234 | !ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" | ||
235 | |||
236 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" | ||
237 | |||
238 | DEP_CPP_COMPR=\ | ||
239 | ".\zconf.h"\ | ||
240 | ".\zlib.h"\ | ||
241 | |||
242 | |||
243 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" | ||
244 | |||
245 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" | ||
246 | |||
247 | !ENDIF | ||
248 | |||
249 | # End Source File | ||
250 | # Begin Source File | ||
251 | |||
252 | SOURCE=.\crc32.c | ||
253 | |||
254 | !IF "$(CFG)" == "zlibvc - Win32 Release" | ||
255 | |||
256 | !ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" | ||
257 | |||
258 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" | ||
259 | |||
260 | DEP_CPP_CRC32=\ | ||
261 | ".\zconf.h"\ | ||
262 | ".\zlib.h"\ | ||
263 | |||
264 | |||
265 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" | ||
266 | |||
267 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" | ||
268 | |||
269 | !ENDIF | ||
270 | |||
271 | # End Source File | ||
272 | # Begin Source File | ||
273 | |||
274 | SOURCE=.\deflate.c | ||
275 | |||
276 | !IF "$(CFG)" == "zlibvc - Win32 Release" | ||
277 | |||
278 | !ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" | ||
279 | |||
280 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" | ||
281 | |||
282 | DEP_CPP_DEFLA=\ | ||
283 | ".\deflate.h"\ | ||
284 | ".\zconf.h"\ | ||
285 | ".\zlib.h"\ | ||
286 | ".\zutil.h"\ | ||
287 | |||
288 | |||
289 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" | ||
290 | |||
291 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" | ||
292 | |||
293 | !ENDIF | ||
294 | |||
295 | # End Source File | ||
296 | # Begin Source File | ||
297 | |||
298 | SOURCE=.\gvmat32c.c | ||
299 | |||
300 | !IF "$(CFG)" == "zlibvc - Win32 Release" | ||
301 | |||
302 | !ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" | ||
303 | |||
304 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" | ||
305 | |||
306 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" | ||
307 | |||
308 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" | ||
309 | |||
310 | !ENDIF | ||
311 | |||
312 | # End Source File | ||
313 | # Begin Source File | ||
314 | |||
315 | SOURCE=.\gzio.c | ||
316 | |||
317 | !IF "$(CFG)" == "zlibvc - Win32 Release" | ||
318 | |||
319 | !ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" | ||
320 | |||
321 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" | ||
322 | |||
323 | DEP_CPP_GZIO_=\ | ||
324 | ".\zconf.h"\ | ||
325 | ".\zlib.h"\ | ||
326 | ".\zutil.h"\ | ||
327 | |||
328 | |||
329 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" | ||
330 | |||
331 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" | ||
332 | |||
333 | !ENDIF | ||
334 | |||
335 | # End Source File | ||
336 | # Begin Source File | ||
337 | |||
338 | SOURCE=.\infblock.c | ||
339 | |||
340 | !IF "$(CFG)" == "zlibvc - Win32 Release" | ||
341 | |||
342 | !ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" | ||
343 | |||
344 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" | ||
345 | |||
346 | DEP_CPP_INFBL=\ | ||
347 | ".\infblock.h"\ | ||
348 | ".\infcodes.h"\ | ||
349 | ".\inftrees.h"\ | ||
350 | ".\infutil.h"\ | ||
351 | ".\zconf.h"\ | ||
352 | ".\zlib.h"\ | ||
353 | ".\zutil.h"\ | ||
354 | |||
355 | |||
356 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" | ||
357 | |||
358 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" | ||
359 | |||
360 | !ENDIF | ||
361 | |||
362 | # End Source File | ||
363 | # Begin Source File | ||
364 | |||
365 | SOURCE=.\infcodes.c | ||
366 | |||
367 | !IF "$(CFG)" == "zlibvc - Win32 Release" | ||
368 | |||
369 | !ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" | ||
370 | |||
371 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" | ||
372 | |||
373 | DEP_CPP_INFCO=\ | ||
374 | ".\infblock.h"\ | ||
375 | ".\infcodes.h"\ | ||
376 | ".\inffast.h"\ | ||
377 | ".\inftrees.h"\ | ||
378 | ".\infutil.h"\ | ||
379 | ".\zconf.h"\ | ||
380 | ".\zlib.h"\ | ||
381 | ".\zutil.h"\ | ||
382 | |||
383 | |||
384 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" | ||
385 | |||
386 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" | ||
387 | |||
388 | !ENDIF | ||
389 | |||
390 | # End Source File | ||
391 | # Begin Source File | ||
392 | |||
393 | SOURCE=.\inffast.c | ||
394 | |||
395 | !IF "$(CFG)" == "zlibvc - Win32 Release" | ||
396 | |||
397 | !ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" | ||
398 | |||
399 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" | ||
400 | |||
401 | DEP_CPP_INFFA=\ | ||
402 | ".\infblock.h"\ | ||
403 | ".\infcodes.h"\ | ||
404 | ".\inffast.h"\ | ||
405 | ".\inftrees.h"\ | ||
406 | ".\infutil.h"\ | ||
407 | ".\zconf.h"\ | ||
408 | ".\zlib.h"\ | ||
409 | ".\zutil.h"\ | ||
410 | |||
411 | |||
412 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" | ||
413 | |||
414 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" | ||
415 | |||
416 | !ENDIF | ||
417 | |||
418 | # End Source File | ||
419 | # Begin Source File | ||
420 | |||
421 | SOURCE=.\inflate.c | ||
422 | |||
423 | !IF "$(CFG)" == "zlibvc - Win32 Release" | ||
424 | |||
425 | !ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" | ||
426 | |||
427 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" | ||
428 | |||
429 | DEP_CPP_INFLA=\ | ||
430 | ".\infblock.h"\ | ||
431 | ".\zconf.h"\ | ||
432 | ".\zlib.h"\ | ||
433 | ".\zutil.h"\ | ||
434 | |||
435 | |||
436 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" | ||
437 | |||
438 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" | ||
439 | |||
440 | !ENDIF | ||
441 | |||
442 | # End Source File | ||
443 | # Begin Source File | ||
444 | |||
445 | SOURCE=.\inftrees.c | ||
446 | |||
447 | !IF "$(CFG)" == "zlibvc - Win32 Release" | ||
448 | |||
449 | !ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" | ||
450 | |||
451 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" | ||
452 | |||
453 | DEP_CPP_INFTR=\ | ||
454 | ".\inftrees.h"\ | ||
455 | ".\zconf.h"\ | ||
456 | ".\zlib.h"\ | ||
457 | ".\zutil.h"\ | ||
458 | |||
459 | |||
460 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" | ||
461 | |||
462 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" | ||
463 | |||
464 | !ENDIF | ||
465 | |||
466 | # End Source File | ||
467 | # Begin Source File | ||
468 | |||
469 | SOURCE=.\infutil.c | ||
470 | |||
471 | !IF "$(CFG)" == "zlibvc - Win32 Release" | ||
472 | |||
473 | !ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" | ||
474 | |||
475 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" | ||
476 | |||
477 | DEP_CPP_INFUT=\ | ||
478 | ".\infblock.h"\ | ||
479 | ".\infcodes.h"\ | ||
480 | ".\inftrees.h"\ | ||
481 | ".\infutil.h"\ | ||
482 | ".\zconf.h"\ | ||
483 | ".\zlib.h"\ | ||
484 | ".\zutil.h"\ | ||
485 | |||
486 | |||
487 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" | ||
488 | |||
489 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" | ||
490 | |||
491 | !ENDIF | ||
492 | |||
493 | # End Source File | ||
494 | # Begin Source File | ||
495 | |||
496 | SOURCE=.\trees.c | ||
497 | |||
498 | !IF "$(CFG)" == "zlibvc - Win32 Release" | ||
499 | |||
500 | !ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" | ||
501 | |||
502 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" | ||
503 | |||
504 | DEP_CPP_TREES=\ | ||
505 | ".\deflate.h"\ | ||
506 | ".\zconf.h"\ | ||
507 | ".\zlib.h"\ | ||
508 | ".\zutil.h"\ | ||
509 | |||
510 | |||
511 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" | ||
512 | |||
513 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" | ||
514 | |||
515 | !ENDIF | ||
516 | |||
517 | # End Source File | ||
518 | # Begin Source File | ||
519 | |||
520 | SOURCE=.\uncompr.c | ||
521 | |||
522 | !IF "$(CFG)" == "zlibvc - Win32 Release" | ||
523 | |||
524 | !ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" | ||
525 | |||
526 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" | ||
527 | |||
528 | DEP_CPP_UNCOM=\ | ||
529 | ".\zconf.h"\ | ||
530 | ".\zlib.h"\ | ||
531 | |||
532 | |||
533 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" | ||
534 | |||
535 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" | ||
536 | |||
537 | !ENDIF | ||
538 | |||
539 | # End Source File | ||
540 | # Begin Source File | ||
541 | |||
542 | SOURCE=.\unzip.c | ||
543 | |||
544 | !IF "$(CFG)" == "zlibvc - Win32 Release" | ||
545 | |||
546 | !ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" | ||
547 | |||
548 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" | ||
549 | |||
550 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" | ||
551 | |||
552 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" | ||
553 | |||
554 | !ENDIF | ||
555 | |||
556 | # End Source File | ||
557 | # Begin Source File | ||
558 | |||
559 | SOURCE=.\zip.c | ||
560 | |||
561 | !IF "$(CFG)" == "zlibvc - Win32 Release" | ||
562 | |||
563 | !ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" | ||
564 | |||
565 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" | ||
566 | |||
567 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" | ||
568 | |||
569 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" | ||
570 | |||
571 | !ENDIF | ||
572 | |||
573 | # End Source File | ||
574 | # Begin Source File | ||
575 | |||
576 | SOURCE=.\zlib.rc | ||
577 | # End Source File | ||
578 | # Begin Source File | ||
579 | |||
580 | SOURCE=.\zlibvc.def | ||
581 | # End Source File | ||
582 | # Begin Source File | ||
583 | |||
584 | SOURCE=.\zutil.c | ||
585 | |||
586 | !IF "$(CFG)" == "zlibvc - Win32 Release" | ||
587 | |||
588 | !ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" | ||
589 | |||
590 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" | ||
591 | |||
592 | DEP_CPP_ZUTIL=\ | ||
593 | ".\zconf.h"\ | ||
594 | ".\zlib.h"\ | ||
595 | ".\zutil.h"\ | ||
596 | |||
597 | |||
598 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" | ||
599 | |||
600 | !ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" | ||
601 | |||
602 | !ENDIF | ||
603 | |||
604 | # End Source File | ||
605 | # End Group | ||
606 | # Begin Group "Header Files" | ||
607 | |||
608 | # PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd" | ||
609 | # Begin Source File | ||
610 | |||
611 | SOURCE=.\deflate.h | ||
612 | # End Source File | ||
613 | # Begin Source File | ||
614 | |||
615 | SOURCE=.\infblock.h | ||
616 | # End Source File | ||
617 | # Begin Source File | ||
618 | |||
619 | SOURCE=.\infcodes.h | ||
620 | # End Source File | ||
621 | # Begin Source File | ||
622 | |||
623 | SOURCE=.\inffast.h | ||
624 | # End Source File | ||
625 | # Begin Source File | ||
626 | |||
627 | SOURCE=.\inftrees.h | ||
628 | # End Source File | ||
629 | # Begin Source File | ||
630 | |||
631 | SOURCE=.\infutil.h | ||
632 | # End Source File | ||
633 | # Begin Source File | ||
634 | |||
635 | SOURCE=.\zconf.h | ||
636 | # End Source File | ||
637 | # Begin Source File | ||
638 | |||
639 | SOURCE=.\zlib.h | ||
640 | # End Source File | ||
641 | # Begin Source File | ||
642 | |||
643 | SOURCE=.\zutil.h | ||
644 | # End Source File | ||
645 | # End Group | ||
646 | # Begin Group "Resource Files" | ||
647 | |||
648 | # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe" | ||
649 | # End Group | ||
650 | # End Target | ||
651 | # End Project | ||
diff --git a/contrib/asm386/zlibvc.dsw b/contrib/asm386/zlibvc.dsw deleted file mode 100644 index 493cd87..0000000 --- a/contrib/asm386/zlibvc.dsw +++ /dev/null | |||
@@ -1,41 +0,0 @@ | |||
1 | Microsoft Developer Studio Workspace File, Format Version 5.00 | ||
2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! | ||
3 | |||
4 | ############################################################################### | ||
5 | |||
6 | Project: "zlibstat"=.\zlibstat.dsp - Package Owner=<4> | ||
7 | |||
8 | Package=<5> | ||
9 | {{{ | ||
10 | }}} | ||
11 | |||
12 | Package=<4> | ||
13 | {{{ | ||
14 | }}} | ||
15 | |||
16 | ############################################################################### | ||
17 | |||
18 | Project: "zlibvc"=.\zlibvc.dsp - Package Owner=<4> | ||
19 | |||
20 | Package=<5> | ||
21 | {{{ | ||
22 | }}} | ||
23 | |||
24 | Package=<4> | ||
25 | {{{ | ||
26 | }}} | ||
27 | |||
28 | ############################################################################### | ||
29 | |||
30 | Global: | ||
31 | |||
32 | Package=<5> | ||
33 | {{{ | ||
34 | }}} | ||
35 | |||
36 | Package=<3> | ||
37 | {{{ | ||
38 | }}} | ||
39 | |||
40 | ############################################################################### | ||
41 | |||