merged 2.4 branch into the trunk
[wxWidgets.git] / distrib / msw / tmake / filelist.t
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
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
22         my @fields = split /\t/;
23
24         #! first column is filename, second is type, third is flags
25         my ($filename, $filetype, $fileflags) = @fields;
26
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
32             $fileflags = "";
33         }
34
35         if ( $verbose ) {
36             print STDERR "File $filename: type '$filetype', flags '$fileflags'\n";
37         }
38
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/;
50         $fileflags =~ s/NotOS2/P/;
51         $fileflags =~ s/LowLevel/L/;
52         $fileflags =~ s/Theme/T/;
53
54         if ( $filetype eq "Common" ) {
55             $wxCommon{$filename} = $fileflags;
56         } elsif ( $filetype eq "Generic" ) {
57             $wxGeneric{$filename} = $fileflags;
58         } elsif ( $filetype eq "MSW" ) {
59             $wxMSW{$filename} = $fileflags;
60         } elsif ( $filetype eq "Mac" ) {
61             $wxMAC{$filename} = $fileflags;
62         } elsif ( $filetype eq "Motif" ) {
63             $wxMOTIF{$filename} = $fileflags;
64         } elsif ( $filetype eq "GTK" ) {
65             $wxGTK{$filename} = $fileflags;
66         } elsif ( $filetype eq "Univ" ) {
67             $wxUNIV{$filename} = $fileflags;
68         } elsif ( $filetype eq "MGL" ) {
69             $wxMGL{$filename} = $fileflags;
70         } elsif ( $filetype eq "Micro" ) {
71             $wxMICRO{$filename} = $fileflags;
72         } elsif ( $filetype eq "OS2" ) {
73             $wxOS2PM{$filename} = $fileflags;
74         } elsif ( $filetype eq "X11" ) {
75             $wxX11{$filename} = $fileflags;
76         } elsif ( $filetype eq "HTML" ) {
77             $wxHTML{$filename} = $fileflags;
78         } elsif ( $filetype eq "Unix" ) {
79             $wxUNIX{$filename} = $fileflags;
80         } elsif ( $filetype eq "BaseOnly" ) {
81             $wxBase{$filename} = $fileflags;
82         } elsif ( $filetype eq "WXH" ) {
83             $wxWXINCLUDE{$filename} = $fileflags;
84         } elsif ( $filetype eq "ProtoH" ) {
85             $wxPROTOCOLINCLUDE{$filename} = $fileflags;
86         } elsif ( $filetype eq "HtmlH" ) {
87             $wxHTMLINCLUDE{$filename} = $fileflags;
88         } elsif ( $filetype eq "MacH" ) {
89             $wxMACINCLUDE{$filename} = $fileflags;
90         } elsif ( $filetype eq "MotifH" ) {
91             $wxMOTIFINCLUDE{$filename} = $fileflags;
92         } elsif ( $filetype eq "MSWH" && $fileflags =~ m/O/ ) {
93             $wxOLEINCLUDE{$filename} = $fileflags;
94         } elsif ( $filetype eq "MSWH" ) {
95             $wxMSWINCLUDE{$filename} = $fileflags;
96         } elsif ( $filetype eq "GTKH" ) {
97             $wxGTKINCLUDE{$filename} = $fileflags;
98         } elsif ( $filetype eq "OS2H" ) {
99             $wxOS2PMINCLUDE{$filename} = $fileflags;
100         } elsif ( $filetype eq "MGLH" ) {
101             $wxMGLINCLUDE{$filename} = $fileflags;
102         } elsif ( $filetype eq "X11H" ) {
103             $wxX11INCLUDE{$filename} = $fileflags;
104         } elsif ( $filetype eq "UnivH" ) {
105             $wxUNIVINCLUDE{$filename} = $fileflags;
106         } elsif ( $filetype eq "UnixH" ) {
107             $wxUNIXINCLUDE{$filename} = $fileflags;
108         } elsif ( $filetype eq "GenericH" ) {
109             $wxGENERICINCLUDE{$filename} = $fileflags;
110         } elsif ( $filetype eq "MacR" ) {
111             $wxMACRESOURCE{$filename} = $fileflags;
112         } else {
113             warn "Unknown file type $filetype for $filename, ignoring.\n";
114             next line;
115         }
116     }
117
118     close(FILELIST);
119 #$}
120 #! vim:sw=4:ts=4:list:et