summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelliott_c <ocielliottc@users.noreply.github.com>2004-03-19 14:37:07 +0000
committerelliott_c <ocielliottc@users.noreply.github.com>2004-03-19 14:37:07 +0000
commit299962df95ef10c8c63a0b07ce106bbb036fd310 (patch)
tree8ea2f9939f8c4310464b0ebe10bf5a6efdd95f16
parent070ff4ea6789e9a0256c47f4a2430352b4732181 (diff)
downloadATCD-299962df95ef10c8c63a0b07ce106bbb036fd310.tar.gz
ChangeLogTag: Fri Mar 19 08:33:01 2004 Chad Elliott <elliott_c@ociweb.com>
-rw-r--r--ChangeLog90
-rw-r--r--bin/MakeProjectCreator/README10
-rw-r--r--bin/MakeProjectCreator/config/ciao_servant.mpb1
-rw-r--r--bin/MakeProjectCreator/config/psdl.mpb1
-rw-r--r--bin/MakeProjectCreator/config/taoidldefaults.mpb1
-rw-r--r--bin/MakeProjectCreator/modules/Creator.pm17
-rw-r--r--bin/MakeProjectCreator/modules/ProjectCreator.pm32
-rw-r--r--bin/MakeProjectCreator/templates/em3vcp.mpd2
-rw-r--r--bin/MakeProjectCreator/templates/gnu.mpd12
-rw-r--r--bin/MakeProjectCreator/templates/make.mpd2
-rw-r--r--bin/MakeProjectCreator/templates/vc6dsp.mpd2
-rw-r--r--bin/MakeProjectCreator/templates/vc7.mpd2
12 files changed, 132 insertions, 40 deletions
diff --git a/ChangeLog b/ChangeLog
index e14fdbfde2f..e8e821cc8e2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,38 +1,70 @@
+Fri Mar 19 08:33:01 2004 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/MakeProjectCreator/modules/Creator.pm:
+ * bin/MakeProjectCreator/modules/ProjectCreator.pm:
+ * bin/MakeProjectCreator/templates/em3vcp.mpd:
+ * bin/MakeProjectCreator/templates/gnu.mpd:
+ * bin/MakeProjectCreator/templates/make.mpd:
+ * bin/MakeProjectCreator/templates/vc6dsp.mpd:
+ * bin/MakeProjectCreator/templates/vc7.mpd:
+
+ Fixed a bug where a command dependency would be placed upon
+ generated files. The full path to the command is not always
+ supplied during custom definition and thus dependencies couldn't
+ be satisfied because the command doesn't necessarily exist in the
+ current directory.
+
+ The solution was to add a new custom definition keyword that
+ allows the user to determine whether the command dependency should
+ be generated or not. The default is to not generate a command
+ dependency.
+
+ * bin/MakeProjectCreator/README:
+
+ Documented the new 'dependant' keyword for custom definitions.
+
+ * bin/MakeProjectCreator/config/ciao_servant.mpb:
+ * bin/MakeProjectCreator/config/psdl.mpb:
+ * bin/MakeProjectCreator/config/taoidldefaults.mpb:
+
+ Set 'dependent' to 1 to ensure that the command dependency is
+ generated for these custom definitions.
+
Thu Mar 18 22:47:05 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
- * ace/Task.cpp:
- * ace/Task.h:
- * ace/Thread_Manager.cpp:
- * ace/Thread_Manager.h:
+ * ace/Task.cpp:
+ * ace/Task.h:
+ * ace/Thread_Manager.cpp:
+ * ace/Thread_Manager.h:
- The following change has been reverted "Fri Mar 5 23:09:14 2004
- Balachandran Natarajan <bala@dre.vanderbilt.edu>" . A better
- fix would be available soon. These fixes actually borke backward
- compatibility in a bad way.
+ The following change has been reverted "Fri Mar 5 23:09:14 2004
+ Balachandran Natarajan <bala@dre.vanderbilt.edu>" . A better
+ fix would be available soon. These fixes actually borke backward
+ compatibility in a bad way.
Thu Mar 18 13:50:21 2004 Steve Huston <shuston@riverace.com>
- * ace/Asynch_IO.{h cpp}: The change in
- Thu Mar 11 14:35:41 2004 Steve Huston <shuston@riverace.com>
- didn't go far enough... the problem exists in all derivatives of
- ACE_Asynch_Operation_Impl. Only ACE_Asynch_Operation deleted the
- implementation_ pointer in its constructor. However, since each
- derivative of ACE_Asynch_Operation was declaring its own
- implementation_ (in addition to the one in ACE_Asynch_Operation),
- no implementation was ever, in fact, being deleted. Hence:
- 1. The ACE_Asynch_Operation::implementation_ member is removed,
- along with the void implementation(ACE_Asynch_Operation_Impl*)
- method that set it.
- 2. The ACE_Asynch_Operation_Impl* implementation() method is now
- pure virtual in ACE_Asynch_Operation and must be implemented
- in each operation class.
- 3. Each operation class needs to maintain its own appropriately
- typed implementation pointer, and delete it when necessary.
- 4. The implementation(ACE_*_Impl*) methods are all removed, as
- none are necessary, and none are used any longer.
- The operation classes already were creating their own implementation
- objects, so that is the same now. However, they all now delete the
- implementation at destructor time.
+ * ace/Asynch_IO.{h cpp}: The change in
+ Thu Mar 11 14:35:41 2004 Steve Huston <shuston@riverace.com>
+ didn't go far enough... the problem exists in all derivatives of
+ ACE_Asynch_Operation_Impl. Only ACE_Asynch_Operation deleted the
+ implementation_ pointer in its constructor. However, since each
+ derivative of ACE_Asynch_Operation was declaring its own
+ implementation_ (in addition to the one in ACE_Asynch_Operation),
+ no implementation was ever, in fact, being deleted. Hence:
+ 1. The ACE_Asynch_Operation::implementation_ member is removed,
+ along with the void implementation(ACE_Asynch_Operation_Impl*)
+ method that set it.
+ 2. The ACE_Asynch_Operation_Impl* implementation() method is now
+ pure virtual in ACE_Asynch_Operation and must be implemented
+ in each operation class.
+ 3. Each operation class needs to maintain its own appropriately
+ typed implementation pointer, and delete it when necessary.
+ 4. The implementation(ACE_*_Impl*) methods are all removed, as
+ none are necessary, and none are used any longer.
+ The operation classes already were creating their own implementation
+ objects, so that is the same now. However, they all now delete the
+ implementation at destructor time.
Thu Mar 18 08:59:40 2004 Chad Elliott <elliott_c@ociweb.com>
diff --git a/bin/MakeProjectCreator/README b/bin/MakeProjectCreator/README
index 114700a33e0..e1103cdc4c4 100644
--- a/bin/MakeProjectCreator/README
+++ b/bin/MakeProjectCreator/README
@@ -150,6 +150,12 @@ specific This scope allows assignments that are specific to a
...
}
+ If a keyword is not recognized as a valid MPC keyword, it is
+ interpreted as a template value modifier. In this
+ situation, this construct has the exact same restrictions as
+ the -value_template command line option. See the USAGE file
+ for more information.
+
requires Specifies which features should be enabled in order to
generate the project file. Under the GNUACE type, it also
specifies which tao macros should be set to build the
@@ -209,6 +215,10 @@ automatic If set to 1, then attempt to automatically determine
adding files to Source_Files, Inline_Files, Header_Files
Template_Files, Resource_Files and Documentation_Files
depending on which extension types the command generates.
+dependent If this value is set, then a dependency upon the command
+ will be placed upon all of the generated files. The
+ default for this is unset and no dependency will be
+ generated.
command The name of the command that should be used to process
the input files for the custom type.
commandflags Any options that should be passed to the command go here.
diff --git a/bin/MakeProjectCreator/config/ciao_servant.mpb b/bin/MakeProjectCreator/config/ciao_servant.mpb
index afaa85c9ece..adb1b89819b 100644
--- a/bin/MakeProjectCreator/config/ciao_servant.mpb
+++ b/bin/MakeProjectCreator/config/ciao_servant.mpb
@@ -7,6 +7,7 @@ project : ciao_component {
Define_Custom(CIDL) {
automatic = 0
+ dependent = 1
command = $(CIAO_ROOT)/bin/cidlc
commandflags = -I$(CIAO_ROOT) -I$(CIAO_ROOT)/ciao -I$(TAO_ROOT) -I$(TAO_ROOT)/tao --
inputext = .cidl
diff --git a/bin/MakeProjectCreator/config/psdl.mpb b/bin/MakeProjectCreator/config/psdl.mpb
index e2c62ecbc31..f6876000d00 100644
--- a/bin/MakeProjectCreator/config/psdl.mpb
+++ b/bin/MakeProjectCreator/config/psdl.mpb
@@ -6,6 +6,7 @@ project {
libs += TAO_PSDL TAO_PSDL_Datastore
Define_Custom(PSDL) {
+ dependent = 1
command = $(TAO_ROOT)/orbsvcs/PSS/psdl_tao
libpath = $(ACE_ROOT)/lib
inputext = .psdl
diff --git a/bin/MakeProjectCreator/config/taoidldefaults.mpb b/bin/MakeProjectCreator/config/taoidldefaults.mpb
index d8a3955baa1..2c2b6958dba 100644
--- a/bin/MakeProjectCreator/config/taoidldefaults.mpb
+++ b/bin/MakeProjectCreator/config/taoidldefaults.mpb
@@ -4,6 +4,7 @@
project {
Define_Custom(IDL) {
automatic = 1
+ dependent = 1
command = $(ACE_ROOT)/bin/tao_idl
libpath = $(ACE_ROOT)/lib
inputext = .idl
diff --git a/bin/MakeProjectCreator/modules/Creator.pm b/bin/MakeProjectCreator/modules/Creator.pm
index f63828d061c..78449e6af25 100644
--- a/bin/MakeProjectCreator/modules/Creator.pm
+++ b/bin/MakeProjectCreator/modules/Creator.pm
@@ -358,9 +358,12 @@ sub parse_scope {
}
}
else {
- $status = 0;
- $errorString = "Invalid assignment name: $values[1]";
- last;
+ ($status,
+ $errorString) = $self->handle_unknown_assignment($type,
+ @values);
+ if (!$status) {
+ last;
+ }
}
}
else {
@@ -862,6 +865,14 @@ sub handle_scoped_end {
}
+sub handle_unknown_assignment {
+ my($self) = shift;
+ my($type) = shift;
+ my(@values) = @_;
+ return 0, "Invalid assignment name: $values[1]";
+}
+
+
sub handle_scoped_unknown {
my($self) = shift;
my($type) = shift;
diff --git a/bin/MakeProjectCreator/modules/ProjectCreator.pm b/bin/MakeProjectCreator/modules/ProjectCreator.pm
index b2393254234..e6acc47e95c 100644
--- a/bin/MakeProjectCreator/modules/ProjectCreator.pm
+++ b/bin/MakeProjectCreator/modules/ProjectCreator.pm
@@ -65,6 +65,7 @@ my(%validNames) = ('exename' => 1,
## 0 means that it is an array that gets outputext converted to files
## 1 means that it is always scalar
my(%customDefined) = ('automatic' => 1,
+ 'dependent' => 1,
'command' => 1,
'commandflags' => 1,
'inputext' => -1,
@@ -533,8 +534,9 @@ sub parse_line {
}
elsif ($comp eq 'specific') {
my($scope_parsed) = 0;
+ my($defcomp) = $self->get_default_component_name();
foreach my $type (split(/\s*,\s*/, $name)) {
- if ($type eq $self->{'pctype'}) {
+ if ($type eq $self->{'pctype'} || $type eq $defcomp) {
($status, $errorString) = $self->parse_scope(
$ih, $values[1], $type,
$self->{'valid_names'},
@@ -641,6 +643,34 @@ sub parse_scoped_assignment {
}
+sub handle_unknown_assignment {
+ my($self) = shift;
+ my($type) = shift;
+ my(@values) = @_;
+
+ ## Unknown assignments within a 'specific' section are handled as
+ ## template value modifications. These are handled exactly as the
+ ## -value_template option in Options.pm.
+
+ ## If $type is not defined, then we are skipping this section
+ if (defined $type) {
+ $self->information("'$values[1]' was used as a template modifier.");
+ if ($values[0] eq 'assign_add') {
+ $values[0] = 1;
+ }
+ elsif ($values[0] eq 'assign_sub') {
+ $values[0] = -1;
+ }
+ else {
+ $values[0] = 0;
+ }
+ $self->get_addtemp()->{$values[1]} = [$values[0], $values[2]];
+ }
+
+ return 1, undef;
+}
+
+
sub parse_components {
my($self) = shift;
my($fh) = shift;
diff --git a/bin/MakeProjectCreator/templates/em3vcp.mpd b/bin/MakeProjectCreator/templates/em3vcp.mpd
index 70a0e798dd5..6ef1a56bb28 100644
--- a/bin/MakeProjectCreator/templates/em3vcp.mpd
+++ b/bin/MakeProjectCreator/templates/em3vcp.mpd
@@ -208,7 +208,9 @@ SOURCE="<%custom_type->input_file%>"
<%foreach(configurations)%>
!<%fornotfirst("ELSE")%>IF "$(CFG)" == "<%project_name%> - <%operating_system%> (<%platform%>) <%configuration%>"
+<%if(custom_type->dependent)%>
USERDEP__<%basenoextension(custom_type->input_file)%>=<%custom_type->command%>.exe
+<%endif%>
# PROP Ignore_Default_Tool 1
# Begin Custom Build - Invoking <%custom_type->command%> on $(InputPath)
InputPath=<%custom_type->input_file%>
diff --git a/bin/MakeProjectCreator/templates/gnu.mpd b/bin/MakeProjectCreator/templates/gnu.mpd
index 9ef27ab4b1a..d1aa1e75988 100644
--- a/bin/MakeProjectCreator/templates/gnu.mpd
+++ b/bin/MakeProjectCreator/templates/gnu.mpd
@@ -113,6 +113,8 @@ LIBCHECK = $(shell for lib in <%libs%>; do for libpath in <%libpaths%>; do full=
<%else%>
LIBCHECK = 1
<%endif%>
+<%else%>
+LIBCHECK = 1
<%endif%>
<%if(!exename)%>
<%foreach(requires)%>
@@ -293,6 +295,9 @@ include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
include $(TAO_ROOT)/taoconfig.mk
<%endif%>
+<%if(libpaths)%>
+LDFLAGS +=<%foreach(libpaths)%> -L<%libpath%><%endfor%>
+<%endif%>
<%if(includes)%>
CPPFLAGS +=<%foreach(includes)%> -I<%include%><%endfor%>
<%endif%>
@@ -312,11 +317,6 @@ ifeq ($(static_libs),1)
endif
<%endif%>
-
-<%if(libpaths)%>
-LDFLAGS +=<%foreach(libpaths)%> -L<%libpath%><%endfor%>
-<%endif%>
-
#----------------------------------------------------------------------------
# Local targets
#----------------------------------------------------------------------------
@@ -358,7 +358,7 @@ GENERATED_DIRTY +=<%foreach(custom_type->input_file->output_files)%> <%if(flag_o
.NOTPARALLEL:
<%endif%>
<%endfor%>
-<%foreach(custom_type->input_file->output_files)%><%if(flag_overrides(custom_type->input_file, gendir))%><%flag_overrides(custom_type->input_file, gendir)%>/<%basename(custom_type->input_file->output_file)%><%else%><%custom_type->input_file->output_file%><%endif%><%fornotlast(" ")%><%endfor%>: <%custom_type->input_file%> <%custom_type->command%>$(EXEEXT)
+<%foreach(custom_type->input_file->output_files)%><%if(flag_overrides(custom_type->input_file, gendir))%><%flag_overrides(custom_type->input_file, gendir)%>/<%basename(custom_type->input_file->output_file)%><%else%><%custom_type->input_file->output_file%><%endif%><%fornotlast(" ")%><%endfor%>: <%custom_type->input_file%><%if(custom_type->dependent)%> <%custom_type->command%>$(EXEEXT)<%endif%>
<%custom_type->command%> <%if(pch_header)%><%if(custom_type->pch_option)%><%custom_type->pch_option%><%pch_header%> <%endif%><%endif%><%if(flag_overrides(custom_type->input_file, commandflags))%><%flag_overrides(custom_type->input_file, commandflags)%><%else%><%custom_type->commandflags%><%endif%> <%custom_type->input_file%> <%if(custom_type->output_option)%><%custom_type->output_option%> $@<%endif%>
<%endif%>
diff --git a/bin/MakeProjectCreator/templates/make.mpd b/bin/MakeProjectCreator/templates/make.mpd
index 211e942a701..241dd848c2e 100644
--- a/bin/MakeProjectCreator/templates/make.mpd
+++ b/bin/MakeProjectCreator/templates/make.mpd
@@ -152,7 +152,7 @@ PATH := $(PATH):<%custom_type->libpath%>
<%endif%>
<%foreach(custom_type->input_files)%>
<%if(custom_type->input_file->output_files)%>
-<%foreach(custom_type->input_file->output_files)%><%if(flag_overrides(custom_type->input_file, gendir))%><%flag_overrides(custom_type->input_file, gendir)%>/<%basename(custom_type->input_file->output_file)%><%else%><%custom_type->input_file->output_file%><%endif%><%fornotlast(" ")%><%endfor%>: <%custom_type->input_file%>
+<%foreach(custom_type->input_file->output_files)%><%if(flag_overrides(custom_type->input_file, gendir))%><%flag_overrides(custom_type->input_file, gendir)%>/<%basename(custom_type->input_file->output_file)%><%else%><%custom_type->input_file->output_file%><%endif%><%fornotlast(" ")%><%endfor%>: <%custom_type->input_file%><%if(custom_type->dependent)%> <%custom_type->command%><%endif%>
<%custom_type->command%> <%if(pch_header)%><%if(custom_type->pch_option)%><%custom_type->pch_option%><%pch_header%> <%endif%><%endif%><%if(flag_overrides(custom_type->input_file, commandflags))%><%flag_overrides(custom_type->input_file, commandflags)%><%else%><%custom_type->commandflags%><%endif%> <%custom_type->input_file%> <%if(custom_type->output_option)%><%custom_type->output_option%> $@<%endif%>
<%endif%>
diff --git a/bin/MakeProjectCreator/templates/vc6dsp.mpd b/bin/MakeProjectCreator/templates/vc6dsp.mpd
index 101102f791d..f7a9986a786 100644
--- a/bin/MakeProjectCreator/templates/vc6dsp.mpd
+++ b/bin/MakeProjectCreator/templates/vc6dsp.mpd
@@ -195,7 +195,9 @@ SOURCE="<%custom_type->input_file%>"
<%foreach(configurations)%>
!<%fornotfirst("ELSE")%>IF "$(CFG)" == "<%project_name%> - <%platform%> <%configuration%>"
+<%if(custom_type->dependent)%>
USERDEP__<%basenoextension(custom_type->input_file)%>=<%custom_type->command%>.exe
+<%endif%>
# PROP Ignore_Default_Tool 1
# Begin Custom Build - Invoking <%custom_type->command%> on $(InputPath)
InputPath=<%custom_type->input_file%>
diff --git a/bin/MakeProjectCreator/templates/vc7.mpd b/bin/MakeProjectCreator/templates/vc7.mpd
index 9fe871e42f6..3e8a8186869 100644
--- a/bin/MakeProjectCreator/templates/vc7.mpd
+++ b/bin/MakeProjectCreator/templates/vc7.mpd
@@ -171,7 +171,9 @@
Description="Invoking <%custom_type->command%> on <%custom_type->input_file%>"
CommandLine="<%if(custom_type->libpath)%>PATH=%PATH%;<%custom_type->libpath%>
<%endif%><%custom_type->command%> <%if(pch_header)%><%if(custom_type->pch_option)%><%custom_type->pch_option%><%pch_header%> <%endif%><%endif%><%if(flag_overrides(custom_type->input_file, commandflags))%><%flag_overrides(custom_type->input_file, commandflags)%><%else%><%custom_type->commandflags%><%endif%> <%custom_type->input_file%> <%if(custom_type->output_option)%><%custom_type->output_option%> <%if(flag_overrides(custom_type->input_file, gendir))%><%flag_overrides(custom_type->input_file, gendir)%>\<%basename(custom_type->input_file->output_files)%><%else%><%custom_type->input_file->output_files%><%endif%><%endif%>"
+<%if(custom_type->dependent)%>
AdditionalDependencies="<%custom_type->command%>.exe"
+<%endif%>
Outputs="<%foreach(custom_type->input_file->output_files)%><%if(flag_overrides(custom_type->input_file, gendir))%><%flag_overrides(custom_type->input_file, gendir)%>\<%basename(custom_type->input_file->output_file)%><%else%><%custom_type->input_file->output_file%><%endif%><%fornotlast(";")%><%endfor%>"/>
</FileConfiguration>
<%endfor%>