summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelliott_c <ocielliottc@users.noreply.github.com>2002-07-09 11:49:01 +0000
committerelliott_c <ocielliottc@users.noreply.github.com>2002-07-09 11:49:01 +0000
commitdff790c7d16c30cda8cb13c38cfe61c7e7e5bcdf (patch)
tree993a40e0e63c0694f8ea0eac073469a6e53a796d
parent1e4e7674064d807fc413621621c47f85b06ef07e (diff)
downloadATCD-dff790c7d16c30cda8cb13c38cfe61c7e7e5bcdf.tar.gz
Committing many changes. New project and workspace creators and fixes to
old ones.
-rw-r--r--bin/MakeProjectCreator/README7
-rw-r--r--bin/MakeProjectCreator/USAGE6
-rw-r--r--bin/MakeProjectCreator/config/aceexe.mpb2
-rw-r--r--bin/MakeProjectCreator/config/acelib.mpb2
-rw-r--r--bin/MakeProjectCreator/config/aceversion.mpb3
-rw-r--r--bin/MakeProjectCreator/config/orbsvcsexe.mpb2
-rw-r--r--bin/MakeProjectCreator/config/taoexe.mpb2
-rw-r--r--bin/MakeProjectCreator/config/taolib.mpb2
-rw-r--r--bin/MakeProjectCreator/config/taoversion.mpb3
-rw-r--r--bin/MakeProjectCreator/modules/BorlandProjectCreator.pm34
-rw-r--r--bin/MakeProjectCreator/modules/BorlandWorkspaceCreator.pm82
-rw-r--r--bin/MakeProjectCreator/modules/Creator.pm34
-rw-r--r--bin/MakeProjectCreator/modules/Driver.pm53
-rw-r--r--bin/MakeProjectCreator/modules/EM3ProjectCreator.pm79
-rw-r--r--bin/MakeProjectCreator/modules/EM3WorkspaceCreator.pm43
-rw-r--r--bin/MakeProjectCreator/modules/GHSProjectCreator.pm35
-rw-r--r--bin/MakeProjectCreator/modules/GHSWorkspaceCreator.pm76
-rw-r--r--bin/MakeProjectCreator/modules/GNUProjectCreator.pm10
-rw-r--r--bin/MakeProjectCreator/modules/GNUWorkspaceCreator.pm11
-rw-r--r--bin/MakeProjectCreator/modules/NMakeProjectCreator.pm16
-rw-r--r--bin/MakeProjectCreator/modules/NMakeWorkspaceCreator.pm20
-rw-r--r--bin/MakeProjectCreator/modules/ProjectCreator.pm58
-rw-r--r--bin/MakeProjectCreator/modules/TemplateInputReader.pm10
-rw-r--r--bin/MakeProjectCreator/modules/TemplateParser.pm73
-rw-r--r--bin/MakeProjectCreator/modules/VA4ProjectCreator.pm129
-rw-r--r--bin/MakeProjectCreator/modules/VA4WorkspaceCreator.pm76
-rw-r--r--bin/MakeProjectCreator/modules/VC6ProjectCreator.pm49
-rw-r--r--bin/MakeProjectCreator/modules/VC6WorkspaceCreator.pm18
-rw-r--r--bin/MakeProjectCreator/modules/VC7ProjectCreator.pm24
-rw-r--r--bin/MakeProjectCreator/modules/VC7WorkspaceCreator.pm18
-rw-r--r--bin/MakeProjectCreator/modules/WorkspaceCreator.pm37
-rw-r--r--bin/MakeProjectCreator/templates/bor.mpd40
-rw-r--r--bin/MakeProjectCreator/templates/em3vcp.mpd232
-rw-r--r--bin/MakeProjectCreator/templates/em3vcpdll.mpt46
-rw-r--r--bin/MakeProjectCreator/templates/em3vcpdllexe.mpt45
-rw-r--r--bin/MakeProjectCreator/templates/em3vcplib.mpt48
-rw-r--r--bin/MakeProjectCreator/templates/em3vcplibexe.mpt48
-rw-r--r--bin/MakeProjectCreator/templates/va4icc.mpd142
-rw-r--r--bin/MakeProjectCreator/templates/va4iccdll.mpt4
-rw-r--r--bin/MakeProjectCreator/templates/va4iccdllexe.mpt4
-rw-r--r--bin/MakeProjectCreator/templates/va4icclib.mpt4
-rw-r--r--bin/MakeProjectCreator/templates/va4icclibexe.mpt5
-rw-r--r--bin/MakeProjectCreator/templates/vc6dsplibexe.mpt3
-rw-r--r--bin/MakeProjectCreator/templates/vc7.mpd313
-rwxr-xr-xbin/mpc.pl2
-rwxr-xr-xbin/mwc.pl6
46 files changed, 1586 insertions, 370 deletions
diff --git a/bin/MakeProjectCreator/README b/bin/MakeProjectCreator/README
index 436cad0be21..cf0caab108b 100644
--- a/bin/MakeProjectCreator/README
+++ b/bin/MakeProjectCreator/README
@@ -44,6 +44,7 @@ pch_header Specifies the precompiled header file name
pch_source Specifies the precompiled source file name
ssl Specifies that the project will use ssl
tao Specifies that the project will use TAO
+version Specifies the version number for the library or executable
libpaths Specifies 1 or more locations to find libraries
includes Specifies 1 or more locations to find include files
@@ -105,6 +106,12 @@ Defaulting Behavior
it is assumed to be the precompiled header file (the same applies to
pch_source)
+8) If -relative is not used to set ACE_ROOT and the ACE_ROOT environment
+ variable is set
+
+ it will be used to set the relative value for ACE_ROOT. If -relative is
+ not used to set TAO_ROOT, it will be set from the TAO_ROOT environment
+ variable. If that is not set, the relative value of ACE_ROOT plus /TAO.
Processing Order
----------------
diff --git a/bin/MakeProjectCreator/USAGE b/bin/MakeProjectCreator/USAGE
index 3d17ee7f5a5..e66edecf08a 100644
--- a/bin/MakeProjectCreator/USAGE
+++ b/bin/MakeProjectCreator/USAGE
@@ -12,7 +12,8 @@ projects for each one found.
Usage: mwc.pl [-global <file>] [-include <directory>]
[-ti <dll | lib | dll_exe | lib_exe>:<file>]
[-template <file>] [-dynamic_only] [-static_only]
- [-type <gnu | nma | vc6 | vc7>] [files]
+ [-type <bor | em3 | gnu | nma | va4 | vc6 | vc7>]
+ [files]
-global Specifies the global input file. Values stored
within this file are applied to all projects.
@@ -72,7 +73,8 @@ project in the directory from which the script was started.
Usage: mpc.pl [-global <file>] [-include <directory>]
[-ti <dll | lib | dll_exe | lib_exe>:<file>]
[-template <file>] [-dynamic_only] [-static_only]
- [-type <bor | ghs | gnu | nma | vc6 | vc7>] [files]
+ [-type <bor | em3 | ghs | gnu | nma | va4 | vc6 | vc7>]
+ [files]
-global Specifies the global input file. Values stored
within this file are applied to all projects.
diff --git a/bin/MakeProjectCreator/config/aceexe.mpb b/bin/MakeProjectCreator/config/aceexe.mpb
index e10cdbca535..d722f20a544 100644
--- a/bin/MakeProjectCreator/config/aceexe.mpb
+++ b/bin/MakeProjectCreator/config/aceexe.mpb
@@ -1,4 +1,4 @@
-project {
+project: aceversion {
depends += ace
includes += $(ACE_ROOT)
libpaths += $(ACE_ROOT)/ace
diff --git a/bin/MakeProjectCreator/config/acelib.mpb b/bin/MakeProjectCreator/config/acelib.mpb
index e10cdbca535..d722f20a544 100644
--- a/bin/MakeProjectCreator/config/acelib.mpb
+++ b/bin/MakeProjectCreator/config/acelib.mpb
@@ -1,4 +1,4 @@
-project {
+project: aceversion {
depends += ace
includes += $(ACE_ROOT)
libpaths += $(ACE_ROOT)/ace
diff --git a/bin/MakeProjectCreator/config/aceversion.mpb b/bin/MakeProjectCreator/config/aceversion.mpb
new file mode 100644
index 00000000000..8a5707d3155
--- /dev/null
+++ b/bin/MakeProjectCreator/config/aceversion.mpb
@@ -0,0 +1,3 @@
+project {
+ version = 5.2.4
+}
diff --git a/bin/MakeProjectCreator/config/orbsvcsexe.mpb b/bin/MakeProjectCreator/config/orbsvcsexe.mpb
index a5ff183c87e..afd750ca5a1 100644
--- a/bin/MakeProjectCreator/config/orbsvcsexe.mpb
+++ b/bin/MakeProjectCreator/config/orbsvcsexe.mpb
@@ -1,4 +1,4 @@
project : taoexe {
includes += $(TAO_ROOT)/orbsvcs
- libpaths += $(TAO_ROOT)/orbsvcs
+ libpaths += $(TAO_ROOT)/orbsvcs/orbsvcs
}
diff --git a/bin/MakeProjectCreator/config/taoexe.mpb b/bin/MakeProjectCreator/config/taoexe.mpb
index 479758baba9..412d6d6ff2d 100644
--- a/bin/MakeProjectCreator/config/taoexe.mpb
+++ b/bin/MakeProjectCreator/config/taoexe.mpb
@@ -1,4 +1,4 @@
-project : aceexe {
+project : aceexe, taoversion {
depends += tao TAO_IDL_EXE
tao = 1
includes += $(TAO_ROOT) $(TAO_ROOT)/tao
diff --git a/bin/MakeProjectCreator/config/taolib.mpb b/bin/MakeProjectCreator/config/taolib.mpb
index 0b1dc108cc6..51811ffdd52 100644
--- a/bin/MakeProjectCreator/config/taolib.mpb
+++ b/bin/MakeProjectCreator/config/taolib.mpb
@@ -1,4 +1,4 @@
-project : acelib {
+project : acelib, taoversion {
depends += tao
tao = 1
includes += $(TAO_ROOT) $(TAO_ROOT)/tao
diff --git a/bin/MakeProjectCreator/config/taoversion.mpb b/bin/MakeProjectCreator/config/taoversion.mpb
new file mode 100644
index 00000000000..dcdb52a1f82
--- /dev/null
+++ b/bin/MakeProjectCreator/config/taoversion.mpb
@@ -0,0 +1,3 @@
+project {
+ version = 1.2.4
+}
diff --git a/bin/MakeProjectCreator/modules/BorlandProjectCreator.pm b/bin/MakeProjectCreator/modules/BorlandProjectCreator.pm
index 2c6d708903d..420203f7972 100644
--- a/bin/MakeProjectCreator/modules/BorlandProjectCreator.pm
+++ b/bin/MakeProjectCreator/modules/BorlandProjectCreator.pm
@@ -11,6 +11,7 @@ package BorlandProjectCreator;
# ************************************************************
use strict;
+
use ProjectCreator;
use vars qw(@ISA);
@@ -20,25 +21,32 @@ use vars qw(@ISA);
# Subroutine Section
# ************************************************************
-sub sort_files {
+sub translate_value {
my($self) = shift;
- return 1;
-}
-
-
-sub file_sorter {
- my($self) = shift;
- my($left) = shift;
- my($right) = shift;
- return lc($left) cmp lc($right);
+ my($key) = shift;
+ my($val) = shift;
+
+ if ($key eq 'depends' && $val ne "") {
+ my($arr) = $self->create_array($val);
+ $val = "";
+ foreach my $entry (@$arr) {
+ $val .= "\"" . $self->project_file_name($entry) . "\" ";
+ }
+ $val =~ s/\s+$//;
+ }
+ return $val;
}
sub project_file_name {
my($self) = shift;
- return $self->transform_file_name(
- "Makefile" . ($self->project_name() ne "" ? "." : "") .
- $self->project_name() . ".bor");
+ my($name) = shift;
+
+ if (!defined $name) {
+ $name = $self->project_name();
+ }
+
+ return "Makefile" . ($name eq "" ? "" : ".$name") . ".bor";
}
diff --git a/bin/MakeProjectCreator/modules/BorlandWorkspaceCreator.pm b/bin/MakeProjectCreator/modules/BorlandWorkspaceCreator.pm
new file mode 100644
index 00000000000..e20e08de73e
--- /dev/null
+++ b/bin/MakeProjectCreator/modules/BorlandWorkspaceCreator.pm
@@ -0,0 +1,82 @@
+package BorlandWorkspaceCreator;
+
+# ************************************************************
+# Description : A Borland Workspace (Makefile.bor) creator
+# Author : Chad Elliott
+# Create Date : 7/02/2002
+# ************************************************************
+
+# ************************************************************
+# Pragmas
+# ************************************************************
+
+use strict;
+use File::Basename;
+
+use BorlandProjectCreator;
+use WorkspaceCreator;
+
+use vars qw(@ISA);
+@ISA = qw(WorkspaceCreator);
+
+# ************************************************************
+# Subroutine Section
+# ************************************************************
+
+sub workspace_file_name {
+ my($self) = shift;
+ return "Makefile.bor";
+}
+
+
+sub pre_workspace {
+ my($self) = shift;
+ my($fh) = shift;
+ my($crlf) = $self->crlf();
+
+ print $fh "#----------------------------------------------------------------------------$crlf" .
+ "# Borland Workspace$crlf" .
+ "#----------------------------------------------------------------------------$crlf" .
+ "$crlf";
+}
+
+
+sub write_comps {
+ my($self) = shift;
+ my($fh) = shift;
+ my($projects) = $self->get_projects();
+ my($pjs) = $self->get_project_info();
+ my(@list) = $self->sort_dependencies($projects, $pjs);
+ my($crlf) = $self->crlf();
+
+ print $fh "!include <\$(ACE_ROOT)\include\makeinclude\make_flags.bor>" .
+ "$crlf$crlf" .
+ "all:$crlf";
+ foreach my $project (@list) {
+ my($dir) = dirname($project);
+ my($chdir) = 0;
+ my($back) = 1;
+
+ ## If the directory isn't "." then we need
+ ## to figure out how to get back to our starting point
+ if ($dir ne ".") {
+ $chdir = 1;
+ my($length) = length($dir);
+ for(my $i = 0; $i < $length; $i++) {
+ if (substr($dir, $i, 1) eq "/") {
+ $back++;
+ }
+ }
+ }
+
+ ## These commands will work. In practicality, only the
+ ## default configuration can be built at the top level.
+ print $fh ($chdir ? "\t\@cd $dir$crlf" : "") .
+ "\t\$(MAKE) -\$(MAKEFLAGS) \$(MAKE_FLAGS) -f " . basename($project) . $crlf .
+ ($chdir ? "\t\@cd " . ("../" x $back) . $crlf : "");
+ }
+}
+
+
+
+1;
diff --git a/bin/MakeProjectCreator/modules/Creator.pm b/bin/MakeProjectCreator/modules/Creator.pm
index 581e96d9598..d2dbbfc5811 100644
--- a/bin/MakeProjectCreator/modules/Creator.pm
+++ b/bin/MakeProjectCreator/modules/Creator.pm
@@ -30,9 +30,11 @@ sub new {
my($inc) = shift;
my($template) = shift;
my($ti) = shift;
+ my($relative) = shift;
my($type) = shift;
my($self) = Parser::new($class);
+ $self->{'relative'} = $relative;
$self->{'template'} = $template;
$self->{'ti'} = $ti;
$self->{'global_cfg'} = $global;
@@ -274,15 +276,41 @@ sub get_ti_override {
}
-sub crlf {
+sub get_relative {
my($self) = shift;
- return "\n";
+ return $self->{'relative'};
+}
+
+
+sub windows_crlf {
+ my($self) = shift;
+ if ($^O eq 'MSWin32') {
+ return "\n";
+ }
+ else {
+ return "\r\n";
+ }
+}
+
+
+sub transform_file_name {
+ my($self) = shift;
+ my($name) = shift;
+
+ $name =~ s/\s/_/g;
+ return $name;
}
# ************************************************************
# Virtual Methods To Be Overridden
# ************************************************************
+sub crlf {
+ my($self) = shift;
+ return "\n";
+}
+
+
sub reset_values {
my($self) = shift;
}
@@ -290,7 +318,7 @@ sub reset_values {
sub sort_files {
my($self) = shift;
- return 0;
+ return 1;
}
diff --git a/bin/MakeProjectCreator/modules/Driver.pm b/bin/MakeProjectCreator/modules/Driver.pm
index c5faef73725..23e0c58ccad 100644
--- a/bin/MakeProjectCreator/modules/Driver.pm
+++ b/bin/MakeProjectCreator/modules/Driver.pm
@@ -23,7 +23,7 @@ sub new {
my(@creators) = @_;
my($self) = bless {'path' => $path,
'name' => $name,
- 'version' => 0.7,
+ 'version' => 0.8,
'types' => {},
'creators' => \@creators,
}, $class;
@@ -45,16 +45,18 @@ sub usageAndExit {
"[-ti <dll | lib | dll_exe | lib_exe>:<file>]\n" .
(" " x (length($base) + 8)) . "[-template <file>] " .
"[-dynamic_only] [-static_only]\n" .
+ (" " x (length($base) + 8)) . "[-relative NAME=VAR]\n" .
(" " x (length($base) + 8)) . "[-type <";
- my($t) = $self->{'types'};
- my(@keys) = sort keys %$t;
+
+ my(@keys) = sort keys %{$self->{'types'}};
for(my $i = 0; $i <= $#keys; $i++) {
print STDERR "$keys[$i]";
if ($i != $#keys) {
print STDERR " | ";
}
}
- print STDERR ">] [files]\n\n";
+ print STDERR ">]\n" .
+ (" " x (length($base) + 8)) . "[files]\n\n";
print STDERR
" -global Specifies the global input file. Values stored\n" .
@@ -68,6 +70,9 @@ sub usageAndExit {
" -template Specifies the template name (with no extension).\n" .
" -dynamic_only Specifies that only dynamic projects will be generated.\n" .
" -static_only Specifies that only static projects will be generated.\n" .
+" -relative Any \$() variable in an mpc that is matched to NAME\n" .
+" is replaced by VAR only if VAR can be made into a\n" .
+" relative path based on the current working directory.\n" .
" -type Specifies the type of project file to generate. This\n" .
" option can be used multiple times to generate multiple\n" .
" types.\n";
@@ -79,11 +84,12 @@ sub usageAndExit {
sub completion_command {
my($self) = shift;
my($str) = "complete $self->{'name'} " .
- "'c/-/(global include type template ti)/' " .
+ "'c/-/(global include type template relative " .
+ "ti dynamic_only static_only)/' " .
"'c/dll:/f/' 'c/dll_exe:/f/' 'c/lib_exe:/f/' 'c/lib:/f/' " .
"'n/-ti/(dll lib dll_exe lib_exe)/:' 'n/-type/(";
- my($t) = $self->{'types'};
- my(@keys) = sort keys %$t;
+
+ my(@keys) = sort keys %{$self->{'types'}};
for(my $i = 0; $i <= $#keys; $i++) {
$str .= $keys[$i];
if ($i != $#keys) {
@@ -109,6 +115,7 @@ sub run {
my($dynamic) = 1;
my($static) = 1;
my($signif) = 3;
+ my(%relative) = ();
## Dynamically load in each perl module and set up
## the type tags and project creators
@@ -165,6 +172,25 @@ sub run {
$self->usageAndExit("-template requires a file name argument");
}
}
+ elsif ($arg eq '-relative') {
+ $i++;
+ my($rel) = $args[$i];
+ if (!defined $rel) {
+ $self->usageAndExit("-relative requires a variable assignment argument");
+ }
+ else {
+ if ($rel =~ /(\w+)\s*=\s*(.*)/) {
+ my($name) = $1;
+ my($val) = $2;
+ $val =~ s/^\s+//;
+ $val =~ s/\s+$//;
+ $relative{$name} = $val;
+ }
+ else {
+ $self->usageAndExit("Invalid option to -relative");
+ }
+ }
+ }
elsif ($arg eq '-ti') {
$i++;
my($tmpi) = $args[$i];
@@ -212,12 +238,23 @@ sub run {
push(@include, $self->{'path'} . "/config");
push(@include, $self->{'path'} . "/templates");
}
+ if (!defined $relative{'ACE_ROOT'} && defined $ENV{ACE_ROOT}) {
+ $relative{'ACE_ROOT'} = $ENV{ACE_ROOT};
+ }
+ if (!defined $relative{'TAO_ROOT'}) {
+ if (defined $ENV{TAO_ROOT}) {
+ $relative{'TAO_ROOT'} = $ENV{TAO_ROOT};
+ }
+ else {
+ $relative{'TAO_ROOT'} = "$relative{TAO_ROOT}/TAO";
+ }
+ }
## Generate the files
foreach my $file (@input) {
foreach my $name (@generators) {
my($generator) = $name->new($global, \@include, $template,
- \%ti, $dynamic, $static);
+ \%ti, $dynamic, $static, \%relative);
print "Generating output using " .
($file eq "" ? "default input" : $file) . "\n";
print "Start Time: " . scalar(localtime(time())) . "\n";
diff --git a/bin/MakeProjectCreator/modules/EM3ProjectCreator.pm b/bin/MakeProjectCreator/modules/EM3ProjectCreator.pm
new file mode 100644
index 00000000000..8a3806f49d0
--- /dev/null
+++ b/bin/MakeProjectCreator/modules/EM3ProjectCreator.pm
@@ -0,0 +1,79 @@
+package EM3ProjectCreator;
+
+# ************************************************************
+# Description : An eMbedded Visual C++ 3.00 Project Creator
+# Author : Chad Elliott
+# Create Date : 7/3/2002
+# ************************************************************
+
+# ************************************************************
+# Pragmas
+# ************************************************************
+
+use strict;
+
+use VC6ProjectCreator;
+
+use vars qw(@ISA);
+@ISA = qw(VC6ProjectCreator);
+
+# ************************************************************
+# Subroutine Section
+# ************************************************************
+
+sub fill_value {
+ my($self) = shift;
+ my($name) = shift;
+ my($value) = undef;
+
+ if ($name eq "make_file_name") {
+ $value = $self->base_project_name() . ".vcn";
+ }
+
+ return $value;
+}
+
+
+sub project_file_name {
+ my($self) = shift;
+ return $self->project_name() . ".vcp";
+}
+
+
+sub static_project_file_name {
+ my($self) = shift;
+ return $self->project_name() . $self->get_static_append() . ".vcp";
+}
+
+
+sub get_dll_exe_template_input_file {
+ my($self) = shift;
+ return "em3vcpdllexe";
+}
+
+
+sub get_lib_exe_template_input_file {
+ my($self) = shift;
+ return "em3vcplibexe";
+}
+
+
+sub get_lib_template_input_file {
+ my($self) = shift;
+ return "em3vcplib";
+}
+
+
+sub get_dll_template_input_file {
+ my($self) = shift;
+ return "em3vcpdll";
+}
+
+
+sub get_template {
+ my($self) = shift;
+ return "em3vcp";
+}
+
+
+1;
diff --git a/bin/MakeProjectCreator/modules/EM3WorkspaceCreator.pm b/bin/MakeProjectCreator/modules/EM3WorkspaceCreator.pm
new file mode 100644
index 00000000000..56fdb137a35
--- /dev/null
+++ b/bin/MakeProjectCreator/modules/EM3WorkspaceCreator.pm
@@ -0,0 +1,43 @@
+package EM3WorkspaceCreator;
+
+# ************************************************************
+# Description : An eMbedded v3 Workspace Creator
+# Author : Chad Elliott
+# Create Date : 7/3/2002
+# ************************************************************
+
+# ************************************************************
+# Pragmas
+# ************************************************************
+
+use strict;
+
+use EM3ProjectCreator;
+use VC6WorkspaceCreator;
+
+use vars qw(@ISA);
+@ISA = qw(VC6WorkspaceCreator);
+
+# ************************************************************
+# Subroutine Section
+# ************************************************************
+
+
+sub workspace_file_name {
+ my($self) = shift;
+ return $self->get_workspace_name() . ".vcw";
+}
+
+
+sub pre_workspace {
+ my($self) = shift;
+ my($fh) = shift;
+ my($crlf) = $self->crlf();
+
+ print $fh "Microsoft eMbedded Visual Tools Workspace File, Format Version 3.00$crlf" .
+ "# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!$crlf" .
+ "$crlf";
+}
+
+
+1;
diff --git a/bin/MakeProjectCreator/modules/GHSProjectCreator.pm b/bin/MakeProjectCreator/modules/GHSProjectCreator.pm
index ac6047232e8..c370bfbda73 100644
--- a/bin/MakeProjectCreator/modules/GHSProjectCreator.pm
+++ b/bin/MakeProjectCreator/modules/GHSProjectCreator.pm
@@ -11,6 +11,7 @@ package GHSProjectCreator;
# ************************************************************
use strict;
+
use ProjectCreator;
use vars qw(@ISA);
@@ -20,10 +21,40 @@ use vars qw(@ISA);
# Subroutine Section
# ************************************************************
+sub translate_value {
+ my($self) = shift;
+ my($key) = shift;
+ my($val) = shift;
+
+ if ($key eq 'depends' && $val ne "") {
+ my($arr) = $self->create_array($val);
+ $val = "";
+ foreach my $entry (@$arr) {
+ $val .= "\"" . $self->project_file_name($entry) . "\" ";
+ }
+ $val =~ s/\s+$//;
+ }
+ return $val;
+}
+
+
+sub file_sorter {
+ my($self) = shift;
+ my($left) = shift;
+ my($right) = shift;
+ return lc($left) cmp lc($right);
+}
+
+
sub project_file_name {
my($self) = shift;
- return $self->transform_file_name("ghs/" .
- $self->project_name() . ".bld");
+ my($name) = shift;
+
+ if (!defined $name) {
+ $name = $self->project_name();
+ }
+
+ return "ghs/$name.bld";
}
diff --git a/bin/MakeProjectCreator/modules/GHSWorkspaceCreator.pm b/bin/MakeProjectCreator/modules/GHSWorkspaceCreator.pm
new file mode 100644
index 00000000000..3ff4ae8dfdb
--- /dev/null
+++ b/bin/MakeProjectCreator/modules/GHSWorkspaceCreator.pm
@@ -0,0 +1,76 @@
+package GHSWorkspaceCreator;
+
+# ************************************************************
+# Description : An incomplete GHS Workspace creator
+# Author : Chad Elliott
+# Create Date : 7/3/2002
+# ************************************************************
+
+# ************************************************************
+# Pragmas
+# ************************************************************
+
+use strict;
+use File::Basename;
+
+use GHSProjectCreator;
+use WorkspaceCreator;
+
+use vars qw(@ISA);
+@ISA = qw(WorkspaceCreator);
+
+# ************************************************************
+# Subroutine Section
+# ************************************************************
+
+sub workspace_file_name {
+ my($self) = shift;
+ return "ghs/default.bld";
+}
+
+
+sub pre_workspace {
+ my($self) = shift;
+ my($fh) = shift;
+ my($crlf) = $self->crlf();
+
+ print $fh "#!build$crlf" .
+ "default:$crlf";
+}
+
+
+sub write_comps {
+ my($self) = shift;
+ my($fh) = shift;
+ my($gen) = shift;
+ my($projects) = $self->get_projects();
+ my($pjs) = $self->get_project_info();
+ my(@list) = $self->sort_dependencies($projects, $pjs);
+ my($crlf) = $self->crlf();
+
+ ## Print out the projet
+ print $fh "\tnobuild$crlf" .
+ "\t:cx_option=noexceptions$crlf" .
+ "\t:cx_option=std_namespaces$crlf" .
+ "\t:cx_template_option=noautomatic$crlf" .
+ "\t:language=cxx$crlf" .
+ "\t:cx_mode=ansi$crlf" .
+ "\t:cx_lib=scnoe$crlf";
+
+ foreach my $project (@list) {
+ ## Convert all /'s to \
+ $project =~ s/\//\\/g;
+
+ print $fh "..\\$project$crlf";
+ if ($gen->exe_target()) {
+ print $fh "\tprogram$crlf";
+ }
+ else {
+ print $fh "\tlibrary$crlf";
+ }
+ }
+}
+
+
+
+1;
diff --git a/bin/MakeProjectCreator/modules/GNUProjectCreator.pm b/bin/MakeProjectCreator/modules/GNUProjectCreator.pm
index ad8cac45ec9..63fdcac01c8 100644
--- a/bin/MakeProjectCreator/modules/GNUProjectCreator.pm
+++ b/bin/MakeProjectCreator/modules/GNUProjectCreator.pm
@@ -22,6 +22,12 @@ use vars qw(@ISA);
# Subroutine Section
# ************************************************************
+sub sort_files {
+ my($self) = shift;
+ return 0;
+}
+
+
sub translate_value {
my($self) = shift;
my($key) = shift;
@@ -29,7 +35,6 @@ sub translate_value {
if ($key eq 'depends' && $val ne "") {
my($arr) = $self->create_array($val);
- my($app) = "";
$val = "";
foreach my $entry (@$arr) {
$val .= "\"" . $self->project_file_name($entry) . "\" ";
@@ -129,8 +134,7 @@ sub project_file_name {
$name = $self->project_name();
}
- return $self->transform_file_name(
- "Makefile" . ($name ne "" ? "." : "") . $name);
+ return "Makefile" . ($name eq "" ? "" : ".$name");
}
diff --git a/bin/MakeProjectCreator/modules/GNUWorkspaceCreator.pm b/bin/MakeProjectCreator/modules/GNUWorkspaceCreator.pm
index ca91b315eb2..505819a649f 100644
--- a/bin/MakeProjectCreator/modules/GNUWorkspaceCreator.pm
+++ b/bin/MakeProjectCreator/modules/GNUWorkspaceCreator.pm
@@ -67,15 +67,4 @@ sub write_comps {
-sub project_creator {
- my($self) = shift;
- return new GNUProjectCreator($self->get_global_cfg(),
- $self->get_include_path(),
- $self->get_template_override(),
- $self->get_ti_override(),
- $self->get_dynamic(),
- $self->get_static());
-}
-
-
1;
diff --git a/bin/MakeProjectCreator/modules/NMakeProjectCreator.pm b/bin/MakeProjectCreator/modules/NMakeProjectCreator.pm
index f1eaa4935bd..724d0fec9ff 100644
--- a/bin/MakeProjectCreator/modules/NMakeProjectCreator.pm
+++ b/bin/MakeProjectCreator/modules/NMakeProjectCreator.pm
@@ -28,7 +28,6 @@ sub translate_value {
if ($key eq 'depends' && $val ne "") {
my($arr) = $self->create_array($val);
- my($app) = "";
$val = "";
foreach my $entry (@$arr) {
$val .= "\"" . $self->project_file_name($entry) . "\" ";
@@ -39,12 +38,6 @@ sub translate_value {
}
-sub sort_files {
- my($self) = shift;
- return 1;
-}
-
-
sub file_sorter {
my($self) = shift;
my($left) = shift;
@@ -55,12 +48,7 @@ sub file_sorter {
sub crlf {
my($self) = shift;
- if ($^O eq 'MSWin32') {
- return "\n";
- }
- else {
- return "\r\n";
- }
+ return $self->windows_crlf();
}
@@ -72,7 +60,7 @@ sub project_file_name {
$name = $self->project_name();
}
- return $self->transform_file_name("$name.mak");
+ return "$name.mak";
}
diff --git a/bin/MakeProjectCreator/modules/NMakeWorkspaceCreator.pm b/bin/MakeProjectCreator/modules/NMakeWorkspaceCreator.pm
index 5fe12db7915..fc0e4fb59b5 100644
--- a/bin/MakeProjectCreator/modules/NMakeWorkspaceCreator.pm
+++ b/bin/MakeProjectCreator/modules/NMakeWorkspaceCreator.pm
@@ -26,12 +26,7 @@ use vars qw(@ISA);
sub crlf {
my($self) = shift;
- if ($^O eq 'MSWin32') {
- return "\n";
- }
- else {
- return "\r\n";
- }
+ return $self->windows_crlf();
}
@@ -80,21 +75,10 @@ sub write_comps {
## default configuration can be built at the top level.
print $fh ($chdir ? "\tcd $dir$crlf" : "") .
"\t\$(MAKE) /f " . basename($project) . " CFG=\"\$(CFG)\"$crlf" .
- ($chdir ? "\tcd " . ("../" x $back) : "");
+ ($chdir ? "\tcd " . ("../" x $back) . $crlf : "");
}
}
-sub project_creator {
- my($self) = shift;
- return new NMakeProjectCreator($self->get_global_cfg(),
- $self->get_include_path(),
- $self->get_template_override(),
- $self->get_ti_override(),
- $self->get_dynamic(),
- $self->get_static());
-}
-
-
1;
diff --git a/bin/MakeProjectCreator/modules/ProjectCreator.pm b/bin/MakeProjectCreator/modules/ProjectCreator.pm
index 76ec7e3ebc9..b12217aea06 100644
--- a/bin/MakeProjectCreator/modules/ProjectCreator.pm
+++ b/bin/MakeProjectCreator/modules/ProjectCreator.pm
@@ -51,6 +51,7 @@ my(%validNames) = ('exename' => 1,
'libout' => 1,
'dllflags' => 1,
'libflags' => 1,
+ 'version' => 1,
);
## Deal with these components in a special way
@@ -68,11 +69,11 @@ sub new {
my($ti) = shift;
my($dynamic) = shift;
my($static) = shift;
+ my($relative) = shift;
my($self) = Creator::new($class, $global, $inc,
- $template, $ti, 'project');
- my($typecheck) = $self->{'type_check'};
+ $template, $ti, $relative, 'project');
- $self->{$typecheck} = 0;
+ $self->{$self->{'type_check'}} = 0;
$self->{'global_assign'} = {};
$self->{'files_written'} = [];
$self->{'project_info'} = [];
@@ -113,16 +114,15 @@ sub new {
sub read_global_configuration {
- my($self) = shift;
- my($input) = $self->get_global_cfg();
- my($status) = 0;
- my($errorString) = "";
+ my($self) = shift;
+ my($input) = $self->get_global_cfg();
+ my($status) = 1;
- $self->{'reading_global'} = 1;
if (defined $input) {
+ $self->{'reading_global'} = 1;
$status = $self->parse_file($input);
+ $self->{'reading_global'} = 0;
}
- $self->{'reading_global'} = 0;
return $status;
}
@@ -556,7 +556,6 @@ sub generate_default_target_names {
sub generate_default_pch_filenames {
my($self) = shift;
- my($base) = shift;
my($files) = shift;
my($vc) = $self->{'valid_components'};
my($gc) = $$vc{'header_files'};
@@ -638,6 +637,7 @@ sub sift_files {
foreach my $file (@$files) {
foreach my $ext (@$exts) {
+ ## Always exclude the precompiled header and cpp
if ($file =~ /$ext$/ && (!defined $pchh || $file ne $pchh) &&
(!defined $pchc || $file ne $pchc)) {
my($exclude) = 0;
@@ -651,7 +651,9 @@ sub sift_files {
}
}
elsif ($tag eq 'resource_files') {
- ## Save these files for later
+ ## Save these files for later. There may
+ ## be more than one and we want to try and
+ ## find the one that corresponds to this project
$exclude = 1;
push(@saved, $file);
}
@@ -789,7 +791,7 @@ sub generate_default_idl_generated {
if ($self->{'idl_defaulted'}) {
## After all source and headers have been defaulted, see if we
- ## need to add the idl generated .h, .inl and .cpp files
+ ## need to add the idl generated .h, .i and .cpp files
if (defined $self->{'idl_files'}) {
## Build up the list of idl files
my(@idl) = ();
@@ -819,20 +821,23 @@ sub generate_default_idl_generated {
sub add_source_corresponding_component_files {
my($self) = shift;
my($tag) = shift;
- my($names) = $self->{'source_files'};
+# my($names) = $self->{'source_files'};
my(@all) = ();
my($vc) = $self->{'valid_components'};
- foreach my $name (keys %$names) {
- my($comps) = $$names{$name};
- foreach my $comp (keys %$comps) {
- push(@all, @{$$comps{$comp}});
+ foreach my $filetag ('source_files', 'template_files') {
+ my($names) = $self->{$filetag};
+ foreach my $name (keys %$names) {
+ my($comps) = $$names{$name};
+ foreach my $comp (keys %$comps) {
+ push(@all, @{$$comps{$comp}});
+ }
}
}
## for each cpp file, we add a corresponding header or inline file
## if it exists and is not already in the list of headers
- $names = $self->{$tag};
+ my($names) = $self->{$tag};
foreach my $name (keys %$names) {
my($comps) = $$names{$name};
foreach my $comp (keys %$comps) {
@@ -860,7 +865,7 @@ sub add_source_corresponding_component_files {
my($ext) = $e;
$ext =~ s/\\//g;
- ## If the file is readable or
+ ## If the file is readable
if (-r "$c$ext") {
push(@$array, "$c$ext");
$added = 1;
@@ -900,7 +905,7 @@ sub generate_defaults {
$self->generate_default_target_names($base);
my(@files) = $self->generate_default_file_list();
- $self->generate_default_pch_filenames($base, \@files);
+ $self->generate_default_pch_filenames(\@files);
## Generate default components, but @specialComponents
## are skipped in the initial default components generation
@@ -1049,7 +1054,7 @@ sub write_project {
my($self) = shift;
my($status) = 1;
my($error) = "";
- my($name) = $self->project_file_name();
+ my($name) = $self->transform_file_name($self->project_file_name());
my($prjname) = $self->get_assignment('project_name');
## Writing the non-static file so set it to 0
@@ -1064,7 +1069,7 @@ sub write_project {
$self->separate_static_project()) {
## Set the project name back to what it originally was
$self->process_assignment('project_name', $prjname);
- $name = $self->static_project_file_name();
+ $name = $self->transform_file_name($self->static_project_file_name());
## Writing the static file so set it to 1
$self->{'writing_type'} = 1;
@@ -1148,15 +1153,6 @@ sub get_template_input {
}
-sub transform_file_name {
- my($self) = shift;
- my($name) = shift;
-
- $name =~ s/\s/_/g;
- return $name;
-}
-
-
sub update_project_info {
my($self) = shift;
my($tparser) = shift;
diff --git a/bin/MakeProjectCreator/modules/TemplateInputReader.pm b/bin/MakeProjectCreator/modules/TemplateInputReader.pm
index 1382cf36aee..09ee7621f93 100644
--- a/bin/MakeProjectCreator/modules/TemplateInputReader.pm
+++ b/bin/MakeProjectCreator/modules/TemplateInputReader.pm
@@ -27,9 +27,7 @@ sub new {
$self->{'values'} = {};
$self->{'cindex'} = 0;
- my(@current) = ($self->{'values'});
- $self->{'current'} = \@current;
-
+ $self->{'current'} = [ $self->{'values'} ];
return $self;
}
@@ -93,12 +91,6 @@ sub parse_line {
}
-sub get_names {
- my($self) = shift;
- return keys %{$self->{'values'}};
-}
-
-
sub get_value {
my($self) = shift;
my($tag) = shift;
diff --git a/bin/MakeProjectCreator/modules/TemplateParser.pm b/bin/MakeProjectCreator/modules/TemplateParser.pm
index 02719ac71c2..e16ceae33a0 100644
--- a/bin/MakeProjectCreator/modules/TemplateParser.pm
+++ b/bin/MakeProjectCreator/modules/TemplateParser.pm
@@ -11,6 +11,7 @@ package TemplateParser;
# ************************************************************
use strict;
+use Cwd;
use Parser;
@@ -65,6 +66,8 @@ sub basename {
for(my $i = length($file) - 1; $i >= 0; $i--) {
my($ch) = substr($file, $i, 1);
if ($ch eq '/' || $ch eq '\\') {
+ ## The template file may use this value (<%basename_found%>)
+ ## to determine whether a basename removed the directory or not
$self->{'values'}->{'basename_found'} = 1;
return substr($file, $i + 1);
}
@@ -80,6 +83,8 @@ sub dirname {
for(my $i = length($file) - 1; $i != 0; $i--) {
my($ch) = substr($file, $i, 1);
if ($ch eq '/' || $ch eq '\\') {
+ ## The template file may use this value (<%dirname_found%>)
+ ## to determine whether a dirname removed the basename or not
$self->{'values'}->{'dirname_found'} = 1;
return substr($file, 0, $i);
}
@@ -116,6 +121,9 @@ sub is_keyword {
}
+## Append the current value to the line that is being
+## built. This line may be a foreach line or a general
+## line without a foreach.
sub append_current {
my($self) = shift;
my($value) = shift;
@@ -149,6 +157,55 @@ sub set_current_values {
}
+sub relative {
+ my($self) = shift;
+ my($value) = shift;
+ my($rel) = $self->{'prjc'}->get_relative();
+ my(@keys) = keys %$rel;
+
+ if (defined $value && defined $keys[0] && $value =~ /\$/) {
+ if (UNIVERSAL::isa($value, 'ARRAY')) {
+ my(@built) = ();
+ foreach my $val (@$value) {
+ push(@built, $self->relative($val));
+ }
+ $value = \@built;
+ }
+ else {
+ my($cwd) = getcwd();
+ my($start) = 0;
+ while(substr($value, $start) =~ /(\$\(([^)]+)\))/) {
+ my($whole) = $1;
+ my($name) = $2;
+ my($val) = $$rel{$name};
+ if (defined $val) {
+ $val =~ s/\\/\//g;
+ if (index($cwd, $val) == 0) {
+ my($count) = 0;
+ substr($cwd, 0, length($val)) = "";
+ while($cwd =~ /^\\/) {
+ $cwd =~ s/^\///;
+ }
+ my($length) = length($cwd);
+ for(my $i = 0; $i < $length; $i++) {
+ if (substr($cwd, $i, 1) eq '/') {
+ $count++;
+ }
+ }
+ $val = "../" x $count;
+ $val =~ s/\/$//;
+ $value =~ s/\$\([^)]+\)/$val/;
+ }
+ }
+ $start += length($whole);
+ }
+ }
+ }
+
+ return $value;
+}
+
+
sub get_value {
my($self) = shift;
my($name) = shift;
@@ -193,7 +250,7 @@ sub get_value {
}
}
- return $value;
+ return $self->relative($value);
}
@@ -221,6 +278,7 @@ sub get_value_with_default {
else {
# print "DEBUG: WARNING: $name using default value of $value\n";
}
+ $value = $self->relative($value);
}
return $value;
@@ -365,7 +423,6 @@ sub handle_if {
sub handle_else {
my($self) = shift;
- my($val) = shift;
my($sstack) = $self->{'sstack'};
my(@scopy) = @$sstack;
my($name) = "endif";
@@ -407,6 +464,9 @@ sub handle_special {
my($name) = shift;
my($val) = shift;
+ ## If $name (fornotlast, forfirst, etc.) is set to 1
+ ## Then we append the $val onto the current string that's
+ ## being built.
if ($self->get_value($name)) {
$self->append_current($val);
}
@@ -459,6 +519,9 @@ sub handle_basenoextension {
}
+## Given a line that starts with an identifier, we split
+## then name from the possible value stored inside ()'s and
+## we stop looking at the line when we find the %> ending
sub split_name_value {
my($self) = shift;
my($line) = shift;
@@ -595,8 +658,8 @@ sub collect_data {
## VC7 Projects need to know the GUID.
## We need to save this value in our know values
- ## since each guid will be different. We need this to
- ## correspond to the same guid used in the workspace.
+ ## since each guid generated will be different. We need
+ ## this to correspond to the same guid used in the workspace.
my($guid) = $prjc->update_project_info($self, 1, ['guid']);
$self->{'values'}->{'guid'} = $guid;
}
@@ -607,6 +670,7 @@ sub is_only_keyword {
my($line) = shift;
my($status) = 0;
+ ## Does the line contain only a keyword?
if ($line =~ /^<%(.*)%>$/) {
my($part) = $1;
if ($part !~ /%>/) {
@@ -630,7 +694,6 @@ sub parse_line {
my($errorString) = "";
my($length) = length($line);
my($name) = 0;
- my($skipempty) = $self->{'if_skip'};
my($crlf) = $self->{'prjc'}->crlf();
my($clen) = length($crlf);
my($startempty) = ($line eq "" ? 1 : 0);
diff --git a/bin/MakeProjectCreator/modules/VA4ProjectCreator.pm b/bin/MakeProjectCreator/modules/VA4ProjectCreator.pm
new file mode 100644
index 00000000000..dd2a99640ca
--- /dev/null
+++ b/bin/MakeProjectCreator/modules/VA4ProjectCreator.pm
@@ -0,0 +1,129 @@
+package VA4ProjectCreator;
+
+# ************************************************************
+# Description : A VA4 Project Creator
+# Author : Chad Elliott
+# Create Date : 7/8/2002
+# ************************************************************
+
+# ************************************************************
+# Pragmas
+# ************************************************************
+
+use strict;
+
+use ProjectCreator;
+
+use vars qw(@ISA);
+@ISA = qw(ProjectCreator);
+
+# ************************************************************
+# Data Section
+# ************************************************************
+
+my($sname) = "_Static";
+
+# ************************************************************
+# Subroutine Section
+# ************************************************************
+
+sub translate_value {
+ my($self) = shift;
+ my($key) = shift;
+ my($val) = shift;
+
+ if ($key eq 'depends' && $val ne "") {
+ my($wt) = $self->get_writing_type();
+ my($arr) = $self->create_array($val);
+ $val = "";
+ foreach my $entry (@$arr) {
+ $val .= "\"" . ($wt == 1 ? $self->static_project_file_name($entry) :
+ $self->project_file_name($entry)) . "\" ";
+ }
+ $val =~ s/\s+$//;
+ }
+ return $val;
+}
+
+
+sub convert_slashes {
+ my($self) = shift;
+ return 0;
+}
+
+
+sub file_sorter {
+ my($self) = shift;
+ my($left) = shift;
+ my($right) = shift;
+ return lc($left) cmp lc($right);
+}
+
+
+sub crlf {
+ my($self) = shift;
+ return $self->windows_crlf();
+}
+
+
+sub separate_static_project {
+ my($self) = shift;
+ return 1;
+}
+
+
+sub project_file_name {
+ my($self) = shift;
+ my($name) = shift;
+
+ if (!defined $name) {
+ $name = $self->project_name();
+ }
+
+ return "$name.icc";
+}
+
+
+sub static_project_file_name {
+ my($self) = shift;
+ my($name) = shift;
+
+ if (!defined $name) {
+ $name = $self->project_name();
+ }
+
+ return "$name$sname.icc";
+}
+
+
+sub get_dll_exe_template_input_file {
+ my($self) = shift;
+ return "va4iccdllexe";
+}
+
+
+sub get_lib_exe_template_input_file {
+ my($self) = shift;
+ return "va4icclibexe";
+}
+
+
+sub get_lib_template_input_file {
+ my($self) = shift;
+ return "va4icclib";
+}
+
+
+sub get_dll_template_input_file {
+ my($self) = shift;
+ return "va4iccdll";
+}
+
+
+sub get_template {
+ my($self) = shift;
+ return "va4icc";
+}
+
+
+1;
diff --git a/bin/MakeProjectCreator/modules/VA4WorkspaceCreator.pm b/bin/MakeProjectCreator/modules/VA4WorkspaceCreator.pm
new file mode 100644
index 00000000000..f1eebf02842
--- /dev/null
+++ b/bin/MakeProjectCreator/modules/VA4WorkspaceCreator.pm
@@ -0,0 +1,76 @@
+package VA4WorkspaceCreator;
+
+# ************************************************************
+# Description : A VA4 Workspace Creator
+# Author : Chad Elliott
+# Create Date : 5/13/2002
+# ************************************************************
+
+# ************************************************************
+# Pragmas
+# ************************************************************
+
+use strict;
+
+use VA4ProjectCreator;
+use WorkspaceCreator;
+
+use vars qw(@ISA);
+@ISA = qw(WorkspaceCreator);
+
+# ************************************************************
+# Subroutine Section
+# ************************************************************
+
+
+sub crlf {
+ my($self) = shift;
+ return $self->windows_crlf();
+}
+
+
+sub workspace_file_name {
+ my($self) = shift;
+ return $self->get_workspace_name() . ".icp";
+}
+
+
+sub pre_workspace {
+ my($self) = shift;
+ my($fh) = shift;
+ my($crlf) = $self->crlf();
+
+ print $fh "// Visual Age C++ 4 workspace file$crlf$crlf";
+}
+
+
+sub write_comps {
+ my($self) = shift;
+ my($fh) = shift;
+ my($projects) = $self->get_projects();
+ my($pjs) = $self->get_project_info();
+ my(@list) = $self->sort_dependencies($projects, $pjs);
+ my($crlf) = $self->crlf();
+
+ foreach my $project (@list) {
+ my($base) = $project;
+ $base =~ s/\.[^\.]+//;
+ my($ics) = "$base.ics";
+
+ print $fh "subproject $base icc \"$project\", ics \"$ics\"$crlf" .
+ "{$crlf" .
+ "}$crlf";
+ }
+
+ print $fh "build buildAll$crlf" .
+ "{$crlf";
+ foreach my $project (@list) {
+ my($base) = $project;
+ $base =~ s/\.[^\.]+//;
+ print $fh " use $base$crlf";
+ }
+ print $fh "}$crlf$crlf";
+}
+
+
+1;
diff --git a/bin/MakeProjectCreator/modules/VC6ProjectCreator.pm b/bin/MakeProjectCreator/modules/VC6ProjectCreator.pm
index 069f0eb9d1c..17093fa3cab 100644
--- a/bin/MakeProjectCreator/modules/VC6ProjectCreator.pm
+++ b/bin/MakeProjectCreator/modules/VC6ProjectCreator.pm
@@ -25,11 +25,41 @@ my($dynamiclib) = "DLL";
my($staticlib) = "LIB";
my($dynamicexe) = "EXE";
my($staticexe) = "Static EXE";
+my($sname) = "_Static";
# ************************************************************
# Subroutine Section
# ************************************************************
+sub remove_type_append {
+ my($self) = shift;
+ my($str) = shift;
+
+ foreach my $type ($staticexe, $dynamicexe, $staticlib, $dynamiclib) {
+ if ($str =~ /(.*)\s+$type$/) {
+ $str = $1;
+ last;
+ }
+ }
+
+ return $str;
+}
+
+
+sub base_project_name {
+ my($self) = shift;
+ return $self->transform_file_name(
+ $self->remove_type_append($self->project_name()) .
+ ($self->get_writing_type() == 1 ? $sname : ""));
+}
+
+
+sub get_static_append {
+ my($self) = shift;
+ return $sname;
+}
+
+
sub get_type_append {
my($self) = shift;
my($type) = "";
@@ -93,12 +123,6 @@ sub translate_value {
}
-sub sort_files {
- my($self) = shift;
- return 1;
-}
-
-
sub file_sorter {
my($self) = shift;
my($left) = shift;
@@ -109,12 +133,7 @@ sub file_sorter {
sub crlf {
my($self) = shift;
- if ($^O eq 'MSWin32') {
- return "\n";
- }
- else {
- return "\r\n";
- }
+ return $self->windows_crlf();
}
@@ -124,7 +143,7 @@ sub fill_value {
my($value) = undef;
if ($name eq "make_file_name") {
- $value = $self->transform_file_name($self->project_name() . ".mak");
+ $value = $self->base_project_name() . ".mak";
}
return $value;
@@ -139,13 +158,13 @@ sub separate_static_project {
sub project_file_name {
my($self) = shift;
- return $self->transform_file_name($self->project_name() . ".dsp");
+ return $self->project_name() . ".dsp";
}
sub static_project_file_name {
my($self) = shift;
- return $self->transform_file_name($self->project_name() . "_Static.dsp");
+ return $self->project_name() . "$sname.dsp";
}
diff --git a/bin/MakeProjectCreator/modules/VC6WorkspaceCreator.pm b/bin/MakeProjectCreator/modules/VC6WorkspaceCreator.pm
index 72e0ea8c253..b69ee0280d2 100644
--- a/bin/MakeProjectCreator/modules/VC6WorkspaceCreator.pm
+++ b/bin/MakeProjectCreator/modules/VC6WorkspaceCreator.pm
@@ -25,12 +25,7 @@ use vars qw(@ISA);
sub crlf {
my($self) = shift;
- if ($^O eq 'MSWin32') {
- return "\n";
- }
- else {
- return "\r\n";
- }
+ return $self->windows_crlf();
}
@@ -116,15 +111,4 @@ sub post_workspace {
}
-sub project_creator {
- my($self) = shift;
- return new VC6ProjectCreator($self->get_global_cfg(),
- $self->get_include_path(),
- $self->get_template_override(),
- $self->get_ti_override(),
- $self->get_dynamic(),
- $self->get_static());
-}
-
-
1;
diff --git a/bin/MakeProjectCreator/modules/VC7ProjectCreator.pm b/bin/MakeProjectCreator/modules/VC7ProjectCreator.pm
index 4fe9830933c..c2307044ae2 100644
--- a/bin/MakeProjectCreator/modules/VC7ProjectCreator.pm
+++ b/bin/MakeProjectCreator/modules/VC7ProjectCreator.pm
@@ -29,7 +29,6 @@ sub translate_value {
if ($key eq 'depends' && $val ne "") {
my($arr) = $self->create_array($val);
- my($app) = "";
$val = "";
foreach my $entry (@$arr) {
$val .= "\"" . $self->project_file_name($entry) . "\" ";
@@ -68,28 +67,9 @@ sub save_project_value {
}
-sub sort_files {
- my($self) = shift;
- return 1;
-}
-
-
-sub file_sorter {
- my($self) = shift;
- my($left) = shift;
- my($right) = shift;
- return lc($left) cmp lc($right);
-}
-
-
sub crlf {
my($self) = shift;
- if ($^O eq 'MSWin32') {
- return "\n";
- }
- else {
- return "\r\n";
- }
+ return $self->windows_crlf();
}
@@ -114,7 +94,7 @@ sub project_file_name {
$name = $self->project_name();
}
- return $self->transform_file_name("$name.vcproj");
+ return "$name.vcproj";
}
diff --git a/bin/MakeProjectCreator/modules/VC7WorkspaceCreator.pm b/bin/MakeProjectCreator/modules/VC7WorkspaceCreator.pm
index 9ece2156f1f..db5be6cacbe 100644
--- a/bin/MakeProjectCreator/modules/VC7WorkspaceCreator.pm
+++ b/bin/MakeProjectCreator/modules/VC7WorkspaceCreator.pm
@@ -25,12 +25,7 @@ use vars qw(@ISA);
sub crlf {
my($self) = shift;
- if ($^O eq 'MSWin32') {
- return "\n";
- }
- else {
- return "\r\n";
- }
+ return $self->windows_crlf();
}
@@ -136,15 +131,4 @@ sub write_comps {
}
-sub project_creator {
- my($self) = shift;
- return new VC7ProjectCreator($self->get_global_cfg(),
- $self->get_include_path(),
- $self->get_template_override(),
- $self->get_ti_override(),
- $self->get_dynamic(),
- $self->get_static());
-}
-
-
1;
diff --git a/bin/MakeProjectCreator/modules/WorkspaceCreator.pm b/bin/MakeProjectCreator/modules/WorkspaceCreator.pm
index c7c30a2afb3..227703f45b9 100644
--- a/bin/MakeProjectCreator/modules/WorkspaceCreator.pm
+++ b/bin/MakeProjectCreator/modules/WorkspaceCreator.pm
@@ -37,8 +37,9 @@ sub new {
my($ti) = shift;
my($dynamic) = shift;
my($static) = shift;
+ my($relative) = shift;
my($self) = Creator::new($class, $global, $inc,
- $template, $ti, 'workspace');
+ $template, $ti, $relative, 'workspace');
my($typecheck) = $self->{'type_check'};
$self->{'workspace_name'} = undef;
@@ -220,7 +221,7 @@ sub write_workspace {
my($status, $generator) = $self->generate_project_files();
if ($status) {
my($fh) = new FileHandle();
- my($name) = $self->workspace_file_name();
+ my($name) = $self->transform_file_name($self->workspace_file_name());
my($dir) = dirname($name);
if ($dir ne ".") {
@@ -257,7 +258,6 @@ sub generate_project_files {
foreach my $file (@{$self->{'project_files'}}) {
my($dir) = dirname($file);
my($gen) = [];
- my($sgen) = [];
## We must change to the subdirectory for
## which this project file is intended
@@ -341,7 +341,9 @@ sub sort_dependencies {
my($darr) = $self->create_array($deps);
my($moved) = 0;
foreach my $dep (@$darr) {
- my($full) = (defined $prepend{$dep} ? "$prepend{$dep}/" : "") . $dep;
+ my($base) = basename($dep);
+ my($full) = (defined $prepend{$base} ?
+ "$prepend{$base}/" : "") . $base;
if ($project ne $full) {
## See if the dependency is listed after this project
for(my $j = $i; $j <= $#list; $j++) {
@@ -364,6 +366,27 @@ sub sort_dependencies {
}
+sub project_creator {
+ my($self) = shift;
+ my($str) = "$self";
+
+ ## NOTE: If the subclassed WorkspaceCreator name prefix does not
+ ## match the name prefix of the ProjectCreator, this code
+ ## will not work and the subclassed WorkspaceCreator will
+ ## need to override this method.
+
+ $str =~ s/Workspace/Project/;
+ $str =~ s/=HASH.*//;
+ return $str->new($self->get_global_cfg(),
+ $self->get_include_path(),
+ $self->get_template_override(),
+ $self->get_ti_override(),
+ $self->get_dynamic(),
+ $self->get_static(),
+ $self->get_relative());
+}
+
+
# ************************************************************
# Virtual Methods To Be Overridden
# ************************************************************
@@ -393,10 +416,4 @@ sub post_workspace {
}
-sub project_creator {
- my($self) = shift;
- return undef;
-}
-
-
1;
diff --git a/bin/MakeProjectCreator/templates/bor.mpd b/bin/MakeProjectCreator/templates/bor.mpd
index 8e4194761fb..4da186b39a6 100644
--- a/bin/MakeProjectCreator/templates/bor.mpd
+++ b/bin/MakeProjectCreator/templates/bor.mpd
@@ -12,45 +12,64 @@ OBJFILES = \
$(OBJDIR)\<%noextension(source_file)%>.obj<%fornotlast(" \\")%>
<%endfor%>
<%endif%>
+<%if(ssl)%>
-<%if(libs)%>
-LIBFILES = \
-<%foreach(libs)%>
- $(CORE_BINDIR)\<%lib%>.lib<%fornotlast(" \\")%>
-<%endfor%>
+SSL_LIBS =<%foreach(ssl_libs)%> <%ssl_lib%>.lib<%endfor%>
+<%else%>
+SSL_LIBS =
<%endif%>
+LIBFILES = $(SSL_LIBS) \
+<%foreach(libs defaultlibs)%>
+ $(CORE_BINDIR)\<%lib%>.lib<%fornotlast(" \\")%>
+<%endfor%>
<%if(idl_files)%>
+
IDLFILES = \
<%foreach(idl_files)%>
$(IDLDIR)\<%noextension(idl_file)%>.idl<%fornotlast(" \\")%>
<%endfor%>
<%endif%>
-
<%if(resource_files)%>
+
RESOURCE =<%foreach(resource_files)%> $(OBJDIR)\<%noextension(resource_file)%>.res<%endfor%>
<%endif%>
-CFLAGS =<%foreach(includes)%> -I<%include%><%endfor%><%if(type_is_dynamic)%><%foreach(dllflags)%> -D<%dllflag%>=1<%endfor%><%endif%><%if(need_libflags)%><%foreach(libflags)%> -D<%libflag%>=1<%endfor%><%endif%>
+!ifdef STATIC
+LIB_FLAGS =<%foreach(libflags)%> -D<%libflag%>=1<%endfor%>
+DLL_FLAGS =
+!else
+LIB_FLAGS =
+DLL_FLAGS =<%foreach(dllflags)%> -D<%dllflag%>=1<%endfor%>
+!endif
+
+CFLAGS =<%foreach(includes)%> -I<%include%><%endfor%> $(DLL_FLAGS) $(LIB_FLAGS)
CPPDIR = .
INCDIR_NAME = .
+<%if(idl_files)%>
IDLDIR = .
-
+<%endif%>
<%if(header_files)%>
+
INCLUDES = \
<%foreach(header_files template_files)%>
<%header_file%><%fornotlast(" \\")%>
<%endfor%>
-
<%endif%>
<%if(exename)%>
+<%if(install)%>
+
+INSTALL_THIS_TARGET = 1
+<%endif%>
+
!include <$(ACE_ROOT)\include\makeinclude\build_exe.bor>
<%endif%>
<%if(sharedname)%>
+
!include <$(ACE_ROOT)\include\makeinclude\build_core_library.bor>
<%endif%>
+<%if(idl_files)%>
-<%if(libs)%>
#
# IDL Build rules
#
@@ -58,6 +77,5 @@ INCLUDES = \
<%foreach(idl_files)%>
$(IDLDIR)\<%noextension(idl_file)%>S.cpp $(IDLDIR)\<%noextension(idl_file)%>C.cpp: $(IDLDIR)\<%noextension(idl_file)%>.idl
$(TAO_IDL) $**
-
<%endfor%>
<%endif%>
diff --git a/bin/MakeProjectCreator/templates/em3vcp.mpd b/bin/MakeProjectCreator/templates/em3vcp.mpd
new file mode 100644
index 00000000000..98ba9aaad29
--- /dev/null
+++ b/bin/MakeProjectCreator/templates/em3vcp.mpd
@@ -0,0 +1,232 @@
+# Microsoft eMbedded Visual Tools Project File - Name="<%project_name%>" - Package Owner=<4>
+# Microsoft eMbedded Visual Tools Generated Build File, Format Version 6.02
+# ** DO NOT EDIT **
+
+<%foreach(platform_longs)%>
+# TARGTYPE "<%platform("Win32")%> (<%platform_long%>) <%type_description("Dynamic-Link Library")%>" <%type_code%>
+<%endfor%>
+
+CFG=<%project_name%> - <%platform("Win32")%> (<%default_platform_long%>) <%default_configuration%>
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE run the tool that generated this project file and specify the
+!MESSAGE nmake output type. You can then use the following command:
+!MESSAGE
+!MESSAGE NMAKE /f "<%make_file_name%>".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "<%make_file_name%>" CFG="<%project_name%> - <%platform%> (<%default_platform_long%>) <%default_configuration%>"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+<%foreach(platform_longs)%>
+<%foreach(configurations)%>
+!MESSAGE "<%project_name%> - <%platform%> (<%platform_long%>) <%configuration%>" (based on "<%platform%> (<%platform_long%>) <%type_description%>")
+<%endfor%>
+<%endfor%>
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+# PROP ATL_Project <%atl_project("2")%>
+
+<%foreach(platform_longs)%>
+<%foreach(configurations)%>
+!<%fornotfirst("ELSE")%>IF "$(CFG)" == "<%project_name%> - <%platform%> (<%platform_long%>) <%configuration%>"
+
+# PROP Use_MFC <%use_mfc("0")%>
+# PROP Use_Debug_Libraries <%use_debug_libraries("1")%>
+<%if(exename)%>
+# PROP Output_Dir "<%output_dir%>\<%machine%>"
+<%endif%>
+<%if(type_is_static)%>
+# PROP Output_Dir "<%output_dir%>\<%machine%>"
+<%endif%>
+<%if(type_is_dynamic)%>
+# PROP Output_Dir "<%libout%>\<%machine%>"
+<%endif%>
+# PROP Intermediate_Dir "<%intermediate_dir%>\<%machine%>"
+# PROP CPU_ID "{<%cpu_id%>}"
+# PROP Platform_ID "{<%platform_id%>}"
+<%if(type_is_dynamic)%>
+# PROP Ignore_Export_Lib 0
+<%endif%>
+# PROP Target_Dir ""
+<%if(type_is_static)%>
+LINK32=link.exe -lib
+<%endif%>
+RSC=rc.exe
+# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CePlatform)"<%foreach(defines common_defines cpu_defines)%> /d <%define%>=1<%endfor%><%foreach(includes)%> /i "<%include%>"<%endfor%> /r
+CPP=<%cpp("cl.exe")%>
+# ADD CPP /nologo <%compile_flags%> <%foreach(includes)%>/I "<%include%>" <%endfor%>/D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) <%foreach(defines common_defines cpu_defines)%>/D <%define%>=1 <%endfor%><%if(type_is_dynamic)%><%foreach(dllflags)%>/D <%dllflag%>=1 <%endfor%><%endif%><%if(need_libflags)%><%foreach(libflags)%>/D <%libflag%>=1 <%endfor%><%endif%><%if(pch_header)%><%foreach(pch_defines)%>/D <%pch_define%> <%endfor%><%if(pch_source)%>/Yu<%else%>/YX<%endif%>"<%pch_header%>" /Fp"<%intermediate_dir%>\<%noextension(pch_header)%>.pch" <%endif%>/FR /M$(CECrtMT) /FD /c
+<%if(compile_flags_removed)%>
+# SUBTRACT CPP <%compile_flags_removed%>
+<%endif%>
+BSC32=bscmake.exe
+# ADD BSC32 /nologo <%if(sharedname)%>/o"<%libout%>\<%sharedname%>.bsc"<%endif%>
+<%if(type_is_binary)%>
+LINK32=link.exe
+# ADD LINK32 <%systemlibs("winsock.lib commctrl.lib coredll.lib iphlpapi.lib")%> <%if(ssl)%><%foreach(ssl_libs)%><%ssl_lib%>.lib <%endfor%><%endif%>/INCREMENTAL:<%incremental("NO")%> <%foreach(libs defaultlibs)%><%lib%><%lib_modifier%>.lib <%endfor%><%foreach(libpaths)%>/libpath:"<%libpath%>\<%machine%>" <%endfor%>/nologo /base:"<%base("0x00100000")%>" /stack:<%stack("0x10000,0x1000")%> /entry:"_DllMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /version:<%version("1.0")%> /subsystem:$(CESubsystem) /align:"<%align("4096")%>" <%if(type_is_dynamic)%> /dll<%endif%> <%if(use_debug_libraries)%>/debug<%endif%> <%if(pdb)%><%if(sharedname)%>/pdb:<%sharedname%><%lib_modifier%>.pdb <%endif%><%endif%>/machine:<%machine%> /out:"<%if(sharedname)%><%dllout%>\<%machine%>\<%sharedname%><%lib_modifier%>.dll<%endif%><%if(exename)%><%if(install)%><%install%>\<%endif%><%machine%>\<%exename%>.exe<%endif%>"
+<%if(link_flags_removed)%>
+# SUBTRACT LINK32 <%link_flags_removed%>
+<%endif%>
+<%endif%>
+<%if(type_is_static)%>
+LIB32=link.exe -lib
+# ADD LIB32 /nologo /out:"<%libout%>\<%machine%>\<%staticname%><%lib_modifier%>.lib"
+<%endif%>
+
+<%endfor%>
+!ENDIF
+<%endfor%>
+
+
+# Begin Target
+
+<%foreach(platform_longs)%>
+<%foreach(configurations)%>
+# Name "<%project_name%> - <%platform%> (<%platform_long%>) <%configuration%>"
+<%endfor%>
+<%endfor%>
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;cxx;c"
+<%if(pch_source)%>
+<%if(pch_header)%>
+# Begin Source File
+
+SOURCE=.\<%pch_source%>
+# ADD CPP /Yc"<%pch_header%>"
+# End Source File
+<%endif%>
+<%endif%>
+<%foreach(source_files)%>
+# Begin Source File
+
+SOURCE=.\<%source_file%>
+# End Source File
+<%endfor%>
+# End Group
+<%if(header_files)%>
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hh"
+<%foreach(header_files)%>
+# Begin Source File
+
+SOURCE=.\<%header_file%>
+# End Source File
+<%endfor%>
+# End Group
+<%endif%>
+<%if(inline_files)%>
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i;inl"
+<%foreach(inline_files)%>
+# Begin Source File
+
+SOURCE=.\<%inline_file%>
+# End Source File
+<%endfor%>
+# End Group
+<%endif%>
+<%if(template_files)%>
+# Begin Group "Template Files"
+
+# PROP Default_Filter ""
+<%foreach(template_files)%>
+# Begin Source File
+
+SOURCE=.\<%template_file%>
+# PROP Exclude_From_Build 1
+# End Source File
+<%endfor%>
+# End Group
+<%endif%>
+<%if(documentation_files)%>
+# Begin Group "Documentation"
+
+# PROP Default_Filter ""
+<%foreach(documentation_files)%>
+# Begin Source File
+
+SOURCE=.\<%documentation_file%>
+# End Source File
+<%endfor%>
+# End Group
+<%endif%>
+<%if(resource_files)%>
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "rc;ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
+<%foreach(resource_files)%>
+# Begin Source File
+
+SOURCE=.\<%resource_file%>
+# End Source File
+<%endfor%>
+# End Group
+<%endif%>
+<%if(idl_files)%>
+# Begin Group "IDL Files"
+
+# PROP Default_Filter "idl"
+<%foreach(idl_files)%>
+# Begin Source File
+
+SOURCE=.\<%idl_file%>
+
+<%foreach(platform_longs)%>
+<%foreach(configurations)%>
+!<%fornotfirst("ELSE")%>IF "$(CFG)" == "<%project_name%> - <%platform%> (<%platform_long%>) <%configuration%>"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking TAO_IDL Compiler on $(InputPath)
+InputPath=.\<%idl_file%>
+InputName=<%noextension(idl_file)%>
+
+BuildCmds= \
+ <%tao_idl_exe("$(ACE_ROOT)\\bin\\tao_idl")%> <%idlflags("-Sc")%> $(InputPath)
+
+"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+<%endfor%>
+!ENDIF
+<%endfor%>
+
+# End Source File
+<%endfor%>
+# End Group
+<%endif%>
+# End Target
+# End Project
diff --git a/bin/MakeProjectCreator/templates/em3vcpdll.mpt b/bin/MakeProjectCreator/templates/em3vcpdll.mpt
new file mode 100644
index 00000000000..7cff5904b7b
--- /dev/null
+++ b/bin/MakeProjectCreator/templates/em3vcpdll.mpt
@@ -0,0 +1,46 @@
+configurations = Release Debug
+platform_longs = "WCE ARM" "WCE x86"
+default_configuration = Debug
+default_platform_long = "WCE ARM"
+type_is_binary = 1
+type_is_dynamic = 1
+common_defines = UNICODE _UNICODE
+pch_defines = ACE_USING_PCH
+ssl_libs = libeay32 ssleay32
+
+WCE x86 {
+ type_code = 0x8302
+ cpu_id = D6518FF3-710F-11D3-99F2-00105A0DF099
+ platform_id = 8A9A2F80-6887-11D3-842E-005004848CBA
+ machine = IX86
+ cpu_defines = _i386_ _X86_ x86
+}
+
+WCE ARM {
+ type_code = 0x8502
+ cpu_id = D6518FFC-710F-11D3-99F2-00105A0DF099
+ platform_id = 8A9A2F80-6887-11D3-842E-005004848CBA
+ machine = ARM
+ cpp = clarm.exe
+ cpu_defines = ARM _ARM_
+}
+
+Release {
+ use_debug_libraries = 0
+ compile_flags = /W3 /GX /O2 /MD /Zi /Ob2
+ defines = NDEBUG
+ compile_flags_removed = /YX
+ output_dir = Release
+ intermediate_dir = Release
+}
+
+Debug {
+ use_debug_libraries = 1
+ compile_flags = /W3 /Gm /GX /Zi /Od /MDd /Gy
+ defines = _DEBUG
+ compile_flags_removed = /Fr /YX
+ intermediate_dir = Debug
+ lib_modifier = d
+ pdb = 1
+}
+
diff --git a/bin/MakeProjectCreator/templates/em3vcpdllexe.mpt b/bin/MakeProjectCreator/templates/em3vcpdllexe.mpt
new file mode 100644
index 00000000000..49c10e676b4
--- /dev/null
+++ b/bin/MakeProjectCreator/templates/em3vcpdllexe.mpt
@@ -0,0 +1,45 @@
+type_description = "Application"
+platform_longs = "WCE ARM" "WCE x86"
+default_configuration = Debug
+default_platform_long = "WCE ARM"
+configurations = Release Debug
+type_is_binary = 1
+common_defines = UNICODE _UNICODE
+pch_defines = ACE_USING_PCH
+ssl_libs = libeay32 ssleay32
+
+WCE x86 {
+ type_code = 0x8301
+ cpu_id = D6518FF3-710F-11D3-99F2-00105A0DF099
+ platform_id = 8A9A2F80-6887-11D3-842E-005004848CBA
+ machine = IX86
+ cpu_defines = _i386_ _X86_ x86
+}
+
+WCE ARM {
+ type_code = 0x8501
+ cpu_id = D6518FFC-710F-11D3-99F2-00105A0DF099
+ platform_id = 8A9A2F80-6887-11D3-842E-005004848CBA
+ machine = ARM
+ cpp = clarm.exe
+ cpu_defines = ARM _ARM_
+}
+
+Release {
+ use_debug_libraries = 0
+ compile_flags = /W3 /GX /O2 /MD
+ defines = NDEBUG
+ compile_flags_removed = /YX
+ output_dir = Release
+ intermediate_dir = Release
+}
+
+Debug {
+ use_debug_libraries = 1
+ compile_flags = /W3 /Gm /GX /Zi /Od /MDd /GR /Gy
+ defines = _DEBUG
+ compile_flags_removed = /YX
+ intermediate_dir = Debug
+ lib_modifier = d
+}
+
diff --git a/bin/MakeProjectCreator/templates/em3vcplib.mpt b/bin/MakeProjectCreator/templates/em3vcplib.mpt
new file mode 100644
index 00000000000..15885196b55
--- /dev/null
+++ b/bin/MakeProjectCreator/templates/em3vcplib.mpt
@@ -0,0 +1,48 @@
+type_description = "Static Library"
+platform_longs = "WCE ARM" "WCE x86"
+default_configuration = "Static Debug"
+default_platform_long = "WCE ARM"
+configurations = "Static Release" "Static Debug"
+common_defines = UNICODE _UNICODE
+type_is_static = 1
+need_libflags = 1
+pch_defines = ACE_USING_PCH
+
+WCE x86 {
+ type_code = 0x8304
+ cpu_id = D6518FF3-710F-11D3-99F2-00105A0DF099
+ platform_id = 8A9A2F80-6887-11D3-842E-005004848CBA
+ machine = IX86
+ cpu_defines = _i386_ _X86_ x86
+}
+
+WCE ARM {
+ type_code = 0x8504
+ cpu_id = D6518FFC-710F-11D3-99F2-00105A0DF099
+ platform_id = 8A9A2F80-6887-11D3-842E-005004848CBA
+ machine = ARM
+ cpp = clarm.exe
+ cpu_defines = ARM _ARM_
+}
+
+Static Release {
+ use_debug_libraries = 0
+ compile_flags = /G5 /W3 /GX /O2 /MD /Zi
+ defines = NDEBUG
+ compile_flags_removed = /YX
+ output_dir = Static_Release
+ intermediate_dir = Static_Release
+ lib_modifier = s
+}
+
+Static Debug {
+ use_debug_libraries = 1
+ compile_flags = /G5 /W3 /Gm /GX /Zi /Od /Gy /MDd
+ defines = _DEBUG
+ compile_flags_removed = /Fr /YX
+ output_dir = Static_Debug
+ intermediate_dir = Static_Debug
+ lib_modifier = sd
+ pdb = 1
+}
+
diff --git a/bin/MakeProjectCreator/templates/em3vcplibexe.mpt b/bin/MakeProjectCreator/templates/em3vcplibexe.mpt
new file mode 100644
index 00000000000..872751a6017
--- /dev/null
+++ b/bin/MakeProjectCreator/templates/em3vcplibexe.mpt
@@ -0,0 +1,48 @@
+type_description = "Application"
+platform_longs = "WCE ARM" "WCE x86"
+default_configuration = "Static Debug"
+default_platform_long = "WCE ARM"
+configurations = "Static Release" "Static Debug"
+type_is_binary = 1
+common_defines = UNICODE _UNICODE
+pch_defines = ACE_USING_PCH
+ssl_libs = libeay32 ssleay32
+
+WCE x86 {
+ type_code = 0x8301
+ cpu_id = D6518FF3-710F-11D3-99F2-00105A0DF099
+ platform_id = 8A9A2F80-6887-11D3-842E-005004848CBA
+ machine = IX86
+ cpu_defines = _i386_ _X86_ x86
+}
+
+WCE ARM {
+ type_code = 0x8501
+ cpu_id = D6518FFC-710F-11D3-99F2-00105A0DF099
+ platform_id = 8A9A2F80-6887-11D3-842E-005004848CBA
+ machine = ARM
+ cpp = clarm.exe
+ cpu_defines = ARM _ARM_
+}
+
+Static Release {
+ use_debug_libraries = 0
+ compile_flags = /W3 /GX /O2 /MD
+ defines = NDEBUG
+ compile_flags_removed = /YX
+ lib_modifier = s
+ need_libflags = 1
+ output_dir = Static_Release
+ intermediate_dir = Static_Release
+}
+
+Static Debug {
+ use_debug_libraries = 1
+ compile_flags = /W3 /Gm /GX /Zi /Od /MDd /GR /Gy
+ defines = _DEBUG
+ compile_flags_removed = /YX
+ lib_modifier = sd
+ need_libflags = 1
+ output_dir = Static_Debug
+ intermediate_dir = Static_Debug
+}
diff --git a/bin/MakeProjectCreator/templates/va4icc.mpd b/bin/MakeProjectCreator/templates/va4icc.mpd
new file mode 100644
index 00000000000..4dcc547a365
--- /dev/null
+++ b/bin/MakeProjectCreator/templates/va4icc.mpd
@@ -0,0 +1,142 @@
+// Configuration file to build <%if(type_is_dynamic)%><%sharedname%> shared library (aka DLL)<%endif%><%if(type_is_static)%><%staticname%> static library<%endif%><%if(type_is_binary)%><%exename%> executable<%endif%> on both Win32
+// and AIX using Visual Age C++ 4 (or later)
+
+if $__TOS_WIN__ {
+ option PlatformOptions =
+<%foreach(defines common_defines)%>
+ define ("<%define%>", "1"),
+<%endfor%>
+<%if(type_is_dynamic)%>
+<%foreach(dllflags)%>
+ define ("<%dllflag%>", "1"),
+<%endfor%>
+<%endif%>
+<%if(need_libflags)%>
+<%foreach(libflags)%>
+ define ("<%libflag%>", "1"),
+<%endfor%>
+<%endif%>
+ define ("ACE_HAS_WINSOCK2","1"),
+ define ("ACE_HAS_WCHAR_TYPEDEFS_CHAR","1"),
+ define ("_stricmp", "stricmp"),
+ define ("_strnicmp", "strnicmp"),
+ define ("_O_TEMPORARY", 0x08),
+ define ("_O_CREAT", "O_CREAT"),
+ define ("_O_TRUNC", "O_TRUNC"),
+ define ("_O_EXCL", "O_EXCL"),
+ define ("_INTEGRAL_MAX_BITS", 64),
+ define ('ACE_LACKS_RTTI', '1'),
+ define ('ACE_USE_RCSID', '0'),
+ gen('check', 'bounds', 'no'),
+ gen('libansi', 'yes'),
+ link('typecheck', 'yes'),
+ opt('level', '0'),
+ report('level', 'W'),
+ lang('staticinlinelinkage', 'yes'),
+ file('once', 'yes')
+}
+
+if $__TOS_AIX__ {
+ option PlatformOptions =
+ defaults('xlC_r'),
+ define ('ACE_AIX_VERS', '<%aix_vers("501")%>'),
+ define ('ACE_LACKS_RTTI', '1'),
+ define ('ACE_USE_RCSID', '0'),
+ gen('check', 'bounds', 'no'),
+ gen('libansi', 'yes'),
+ link('typecheck', 'yes'),
+ opt('level', 0),
+ report('level', 'W'),
+ lang('staticinlinelinkage', 'yes'),
+ file('once', 'yes')
+}
+
+option
+ PlatformOptions,
+<%foreach(includes)%>
+ incl(searchPath, '<%include%>'),
+<%endfor%>
+<%if(sharedname)%>
+ link(exportAll),
+<%endif%>
+ link(linkwithsharedlib),
+<%foreach(libpaths)%>
+ link(libSearchPath, '<%libpath%>'),
+<%endfor%>
+ link(linkWithMultiThreadLib,yes),
+ link(debug)
+ {
+ if $__TOS_WIN__ {
+ target type ( <%if(type_is_dynamic)%>shr<%endif%><%if(type_is_static)%>lib<%endif%><%if(type_is_binary)%>exe<%endif%> ) '<%if(type_is_dynamic)%>shr.o<%endif%><%if(type_is_static)%>lib<%sharedname%>.a<%endif%><%if(type_is_binary)%><%exename%><%endif%>'
+ {
+ option macros(global)
+ {
+<%if(sharedname)%>
+ source type(hpp) 'wchar.h'
+ source type(hpp) 'wcstr.h'
+<%endif%>
+<%if(header_files)%>
+ source type(hpp)
+<%foreach(header_files)%>
+ '<%header_file%>'<%fornotlast(",")%>
+<%endfor%>
+<%endif%>
+ }
+<%if(source_files)%>
+ source type(cpp)
+<%foreach(source_files)%>
+ "<%source_file%>"<%fornotlast(",")%>
+<%endfor%>
+<%endif%>
+<%if(type_is_static)%>
+ // Template implementation files (#pragma implementation)
+<%foreach(template_files)%>
+ source type(cpp) "<%template_file%>"
+<%endfor%>
+<%endif%>
+
+ // Libraries needed during linking
+ source type (lib) "advapi32.lib"
+ source type (lib) "user32.lib"
+ source type (lib) "ws2_32.lib"
+ source type (lib) "wsock32.lib"
+ source type (lib) "mswsock.lib"
+<%foreach(libs default_libs)%>
+ source type (lib) "<%lib%><%lib_modifier%>.lib"
+<%endfor%>
+ }
+ }
+ if $__TOS_AIX__ {
+ target type ( <%if(type_is_dynamic)%>shr<%endif%><%if(type_is_static)%>lib<%endif%><%if(type_is_binary)%>exe<%endif%> ) '<%if(type_is_dynamic)%>shr.o<%endif%><%if(type_is_static)%>lib<%sharedname%>.a<%endif%><%if(type_is_binary)%><%exename%><%endif%>'
+ {
+ run after sources("shr.o") targets ("lib<%sharedname%>.a") "ar -r -u lib<%sharedname%>.a shr.o", "rm -rf shr.o"
+ run cleanup "rm -rf lib<%sharedname%>.a shr.o"
+
+<%if(source_files)%>
+ source type(cpp)
+<%foreach(source_files)%>
+ "<%source_file%>"<%fornotlast(",")%>
+<%endfor%>
+<%endif%>
+<%if(type_is_static)%>
+ // Template implementation files (#pragma implementation)
+<%foreach(template_files)%>
+ source type(cpp) "<%template_file%>"
+<%endfor%>
+<%endif%>
+
+ // Libraries needed during linking
+<%foreach(libs defaultlibs)%>
+ source type (lib) "lib<%lib%>.a"
+<%endfor%>
+<%if(type_is_dynamic)%>
+ source type (lib) "libtli_r.a"
+ source type (lib) "libpthreads.a"
+ source type (lib) "libc_r.a"
+ source type (lib) "libdl.a"
+ // Imports
+ source type (imp) "pse.exp"
+<%endif%>
+ }
+ }
+ }
diff --git a/bin/MakeProjectCreator/templates/va4iccdll.mpt b/bin/MakeProjectCreator/templates/va4iccdll.mpt
new file mode 100644
index 00000000000..3f6265f7b71
--- /dev/null
+++ b/bin/MakeProjectCreator/templates/va4iccdll.mpt
@@ -0,0 +1,4 @@
+common_defines = _WINDOWS WIN32
+type_is_dynamic = 1
+lib_modifier = d
+defines = _DEBUG
diff --git a/bin/MakeProjectCreator/templates/va4iccdllexe.mpt b/bin/MakeProjectCreator/templates/va4iccdllexe.mpt
new file mode 100644
index 00000000000..1616203a141
--- /dev/null
+++ b/bin/MakeProjectCreator/templates/va4iccdllexe.mpt
@@ -0,0 +1,4 @@
+common_defines = _WINDOWS _CONSOLE
+type_is_binary = 1
+lib_modifier = d
+defines = _DEBUG
diff --git a/bin/MakeProjectCreator/templates/va4icclib.mpt b/bin/MakeProjectCreator/templates/va4icclib.mpt
new file mode 100644
index 00000000000..8584a3b73a4
--- /dev/null
+++ b/bin/MakeProjectCreator/templates/va4icclib.mpt
@@ -0,0 +1,4 @@
+common_defines = _WINDOWS WIN32
+type_is_static = 1
+lib_modifier = d
+defines = _DEBUG \ No newline at end of file
diff --git a/bin/MakeProjectCreator/templates/va4icclibexe.mpt b/bin/MakeProjectCreator/templates/va4icclibexe.mpt
new file mode 100644
index 00000000000..8505a668ea5
--- /dev/null
+++ b/bin/MakeProjectCreator/templates/va4icclibexe.mpt
@@ -0,0 +1,5 @@
+common_defines = _WINDOWS _CONSOLE
+type_is_binary = 1
+lib_modifier = d
+defines = _DEBUG
+need_libflags = 1 \ No newline at end of file
diff --git a/bin/MakeProjectCreator/templates/vc6dsplibexe.mpt b/bin/MakeProjectCreator/templates/vc6dsplibexe.mpt
index 977f4441004..c3cd0597804 100644
--- a/bin/MakeProjectCreator/templates/vc6dsplibexe.mpt
+++ b/bin/MakeProjectCreator/templates/vc6dsplibexe.mpt
@@ -7,6 +7,7 @@ common_defines = WIN32 _CONSOLE
subsystem = console
pch_defines = ACE_USING_PCH
ssl_libs = libeay32 ssleay32
+need_libflags = 1
Static Release {
use_debug_libraries = 0
@@ -14,7 +15,6 @@ Static Release {
defines = NDEBUG
compile_flags_removed = /YX
lib_modifier = s
- need_libflags = 1
output_dir = Static_Release
intermediate_dir = Static_Release
debug_switch =
@@ -26,7 +26,6 @@ Static Debug {
defines = _DEBUG
compile_flags_removed = /YX
lib_modifier = sd
- need_libflags = 1
output_dir = Static_Debug
intermediate_dir = Static_Debug
}
diff --git a/bin/MakeProjectCreator/templates/vc7.mpd b/bin/MakeProjectCreator/templates/vc7.mpd
index 956b1b2c260..4302f33983e 100644
--- a/bin/MakeProjectCreator/templates/vc7.mpd
+++ b/bin/MakeProjectCreator/templates/vc7.mpd
@@ -1,206 +1,217 @@
<?xml version="<%xml_version("1.0")%>" encoding = "<%encoding("Windows-1252")%>"?>
<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.00"
- Name="<%project_name%>"
- ProjectGUID="{<%guid%>}"
- SccProjectName=""
- SccLocalPath="">
- <Platforms>
- <Platform
- Name="<%platform("Win32")%>"/>
- </Platforms>
- <Configurations>
+ ProjectType="Visual C++"
+ Version="7.00"
+ Name="<%project_name%>"
+ ProjectGUID="{<%guid%>}"
+ SccProjectName=""
+ SccLocalPath="">
+ <Platforms>
+ <Platform
+ Name="<%platform("Win32")%>"/>
+ </Platforms>
+ <Configurations>
<%foreach(configurations)%>
- <Configuration
- Name="<%configuration%>|<%platform%>"
- OutputDirectory="<%if(type_is_dynamic)%><%libout%><%else%><%output_dir%><%endif%>"
- IntermediateDirectory="<%intermediate_dir%>"
- ConfigurationType="<%configuration_type("2")%>"
- UseOfMFC="<%use_mfc("0")%>"
- ATLMinimizesCRunTimeLibraryUsage="FALSE">
- <Tool
- Name="VCCLCompilerTool"
+ <Configuration
+ Name="<%configuration%>|<%platform%>"
+ OutputDirectory=".\<%if(type_is_dynamic)%><%libout%><%else%><%output_dir%><%endif%>"
+ IntermediateDirectory=".\<%intermediate_dir%>"
+ ConfigurationType="<%configuration_type("2")%>"
+ UseOfMFC="<%use_mfc("0")%>"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE">
+ <Tool
+ Name="VCCLCompilerTool"
<%if(optimization)%>
- Optimization="<%optimization%>"
-<%endif%>
- InlineFunctionExpansion="<%inline("1")%>"
- AdditionalIncludeDirectories="<%foreach(includes)%><%include%><%fornotlast(",")%><%endfor%>"
- PreprocessorDefinitions="<%if(type_is_dynamic)%><%foreach(dllflags)%><%dllflag%>;<%endfor%><%endif%><%if(need_libflags)%><%foreach(libflags)%><%libflag%>;<%endfor%><%endif%><%if(pch_header)%><%foreach(pch_defines)%><%pch_define%>;<%endfor%><%endif%><%foreach(defines common_defines)%><%define%><%fornotlast(";")%><%endfor%>"
- StringPooling="<%string_pooling("TRUE")%>"
- RuntimeLibrary="<%runtime_library%>"
- EnableFunctionLevelLinking="TRUE"
- RuntimeTypeInfo="<%rtti("TRUE")%>"
+ Optimization="<%optimization%>"
+<%endif%>
+<%if(!debug)%>
+ InlineFunctionExpansion="<%inline("2")%>"
+<%endif%>
+ AdditionalIncludeDirectories="<%foreach(includes)%><%include%><%fornotlast(",")%><%endfor%>"
+ PreprocessorDefinitions="<%if(type_is_dynamic)%><%foreach(dllflags)%><%dllflag%>;<%endfor%><%endif%><%if(need_libflags)%><%foreach(libflags)%><%libflag%>;<%endfor%><%endif%><%if(pch_header)%><%foreach(pch_defines)%><%pch_define%>;<%endfor%><%endif%><%foreach(defines common_defines)%><%define%><%fornotlast(";")%><%endfor%>"
+<%if(!debug)%>
+ StringPooling="<%string_pooling("TRUE")%>"
+<%endif%>
+ RuntimeLibrary="<%runtime_library%>"
+ EnableFunctionLevelLinking="TRUE"
+ RuntimeTypeInfo="<%rtti("TRUE")%>"
<%if(pch_header)%>
- UsePrecompiledHeader="3"
- PrecompiledHeaderThrough="<%pch_header%>"
+ UsePrecompiledHeader="3"
+ PrecompiledHeaderThrough="<%pch_header%>"
<%if(pch_source)%>
- PrecompiledHeaderFile="<%intermediate_dir%>\<%noextension(pch_source)%>.pch"
+ PrecompiledHeaderFile=".\<%intermediate_dir%>\<%noextension(pch_source)%>.pch"
<%endif%>
<%endif%>
- AssemblerListingLocation="<%intermediate_dir%>"
- ObjectFile="<%intermediate_dir%>"
+ AssemblerListingLocation=".\<%intermediate_dir%>"
+ ObjectFile=".\<%intermediate_dir%>\"
<%if(pdb)%>
- ProgramDataBaseFile="<%intermediate_dir%>"
-<%endif%>
- WarningLevel="<%warning_level("3")%>"
- SuppressStartupBanner="TRUE"
- Detect64BitPortabilityProblems="<%detect64("FALSE")%>"
-<%if(debug)%>
- DebugInformationFormat="<%debug_format("3")%>"
-<%endif%>
- CompileAs="0"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/MACHINE:<%machine("I386")%>"
+ ProgramDataBaseFileName=".\<%intermediate_dir%>"
+<%endif%>
+ WarningLevel="<%warning_level("3")%>"
+ SuppressStartupBanner="TRUE"
+ DebugInformationFormat="<%debug_format("3")%>"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/MACHINE:<%machine("I386")%>"
<%if(type_is_binary)%>
- AdditionalDependencies="<%foreach(libs defaultlibs)%><%lib%><%lib_modifier%>.lib<%fornotlast(" ")%><%endfor%>"
+ AdditionalDependencies="<%foreach(libs defaultlibs)%><%lib%><%lib_modifier%>.lib<%fornotlast(" ")%><%endfor%>"
<%endif%>
- OutputFile="<%if(type_is_dynamic)%><%dllout%>\<%sharedname%><%lib_modifier%>.dll<%endif%><%if(exename)%><%if(install)%><%install%>\<%endif%><%exename%>.exe<%endif%><%if(type_is_static)%><%libout%>\<%staticname%><%lib_modifier%>.lib<%endif%>"
- Version="<%version("1.0")%>"
- LinkIncremental="<%incremental("0")%>"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="<%foreach(libpaths)%><%libpath%><%fornotlast(";")%><%endfor%>"
+ OutputFile="<%if(type_is_dynamic)%><%dllout%>\<%sharedname%><%lib_modifier%>.dll<%endif%><%if(exename)%><%if(install)%><%install%>\<%endif%><%exename%>.exe<%endif%><%if(type_is_static)%><%libout%>\<%staticname%><%lib_modifier%>.lib<%endif%>"
+ Version="<%version("1.0")%>"
+ LinkIncremental="<%incremental("1")%>"
+ SuppressStartupBanner="TRUE"
+ AdditionalLibraryDirectories="<%foreach(libpaths)%><%libpath%><%fornotlast(";")%><%endfor%>"
<%if(debug)%>
- GenerateDebugInformation="TRUE"
-<%if(pdb)%>
- ProgramDatabaseFileName="<%if(type_is_dynamic)%><%dllout%>\<%sharedname%><%lib_modifier%><%endif%><%if(exename)%><%if(install)%><%install%><%else%><%output_dir%><%endif%>\<%exename%><%endif%><%if(type_is_static)%><%output_dir%>\<%staticdname%><%lib_modifier%><%endif%>.pdb"
+ GenerateDebugInformation="TRUE"
<%endif%>
+<%if(pdb)%>
+ ProgramDatabaseFile="<%if(type_is_dynamic)%><%dllout%>\<%sharedname%><%lib_modifier%><%endif%><%if(exename)%><%if(install)%><%install%><%else%><%output_dir%><%endif%>\<%exename%><%endif%><%if(type_is_static)%><%output_dir%>\<%staticdname%><%lib_modifier%><%endif%>.pdb"
<%endif%>
- SubSystem="<%subsystem("2")%>"
<%if(type_is_dynamic)%>
- ImportLibrary="<%sharedname%><%lib_modifier%>.lib"
-<%endif%>
-/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="<%foreach(defines)%><%define%><%fornotlast(";")%><%endfor%>"
- Culture="<%culture("1033")%>"/>
- </Configuration>
+ SubSystem="<%subsystem("2")%>"
+ ImportLibrary="<%libout%>\<%sharedname%><%lib_modifier%>.lib"/>
+<%else%>
+ SubSystem="<%subsystem("2")%>"/>
+<%endif%>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="<%foreach(defines)%><%define%><%fornotlast(";")%><%endfor%>"
+ Culture="<%culture("1033")%>"
+ AdditionalIncludeDirectories="<%foreach(includes)%><%include%><%fornotlast(",")%><%endfor%>"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ </Configuration>
<%endfor%>
- </Configurations>
- <Files>
+ </Configurations>
+ <Files>
<%if(source_files)%>
- <Filter
- Name="Source Files"
- Filter="cpp;cxx;cc;c;C">
+ <Filter
+ Name="Source Files"
+ Filter="cpp;cxx;cc;C;c">
<%if(pch_source)%>
- <File
- RelativePath=".\<%pch_source%>">
+ <File
+ RelativePath=".\<%pch_source%>">
<%foreach(configurations)%>
- <FileConfiguration
- Name="<%configuration%>|<%platform%>">
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"/>
- </FileConfiguration>
+ <FileConfiguration
+ Name="<%configuration%>|<%platform%>">
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"/>
+ </FileConfiguration>
<%endfor%>
- </File>
- </Filter>
+ </File>
+ </Filter>
<%endif%>
<%foreach(source_files)%>
- <File
- RelativePath=".\<%source_file%>">
- </File>
+ <File
+ RelativePath=".\<%source_file%>">
+ </File>
<%endfor%>
- </Filter>
+ </Filter>
<%endif%>
<%if(header_files)%>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hh">
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hh">
<%if(pch_header)%>
- <File
- RelativePath=".\<%pch_header%>">
- </File>
+ <File
+ RelativePath=".\<%pch_header%>">
+ </File>
<%endif%>
<%foreach(header_files)%>
- <File
- RelativePath=".\<%header_file%>">
- </File>
+ <File
+ RelativePath=".\<%header_file%>">
+ </File>
<%endfor%>
- </Filter>
+ </Filter>
<%endif%>
<%if(idl_files)%>
- <Filter
- Name="IDL Files"
- Filter="idl">
+ <Filter
+ Name="IDL Files"
+ Filter="idl">
<%foreach(idl_files)%>
- <File
- RelativePath=".\<%idl_file%>">
+ <File
+ RelativePath=".\<%idl_file%>">
<%foreach(configurations)%>
- <FileConfiguration
- Name="<%configuration%>|<%platform%>">
- <Tool
- Name="VCCustomBuildTool"
- Description="Invoking TAO_IDL Compiler on <%idl_file%>"
- CommandLine="<%tao_idl_exe("$(ACE_ROOT)\\bin\\tao_idl")%> <%idlflags("-Sc")%> <%idl_file%>"
- Outputs="<%noextension(idl_file)%>C.h;<%noextension(idl_file)%>C.i;<%noextension(idl_file)%>C.cpp;<%noextension(idl_file)%>S.h;<%noextension(idl_file)%>S.i;<%noextension(idl_file)%>S.cpp;<%noextension(idl_file)%>S_T.h;<%noextension(idl_file)%>S_T.i;<%noextension(idl_file)%>S_T.cpp"/>
- </FileConfiguration>
+ <FileConfiguration
+ Name="<%configuration%>|<%platform%>">
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Invoking TAO_IDL Compiler on <%idl_file%>"
+ CommandLine="<%tao_idl_exe("$(ACE_ROOT)\\bin\\tao_idl")%> <%idlflags("-Sc")%> <%idl_file%>"
+ Outputs="<%noextension(idl_file)%>C.h;<%noextension(idl_file)%>C.i;<%noextension(idl_file)%>C.cpp;<%noextension(idl_file)%>S.h;<%noextension(idl_file)%>S.i;<%noextension(idl_file)%>S.cpp;<%noextension(idl_file)%>S_T.h;<%noextension(idl_file)%>S_T.i;<%noextension(idl_file)%>S_T.cpp"/>
+ </FileConfiguration>
<%endfor%>
- </File>
+ </File>
<%endfor%>
- </Filter>
+ </Filter>
<%endif%>
<%if(inline_files)%>
- <Filter
- Name="Inline Files"
- Filter="i;inl">
+ <Filter
+ Name="Inline Files"
+ Filter="i;inl">
<%foreach(inline_files)%>
- <File
- RelativePath=".\<%inline_file%>">
- </File>
+ <File
+ RelativePath=".\<%inline_file%>">
+ </File>
<%endfor%>
- </Filter>
+ </Filter>
<%endif%>
<%if(template_files)%>
- <Filter
- Name="Template Files"
- Filter="">
+ <Filter
+ Name="Template Files"
+ Filter="">
<%foreach(template_files)%>
- <File
- RelativePath=".\<%template_file%>">
+ <File
+ RelativePath=".\<%template_file%>">
<%foreach(configurations)%>
- <FileConfiguration
- Name="<%configuration%>|<%platform%>"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
+ <FileConfiguration
+ Name="<%configuration%>|<%platform%>"
+ ExcludedFromBuild="TRUE">
+ <Tool
+ Name="VCCLCompilerTool"/>
+ </FileConfiguration>
<%endfor%>
- </File>
+ </File>
<%endfor%>
- </Filter>
+ </Filter>
<%endif%>
<%if(documentation_files)%>
- <Filter
- Name="Documentation"
- Filter="">
+ <Filter
+ Name="Documentation"
+ Filter="">
<%foreach(documentation_files)%>
- <File
- RelativePath=".\<%documentation_file%>">
- </File>
+ <File
+ RelativePath=".\<%documentation_file%>">
+ </File>
<%endfor%>
- </Filter>
+ </Filter>
<%endif%>
<%if(resource_files)%>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg">
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe">
<%foreach(resource_files)%>
- <File
- RelativePath=".\<%resource_file%>">
- </File>
+ <File
+ RelativePath=".\<%resource_file%>">
+ </File>
<%endfor%>
- </Filter>
+ </Filter>
<%endif%>
- </Files>
- <Globals>
- </Globals>
+ </Files>
+ <Globals>
+ </Globals>
</VisualStudioProject>
diff --git a/bin/mpc.pl b/bin/mpc.pl
index 0b470ed324c..94dd9be9a56 100755
--- a/bin/mpc.pl
+++ b/bin/mpc.pl
@@ -31,6 +31,8 @@ my(@creators) = ('GNUProjectCreator',
'VC7ProjectCreator',
'BorlandProjectCreator',
'GHSProjectCreator',
+ 'EM3ProjectCreator',
+ 'VA4ProjectCreator',
);
# ************************************************************
diff --git a/bin/mwc.pl b/bin/mwc.pl
index d15e4895d81..7e7ee31f7d9 100755
--- a/bin/mwc.pl
+++ b/bin/mwc.pl
@@ -26,9 +26,13 @@ require Driver;
# ************************************************************
my(@creators) = ('GNUWorkspaceCreator',
+ 'NMakeWorkspaceCreator',
'VC6WorkspaceCreator',
'VC7WorkspaceCreator',
- 'NMakeWorkspaceCreator',
+ 'BorlandWorkspaceCreator',
+ 'GHSWorkspaceCreator',
+ 'EM3WorkspaceCreator',
+ 'VA4WorkspaceCreator',
);
# ************************************************************