]>
Commit | Line | Data |
---|---|---|
f2071dda VZ |
1 | #!############################################################################# |
2 | #! File: filelist.t | |
3 | #! Purpose: tmake template file containig Perl code to parse the filelist.txt | |
4 | #! file - this is used by all other templates. | |
5 | #! Author: Vadim Zeitlin | |
6 | #! Created: 14.07.99 | |
7 | #! Version: $Id$ | |
8 | #!############################################################################# | |
9 | #${ | |
10 | open(FILELIST, "filelist.txt") or die "Can't open filelist file: $!\n"; | |
11 | ||
f2071dda VZ |
12 | line: while ( defined($_ = <FILELIST>) ) { |
13 | chomp; | |
14 | ||
15 | #! comment or blank line, skip | |
16 | next line if ( $_ eq "" or /^#/ ); | |
17 | ||
18 | #! if ( $verbose ) { | |
19 | #! print STDERR "Processing line: '$_'\n"; | |
20 | #! } | |
21 | ||
b9cc8004 VZ |
22 | my @fields = split /\t/; |
23 | ||
24 | #! first column is filename, second is type, third is flags | |
25 | my ($filename, $filetype, $fileflags) = @fields; | |
26 | ||
f2071dda VZ |
27 | if ( $#fields > 2 ) { |
28 | warn "Ignoring malformed line $_ in the filelist file.\n"; | |
29 | next line; | |
30 | } elsif ( $#fields == 1 ) { | |
31 | #! add an empty flags string | |
b9cc8004 | 32 | $fileflags = ""; |
f2071dda VZ |
33 | } |
34 | ||
35 | if ( $verbose ) { | |
b9cc8004 | 36 | print STDERR "File $filename: type '$filetype', flags '$fileflags'\n"; |
f2071dda VZ |
37 | } |
38 | ||
b9cc8004 VZ |
39 | #! this is a bit stupid but all templates are written using the old |
40 | #! single letter flags which became so unreadable that I decided to | |
41 | #! replace them with more readable strings, but it was easier to do | |
42 | #! the translation here instead of changing all *.t files | |
43 | $fileflags =~ s/Base/B/; | |
44 | $fileflags =~ s/NotWin32/16/; | |
45 | $fileflags =~ s/Win32Only/32/; | |
46 | $fileflags =~ s/Generic/G/; | |
47 | $fileflags =~ s/OLE/O/; | |
48 | $fileflags =~ s/Socket/S/; | |
49 | $fileflags =~ s/NotMSW/U/; | |
b9cc8004 VZ |
50 | $fileflags =~ s/NotOS2/P/; |
51 | $fileflags =~ s/LowLevel/L/; | |
52 | ||
53 | if ( $filetype eq "Common" ) { | |
54 | $wxCommon{$filename} = $fileflags; | |
55 | } elsif ( $filetype eq "Generic" ) { | |
56 | $wxGeneric{$filename} = $fileflags; | |
57 | } elsif ( $filetype eq "MSW" ) { | |
58 | $wxMSW{$filename} = $fileflags; | |
2b03b51b GD |
59 | } elsif ( $filetype eq "Mac" ) { |
60 | $wxMAC{$filename} = $fileflags; | |
b9cc8004 VZ |
61 | } elsif ( $filetype eq "Motif" ) { |
62 | $wxMOTIF{$filename} = $fileflags; | |
63 | } elsif ( $filetype eq "GTK" ) { | |
64 | $wxGTK{$filename} = $fileflags; | |
65 | } elsif ( $filetype eq "Univ" ) { | |
66 | $wxUNIV{$filename} = $fileflags; | |
67 | } elsif ( $filetype eq "MGL" ) { | |
68 | $wxMGL{$filename} = $fileflags; | |
1725144d RR |
69 | } elsif ( $filetype eq "Micro" ) { |
70 | $wxMICRO{$filename} = $fileflags; | |
b9cc8004 VZ |
71 | } elsif ( $filetype eq "OS2" ) { |
72 | $wxOS2PM{$filename} = $fileflags; | |
7c7b95f4 JS |
73 | } elsif ( $filetype eq "X11" ) { |
74 | $wxX11{$filename} = $fileflags; | |
b9cc8004 VZ |
75 | } elsif ( $filetype eq "HTML" ) { |
76 | $wxHTML{$filename} = $fileflags; | |
77 | } elsif ( $filetype eq "Unix" ) { | |
78 | $wxUNIX{$filename} = $fileflags; | |
79 | } elsif ( $filetype eq "BaseOnly" ) { | |
80 | $wxBase{$filename} = $fileflags; | |
81 | } elsif ( $filetype eq "WXH" ) { | |
82 | $wxWXINCLUDE{$filename} = $fileflags; | |
83 | } elsif ( $filetype eq "ProtoH" ) { | |
84 | $wxPROTOCOLINCLUDE{$filename} = $fileflags; | |
85 | } elsif ( $filetype eq "HtmlH" ) { | |
86 | $wxHTMLINCLUDE{$filename} = $fileflags; | |
2b03b51b GD |
87 | } elsif ( $filetype eq "MacH" ) { |
88 | $wxMACINCLUDE{$filename} = $fileflags; | |
b9cc8004 VZ |
89 | } elsif ( $filetype eq "MotifH" ) { |
90 | $wxMOTIFINCLUDE{$filename} = $fileflags; | |
f676c7ff MB |
91 | } elsif ( $filetype eq "MSWH" && $fileflags =~ m/O/ ) { |
92 | $wxOLEINCLUDE{$filename} = $fileflags; | |
b9cc8004 VZ |
93 | } elsif ( $filetype eq "MSWH" ) { |
94 | $wxMSWINCLUDE{$filename} = $fileflags; | |
95 | } elsif ( $filetype eq "GTKH" ) { | |
96 | $wxGTKINCLUDE{$filename} = $fileflags; | |
97 | } elsif ( $filetype eq "OS2H" ) { | |
98 | $wxOS2PMINCLUDE{$filename} = $fileflags; | |
7c7b95f4 JS |
99 | } elsif ( $filetype eq "X11H" ) { |
100 | $wxX11INCLUDE{$filename} = $fileflags; | |
b9cc8004 VZ |
101 | } elsif ( $filetype eq "UnivH" ) { |
102 | $wxUNIVINCLUDE{$filename} = $fileflags; | |
103 | } elsif ( $filetype eq "UnixH" ) { | |
104 | $wxUNIXINCLUDE{$filename} = $fileflags; | |
105 | } elsif ( $filetype eq "GenericH" ) { | |
106 | $wxGENERICINCLUDE{$filename} = $fileflags; | |
2b03b51b GD |
107 | } elsif ( $filetype eq "MacR" ) { |
108 | $wxMACRESOURCE{$filename} = $fileflags; | |
f2071dda | 109 | } else { |
b9cc8004 | 110 | warn "Unknown file type $filetype for $filename, ignoring.\n"; |
f2071dda VZ |
111 | next line; |
112 | } | |
113 | } | |
114 | ||
115 | close(FILELIST); | |
116 | #$} | |
117 | #! vim:sw=4:ts=4:list:et |