~ubuntu-branches/ubuntu/feisty/apache2/feisty

« back to all changes in this revision

Viewing changes to srclib/apr/build/cvtdsp.pl

  • Committer: Bazaar Package Importer
  • Author(s): Andreas Barth
  • Date: 2006-12-09 21:05:45 UTC
  • mfrom: (0.6.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20061209210545-h70s0xaqc2v8vqr2
Tags: 2.2.3-3.2
* Non-maintainer upload.
* 043_ajp_connection_reuse: Patch from upstream Bugzilla, fixing a critical
  issue with regard to connection reuse in mod_proxy_ajp.
  Closes: #396265

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
use IO::File;
 
2
use File::Find;
 
3
 
 
4
if ($ARGV[0] eq '-6') {
 
5
    find(\&tovc6, '.');
 
6
}
 
7
elsif ($ARGV[0] eq '-5') {
 
8
    find(\&tovc5, '.');
 
9
}
 
10
elsif ($ARGV[0] eq '-w3') {
 
11
    find(\&tow3, '.');
 
12
}
 
13
elsif ($ARGV[0] eq '-w4') {
 
14
    find(\&tow4, '.');
 
15
}
 
16
elsif ($ARGV[0] eq '-ia64') {
 
17
    find(\&tovc64, '.');
 
18
}
 
19
elsif ($ARGV[0] eq '-d') {
 
20
    find(\&todebugpools, '.');
 
21
}
 
22
elsif ($ARGV[0] eq '-b') {
 
23
    find(\&tobrowse, '.');
 
24
}
 
25
elsif ($ARGV[0] eq '-m') {
 
26
        ## 0 - conapp, 1 - dll lib, 2 - static lib
 
27
        $dsptype = 2;
 
28
        $name = "apr";
 
29
        onemake();
 
30
}
 
31
else {
 
32
    print "Specify -5 or -6 for Visual Studio 5 or 6 (98) .dsp format\n";
 
33
    print "Specify -w3 or -w4 for .dsp build with warning level 3 or 4 (strict)\n\n";
 
34
    print "Specify -ia64 for build targeted at Itanium (req's psdk tools)\n\n";
 
35
    print "Specify -p for extreme pool debugging\n\n";
 
36
    die "Missing argument";
 
37
}
 
38
 
 
39
sub tovc5 { 
 
40
 
 
41
    if (m|\.dsp$|) {
 
42
        $oname = $_;
 
43
        $tname = '.#' . $_;
 
44
        $verchg = 0;
 
45
        $srcfl = new IO::File $oname, "r" || die;
 
46
        $dstfl = new IO::File $tname, "w" || die;
 
47
        while ($src = <$srcfl>) {
 
48
            if ($src =~ s|Format Version 6\.00|Format Version 5\.00|) {
 
49
                $verchg = -1;
 
50
            }
 
51
            if ($src =~ s|^(# ADD CPP .*)/ZI (.*)|$1/Zi $2|) {
 
52
                $verchg = -1;
 
53
            }
 
54
            if ($src =~ s|^(# ADD BASE CPP .*)/ZI (.*)|$1/Zi $2|) {
 
55
                $verchg = -1;
 
56
            }
 
57
            if ($src =~ s|^(# ADD CPP .*)/EHsc (.*)|$1/GX $2|) {
 
58
                $verchg = -1;
 
59
            }
 
60
            if ($src =~ s|^(# ADD BASE CPP .*)/EHsc (.*)|$1/GX $2|) {
 
61
                $verchg = -1;
 
62
            }
 
63
            if ($src !~ m|^# PROP AllowPerConfigDependencies|) {
 
64
                print $dstfl $src; }
 
65
            else {
 
66
                $verchg = -1;
 
67
            }
 
68
        }
 
69
        undef $srcfl;
 
70
        undef $dstfl;
 
71
        if ($verchg) {
 
72
            unlink $oname || die;
 
73
            rename $tname, $oname || die;
 
74
            print "Converted VC6 project " . $oname . " to VC5 in " . $File::Find::dir . "\n"; 
 
75
        }
 
76
        else {
 
77
            unlink $tname;
 
78
        }
 
79
    }
 
80
}
 
81
 
 
82
sub tovc6 { 
 
83
 
 
84
    if (m|\.dsp$|) {
 
85
        $oname = $_;
 
86
        $tname = '.#' . $_;
 
87
        $verchg = 0;
 
88
        $srcfl = new IO::File $_, "r" || die;
 
89
        $dstfl = new IO::File $tname, "w" || die;
 
90
        while ($src = <$srcfl>) {
 
91
            if ($src =~ s|Format Version 5\.00|Format Version 6\.00|) {
 
92
                $verchg = -1;
 
93
            }
 
94
            if ($src =~ s|^(!MESSAGE .*)\\\n|$1|) {
 
95
                $cont = <$srcfl>;
 
96
                $src = $src . $cont;
 
97
                $verchg = -1;
 
98
            }
 
99
            if ($src =~ s|^(# ADD CPP .*)/GX (.*)|$1/EHsc $2|) {
 
100
                $verchg = -1;
 
101
            }
 
102
            if ($src =~ s|^(# ADD BASE CPP .*)/GX (.*)|$1/EHsc $2|) {
 
103
                $verchg = -1;
 
104
            }
 
105
            print $dstfl $src; 
 
106
            if ($verchg && $src =~ m|^# Begin Project|) {
 
107
                print $dstfl "# PROP AllowPerConfigDependencies 0\n"; 
 
108
            }
 
109
        }
 
110
        undef $srcfl;
 
111
        undef $dstfl;
 
112
        if ($verchg) {
 
113
            unlink $oname || die;
 
114
            rename $tname, $oname || die;
 
115
            print "Converted VC5 project " . $oname . " to VC6 in " . $File::Find::dir . "\n"; 
 
116
        }
 
117
        else {
 
118
            unlink $tname;
 
119
        }
 
120
    }
 
121
}
 
122
 
 
123
sub tow3 { 
 
124
 
 
125
    if (m|\.dsp$| || m|\.mak$|) {
 
126
        $oname = $_;
 
127
        $tname = '.#' . $_;
 
128
        $verchg = 0;
 
129
        $srcfl = new IO::File $_, "r" || die;
 
130
        $dstfl = new IO::File $tname, "w" || die;
 
131
        while ($src = <$srcfl>) {
 
132
            while ($src =~ m|\\\n$|) {
 
133
                $src = $src . <$srcfl>
 
134
            }
 
135
            if ($src =~ s|(\bCPP.*) /W4(.*)|$1 /W3$2|) {
 
136
                $verchg = -1;
 
137
            }
 
138
            print $dstfl $src; 
 
139
        }
 
140
        undef $srcfl;
 
141
        undef $dstfl;
 
142
        if ($verchg) {
 
143
            unlink $oname || die;
 
144
            rename $tname, $oname || die;
 
145
            print "Converted project " . $oname . " to warn:3 in " . $File::Find::dir . "\n"; 
 
146
        }
 
147
        else {
 
148
            unlink $tname;
 
149
        }
 
150
    }
 
151
}
 
152
 
 
153
sub tow4 { 
 
154
 
 
155
    if (m|\.dsp$| || m|\.mak$|) {
 
156
        $oname = $_;
 
157
        $tname = '.#' . $_;
 
158
        $verchg = 0;
 
159
        $srcfl = new IO::File $_, "r" || die;
 
160
        $dstfl = new IO::File $tname, "w" || die;
 
161
        while ($src = <$srcfl>) {
 
162
            while ($src =~ m|\\\n$|) {
 
163
                $src = $src . <$srcfl>
 
164
            }
 
165
            if ($src =~ s|(\bCPP.*) /W3(.*)|$1 /W4$2|) {
 
166
                $verchg = -1;
 
167
            }
 
168
            print $dstfl $src; 
 
169
        }
 
170
        undef $srcfl;
 
171
        undef $dstfl;
 
172
        if ($verchg) {
 
173
            unlink $oname || die;
 
174
            rename $tname, $oname || die;
 
175
            print "Converted project " . $oname . " to warn:4 " . $File::Find::dir . "\n"; 
 
176
        }
 
177
        else {
 
178
            unlink $tname;
 
179
        }
 
180
    }
 
181
}
 
182
 
 
183
sub tovc64 { 
 
184
 
 
185
    if (m|\.dsp$| || m|\.mak$|) {
 
186
        $oname = $_;
 
187
        $tname = '.#' . $_;
 
188
        $verchg = 0;
 
189
        $srcfl = new IO::File $_, "r" || die;
 
190
        $dstfl = new IO::File $tname, "w" || die;
 
191
        while ($src = <$srcfl>) {
 
192
            while ($src =~ m|\\\n$|) {
 
193
                $src = $src . <$srcfl>
 
194
            }
 
195
            if ($src =~ s|Win32 \(x86\) (Release)|Win32 (IA64) $1|s) {
 
196
                $verchg = -1;
 
197
            }
 
198
            if ($src =~ s|Win32 \(x86\) (Debug)|Win32 (IA64) $1|s) {
 
199
                $verchg = -1;
 
200
            }
 
201
            if ($src =~ s| - Win32 (Release)| - Win32 (IA64) $1|s) {
 
202
                $verchg = -1;
 
203
            }
 
204
            if ($src =~ s| - Win32 (Debug)| - Win32 (IA64) $1|s) {
 
205
                $verchg = -1;
 
206
            }
 
207
            # Cross compilation exceptions
 
208
            if (!(m|gen[^/]*$| || m|dftables[^/]*$|)) {
 
209
                if ($src =~ s|(\bCPP.* /W3)(.*) /FD(.*)|$1 /As64 /Wp64$2$3|s) {
 
210
                    $verchg = -1;
 
211
                }
 
212
                if ($src =~ s|(\bLINK.*/machine):I386(.*)|$1:IA64$2|s) {
 
213
                    $verchg = -1;
 
214
                }
 
215
            }
 
216
            else {
 
217
                if ($src =~ s|(\bCPP.* /W3)(.*) /FD(.*)|$1 /As32 /Wp64$2$3|s) {
 
218
                    $verchg = -1;
 
219
                }
 
220
            }
 
221
            print $dstfl $src; 
 
222
        }
 
223
        undef $srcfl;
 
224
        undef $dstfl;
 
225
        if ($verchg) {
 
226
            unlink $oname || die;
 
227
            rename $tname, $oname || die;
 
228
            print "Converted build file " . $oname . " to Win64 in " . $File::Find::dir . "\n"; 
 
229
        }
 
230
        else {
 
231
            unlink $tname;
 
232
        }
 
233
    }
 
234
}
 
235
 
 
236
sub todebugpools { 
 
237
 
 
238
    if (m|\.dsp$|) {
 
239
        $oname = $_;
 
240
        $tname = '.#' . $_;
 
241
        $verchg = 0;
 
242
        $srcfl = new IO::File $oname, "r" || die;
 
243
        $dstfl = new IO::File $tname, "w" || die;
 
244
        while ($src = <$srcfl>) {
 
245
            if ($src =~ s|^(# ADD CPP .* /D "_DEBUG" )|$1/D "APR_POOL_DEBUG" |) {
 
246
                $verchg = -1;
 
247
                if ($oname =~ /apr\.dsp$/) {
 
248
                    $src =~ s|^(# ADD CPP .* /D "_DEBUG" )|$1/D "POOL_DEBUG" |;
 
249
                }
 
250
            }
 
251
            print $dstfl $src; 
 
252
        }
 
253
        undef $srcfl;
 
254
        undef $dstfl;
 
255
        if ($verchg) {
 
256
            unlink $oname || die;
 
257
            rename $tname, $oname || die;
 
258
            print "Converted project " . $oname . " to debug pools in " . $File::Find::dir . "\n"; 
 
259
        }
 
260
        else {
 
261
            unlink $tname;
 
262
        }
 
263
    }
 
264
}
 
265
 
 
266
sub tobrowsesources { 
 
267
 
 
268
    if (m|\.dsp$|) {
 
269
        $oname = $_;
 
270
        $tname = '.#' . $_;
 
271
        $verchg = 0;
 
272
        $srcfl = new IO::File $oname, "r" || die;
 
273
        $dstfl = new IO::File $tname, "w" || die;
 
274
        while ($src = <$srcfl>) {
 
275
            if ($src =~ s|^(# ADD CPP .*)( /Fd)|$1 /Fr "/httpd-2.0/srclib/apr"$2|) {
 
276
                $verchg = -1;
 
277
            }
 
278
            print $dstfl $src; 
 
279
        }
 
280
        undef $srcfl;
 
281
        undef $dstfl;
 
282
        if ($verchg) {
 
283
            unlink $oname || die;
 
284
            rename $tname, $oname || die;
 
285
            print "Converted project " . $oname . " to browse sources in " . $File::Find::dir . "\n"; 
 
286
        }
 
287
        else {
 
288
            unlink $tname;
 
289
        }
 
290
    }
 
291
}
 
292
 
 
293
sub frommakefiles {
 
294
 
 
295
    if (m|\.mak\.in$|) {
 
296
        $oname = $_;
 
297
        $dname = $_;
 
298
        $_ =~ s/\.mak\.in/.dsp/;
 
299
        $verchg = 0;
 
300
        $srcfl = new IO::File $oname, "r" || die;
 
301
        $dstfl = new IO::File $tname, "w" || die;
 
302
        while ($src = <$srcfl>) {
 
303
            if ($src =~ s|^(# ADD CPP .*)( /Fd)|$1 /Fr "/httpd-2.0/srclib/apr"$2|) {
 
304
                $verchg = -1;
 
305
            }
 
306
            print $dstfl $src; 
 
307
        }
 
308
        undef $srcfl;
 
309
        undef $dstfl;
 
310
        if ($verchg) {
 
311
            unlink $oname || die;
 
312
            rename $tname, $oname || die;
 
313
            print "Converted project " . $oname . " to browse sources in " . $File::Find::dir . "\n"; 
 
314
        }
 
315
        else {
 
316
            unlink $tname;
 
317
        }
 
318
    }
 
319
}
 
320
 
 
321
 
 
322
sub onemake {
 
323
 
 
324
    if ($dsptype == 0) {
 
325
        $cdefs = qq{/D "WIN32" /D "_CONSOLE"};
 
326
        $lmodel = qq{/subsystem:console};
 
327
        $targname = "Win32 (x86) Console Application";
 
328
        $targid = "0x0103";
 
329
        $debpath = "Debug"; $relpath = "Release";
 
330
    } elsif ($dsptype == 1) {
 
331
        $cdefs = qq{/D "WIN32" /D "_WINDOWS"};
 
332
        $lmodel = qq{/subsystem:windows /dll};
 
333
        $targname = "Win32 (x86) Dynamic-Link Library";
 
334
        $targid = "0x0102";
 
335
        $debpath = "Debug"; $relpath = "Release";
 
336
    } elsif($dsptype == 2) {
 
337
        $cdefs = qq{/D "WIN32" /D "_CONSOLE"};
 
338
        $lmodel = qq{/subsystem:console};
 
339
        $targname = "Win32 (x86) Static Library";
 
340
        $targid = "0x0104";
 
341
        $debpath = "LibD"; $relpath = "LibR";
 
342
    }
 
343
        $file = dspheader();
 
344
 
 
345
 
 
346
        $second = "";
 
347
 
 
348
        $model = "Release";
 
349
        $usedebuglib = "0";
 
350
        $debugdef = "NDEBUG";
 
351
        $cflags = "/MD /W3 /O2";
 
352
        $cincl = qq{/I "./include" /I "./os/win32" /I "./srclib/apr/include" /I "./srclib/apr-util/include"};
 
353
        $lflags = qq{/map};
 
354
        $file .= dsponemodel();
 
355
 
 
356
        $second = "ELSE";
 
357
        $model = "Debug";
 
358
        $usedebuglib = "1";
 
359
        $debugdef = "_DEBUG";
 
360
        $cflags = "/MDd /W3 /GX /Zi /Od";
 
361
        $cincl = qq{/I "./include" /I "./os/win32" /I "./srclib/apr/include" /I "./srclib/apr-util/include"};
 
362
        $lflags = qq{/incremental:no /debug};
 
363
        $file .= dsponemodel();
 
364
 
 
365
        $file .= qq{
 
366
!ENDIF 
 
367
 
 
368
# Begin Target
 
369
 
 
370
# Name "$name - Win32 Release"
 
371
# Name "$name - Win32 Debug"
 
372
};
 
373
 
 
374
        $toroot = ".";
 
375
 
 
376
#HERE IS OUR FOREACH!
 
377
        $file .= qq{# Begin Source File
 
378
 
 
379
SOURCE=./server/main.c
 
380
# End Source File
 
381
};
 
382
 
 
383
    if ($dsptype == 0) {
 
384
        #HERE IS OUR ICON!
 
385
        $icon="$toroot/build/win32/apache.ico";
 
386
        $file .= qq{# Begin Source File
 
387
 
 
388
SOURCE=$icon
 
389
# End Source File
 
390
};
 
391
        $icon = "icon=" . $icon . " ";
 
392
    }
 
393
    if ($dsptype == 0 || $dsptype == 1) {
 
394
        $file .= qq{
 
395
# Begin Source File
 
396
 
 
397
SOURCE=./$name.rc
 
398
# End Source File
 
399
# Begin Source File
 
400
 
 
401
SOURCE=$toroot/include/ap_release.h
 
402
# PROP Ignore_Default_Tool 1
 
403
# Begin Custom Build - Creating Version Resource
 
404
InputPath=$toroot/include/ap_release.h $toroot/build/win32/win32ver.awk
 
405
 
 
406
"./$name.rc" : \$(SOURCE) "\$(INTDIR)" "\$(OUTDIR)"
 
407
        awk -f $toroot/build/win32/win32ver.awk $name "Apache HTTP Server" $toroot/include/ap_release.h $icon> ./Apache.rc
 
408
 
 
409
# End Custom Build
 
410
# End Source File
 
411
};
 
412
    }
 
413
        $file .= qq{
 
414
# End Target
 
415
# End Project
 
416
};
 
417
        print $file;
 
418
}
 
419
 
 
420
sub dspheader {
 
421
    if ($dsptype == 1) {
 
422
        $midl = "MTL=midl.exe\n";
 
423
    } else {
 
424
        $midl = ""
 
425
    }
 
426
qq{# Microsoft Developer Studio Project File - Name="$name" - Package Owner=<4>
 
427
# Microsoft Developer Studio Generated Build File, Format Version 6.00
 
428
# ** DO NOT EDIT **
 
429
 
 
430
# TARGTYPE "$targname" $targid
 
431
 
 
432
CFG=$name - Win32 Release
 
433
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
 
434
!MESSAGE use the Export Makefile command and run
 
435
!MESSAGE 
 
436
!MESSAGE NMAKE /f "$name.mak".
 
437
!MESSAGE 
 
438
!MESSAGE You can specify a configuration when running NMAKE
 
439
!MESSAGE by defining the macro CFG on the command line. For example:
 
440
!MESSAGE 
 
441
!MESSAGE NMAKE /f "$name.mak" CFG="$name - Win32 Release"
 
442
!MESSAGE 
 
443
!MESSAGE Possible choices for configuration are:
 
444
!MESSAGE 
 
445
!MESSAGE "$name - Win32 Release" (based on "$targname")
 
446
!MESSAGE "$name - Win32 Debug" (based on "$targname")
 
447
!MESSAGE 
 
448
 
 
449
# Begin Project
 
450
# PROP AllowPerConfigDependencies 0
 
451
# PROP Scc_ProjName ""
 
452
# PROP Scc_LocalPath ""
 
453
CPP=cl.exe
 
454
${midl}RSC=rc.exe
 
455
};
 
456
}
 
457
sub dsponemodel {
 
458
    if ($model eq "Release") {
 
459
        $targpath = $relpath;
 
460
    } else {
 
461
        $targpath = $debpath;
 
462
    }
 
463
    if ($dsptype == 1) {
 
464
        $midl = 
 
465
qq{# ADD BASE MTL /nologo /D "$debugdef" /win32
 
466
# ADD MTL /nologo /D "$debugdef" /mktyplib203 /win32
 
467
};  }
 
468
    if ($dsptype == 2) {
 
469
        $linkop = qq{LIB32=link.exe -lib
 
470
# ADD BASE LIB32 /nologo
 
471
# ADD LIB32 /nologo
 
472
};
 
473
    } else {
 
474
        $linkop = qq{LINK32=link.exe
 
475
# ADD BASE LINK32 kernel32.lib user32.lib advapi32.lib ws2_32.lib mswsock.lib /nologo $lmodel $lflags /machine:I386
 
476
# ADD LINK32 kernel32.lib user32.lib advapi32.lib ws2_32.lib mswsock.lib /nologo $lmodel $lflags /machine:I386
 
477
};
 
478
    }   
 
479
 
 
480
qq{
 
481
!${second}IF  "\$(CFG)" == "$name - Win32 $model"
 
482
 
 
483
# PROP BASE Use_MFC 0
 
484
# PROP BASE Use_Debug_Libraries $usedebuglib
 
485
# PROP BASE Output_Dir "$targpath"
 
486
# PROP BASE Intermediate_Dir "$targpath"
 
487
# PROP BASE Target_Dir ""
 
488
# PROP Use_MFC 0
 
489
# PROP Use_Debug_Libraries $usedebuglib
 
490
# PROP Output_Dir "$targpath"
 
491
# PROP Intermediate_Dir "$targpath"
 
492
# PROP Ignore_Export_Lib 0
 
493
# PROP Target_Dir ""
 
494
# ADD BASE CPP /nologo $cflags $cincl /D "$debugdef" $cdefs /FD /c
 
495
# ADD CPP /nologo $cflags $cincl /D "$debugdef" $cdefs /Fd"$targpath/$name" /FD /c
 
496
${midl}# ADD BASE RSC /l 0x409 /d "$debugdef"
 
497
# ADD RSC /l 0x409 /d "$debugdef"
 
498
BSC32=bscmake.exe
 
499
# ADD BASE BSC32 /nologo
 
500
# ADD BSC32 /nologo
 
501
$linkop};
 
502
}
 
 
b'\\ No newline at end of file'