summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorSteve Huston <shuston@riverace.com>2002-12-18 18:40:01 +0000
committerSteve Huston <shuston@riverace.com>2002-12-18 18:40:01 +0000
commit464e042bc0dd75df3bcf1315ca43a36362a0812e (patch)
tree3424f3dbcbd2418fb007ec91dbd238adc6cabe19 /bin
parent1fbfb52cd1e698f491286211b95241549c504f25 (diff)
downloadATCD-464e042bc0dd75df3bcf1315ca43a36362a0812e.tar.gz
ChangeLogTag:Wed Dec 18 13:36:49 2002 Steve Huston <shuston@riverace.com>
Diffstat (limited to 'bin')
-rw-r--r--bin/MakeProjectCreator/modules/Driver.pm11
1 files changed, 11 insertions, 0 deletions
diff --git a/bin/MakeProjectCreator/modules/Driver.pm b/bin/MakeProjectCreator/modules/Driver.pm
index 25336693df7..296bdc86639 100644
--- a/bin/MakeProjectCreator/modules/Driver.pm
+++ b/bin/MakeProjectCreator/modules/Driver.pm
@@ -11,6 +11,7 @@ package Driver;
# ************************************************************
use strict;
+use File::Basename;
# ************************************************************
# Data Section
@@ -345,6 +346,15 @@ sub run {
my(%loaded) = ();
## Generate the files
foreach my $file (@input) {
+ ## To correctly reference any pathnames in the input file, chdir to
+ ## its directory if there's any directory component to the specified path.
+ my $orig_dir = Cwd::getcwd();
+ my $dir = dirname($file);
+ my $base = basename($file);
+ if ($base ne $file) {
+ chdir($dir);
+ $file = $base;
+ }
foreach my $name (@generators) {
if (!$loaded{$name}) {
require "$name.pm";
@@ -363,6 +373,7 @@ sub run {
}
print " End Time: " . scalar(localtime(time())) . "\n";
}
+ chdir($orig_dir);
}
return $status;