summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelliott_c <ocielliottc@users.noreply.github.com>2010-03-22 00:48:10 +0000
committerelliott_c <ocielliottc@users.noreply.github.com>2010-03-22 00:48:10 +0000
commitb47edb0428d6ec22e955e10ba1904cdc5a8c99e6 (patch)
tree65d7ad31f17a12f3f7031b81075df653077d3bb7
parent29be59fa35f3d758213147792e44df60600fecca (diff)
downloadMPC-b47edb0428d6ec22e955e10ba1904cdc5a8c99e6.tar.gz
ChangeLogTag: Mon Mar 22 00:47:56 UTC 2010 Chad Elliott <elliott_c@gateway.2wire.net>
-rw-r--r--ChangeLog42
-rw-r--r--modules/AutomakeWorkspaceCreator.pm3
-rw-r--r--modules/BCB2007ProjectCreator.pm4
-rw-r--r--modules/BCB2007WorkspaceCreator.pm3
-rw-r--r--modules/BDS4ProjectCreator.pm4
-rw-r--r--modules/BDS4WorkspaceCreator.pm3
-rw-r--r--modules/BMakeWorkspaceCreator.pm23
-rw-r--r--modules/BorlandProjectBase.pm17
-rw-r--r--modules/BorlandPropertyBase.pm36
-rw-r--r--modules/Creator.pm12
-rw-r--r--modules/GHSProjectCreator.pm28
-rw-r--r--modules/GHSWorkspaceCreator.pm3
-rw-r--r--modules/MakeProjectBase.pm18
-rw-r--r--modules/MakeWorkspaceBase.pm4
-rw-r--r--modules/NMakeProjectCreator.pm8
-rw-r--r--modules/NMakeWorkspaceCreator.pm22
-rw-r--r--modules/ProjectCreator.pm6
-rw-r--r--modules/VC6WorkspaceCreator.pm3
-rw-r--r--modules/VC7WorkspaceCreator.pm3
-rw-r--r--modules/VCProjectBase.pm17
-rw-r--r--modules/WinProjectBase.pm18
-rw-r--r--modules/WinWorkspaceBase.pm4
-rw-r--r--modules/WixWorkspaceCreator.pm3
-rw-r--r--templates/wix.mpd2
-rw-r--r--templates/wix.mpt2
25 files changed, 183 insertions, 105 deletions
diff --git a/ChangeLog b/ChangeLog
index 4e09a85c..53cbb8df 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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