ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/src/BuildSystem/BuildSetup.pm
(Generate patch)

Comparing COMP/SCRAM/src/BuildSystem/BuildSetup.pm (file contents):
Revision 1.1.2.4 by williamc, Thu Apr 20 13:49:54 2000 UTC vs.
Revision 1.1.2.7.2.1 by williamc, Mon Aug 14 15:03:07 2000 UTC

# Line 2 | Line 2
2   #
3   # Interface
4   # ---------
5 < # new() : A new BuildSetup
5 > # new(toolbox) : A new BuildSetup
6   # BuildSetup(directory,targets) : prepare the ground for a build and build
7   # getclass(directory) : return (Class, ClassDir, BuildFileobject)
8   #                       associated with directory
# Line 20 | Line 20 | sub new {
20          my $class=shift;
21          my $self={};
22          bless $self,$class;
23 <        $self->init();
23 >        $self->{toolbox}=shift;
24 >        #$self->init();
25          return $self;
26   }
27  
28   sub init {
29          my $self=shift;
30 <        $self->{toolbox}=BuildSystem::ToolBox->new();
30 >        $self->{toolbox}=BuildSystem::ToolBox->new($ENV{LOCALTOP});
31   }
32  
33   sub _generateexternals {
# Line 39 | Line 40 | sub _generateexternals {
40          # -- get list of dependent files
41          my $datadir=$ENV{LOCALTOP}."/.SCRAM/".$ENV{SCRAM_ARCH};
42          $fdir=FileHandle->new();
43 <        opendir $fdir, $datadir or die
43 <                        "unable to access $datadir $!\n";
43 >        opendir $fdir, $datadir;
44          my @depfiles=grep !/^\.\.?$/, readdir $fdir;
45          undef $fdir;
46          for (my $i=0; $i<=$#depfiles; $i++ ) {
# Line 57 | Line 57 | sub _generateexternals {
57  
58            # -- print out tool/ version info
59            my ($tool,$toolobj,$f,$val,$version);
60 <          foreach $toolpair ( $self->{toolbox}->tools() ) {
61 <            $tool=$$toolpair[0];
62 <            $version=$$toolpair[1];
60 >          #foreach $toolpair ( $self->{toolbox}->tools() ) {
61 >          foreach $tool ( $self->{toolbox}->tools() ) {
62 >            #$tool=$$toolpair[0];
63 >            $version=$self->{toolbox}->defaultversion($tool);
64              # default versions
65              print $fout "ifdef $tool\n".$tool."_V_".$version."=true\nendif\n";
66 <            $toolobj=$self->{toolbox}->gettool($tool,$version);
67 <            # -- externals
68 <            @deps=$toolobj->getfeature("_externals");
69 <            foreach $d ( @deps ) {
66 >            # -- set up the different version  -- externals
67 >            foreach $version ( $self->{toolbox}->versions($tool) ) {
68 >             $toolobj=$self->{toolbox}->gettool($tool,$version);
69 >             @deps=$toolobj->getfeature("_externals");
70 >             foreach $d ( @deps ) {
71 >              $d=~tr[A-Z][a-z];
72                print $fout "ifdef ".$tool."_V_".$version."\n $d=true\nendif\n";
73 <            }
74 <            # -- tool info
75 <            print $fout "ifdef ".$tool."_V_".$version."\n";
76 <            foreach $f ( $toolobj->features() ) {
73 >             }
74 >             # -- tool info
75 >             print $fout "ifdef ".$tool."_V_".$version."\n";
76 >             foreach $f ( $toolobj->features() ) {
77                foreach $val ( $toolobj->getfeature($f) ) {
78                  print $fout "\t".$f." += ".$val."\n";
79                }
80 +             }
81 +             print $fout "endif\n";
82              }
78            print $fout "endif\n";
83            }
84            # some addittional processing of specific vars
85            print $fout 'INCLUDEPATH+=$(addprefix -I,$(INCLUDE))'."\n";

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines