(file) Return to configproj.pl CVS log (file) (dir) Up to [Development] / JSOC / Attic

Diff for /JSOC/Attic/configproj.pl between version 1.3 and 1.4

version 1.3, 2011/02/02 01:15:25 version 1.4, 2011/02/04 01:33:56
Line 54  use Data::Dumper;
Line 54  use Data::Dumper;
  
 use constant kMakeDiv => "__MAKE__"; use constant kMakeDiv => "__MAKE__";
 use constant kProjDiv => "__PROJ__"; use constant kProjDiv => "__PROJ__";
   use constant kProjCfgDiv => "__PROJCFG__";
 use constant kEndDiv => "__END__"; use constant kEndDiv => "__END__";
 use constant kStUnk => 0; use constant kStUnk => 0;
 use constant kStMake => 1; use constant kStMake => 1;
 use constant kStProj => 2; use constant kStProj => 2;
   use constant kStProjCfg => 3;
 use constant kMakeFile => "make_basic.mk"; use constant kMakeFile => "make_basic.mk";
 use constant kTargetFile => "target.mk"; use constant kTargetFile => "target.mk";
 use constant kRulesFile => "Rules.mk"; use constant kRulesFile => "Rules.mk";
   use constant kProjCfgFile => "configure";
 use constant kMakeVarCOMPILER => "COMPILER"; use constant kMakeVarCOMPILER => "COMPILER";
 use constant kMakeVarFCOMPILER => "FCOMPILER"; use constant kMakeVarFCOMPILER => "FCOMPILER";
 use constant kMakeVarJSOC_MACHINE => "JSOC_MACHINE"; use constant kMakeVarJSOC_MACHINE => "JSOC_MACHINE";
Line 86  my($key);
Line 89  my($key);
 my($val); my($val);
 my($mdiv); my($mdiv);
 my($pdiv); my($pdiv);
   my($pcdiv);
 my($ediv); my($ediv);
 my($xml); my($xml);
  
Line 109  if (defined($cfgfile) && -e $cfgfile)
Line 113  if (defined($cfgfile) && -e $cfgfile)
    {    {
       my($makedone);       my($makedone);
       my($projdone);       my($projdone);
         my($projcfgdone);
  
       $st = kStUnk;       $st = kStUnk;
       $mdiv = kMakeDiv;       $mdiv = kMakeDiv;
       $pdiv = kProjDiv;       $pdiv = kProjDiv;
         $pcdiv = kProjCfgDiv;
       $ediv = kEndDiv;       $ediv = kEndDiv;
  
       $makedone = 0;       $makedone = 0;
       $projdone = 0;       $projdone = 0;
         $projcfgdone = 0;
  
       while (defined($line = <CFGFILE>))       while (defined($line = <CFGFILE>))
       {       {
Line 162  if (defined($cfgfile) && -e $cfgfile)
Line 169  if (defined($cfgfile) && -e $cfgfile)
             $xml = "";             $xml = "";
             next;             next;
          }          }
            elsif ($line =~ /^$pcdiv/)
            {
               $st = kStProjCfg;
               if (!open(PROJCFGFILE, ">${locdir}/" . kProjCfgFile))
               {
                  print STDERR "Unable to open " . kProjCfgFile . " for writing.\n";
                  $err = 1;
                  last;
               }
   
               next;
            }
          elsif ($line =~ /^$ediv/)          elsif ($line =~ /^$ediv/)
          {          {
             if ($st == kStMake)             if ($st == kStMake)
Line 172  if (defined($cfgfile) && -e $cfgfile)
Line 191  if (defined($cfgfile) && -e $cfgfile)
             {             {
                $projdone = 1;                $projdone = 1;
             }             }
               elsif ($st == kStProjCfg)
               {
                  $projcfgdone = 1;
               }
  
             $st = kStUnk;             $st = kStUnk;
  
             if ($makedone && $projdone)              if ($makedone && $projdone && $projcfgdone)
             {             {
                last;                last;
             }             }
Line 193  if (defined($cfgfile) && -e $cfgfile)
Line 216  if (defined($cfgfile) && -e $cfgfile)
             # suck out xml             # suck out xml
             $xml = $xml . "$line\n";             $xml = $xml . "$line\n";
          }          }
            elsif ($st == kStProjCfg)
            {
               # copy verbatim to configure
               print PROJCFGFILE "$line\n";
            }
       } # loop over cfg file       } # loop over cfg file
  
       close(CFGFILE);       close(CFGFILE);
Line 319  if (defined($cfgfile) && -e $cfgfile)
Line 347  if (defined($cfgfile) && -e $cfgfile)
  
       close(TARGETFILE);       close(TARGETFILE);
       close(RULESFILE);       close(RULESFILE);
         close(PROJCFGFILE);
       close(MKFILE);       close(MKFILE);
   
         if (chmod(0744, "${locdir}/" . kProjCfgFile) != 1)
         {
            print STDERR "Unable to set file permissions for ${locdir}/" . kProjCfgFile . ".\n";
            $err = 1;
         }
    }    }
    else    else
    {    {
       print STDERR "Unable to open configuration file $cfgfile.\n";       print STDERR "Unable to open configuration file $cfgfile.\n";
       exit(1);        $err = 1;
    }    }
 } }
  


Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

Karen Tian
Powered by
ViewCVS 0.9.4