diff options
author | elliott_c <ocielliottc@users.noreply.github.com> | 2004-03-19 14:37:07 +0000 |
---|---|---|
committer | elliott_c <ocielliottc@users.noreply.github.com> | 2004-03-19 14:37:07 +0000 |
commit | 299962df95ef10c8c63a0b07ce106bbb036fd310 (patch) | |
tree | 8ea2f9939f8c4310464b0ebe10bf5a6efdd95f16 | |
parent | 070ff4ea6789e9a0256c47f4a2430352b4732181 (diff) | |
download | ATCD-299962df95ef10c8c63a0b07ce106bbb036fd310.tar.gz |
ChangeLogTag: Fri Mar 19 08:33:01 2004 Chad Elliott <elliott_c@ociweb.com>
-rw-r--r-- | ChangeLog | 90 | ||||
-rw-r--r-- | bin/MakeProjectCreator/README | 10 | ||||
-rw-r--r-- | bin/MakeProjectCreator/config/ciao_servant.mpb | 1 | ||||
-rw-r--r-- | bin/MakeProjectCreator/config/psdl.mpb | 1 | ||||
-rw-r--r-- | bin/MakeProjectCreator/config/taoidldefaults.mpb | 1 | ||||
-rw-r--r-- | bin/MakeProjectCreator/modules/Creator.pm | 17 | ||||
-rw-r--r-- | bin/MakeProjectCreator/modules/ProjectCreator.pm | 32 | ||||
-rw-r--r-- | bin/MakeProjectCreator/templates/em3vcp.mpd | 2 | ||||
-rw-r--r-- | bin/MakeProjectCreator/templates/gnu.mpd | 12 | ||||
-rw-r--r-- | bin/MakeProjectCreator/templates/make.mpd | 2 | ||||
-rw-r--r-- | bin/MakeProjectCreator/templates/vc6dsp.mpd | 2 | ||||
-rw-r--r-- | bin/MakeProjectCreator/templates/vc7.mpd | 2 |
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%> |