home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wxos2240.zip / wxWindows-2.4.0 / distrib / msw / tmake / filelist.t < prev    next >
Text File  |  2002-12-04  |  5KB  |  121 lines

  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: filelist.t,v 1.20.2.1 2002/11/30 19:25:39 VS Exp $
  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
  121.