diff options
author | elliott_c <ocielliottc@users.noreply.github.com> | 2010-03-22 00:48:10 +0000 |
---|---|---|
committer | elliott_c <ocielliottc@users.noreply.github.com> | 2010-03-22 00:48:10 +0000 |
commit | b47edb0428d6ec22e955e10ba1904cdc5a8c99e6 (patch) | |
tree | 65d7ad31f17a12f3f7031b81075df653077d3bb7 | |
parent | 29be59fa35f3d758213147792e44df60600fecca (diff) | |
download | MPC-b47edb0428d6ec22e955e10ba1904cdc5a8c99e6.tar.gz |
ChangeLogTag: Mon Mar 22 00:47:56 UTC 2010 Chad Elliott <elliott_c@gateway.2wire.net>
-rw-r--r-- | ChangeLog | 42 | ||||
-rw-r--r-- | modules/AutomakeWorkspaceCreator.pm | 3 | ||||
-rw-r--r-- | modules/BCB2007ProjectCreator.pm | 4 | ||||
-rw-r--r-- | modules/BCB2007WorkspaceCreator.pm | 3 | ||||
-rw-r--r-- | modules/BDS4ProjectCreator.pm | 4 | ||||
-rw-r--r-- | modules/BDS4WorkspaceCreator.pm | 3 | ||||
-rw-r--r-- | modules/BMakeWorkspaceCreator.pm | 23 | ||||
-rw-r--r-- | modules/BorlandProjectBase.pm | 17 | ||||
-rw-r--r-- | modules/BorlandPropertyBase.pm | 36 | ||||
-rw-r--r-- | modules/Creator.pm | 12 | ||||
-rw-r--r-- | modules/GHSProjectCreator.pm | 28 | ||||
-rw-r--r-- | modules/GHSWorkspaceCreator.pm | 3 | ||||
-rw-r--r-- | modules/MakeProjectBase.pm | 18 | ||||
-rw-r--r-- | modules/MakeWorkspaceBase.pm | 4 | ||||
-rw-r--r-- | modules/NMakeProjectCreator.pm | 8 | ||||
-rw-r--r-- | modules/NMakeWorkspaceCreator.pm | 22 | ||||
-rw-r--r-- | modules/ProjectCreator.pm | 6 | ||||
-rw-r--r-- | modules/VC6WorkspaceCreator.pm | 3 | ||||
-rw-r--r-- | modules/VC7WorkspaceCreator.pm | 3 | ||||
-rw-r--r-- | modules/VCProjectBase.pm | 17 | ||||
-rw-r--r-- | modules/WinProjectBase.pm | 18 | ||||
-rw-r--r-- | modules/WinWorkspaceBase.pm | 4 | ||||
-rw-r--r-- | modules/WixWorkspaceCreator.pm | 3 | ||||
-rw-r--r-- | templates/wix.mpd | 2 | ||||
-rw-r--r-- | templates/wix.mpt | 2 |
25 files changed, 183 insertions, 105 deletions
@@ -1,3 +1,43 @@ +Mon Mar 22 00:47:56 UTC 2010 Chad Elliott <elliott_c@gateway.2wire.net> + + * modules/AutomakeWorkspaceCreator.pm: + * modules/BCB2007ProjectCreator.pm: + * modules/BCB2007WorkspaceCreator.pm: + * modules/BDS4ProjectCreator.pm: + * modules/BDS4WorkspaceCreator.pm: + * modules/BMakeProjectCreator.pm: + * modules/BMakeWorkspaceCreator.pm: + * modules/BorlandPropertyBase.pm: + * modules/BorlandProjectBase.pm: + * modules/Creator.pm: + * modules/GHSProjectCreator.pm: + * modules/GHSPropertyBase.pm: + * modules/GHSWorkspaceCreator.pm: + * modules/MakeProjectBase.pm: + * modules/MakePropertyBase.pm: + * modules/MakeWorkspaceBase.pm: + * modules/NMakeProjectCreator.pm: + * modules/NMakeWorkspaceCreator.pm: + * modules/ProjectCreator.pm: + * modules/VC6WorkspaceCreator.pm: + * modules/VC7WorkspaceCreator.pm: + * modules/VCProjectBase.pm: + * modules/VCPropertyBase.pm: + * modules/WinProjectBase.pm: + * modules/WinPropertyBase.pm: + * modules/WinWorkspaceBase.pm: + * modules/WixWorkspaceCreator.pm: + + Modified properties to extend to workspaces instead of just + projects to allow use of properties within exclude() statements in + workspaces. + + * templates/wix.mpd: + * templates/wix.mpt: + + Removed improper defaulting within an if statement and moved it + into the template input file. + Wed Mar 17 11:55:26 UTC 2010 Chad Elliott <elliott_c@ociweb.com> * modules/Creator.pm: @@ -41,7 +81,7 @@ Tue Mar 9 11:23:55 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl. Added no_strict_aliasing=1 * config/nddslib.mpb: - Wen compiling for 64bit, add RTI_64BIT as define. When compiling + When compiling for 64bit, add RTI_64BIT as define. When compiling for linux, add RTI_LINUX as define Mon Mar 1 18:33:04 UTC 2010 Chad Elliott <elliott_c@ociweb.com> diff --git a/modules/AutomakeWorkspaceCreator.pm b/modules/AutomakeWorkspaceCreator.pm index e3cdf9c6..a658295a 100644 --- a/modules/AutomakeWorkspaceCreator.pm +++ b/modules/AutomakeWorkspaceCreator.pm @@ -14,11 +14,12 @@ use strict; use File::Copy; use AutomakeProjectCreator; +use MakePropertyBase; use WorkspaceCreator; use WorkspaceHelper; use vars qw(@ISA); -@ISA = qw(WorkspaceCreator); +@ISA = qw(MakePropertyBase WorkspaceCreator); # ************************************************************ # Data Section diff --git a/modules/BCB2007ProjectCreator.pm b/modules/BCB2007ProjectCreator.pm index 298a09a9..e6e81e13 100644 --- a/modules/BCB2007ProjectCreator.pm +++ b/modules/BCB2007ProjectCreator.pm @@ -13,11 +13,11 @@ package BCB2007ProjectCreator; use strict; use ProjectCreator; -use BorlandProjectBase; +use BorlandPropertyBase; use XMLProjectBase; use vars qw(@ISA); -@ISA = qw(XMLProjectBase BorlandProjectBase ProjectCreator); +@ISA = qw(XMLProjectBase BorlandPropertyBase ProjectCreator); # ************************************************************ # Subroutine Section diff --git a/modules/BCB2007WorkspaceCreator.pm b/modules/BCB2007WorkspaceCreator.pm index 50a31cf7..582e8c44 100644 --- a/modules/BCB2007WorkspaceCreator.pm +++ b/modules/BCB2007WorkspaceCreator.pm @@ -13,11 +13,12 @@ package BCB2007WorkspaceCreator; use strict; use BCB2007ProjectCreator; +use BorlandPropertyBase; use WinWorkspaceBase; use WorkspaceCreator; use vars qw(@ISA); -@ISA = qw(WinWorkspaceBase WorkspaceCreator); +@ISA = qw(BorlandPropertyBase WinWorkspaceBase WorkspaceCreator); # ************************************************************ # Subroutine Section diff --git a/modules/BDS4ProjectCreator.pm b/modules/BDS4ProjectCreator.pm index a3fea2f9..da9755bf 100644 --- a/modules/BDS4ProjectCreator.pm +++ b/modules/BDS4ProjectCreator.pm @@ -13,11 +13,11 @@ package BDS4ProjectCreator; use strict; use ProjectCreator; -use BorlandProjectBase; +use BorlandPropertyBase; use XMLProjectBase; use vars qw(@ISA); -@ISA = qw(XMLProjectBase BorlandProjectBase ProjectCreator); +@ISA = qw(XMLProjectBase BorlandPropertyBase ProjectCreator); # ************************************************************ # Subroutine Section diff --git a/modules/BDS4WorkspaceCreator.pm b/modules/BDS4WorkspaceCreator.pm index b4ce3d4d..c0c10f7b 100644 --- a/modules/BDS4WorkspaceCreator.pm +++ b/modules/BDS4WorkspaceCreator.pm @@ -15,9 +15,10 @@ use strict; use BDS4ProjectCreator; use WinWorkspaceBase; use WorkspaceCreator; +use BorlandPropertyBase; use vars qw(@ISA); -@ISA = qw(WinWorkspaceBase WorkspaceCreator); +@ISA = qw(BorlandPropertyBase WinWorkspaceBase WorkspaceCreator); # ************************************************************ # Subroutine Section diff --git a/modules/BMakeWorkspaceCreator.pm b/modules/BMakeWorkspaceCreator.pm index b5b67602..14985cc3 100644 --- a/modules/BMakeWorkspaceCreator.pm +++ b/modules/BMakeWorkspaceCreator.pm @@ -16,9 +16,11 @@ use BMakeProjectCreator; use MakeWorkspaceBase; use WinWorkspaceBase; use WorkspaceCreator; +use BorlandPropertyBase; use vars qw(@ISA); -@ISA = qw(MakeWorkspaceBase WinWorkspaceBase WorkspaceCreator); +@ISA = qw(MakeWorkspaceBase WinWorkspaceBase WorkspaceCreator + BorlandPropertyBase); # ************************************************************ # Data Section @@ -96,4 +98,23 @@ sub write_comps { } +sub get_properties { + my $self = shift; + + ## Create the map of properties that we support. + my $props = {}; + + ## Merge in properties from all base projects + foreach my $base (@ISA) { + my $func = $base . '::get_properties'; + my $p = $self->$func(); + foreach my $key (keys %$p) { + $$props{$key} = $$p{$key}; + } + } + + return $props; +} + + 1; diff --git a/modules/BorlandProjectBase.pm b/modules/BorlandProjectBase.pm index 396e24ef..7b0df4be 100644 --- a/modules/BorlandProjectBase.pm +++ b/modules/BorlandProjectBase.pm @@ -12,25 +12,12 @@ package BorlandProjectBase; use strict; use WinProjectBase; +use BorlandPropertyBase; -our @ISA = qw(WinProjectBase); +our @ISA = qw(BorlandPropertyBase WinProjectBase); # ************************************************************ # Subroutine Section # ************************************************************ -sub get_properties { - my $self = shift; - - ## Get the base class properties and add the properties that we - ## support. - my $props = $self->WinProjectBase::get_properties(); - - ## All projects that use this base class are for Borland compilers. - $$props{'borland'} = 1; - - return $props; -} - - 1; diff --git a/modules/BorlandPropertyBase.pm b/modules/BorlandPropertyBase.pm new file mode 100644 index 00000000..294a72ba --- /dev/null +++ b/modules/BorlandPropertyBase.pm @@ -0,0 +1,36 @@ +package BorlandPropertyBase; + +# ************************************************************ +# Description : A Borland base module for properties. +# Author : Chad Elliott +# Create Date : 5/5/2009 +# ************************************************************ + +# ************************************************************ +# Pragmas +# ************************************************************ + +use strict; +use WinPropertyBase; + +our @ISA = qw(WinPropertyBase); + +# ************************************************************ +# Subroutine Section +# ************************************************************ + +sub get_properties { + my $self = shift; + + ## Get the base class properties and add the properties that we + ## support. + my $props = $self->WinPropertyBase::get_properties(); + + ## All projects that use this base class are for Borland compilers. + $$props{'borland'} = 1; + + return $props; +} + + +1; diff --git a/modules/Creator.pm b/modules/Creator.pm index 81539601..0f2fc795 100644 --- a/modules/Creator.pm +++ b/modules/Creator.pm @@ -1310,4 +1310,16 @@ sub set_verbose_ordering { } +sub get_properties { + my $self = shift; + + ## Create the property hash map with the language property + my %props = ($self->get_language() => 1); + + ## Set the 'static' property only if the project is static + $props{'static'} = 1 if ($self->get_static()); + + return \%props; +} + 1; diff --git a/modules/GHSProjectCreator.pm b/modules/GHSProjectCreator.pm index ab7d9eee..cec75cf9 100644 --- a/modules/GHSProjectCreator.pm +++ b/modules/GHSProjectCreator.pm @@ -16,33 +16,33 @@ package GHSProjectCreator; use strict; use ProjectCreator; +use GHSPropertyBase; use vars qw(@ISA); -@ISA = qw(ProjectCreator); +@ISA = qw(GHSPropertyBase ProjectCreator); # ************************************************************ # Data Section # ************************************************************ my $startre; -my $ghsunix = 'MPC_GHS_UNIX'; # ************************************************************ # Subroutine Section # ************************************************************ sub convert_slashes { - return (defined $ENV{$ghsunix} ? 0 : 1); + return (defined $ENV{$GHSPropertyBase::ghsunix} ? 0 : 1); } sub case_insensitive { - return (defined $ENV{$ghsunix} ? 0 : 1); + return (defined $ENV{$GHSPropertyBase::ghsunix} ? 0 : 1); } sub use_win_compatibility_commands { - return (defined $ENV{$ghsunix} ? 0 : 1); + return (defined $ENV{$GHSPropertyBase::ghsunix} ? 0 : 1); } @@ -113,13 +113,13 @@ sub fill_value { elsif ($name eq 'slash') { ## We need to override the slash value so that we can give the right ## value for Windows or UNIX. - $value = (defined $ENV{$ghsunix} ? '/' : '\\'); + $value = (defined $ENV{$GHSPropertyBase::ghsunix} ? '/' : '\\'); } elsif ($name eq 'postmkdir') { ## If we're on Windows, we need an "or" command that will reset the ## errorlevel so that a mkdir on a directory that already exists ## doesn't cause the build to cease. - $value = ' || type nul' if (!defined $ENV{$ghsunix}); + $value = ' || type nul' if (!defined $ENV{$GHSPropertyBase::ghsunix}); } return $value; @@ -149,18 +149,4 @@ sub get_dll_template_input_file { } -sub get_properties { - my $self = shift; - - ## Get the base class properties and add the properties that we - ## support. - my $props = $self->ProjectCreator::get_properties(); - - ## This project creator can work for UNIX and Windows. Set the - ## property based on the environment variable. - $$props{'windows'} = 1 if (!defined $ENV{$ghsunix}); - - return $props; -} - 1; diff --git a/modules/GHSWorkspaceCreator.pm b/modules/GHSWorkspaceCreator.pm index 9236b1cb..4cc9dd2a 100644 --- a/modules/GHSWorkspaceCreator.pm +++ b/modules/GHSWorkspaceCreator.pm @@ -14,9 +14,10 @@ use strict; use GHSProjectCreator; use WorkspaceCreator; +use GHSPropertyBase; use vars qw(@ISA); -@ISA = qw(WorkspaceCreator); +@ISA = qw(GHSPropertyBase WorkspaceCreator); # ************************************************************ # Data Section diff --git a/modules/MakeProjectBase.pm b/modules/MakeProjectBase.pm index 56184df3..22d6830d 100644 --- a/modules/MakeProjectBase.pm +++ b/modules/MakeProjectBase.pm @@ -11,6 +11,10 @@ package MakeProjectBase; # ************************************************************ use strict; +use MakePropertyBase; + +use vars qw(@ISA); +@ISA = qw(MakePropertyBase); # ************************************************************ # Subroutine Section @@ -39,18 +43,4 @@ sub project_file_prefix { } -sub get_properties { - my $self = shift; - - ## Get the base class properties and add the properties that we - ## support. - my $props = $self->ProjectCreator::get_properties(); - - ## All projects that use this base class are 'make' based. - $$props{'make'} = 1; - - return $props; -} - - 1; diff --git a/modules/MakeWorkspaceBase.pm b/modules/MakeWorkspaceBase.pm index 35a78667..5384fff9 100644 --- a/modules/MakeWorkspaceBase.pm +++ b/modules/MakeWorkspaceBase.pm @@ -11,6 +11,10 @@ package MakeWorkspaceBase; # ************************************************************ use strict; +use MakePropertyBase; + +use vars qw(@ISA); +@ISA = qw(MakePropertyBase); # ************************************************************ # Subroutine Section diff --git a/modules/NMakeProjectCreator.pm b/modules/NMakeProjectCreator.pm index 8371142b..5ad3aec4 100644 --- a/modules/NMakeProjectCreator.pm +++ b/modules/NMakeProjectCreator.pm @@ -17,7 +17,7 @@ use WinProjectBase; use MakeProjectBase; use vars qw(@ISA); -@ISA = qw(MakeProjectBase WinProjectBase ProjectCreator); +@ISA = qw(MakeProjectBase WinProjectBase ProjectCreator VCPropertyBase); # ************************************************************ # Subroutine Section @@ -44,10 +44,8 @@ sub get_dll_template_input_file { sub get_properties { my $self = shift; - ## Create the map of properties that we support. This is a reproduced - ## property from the VCProjectBase and out of laziness I have not made - ## a base project for just this property. - my $props = {'microsoft' => 1}; + ## Create the map of properties that we support. + my $props = {}; ## Merge in properties from all base projects foreach my $base (@ISA) { diff --git a/modules/NMakeWorkspaceCreator.pm b/modules/NMakeWorkspaceCreator.pm index 80e39a89..3cca995e 100644 --- a/modules/NMakeWorkspaceCreator.pm +++ b/modules/NMakeWorkspaceCreator.pm @@ -16,9 +16,10 @@ use NMakeProjectCreator; use MakeWorkspaceBase; use WinWorkspaceBase; use WorkspaceCreator; +use VCPropertyBase; use vars qw(@ISA); -@ISA = qw(MakeWorkspaceBase WinWorkspaceBase WorkspaceCreator); +@ISA = qw(MakeWorkspaceBase WinWorkspaceBase WorkspaceCreator VCPropertyBase); # ************************************************************ # Data Section @@ -105,4 +106,23 @@ sub write_comps { } +sub get_properties { + my $self = shift; + + ## Create the map of properties that we support. + my $props = {}; + + ## Merge in properties from all base projects + foreach my $base (@ISA) { + my $func = $base . '::get_properties'; + my $p = $self->$func(); + foreach my $key (keys %$p) { + $$props{$key} = $$p{$key}; + } + } + + return $props; +} + + 1; diff --git a/modules/ProjectCreator.pm b/modules/ProjectCreator.pm index 6d297ecf..a2ffd577 100644 --- a/modules/ProjectCreator.pm +++ b/modules/ProjectCreator.pm @@ -5510,10 +5510,4 @@ sub warn_useless_project { return 1; } -sub get_properties { - my $self = shift; - return {'static' => $self->get_static(), - $self->get_language() => 1}; -} - 1; diff --git a/modules/VC6WorkspaceCreator.pm b/modules/VC6WorkspaceCreator.pm index 714c7ce1..e10d5659 100644 --- a/modules/VC6WorkspaceCreator.pm +++ b/modules/VC6WorkspaceCreator.pm @@ -15,9 +15,10 @@ use strict; use VC6ProjectCreator; use WinWorkspaceBase; use WorkspaceCreator; +use VCPropertyBase; use vars qw(@ISA); -@ISA = qw(WinWorkspaceBase WorkspaceCreator); +@ISA = qw(VCPropertyBase WinWorkspaceBase WorkspaceCreator); # ************************************************************ # Subroutine Section diff --git a/modules/VC7WorkspaceCreator.pm b/modules/VC7WorkspaceCreator.pm index 8de15f83..1249a1dc 100644 --- a/modules/VC7WorkspaceCreator.pm +++ b/modules/VC7WorkspaceCreator.pm @@ -15,9 +15,10 @@ use strict; use VC7ProjectCreator; use WinWorkspaceBase; use WorkspaceCreator; +use VCPropertyBase; use vars qw(@ISA); -@ISA = qw(WinWorkspaceBase WorkspaceCreator); +@ISA = qw(VCPropertyBase WinWorkspaceBase WorkspaceCreator); # ************************************************************ # Data Section diff --git a/modules/VCProjectBase.pm b/modules/VCProjectBase.pm index 47786b49..01b6005d 100644 --- a/modules/VCProjectBase.pm +++ b/modules/VCProjectBase.pm @@ -12,10 +12,11 @@ package VCProjectBase; use strict; +use VCPropertyBase; use WinProjectBase; use vars qw(@ISA); -@ISA = qw(WinProjectBase); +@ISA = qw(VCPropertyBase WinProjectBase); # ************************************************************ # Subroutine Section @@ -44,18 +45,4 @@ sub dependency_is_filename { } -sub get_properties { - my $self = shift; - - ## Get the base class properties and add the properties that we - ## support. - my $props = $self->WinProjectBase::get_properties(); - - ## All projects that use this base class are for Microsoft compilers. - $$props{'microsoft'} = 1; - - return $props; -} - - 1; diff --git a/modules/WinProjectBase.pm b/modules/WinProjectBase.pm index 0ef49418..77a83f8c 100644 --- a/modules/WinProjectBase.pm +++ b/modules/WinProjectBase.pm @@ -11,6 +11,10 @@ package WinProjectBase; # ************************************************************ use strict; +use WinPropertyBase; + +use vars qw(@ISA); +@ISA = qw(WinPropertyBase); # ************************************************************ # Data Section @@ -102,18 +106,4 @@ sub file_sorter { } -sub get_properties { - my $self = shift; - - ## Get the base class properties and add the properties that we - ## support. - my $props = $self->ProjectCreator::get_properties(); - - ## All projects that use this base class are for Windows. - $$props{'windows'} = 1; - - return $props; -} - - 1; diff --git a/modules/WinWorkspaceBase.pm b/modules/WinWorkspaceBase.pm index 6ffd56ef..9189d9c7 100644 --- a/modules/WinWorkspaceBase.pm +++ b/modules/WinWorkspaceBase.pm @@ -11,6 +11,10 @@ package WinWorkspaceBase; # ************************************************************ use strict; +use WinPropertyBase; + +use vars qw(@ISA); +@ISA = qw(WinPropertyBase); # ************************************************************ # Subroutine Section diff --git a/modules/WixWorkspaceCreator.pm b/modules/WixWorkspaceCreator.pm index 60f42b39..fb03acc2 100644 --- a/modules/WixWorkspaceCreator.pm +++ b/modules/WixWorkspaceCreator.pm @@ -13,9 +13,10 @@ package WixWorkspaceCreator; use strict; use WixProjectCreator; use WorkspaceCreator; +use WinPropertyBase; use vars qw(@ISA); -@ISA = qw(WorkspaceCreator); +@ISA = qw(WinPropertyBase WorkspaceCreator); # ************************************************************ # Data Section diff --git a/templates/wix.mpd b/templates/wix.mpd index 6a7f40e6..4986b66f 100644 --- a/templates/wix.mpd +++ b/templates/wix.mpd @@ -10,7 +10,7 @@ <Component Id="<%project_name%>" Guid="<%guid%>"> <%marker(component_top)%> -<%if(install_binary(1))%> +<%if(install_binary)%> <File Id="file.<%project_name%>" Name="<%if(type_is_dynamic)%><%sharedname%>.dll<%else%><%exename%>.exe<%endif%>" Source="<%source_directory%>/<%if(type_is_dynamic)%><%sharedname%>.dll<%else%><%exename%>.exe<%endif%>" DiskId="<%diskid(1)%>" /> diff --git a/templates/wix.mpt b/templates/wix.mpt index 300ea4b2..118f5fa0 100644 --- a/templates/wix.mpt +++ b/templates/wix.mpt @@ -2,3 +2,5 @@ // $Id$ conditional_include "common" + +install_binary = 1 |