Subversion Repositories DevTools

Rev

Rev 285 | Rev 331 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 285 Rev 311
Line 45... Line 45...
45
 
45
 
46
our %DescPkgCache           = ();           # Hash of known packages
46
our %DescPkgCache           = ();           # Hash of known packages
47
our %PackageDefined         = ();           # Quick defined package test
47
our %PackageDefined         = ();           # Quick defined package test
48
our @PackageList            = ();           # Ordered array of packages
48
our @PackageList            = ();           # Ordered array of packages
49
 
49
 
-
 
50
 
-
 
51
#-------------------------------------------------------------------------------
-
 
52
# Function        : EmptyEntry
-
 
53
#
-
 
54
# Description     : Create an empty class element
-
 
55
#                   Populated with the basic items
-
 
56
#
-
 
57
# Inputs          : None
-
 
58
#
-
 
59
# Returns         : New, empty entry
-
 
60
#
50
sub New
61
sub EmptyEntry
51
{
62
{
52
    my ($base, $name, $version, $sandbox, $type) = @_;
-
 
53
    my ($self) = {
63
    my ($self) = {
54
            PINCDIRS        => [],
64
            PINCDIRS        => [],
55
            PLIBDIRS        => [],
65
            PLIBDIRS        => [],
56
            LIBEXAMINED     => {},
66
            LIBEXAMINED     => {},
57
            INCEXAMINED     => {},
67
            INCEXAMINED     => {},
58
            TOOLDIRS        => [],
68
            TOOLDIRS        => [],
59
            THXDIRS         => [],
69
            THXDIRS         => [],
60
        };
70
        };
61
    my ($ppkg);
71
    return bless $self, __PACKAGE__;
-
 
72
}
62
 
73
 
-
 
74
sub New
-
 
75
{
-
 
76
    my ($base, $name, $version, $sandbox, $type) = @_;
-
 
77
    my $self = EmptyEntry();
-
 
78
 
63
#   Load package description ...
79
    #   Load package description ...
64
#
80
    #
65
#       If a sandbox link, parse the build.pl and retrieve the BuildName()
81
    #       If a sandbox link, parse the build.pl and retrieve the BuildName()
66
#       otherwise, load the description from the 'descpkg'.
82
    #       otherwise, load the description from the 'descpkg'.
67
#
83
    #
68
#   Note:   The results are cached within DescPkgCache
84
    #   Note:   The results are cached within DescPkgCache
69
#..
85
    #..
70
    if ( ! exists( $DescPkgCache{$base} ) )
86
    if ( ! exists( $DescPkgCache{$base} ) )
71
    {
87
    {
72
        my ($rec);
88
        my ($rec);
73
        my ($desc) = "";
89
        my ($desc) = "";
74
 
90
 
Line 155... Line 171...
155
    $self->{'packages'}     = $descpkg->{PACKAGES};
171
    $self->{'packages'}     = $descpkg->{PACKAGES};
156
    $self->{'type'}         = $type;
172
    $self->{'type'}         = $type;
157
    $self->{'cfgdir'}       = "/gbe"
173
    $self->{'cfgdir'}       = "/gbe"
158
        if ( $sandbox || -d $base."/gbe" );
174
        if ( $sandbox || -d $base."/gbe" );
159
 
175
 
160
    return bless $self, __PACKAGE__;
176
    return $self;
-
 
177
}
-
 
178
 
-
 
179
#-------------------------------------------------------------------------------
-
 
180
# Function        : Interface
-
 
181
#
-
 
182
# Description     : Create a specialised 'interface' entry
-
 
183
#
-
 
184
# Inputs          : $base           - Path to the Interface directory
-
 
185
#
-
 
186
# Returns         : Ref to this class
-
 
187
#
-
 
188
sub Interface
-
 
189
{
-
 
190
    my ($base) = @_;
-
 
191
    my $self = EmptyEntry();
-
 
192
 
-
 
193
    $self->{'base'}         = $base;
-
 
194
    $self->{'name'}         = 'INTERFACE';
-
 
195
    $self->{'version'}      = '0.0.0';
-
 
196
    $self->{'sandbox'}      = 0;
-
 
197
    $self->{'dname'}        = $self->{'name'};
-
 
198
    $self->{'dversion'}     = $self->{'version'};
-
 
199
    $self->{'dproj'}        = '';
-
 
200
    $self->{'packages'}     = '';
-
 
201
    $self->{'type'}         = 'interface';
-
 
202
    $self->{'cfgdir'}       = '/gbe';
-
 
203
 
-
 
204
    return $self;
-
 
205
 
161
}
206
}
162
 
207
 
163
sub RuleInc
208
sub RuleInc
164
{
209
{
165
    my( $self ) = shift;
210
    my( $self ) = shift;