summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorelliott_c <elliott_c@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-11-11 18:22:49 +0000
committerelliott_c <elliott_c@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-11-11 18:22:49 +0000
commit4cd2bddb9ea2087d9fff5cdb541e68bdb4392859 (patch)
tree1b440b2941db04f026b416dd02e52802adc1bdc4 /bin
parent8f0365a8367570b71faa487524abdce64e26c2f1 (diff)
downloadATCD-4cd2bddb9ea2087d9fff5cdb541e68bdb4392859.tar.gz
ChangeLogTag: Tue Nov 11 12:20:14 2003 Chad Elliott <elliott_c@ociweb.com>
Diffstat (limited to 'bin')
-rw-r--r--bin/MakeProjectCreator/modules/WorkspaceCreator.pm21
-rw-r--r--bin/MakeProjectCreator/templates/gnu.mpd3
2 files changed, 21 insertions, 3 deletions
diff --git a/bin/MakeProjectCreator/modules/WorkspaceCreator.pm b/bin/MakeProjectCreator/modules/WorkspaceCreator.pm
index 5a6eb1dbce5..e806741417c 100644
--- a/bin/MakeProjectCreator/modules/WorkspaceCreator.pm
+++ b/bin/MakeProjectCreator/modules/WorkspaceCreator.pm
@@ -938,7 +938,8 @@ sub add_implicit_project_dependencies {
my($append) = $generator->translate_value('after', $key);
my($file) = $self->{'project_file_list'}->{$ikey}->[0];
my($dir) = $self->{'project_file_list'}->{$ikey}->[1];
-
+ my($cfile) = $self->escape_regex_special(
+ $generator->translate_value('after', $ikey));
## Remove our starting directory from the projects directory
## to get the right part of the directory to prepend.
$dir =~ s/^$cwd[\/\\]*//;
@@ -946,8 +947,22 @@ sub add_implicit_project_dependencies {
$file = "$dir/$file";
}
- ## Append the dependency
- $self->{'project_info'}->{$file}->[1] .= " $append";
+ ## Turn the append value into a key for 'project_info'
+ my($ccheck) = $append;
+ $ccheck =~ s/"//g;
+ if ($dir ne '') {
+ $ccheck = "$dir/$ccheck";
+ }
+
+ ## If the append value key contains a reference to the project
+ ## that we were going to append the dependency value, then
+ ## ignore the generated dependency. It is redundant and
+ ## quite possibly wrong.
+ if (defined $self->{'project_info'}->{$ccheck} &&
+ $self->{'project_info'}->{$ccheck}->[1] !~ /$cfile/) {
+ ## Append the dependency
+ $self->{'project_info'}->{$file}->[1] .= " $append";
+ }
}
}
}
diff --git a/bin/MakeProjectCreator/templates/gnu.mpd b/bin/MakeProjectCreator/templates/gnu.mpd
index d9ef3fc53ff..be74a474951 100644
--- a/bin/MakeProjectCreator/templates/gnu.mpd
+++ b/bin/MakeProjectCreator/templates/gnu.mpd
@@ -361,6 +361,9 @@ endif
INSTALL_CHECK = <%if(dllout)%><%dllout%><%else%><%libout%><%endif%>
ifeq ($(INSTALL_CHECK),.)
+ ifeq ($(PWD),)
+ PWD=$(shell pwd)
+ endif
INSLIB = $(PWD)
else
INSLIB = $(INSTALL_CHECK)