61 lines
1.5 KiB
Perl
61 lines
1.5 KiB
Perl
require "$tool/built/include/ctutils.pl" ;
|
|
|
|
# return the root of the given project.
|
|
sub CTProjRoot {
|
|
local( $CTPRtmp ) = $_[0] ;
|
|
$CTPRtmp =~ tr/a-z/A-Z/ ;
|
|
local( $CTPRret ) = $ENV{ $CTPRtmp } ;
|
|
$CTPRret ;
|
|
}
|
|
|
|
# return the package we're currently in.
|
|
# input:
|
|
# $_[0] = project
|
|
sub CTProjPkg {
|
|
local( $CTPPret ) = &CTUCurrDir() ;
|
|
local( $CTPPtmp ) = $_[0] ;
|
|
$CTPPtmp =~ tr/a-z/A-Z/ ;
|
|
$CTPPret =~ s/$ENV{ $CTPPtmp }// ;
|
|
$CTPPret =~ s/\/src\/// ;
|
|
$CTPPret =~ s/\/metalibs\/// ;
|
|
$CTPPret ;
|
|
}
|
|
|
|
# reutrn the project containing the given directory. If no directory is given,
|
|
# return the project containing the current directory.
|
|
sub CTProj {
|
|
local( $CTPdir ) ;
|
|
if ($_[0] eq "") {
|
|
$CTPdir = &CTUCurrDir() ;
|
|
} else {
|
|
# provided directory
|
|
$CTPdir = $_[0] ;
|
|
}
|
|
local( $CTPprojs ) = $ENV{"CTPROJS"} ;
|
|
local( $CTPdone ) = "" ;
|
|
local( @CTPlist ) ;
|
|
@CTPlist = split( / /, $CTPprojs ) ;
|
|
local( @CTPlist2 ) ;
|
|
local( $CTPtry ) ;
|
|
while (( $CTPdone eq "" ) && ( @CTPlist != () )){
|
|
# pop the first one off the list
|
|
$CTPtmp = $CTPlist[0] ;
|
|
shift( @CTPlist ) ;
|
|
# split the project from it's flavor
|
|
@CTPlist2 = split( /:/, $CTPtmp );
|
|
$CTPtry = &CTProjRoot( $CTPlist2[0] ) ;
|
|
# is CTPtry prefix of CTPdir? if so we have our winner
|
|
if ( $CTPdir =~ /^$CTPtry/ ) {
|
|
$CTPdone = "yep" ;
|
|
}
|
|
}
|
|
if ( $CTPdone eq "" ) {
|
|
$CTPtry = "" ;
|
|
} else {
|
|
$CTPtry = $CTPlist2[0] ;
|
|
}
|
|
$CTPtry ;
|
|
}
|
|
|
|
1;
|