forked from DOCGroup/MPC
-
Notifications
You must be signed in to change notification settings - Fork 10
/
mpc.pl
executable file
·59 lines (47 loc) · 2.02 KB
/
mpc.pl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#!/usr/bin/env perl
eval '(exit $?0)' && eval 'exec perl -w -S $0 ${1+"$@"}'
& eval 'exec perl -w -S $0 $argv:q'
if 0;
# ******************************************************************
# Author: Chad Elliott
# Date: 6/17/2002
# ******************************************************************
# ******************************************************************
# Pragma Section
# ******************************************************************
require 5.006;
use strict;
use FindBin;
use File::Spec;
use File::Basename;
## Sometimes $FindBin::RealBin will end up undefined. If it is, we need
## to use the directory of the built-in script name. And, for VMS, we
## have to convert that into a UNIX path so that Perl can use it
## internally.
my $basePath = (defined $FindBin::RealBin && $FindBin::RealBin ne '' ?
$FindBin::RealBin : File::Spec->rel2abs(dirname($0)));
$basePath = VMS::Filespec::unixify($basePath) if ($^O eq 'VMS');
## Add the full path to the MPC modules to the Perl include path
my $mpcpath = $basePath;
unshift(@INC, $mpcpath . '/modules');
## If the ACE_ROOT environment variable is defined and this version of
## MPC is located inside the directory to which ACE_ROOT points, we will
## assume that the user wanted the ACE specific version of this script.
## We will change the $basePath to what it would have been had the user
## run this script out of $ACE_ROOT/bin.
my $aceroot = $ENV{ACE_ROOT};
$aceroot =~ s!\\!/!g if (defined $aceroot);
$basePath = $aceroot . '/bin/MakeProjectCreator'
if (defined $aceroot && $aceroot eq dirname($basePath));
require Driver;
# ************************************************************
# Subroutine Section
# ************************************************************
sub getBasePath {
return $mpcpath;
}
# ************************************************************
# Main Section
# ************************************************************
my $driver = new Driver($basePath, Driver::projects());
exit($driver->run(@ARGV));