summaryrefslogtreecommitdiff
path: root/ACE/bin/mwc.pl
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/bin/mwc.pl')
-rwxr-xr-xACE/bin/mwc.pl89
1 files changed, 89 insertions, 0 deletions
diff --git a/ACE/bin/mwc.pl b/ACE/bin/mwc.pl
new file mode 100755
index 00000000000..607bccbb8bc
--- /dev/null
+++ b/ACE/bin/mwc.pl
@@ -0,0 +1,89 @@
+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
+# $Id$
+# ******************************************************************
+
+# ******************************************************************
+# Pragma Section
+# ******************************************************************
+
+require 5.006;
+
+use strict;
+use Config;
+use FindBin;
+use File::Spec;
+use File::Basename;
+
+my($basePath) = $FindBin::Bin;
+if ($^O eq 'VMS') {
+ $basePath = File::Spec->rel2abs(dirname($0)) if ($basePath eq '');
+ $basePath = VMS::Filespec::unixify($basePath);
+}
+$basePath .= '/MakeProjectCreator';
+unshift(@INC, $basePath . '/modules');
+
+my($mpcroot) = $ENV{MPC_ROOT};
+my($mpcpath) = (defined $mpcroot ? $mpcroot :
+ dirname(dirname($basePath)) . '/MPC');
+unshift(@INC, $mpcpath . '/modules');
+
+if (defined $mpcroot) {
+ print STDERR "MPC_ROOT was set to $mpcroot.\n";
+}
+
+if (! -d "$mpcpath/modules") {
+ print STDERR "ERROR: Unable to find the MPC modules in $mpcpath.\n";
+ if (defined $mpcroot) {
+ print STDERR "Your MPC_ROOT environment variable does not point to a ",
+ "valid MPC location.\n";
+ }
+ else {
+ print STDERR "You can set the MPC_ROOT environment variable to the ",
+ "location of MPC.\n";
+ }
+ exit(255);
+}
+
+require MWC;
+
+# ************************************************************
+# Data Section
+# ************************************************************
+
+my(@creators) = ('GNUACEWorkspaceCreator',
+ 'BorlandWorkspaceCreator',
+ );
+
+# ************************************************************
+# Subroutine Section
+# ************************************************************
+
+sub getBasePath {
+ return $mpcpath;
+}
+
+# ************************************************************
+# Main Section
+# ************************************************************
+
+## Allocate a driver
+my($driver) = new MWC();
+
+## Add our creators to the front of the list
+my($creators) = $driver->getCreatorList();
+unshift(@$creators, @creators);
+
+## Add the mpc path to the include paths, but preserve
+## the original @ARGV as it is included in the output of
+## most of the workspace creators.
+my(@args) = ('-include', "$mpcpath/config",
+ '-include', "$mpcpath/templates", @ARGV);
+
+## Execute the driver
+exit($driver->execute($basePath, basename($0), \@args));