diff options
author | nobody <nobody@a3e5c962-4219-0410-a828-e124f845ac39> | 2002-11-08 19:02:33 +0000 |
---|---|---|
committer | nobody <nobody@a3e5c962-4219-0410-a828-e124f845ac39> | 2002-11-08 19:02:33 +0000 |
commit | 05dd2353e5ec0a856ea4dbbd01842bf13e863054 (patch) | |
tree | 2d0d5365da90565fccce09ecc3a01d0bb287341a | |
parent | 835d136975faf4055dd20c11779c32c3f202b597 (diff) | |
download | MPC-05dd2353e5ec0a856ea4dbbd01842bf13e863054.tar.gz |
This commit was manufactured by cvs2svn to create branch
'unlabeled-1.3.62'.
43 files changed, 0 insertions, 7417 deletions
diff --git a/modules/Creator.pm b/modules/Creator.pm deleted file mode 100644 index 6abba798..00000000 --- a/modules/Creator.pm +++ /dev/null @@ -1,396 +0,0 @@ -package Creator; - -# ************************************************************ -# Description : Base class for workspace and project creators -# Author : Chad Elliott -# Create Date : 5/13/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; -use FileHandle; -use File::Basename; - -use Parser; - -use vars qw(@ISA); -@ISA = qw(Parser); - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub new { - my($class) = shift; - my($global) = shift; - my($inc) = shift; - my($template) = shift; - my($ti) = shift; - my($relative) = shift; - my($addtemp) = shift; - my($addproj) = shift; - my($progress) = shift; - my($type) = shift; - my($self) = Parser::new($class); - - $self->{'relative'} = $relative; - $self->{'template'} = $template; - $self->{'ti'} = $ti; - $self->{'global_cfg'} = $global; - $self->{'grammar_type'} = $type; - $self->{'type_check'} = $type . '_defined'; - $self->{'global_read'} = 0; - $self->{'include_path'} = $inc; - $self->{'current_input'} = ''; - $self->{'progress'} = $progress; - $self->{'addtemp'} = $addtemp; - $self->{'addproj'} = $addproj; - - return $self; -} - - -sub generate_default_input { - my($self) = shift; - $self->parse_line(undef, "$self->{'grammar_type'} {"); - $self->parse_line(undef, '}'); - return 1; -} - - -sub parse_file { - my($self) = shift; - my($input) = shift; - my($typecheck) = $self->{'type_check'}; - my($oline) = $self->line_number(); - - ## Read the input file and get the last line number - my($status, $errorString) = $self->read_file($input); - my($linenumber) = $self->line_number(); - - if (!$status) { - print STDERR "$input: line $linenumber: $errorString\n"; - } - elsif ($status && $self->{$typecheck}) { - ## If we are at the end of the file and the type we are looking at - ## is still defined, then we have an error - print STDERR "$input: line $linenumber: ERROR: Did not " . - "find the end of the $self->{'grammar_type'}\n"; - $status = 0; - } - $self->line_number($oline); - - return $status; -} - - -sub generate { - my($self) = shift; - my($input) = shift; - my($status) = 1; - - ## Allow subclasses to reset values before - ## each call to generate(). - $self->reset_values(); - - ## Read the global configuration file - if (!$self->{'global_read'}) { - $status = $self->read_global_configuration(); - $self->{'global_read'} = 1; - } - - if ($status) { - $self->{'current_input'} = $input; - - ## An empty input file name says that we - ## should generate a default input file and use that - if ($input eq '') { - $status = $self->generate_default_input(); - } - else { - $status = $self->parse_file($input); - } - } - - return $status; -} - - -sub parse_assignment { - my($self) = shift; - my($line) = shift; - my($values) = shift; - my($status) = 1; - - if ($line =~ /^(\w+)\s*=\s*(.*)?/) { - my($name) = lc($1); - my($value) = $2; - push(@$values, 'assignment', $name, $value); - } - elsif ($line =~ /^(\w+)\s*\+=\s*(.*)?/) { - my($name) = lc($1); - my($value) = $2; - push(@$values, 'assign_add', $name, $value); - } - elsif ($line =~ /^(\w+)\s*\-=\s*(.*)?/) { - my($name) = lc($1); - my($value) = $2; - push(@$values, 'assign_sub', $name, $value); - } - else { - $status = 0; - } - - return $status; -} - - -sub parse_known { - my($self) = shift; - my($line) = shift; - my($status) = 1; - my($errorString) = ''; - my($type) = $self->{'grammar_type'}; - my(@values) = (); - my($typecheck) = $self->{'type_check'}; - - ## - ## Each regexp that looks for the '{' looks for it at the - ## end of the line. It is purposely this way to decrease - ## the amount of extra lines in each file. This - ## allows for the most compact file as human readably - ## possible. - ## - if ($line eq '') { - } - elsif ($line =~ /^$type\s*(\([^\)]+\))?\s*(:.*)?\s*{$/) { - my($name) = $1; - my($parents) = $2; - if ($self->{$typecheck}) { - $errorString = "ERROR: Did not find the end of the $type"; - $status = 0; - } - else { - if (defined $parents) { - my(@parents) = (); - foreach my $parent (split(/[:,]/, $parents)) { - $parent =~ s/^\s+//; - $parent =~ s/\s+$//; - if ($parent ne '') { - push(@parents, $parent); - } - } - if (!defined $parents[0]) { - ## The : was used, but no parents followed. This - ## is an error. - $errorString = 'ERROR: No parents listed'; - $status = 0; - } - $parents = \@parents; - } - push(@values, $type, $name, $parents); - } - } - elsif ($line =~ /^}$/) { - if ($self->{$typecheck}) { - push(@values, $type, $line); - } - else { - $errorString = "ERROR: Did not find the beginning of the $type"; - $status = 0; - } - } - elsif (!$self->{$typecheck}) { - $errorString = "ERROR: No $type was defined"; - $status = 0; - } - elsif ($self->parse_assignment($line, \@values)) { - ## If this returns true, then we've found an assignment - } - elsif ($line =~ /^(\w+)\s*(\([^\)]+\))?\s*{$/) { - my($comp) = lc($1); - my($name) = $2; - - if (defined $name) { - $name =~ s/^\(\s*//; - $name =~ s/\s*\)$//; - } - else { - $name = 'default'; - } - push(@values, 'component', $comp, $name); - } - else { - $errorString = "ERROR: Unrecognized line: $line"; - $status = -1; - } - - return $status, $errorString, @values; -} - - -sub base_directory { - my($self) = shift; - return basename($self->getcwd()); -} - - -sub generate_default_file_list { - my($self) = shift; - my($dir) = shift; - my($dh) = new FileHandle(); - my(@files) = (); - - if (!defined $dir) { - $dir = '.'; - } - - if (opendir($dh, $dir)) { - @files = grep(!/^\.\.?$/, readdir($dh)); - if ($self->sort_files()) { - @files = sort { $self->file_sorter($a, $b) } @files; - } - - ## Prefix each file name with the directory - ## only if it's not . - if ($dir ne '.') { - for(my $i = 0; $i <= $#files; $i++) { - $files[$i] = "$dir/$files[$i]"; - } - } - - closedir($dh); - } - return @files; -} - - -sub get_global_cfg { - my($self) = shift; - return $self->{'global_cfg'}; -} - - -sub get_include_path { - my($self) = shift; - return $self->{'include_path'}; -} - - -sub search_include_path { - my($self) = shift; - my($file) = shift; - my($found) = undef; - my($includes) = $self->get_include_path(); - foreach my $include (@$includes) { - if (-r "$include/$file") { - $found = "$include/$file"; - last; - } - } - return $found; -} - - -sub get_template_override { - my($self) = shift; - return $self->{'template'}; -} - - -sub get_ti_override { - my($self) = shift; - return $self->{'ti'}; -} - - -sub get_relative { - my($self) = shift; - 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; -} - - -sub get_current_input { - my($self) = shift; - return $self->{'current_input'}; -} - - -sub get_progress_callback { - my($self) = shift; - return $self->{'progress'}; -} - - -sub get_addtemp { - my($self) = shift; - return $self->{'addtemp'}; -} - - -sub get_addproj { - my($self) = shift; - return $self->{'addproj'}; -} - - -# ************************************************************ -# Virtual Methods To Be Overridden -# ************************************************************ - -sub crlf { - #my($self) = shift; - return "\n"; -} - - -sub reset_values { - #my($self) = shift; -} - - -sub sort_files { - #my($self) = shift; - return 1; -} - - -sub file_sorter { - my($self) = shift; - my($left) = shift; - my($right) = shift; - return $left cmp $right; -} - - -sub read_global_configuration { - #my($self) = shift; - #my($input) = shift; - return 1; -} - - -1; diff --git a/modules/Driver.pm b/modules/Driver.pm deleted file mode 100644 index 25336693..00000000 --- a/modules/Driver.pm +++ /dev/null @@ -1,383 +0,0 @@ -package Driver; - -# ************************************************************ -# Description : Functionality to call a workspace or project creator -# Author : Chad Elliott -# Create Date : 5/28/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; - -# ************************************************************ -# Data Section -# ************************************************************ - -my($index) = 0; -my(@progress) = ("|", "/", "-", "\\"); - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub new { - my($class) = shift; - my($path) = shift; - my($name) = shift; - my(@creators) = @_; - my($self) = bless {'path' => $path, - 'name' => $name, - 'version' => 1.2, - 'types' => {}, - 'creators' => \@creators, - 'signif' => 3, - 'default' => $creators[0], - }, $class; - - return $self; -} - - -sub usageAndExit { - my($self) = shift; - my($line) = shift; - my($base) = $self->{'name'}; - - if (defined $line) { - print STDERR "$line\n"; - } - my($spaces) = (" " x (length($base) + 8)); - print STDERR "$base v$self->{'version'}\n" . - "Usage: $base [-global <file>] [-include <directory>]\n" . - $spaces . "[-ti <dll | lib | dll_exe | lib_exe>:<file>]\n" . - $spaces . "[-template <file>] " . - "[-dynamic_only] [-static_only]\n" . - $spaces . "[-relative NAME=VAR] [-noreldefs]\n" . - $spaces . "[-value_template <NAME+=VAL | NAME=VAL | NAME-=VAL>]\n" . - $spaces . "[-value_project <NAME+=VAL | NAME=VAL | NAME-=VAL>]\n" . - $spaces . "[-type <"; - - my(@keys) = sort keys %{$self->{'types'}}; - for(my $i = 0; $i <= $#keys; $i++) { - print STDERR "$keys[$i]"; - if ($i != $#keys) { - print STDERR " | "; - } - } - print STDERR ">]\n" . - $spaces . "[files]\n\n"; - - my($default) = lc(substr($self->{'default'}, 0, $self->{'signif'})); - print STDERR -" -global Specifies the global input file. Values stored\n" . -" within this file are applied to all projects.\n" . -" -include Specifies a directory to search when looking for base\n" . -" projects, template input files and templates. This\n" . -" option can be used multiple times to add directories.\n" . -" -ti Specifies the template input file (with no extension)\n" . -" for the specific type as shown above\n" . -" (ex. -ti dll_exe:vc8exe)\n" . -" -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" . -" -noreldefs Do not try to generate default relative definitions.\n" . -" -value_template This option allows modification of a template input\n" . -" name value pair. Use += to add VAL to the NAME's\n" . -" value. Use -= to subtract and = to override the value.\n" . -" It is important to note that this will only modify\n" . -" existing template input name value pairs and can not\n" . -" be used to introduce new name value pairs.\n" . -" -value_project This option allows modification of a project variable\n" . -" assignment . Use += to add VAL to the NAME's value.\n" . -" Use -= to subtract and = to override the value.\n" . -" This can be used to introduce new name value pairs to\n" . -" a project. However, it must be a valid project\n" . -" assignment.\n" . -" -type Specifies the type of project file to generate. This\n" . -" option can be used multiple times to generate multiple\n" . -" types. If -type is not used, it defaults to '$default'.\n"; - - exit(0); -} - - -sub completion_command { - my($self) = shift; - my($str) = "complete $self->{'name'} " . - "'c/-/(global include type template relative " . - "ti dynamic_only static_only noreldefs)/' " . - "'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(@keys) = sort keys %{$self->{'types'}}; - for(my $i = 0; $i <= $#keys; $i++) { - $str .= $keys[$i]; - if ($i != $#keys) { - $str .= " "; - } - } - $str .= ")/'"; - return $str; -} - - -sub run { - my($self) = shift; - my(@args) = @_; - my($global) = undef; - my(@include) = (); - my(@input) = (); - my(@generators) = (); - my($status) = 0; - my($template) = undef; - my(%ti) = (); - my($dynamic) = 1; - my($static) = 1; - my($signif) = $self->{'signif'}; - my(%relative) = (); - my($reldefs) = 1; - my(%addtemp) = (); - my(%addproj) = (); - - ## Dynamically load in each perl module and set up - ## the type tags and project creators - my($creators) = $self->{'creators'}; - foreach my $creator (@$creators) { - my($tag) = lc(substr($creator, 0, $signif)); - $self->{'types'}->{$tag} = $creator; - } - - for(my $i = 0; $i <= $#args; $i++) { - my($arg) = $args[$i]; - if ($arg eq '-complete') { - print $self->completion_command() . "\n"; - return $status; - } - elsif ($arg eq '-type') { - $i++; - if (!defined $args[$i]) { - $self->usageAndExit("-type requires an argument"); - } - - my($type) = lc(substr($args[$i], 0, $signif)); - if (defined $self->{'types'}->{$type}) { - my($call) = $self->{'types'}->{$type}; - push(@generators, $call); - } - else { - $self->usageAndExit("Invalid type: $args[$i]"); - } - } - elsif ($arg eq '-global') { - $i++; - $global = $args[$i]; - if (!defined $global) { - $self->usageAndExit("-global requires a file name argument"); - } - } - elsif ($arg eq '-include') { - $i++; - my($include) = $args[$i]; - if (!defined $include) { - $self->usageAndExit("-include requires a directory argument"); - } - push(@include, $include); - } - elsif ($arg eq '-noreldefs') { - $reldefs = 0; - } - elsif ($arg eq '-template') { - $i++; - $template = $args[$i]; - if (!defined $template) { - $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]; - if (!defined $tmpi) { - $self->usageAndExit("-ti requires a template input argument"); - } - else { - if ($tmpi =~ /(dll|lib|dll_exe|lib_exe):(.*)/) { - my($key) = $1; - my($name) = $2; - $ti{$key} = $name; - } - else { - $self->usageAndExit("Invalid -ti argument: $tmpi"); - } - } - } - elsif ($arg eq '-value_template') { - $i++; - my($value) = $args[$i]; - if (!defined $value) { - $self->usageAndExit("-value_template requires a variable assignment argument"); - } - else { - if ($value =~ /(\w+)\s*([\-+]?=)\s*(.*)/) { - my($name) = $1; - my($op) = $2; - my($val) = $3; - $val =~ s/^\s+//; - $val =~ s/\s+$//; - if ($op eq "+=") { - $op = 1; - } - elsif ($op eq "-=") { - $op = -1; - } - else { - $op = 0; - } - $addtemp{$name} = [$op, $val]; - } - else { - $self->usageAndExit("Invalid option to -value_template"); - } - } - } - elsif ($arg eq '-value_project') { - $i++; - my($value) = $args[$i]; - if (!defined $value) { - $self->usageAndExit("-value_project requires a variable assignment argument"); - } - else { - if ($value =~ /(\w+)\s*([\-+]?=)\s*(.*)/) { - my($name) = $1; - my($op) = $2; - my($val) = $3; - $val =~ s/^\s+//; - $val =~ s/\s+$//; - if ($op eq "+=") { - $op = 1; - } - elsif ($op eq "-=") { - $op = -1; - } - else { - $op = 0; - } - $addproj{$name} = [$op, $val]; - } - else { - $self->usageAndExit("Invalid option to -value_project"); - } - } - } - elsif ($arg eq '-dynamic_only') { - $static = 0; - $dynamic = 1; - } - elsif ($arg eq '-static_only') { - $static = 1; - $dynamic = 0; - } - elsif ($arg =~ /^-/) { - $self->usageAndExit(); - } - else { - push(@input, $arg); - } - } - - ## Set up default values - if (!defined $input[0]) { - push(@input, ""); - } - if (!defined $generators[0]) { - push(@generators, $self->{'default'}); - } - if (!defined $global) { - $global = $self->{'path'} . "/config/global.mpb"; - } - ## Always add the default include paths - unshift(@include, $self->{'path'} . "/templates"); - unshift(@include, $self->{'path'} . "/config"); - - if ($reldefs) { - 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{ACE_ROOT}/TAO"; - } - } - } - - ## Set up un-buffered output for the progress callback - $| = 1; - - ## Set up a hash that we can use to keep track of what - ## has been 'required' - my(%loaded) = (); - ## Generate the files - foreach my $file (@input) { - foreach my $name (@generators) { - if (!$loaded{$name}) { - require "$name.pm"; - $loaded{$name} = 1; - } - my($generator) = $name->new($global, \@include, $template, - \%ti, $dynamic, $static, \%relative, - \%addtemp, \%addproj, - (-t 1 ? \&progress : undef)); - print "Generating output using " . - ($file eq "" ? "default input" : $file) . "\n"; - print "Start Time: " . scalar(localtime(time())) . "\n"; - if (!$generator->generate($file)) { - print STDERR "Unable to process: $file\n"; - $status++; - } - print " End Time: " . scalar(localtime(time())) . "\n"; - } - } - - return $status; -} - - -sub progress { - ## This method will be called before each output - ## file (or set of output files in vc6's case) is written. - print "$progress[$index]\r"; - $index++; - if ($index > $#progress) { - $index = 0; - } -} - - -1; diff --git a/modules/EM3WorkspaceCreator.pm b/modules/EM3WorkspaceCreator.pm deleted file mode 100644 index a149e551..00000000 --- a/modules/EM3WorkspaceCreator.pm +++ /dev/null @@ -1,43 +0,0 @@ -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/modules/GHSProjectCreator.pm b/modules/GHSProjectCreator.pm deleted file mode 100644 index 502d2e6e..00000000 --- a/modules/GHSProjectCreator.pm +++ /dev/null @@ -1,79 +0,0 @@ -package GHSProjectCreator; - -# ************************************************************ -# Description : Not a complete implementation for GHS -# Author : Chad Elliott -# Create Date : 4/19/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; - -use ProjectCreator; - -use vars qw(@ISA); -@ISA = qw(ProjectCreator); - -# ************************************************************ -# 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; - my($name) = shift; - - if (!defined $name) { - $name = $self->project_name(); - } - - return "ghs/$name.bld"; -} - - -sub get_dll_exe_template_input_file { - #my($self) = shift; - return 'ghsexe'; -} - - -sub get_dll_template_input_file { - #my($self) = shift; - return 'ghsdll'; -} - - -sub get_template { - #my($self) = shift; - return 'ghs'; -} - - -1; diff --git a/modules/GHSWorkspaceCreator.pm b/modules/GHSWorkspaceCreator.pm deleted file mode 100644 index a3b0ebfb..00000000 --- a/modules/GHSWorkspaceCreator.pm +++ /dev/null @@ -1,76 +0,0 @@ -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 = $self->slash_to_backslash($project); - - print $fh "..\\$project$crlf"; - if ($gen->exe_target()) { - print $fh "\tprogram$crlf"; - } - else { - print $fh "\tlibrary$crlf"; - } - } -} - - - -1; diff --git a/modules/GUID.pm b/modules/GUID.pm deleted file mode 100644 index 015db9c2..00000000 --- a/modules/GUID.pm +++ /dev/null @@ -1,58 +0,0 @@ -package GUID; - -# ************************************************************ -# Description : Generate GUID's for VC7 projects and workspaces -# Author : Chad Elliott -# Create Date : 5/14/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub new { - my($class) = shift; - my($self) = bless { - }, $class; - return $self; -} - - -sub generate { - my($self) = shift; - my($out) = shift; - my($in) = shift; - my($cwd) = shift; - my($chash) = $self->hash($cwd); - my($nhash) = $self->hash($out); - my($ihash) = $self->hash($in); - my($val) = 0xfeca1bad; - - return sprintf("%08X-%04X-%04X-%04X-%04X%08X", - $nhash, ($val >> 16) & 0xffff, ($val & 0xffff), - ($ihash >> 16) & 0xffff, $ihash & 0xffff, $chash); -} - - -sub hash { - my($self) = shift; - my($str) = shift; - my($value) = 0; - - if (defined $str) { - my($length) = length($str); - for(my $i = 0; $i < $length; $i++) { - $value = ($value << 4) ^ ($value >> 28) ^ ord(substr($str, $i, 1)); - } - } - - return $value; -} - -1; diff --git a/modules/NMakeProjectCreator.pm b/modules/NMakeProjectCreator.pm deleted file mode 100644 index 29469f48..00000000 --- a/modules/NMakeProjectCreator.pm +++ /dev/null @@ -1,83 +0,0 @@ -package NMakeProjectCreator; - -# ************************************************************ -# Description : An NMake Project Creator -# Author : Chad Elliott -# Create Date : 5/31/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; - -use ProjectCreator; - -use vars qw(@ISA); -@ISA = qw(ProjectCreator); - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub sort_files { - #my($self) = shift; - return 0; -} - - -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 crlf { - my($self) = shift; - return $self->windows_crlf(); -} - - -sub project_file_name { - my($self) = shift; - my($name) = shift; - - if (!defined $name) { - $name = $self->project_name(); - } - - return "$name.mak"; -} - - -sub get_dll_exe_template_input_file { - #my($self) = shift; - return 'nmakeexe'; -} - - -sub get_dll_template_input_file { - #my($self) = shift; - return 'nmakedll'; -} - - -sub get_template { - #my($self) = shift; - return 'nmake'; -} - - -1; diff --git a/modules/NMakeWorkspaceCreator.pm b/modules/NMakeWorkspaceCreator.pm deleted file mode 100644 index fea75097..00000000 --- a/modules/NMakeWorkspaceCreator.pm +++ /dev/null @@ -1,103 +0,0 @@ -package NMakeWorkspaceCreator; - -# ************************************************************ -# Description : A NMake Workspace (Makefile) creator -# Author : Chad Elliott -# Create Date : 6/10/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; -use File::Basename; - -use NMakeProjectCreator; -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 'Makefile'; -} - - -sub workspace_per_project { - #my($self) = shift; - return 1; -} - - -sub pre_workspace { - my($self) = shift; - my($fh) = shift; - my($crlf) = $self->crlf(); - - print $fh "# Microsoft Developer Studio Generated NMAKE File$crlf$crlf"; -} - - -sub write_project_targets { - my($self) = shift; - my($fh) = shift; - my($target) = shift; - my($list) = shift; - my($crlf) = $self->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++; - } - } - } - - print $fh ($chdir ? "\tcd $dir$crlf" : '') . - "\t\$(MAKE) /f " . basename($project) . " $target$crlf" . - ($chdir ? "\tcd " . ('../' x $back) . $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 "ALL:$crlf"; - $self->write_project_targets($fh, 'CFG="$(CFG)"', \@list); - - print $fh "$crlf" . - "CLEAN\tREALCLEAN:$crlf"; - $self->write_project_targets($fh, 'CLEAN', \@list); -} - - - -1; diff --git a/modules/Parser.pm b/modules/Parser.pm deleted file mode 100644 index afc738ff..00000000 --- a/modules/Parser.pm +++ /dev/null @@ -1,179 +0,0 @@ -package Parser; - -# ************************************************************ -# Description : A basic parser that requires a parse_line override -# Author : Chad Elliott -# Create Date : 5/16/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; -use FileHandle; - -my($cwd) = Cwd::getcwd(); - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub new { - my($class) = shift; - my($self) = bless {'line_number' => 0, - }, $class; - return $self; -} - - -sub cd { - my($self) = shift; - my($dir) = shift; - my($status) = chdir($dir); - if ($status) { - $cwd = $dir; - } - return $status; -} - - -sub getcwd { - #my($self) = shift; - return $cwd; -} - - -sub strip_line { - my($self) = shift; - my($line) = shift; - - ++$self->{'line_number'}; - $line =~ s/\/\/.*//; - $line =~ s/^\s+//; - $line =~ s/\s+$//; - - return $line; -} - - -sub process_special { - my($self) = shift; - my($line) = shift; - my($length) = length($line); - - for(my $i = 0; $i < $length; $i++) { - my($ch) = substr($line, $i, 1); - if ($ch eq "\\" && $i + 1 < $length) { - substr($line, $i, 1) = ''; - $length--; - } - elsif ($ch eq '"') { - substr($line, $i, 1) = ''; - $length--; - $i--; - } - } - return $line; -} - - -sub read_file { - my($self) = shift; - my($input) = shift; - my($ih) = new FileHandle(); - my($status) = 1; - my($errorString) = ''; - - $self->{'line_number'} = 0; - if (open($ih, $input)) { - while(<$ih>) { - my($line) = $self->strip_line($_); - - ($status, $errorString) = $self->parse_line($ih, $line); - - if (!$status) { - last; - } - } - close($ih); - } - else { - $errorString = 'ERROR: Unable to open for reading'; - $status = 0; - } - - return $status, $errorString; -} - - -sub line_number { - my($self) = shift; - my($number) = shift; - - if (defined $number) { - $self->{'line_number'} = $number; - } - - return $self->{'line_number'}; -} - - -sub create_array { - my($self) = shift; - my($line) = shift; - my(@array) = (); - my($length) = length($line); - my($prev) = 0; - my($double) = 0; - - for(my $i = 0; $i <= $length; $i++) { - my($ch) = substr($line, $i, 1); - if (!$double && ($ch eq '' || $ch =~ /\s/)) { - my($val) = substr($line, $prev, $i - $prev); - $val =~ s/^\s+//; - $val =~ s/\s+$//; - if ($val =~ /^\"(.*)\"$/) { - $val = $1; - } - push(@array, $val); - for(; $i < $length; $i++) { - if (substr($line, $i, 1) !~ /\s/) { - $i--; - last; - } - } - $prev = $i + 1; - } - elsif ($double && $ch eq "\\" && $i + 1 < $length) { - substr($line, $i, 1) = ''; - $length--; - } - elsif ($ch eq '"') { - $double ^= 1; - } - } - return \@array; -} - - -sub slash_to_backslash { - my($self) = shift; - my($file) = shift; - $file =~ s/\//\\/g; - return $file; -} - - -# ************************************************************ -# Virtual Methods To Be Overridden -# ************************************************************ - -sub parse_line { - #my($self) = shift; - #my($ih) = shift; - #my($line) = shift; -} - - -1; diff --git a/modules/ProjectCreator.pm b/modules/ProjectCreator.pm deleted file mode 100644 index 1e9353ef..00000000 --- a/modules/ProjectCreator.pm +++ /dev/null @@ -1,1566 +0,0 @@ -package ProjectCreator; - -# ************************************************************ -# Description : Base class for all project creators -# Author : Chad Elliott -# Create Date : 3/13/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; -use FileHandle; -use File::Path; -use File::Basename; - -use Creator; -use TemplateInputReader; -use TemplateParser; - -use vars qw(@ISA); -@ISA = qw(Creator); - -# ************************************************************ -# Data Section -# ************************************************************ - -my($BaseClassExtension) = "mpb"; -my($ProjectCreatorExtension) = "mpc"; -my($TemplateExtension) = "mpd"; -my($TemplateInputExtension) = "mpt"; - -## Valid names for assignments within a project -my(%validNames) = ('exename' => 1, - 'sharedname' => 1, - 'staticname' => 1, - 'libpaths' => 1, - 'install' => 1, - 'includes' => 1, - 'idlflags' => 1, - 'idlpreprocessor' => 1, - 'defaultlibs' => 1, - 'depends' => 1, - 'libs' => 1, - 'pch_header' => 1, - 'pch_source' => 1, - 'ssl' => 1, - 'tao' => 1, - 'dllout' => 1, - 'libout' => 1, - 'dllflags' => 1, - 'libflags' => 1, - 'version' => 1, - 'requires' => 1, - 'avoids' => 1, - 'compname' => 1, - 'comps' => 1, - 'tagname' => 1, - 'tagchecks' => 1, - 'include_dir' => 1, - 'core' => 1, - 'idlgendir' => 1, - ); - -## Deal with these components in a special way -my(@specialComponents) = ('header_files', 'inline_files'); - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub new { - my($class) = shift; - my($global) = shift; - my($inc) = shift; - my($template) = shift; - my($ti) = shift; - my($dynamic) = shift; - my($static) = shift; - my($relative) = shift; - my($addtemp) = shift; - my($addproj) = shift; - my($progress) = shift; - my($self) = Creator::new($class, $global, $inc, - $template, $ti, $relative, - $addtemp, $addproj, - $progress, 'project'); - - $self->{$self->{'type_check'}} = 0; - $self->{'global_assign'} = {}; - $self->{'files_written'} = []; - $self->{'project_info'} = []; - $self->{'reading_global'} = 0; - $self->{'reading_parent'} = []; - $self->{'dexe_template_input'} = undef; - $self->{'lexe_template_input'} = undef; - $self->{'lib_template_input'} = undef; - $self->{'dll_template_input'} = undef; - $self->{'idl_defaulted'} = 0; - $self->{'source_defaulted'} = 0; - $self->{'writing_type'} = 0; - $self->{'want_dynamic_projects'} = $dynamic; - $self->{'want_static_projects'} = $static; - $self->{'flag_overrides'} = {}; - - ## Set up the verbatim constructs - $self->{'verbatim'} = {}; - - ## Valid component names within a project along with the valid file extensions - my(%vc) = ('source_files' => [ "\\.cpp", "\\.cxx", "\\.cc", "\\.c", "\\.C", ], - 'template_files' => [ "_T\\.cpp", "_T\\.cxx", "_T\\.cc", "_T\\.c", "_T\\.C", ], - 'header_files' => [ "\\.h", "\\.hxx", "\\.hh", ], - 'inline_files' => [ "\\.i", "\\.inl", ], - 'idl_files' => [ "\\.idl", ], - 'documentation_files' => [ "README", "readme", "\\.doc", "\\.txt", ], - 'resource_files' => [ "\\.rc", ], - ); - - ## Exclude these extensions when auto generating the component values - my(%ec) = ('source_files' => [ "_T\\.cpp", "_T\\.cxx", "_T\\.cc", "_T\\.C", ], - ); - - ## Match up assignments with the valid components - my(%ma) = ('source_files' => [ 'includes' ], - 'idl_files' => [ 'idlgendir', 'idlflags' ], - ); - $self->{'matching_assignments'} = \%ma; - $self->{'valid_components'} = \%vc; - $self->{'exclude_components'} = \%ec; - $self->{'skeleton_endings'} = [ 'C', 'S' ]; - - ## Allow subclasses to override the default extensions - $self->set_component_extensions(); - - return $self; -} - - -sub read_global_configuration { - my($self) = shift; - my($input) = $self->get_global_cfg(); - my($status) = 1; - - if (defined $input) { - $self->{'reading_global'} = 1; - $status = $self->parse_file($input); - $self->{'reading_global'} = 0; - } - - return $status; -} - - -sub parse_line { - my($self) = shift; - my($ih) = shift; - my($line) = shift; - my($type) = $self->{'grammar_type'}; - my($status, - $errorString, - @values) = $self->parse_known($line); - - ## parse_known() passes back an array of values - ## that make up the contents of the line parsed. - ## The array can have 0 to 3 items. The first, - ## if defined, is always an identifier of some - ## sort. - - if ($status && defined $values[0]) { - if ($values[0] eq $type) { - my($name) = $values[1]; - my($typecheck) = $self->{'type_check'}; - if (defined $name && $name eq '}') { - ## Project Ending - my($rp) = $self->{'reading_parent'}; - if (!defined $$rp[0] && !$self->{'reading_global'}) { - ## Fill in all the default values - $self->generate_defaults(); - - ## Perform any additions, subtractions - ## or overrides for the project values. - my($addproj) = $self->get_addproj(); - foreach my $ap (keys %$addproj) { - if (defined $validNames{$ap}) { - my($val) = $$addproj{$ap}; - if ($$val[0] > 0) { - $self->process_assignment_add($ap, $$val[1]); - } - elsif ($$val[0] < 0) { - $self->process_assignment_sub($ap, $$val[1]); - } - else { - $self->process_assignment($ap, $$val[1]); - } - } - else { - $errorString = 'ERROR: Invalid ' . - "assignment modification name: $ap"; - $status = 0; - } - } - - if ($status) { - ## End of project; Write out the file. - $self->write_project(); - - foreach my $key (keys %{$self->{'valid_components'}}) { - delete $self->{$key}; - } - $self->{'assign'} = {}; - $self->{'verbatim'} = {}; - } - } - $self->{$typecheck} = 0; - $self->{'idl_defaulted'} = 0; - $self->{'flag_overrides'} = {}; - $self->{'source_defaulted'} = 0; - } - else { - ## Project Beginning - ## Deal with the inheritance hiearchy first - my($parents) = $values[2]; - if (defined $parents) { - foreach my $parent (@$parents) { - ## Read in the parent onto ourself - my($file) = $self->search_include_path( - "$parent.$BaseClassExtension"); - if (!defined $file) { - $file = $self->search_include_path( - "$parent.$ProjectCreatorExtension"); - } - - if (defined $file) { - push(@{$self->{'reading_parent'}}, 1); - $status = $self->parse_file($file); - pop(@{$self->{'reading_parent'}}); - - if (!$status) { - $errorString = "ERROR: Invalid parent: $parent"; - } - } - else { - $status = 0; - $errorString = "ERROR: Unable to locate parent: $parent"; - } - } - } - - ## Set up some initial values - if (defined $name) { - $name =~ s/^\(\s*//; - $name =~ s/\s*\)$//; - $self->process_assignment('project_name', $name); - } - $self->{$typecheck} = 1; - - ## Copy each value from global_assign into assign - if (!$self->{'reading_global'}) { - foreach my $key (keys %{$self->{'global_assign'}}) { - if (!defined $self->{'assign'}->{$key}) { - $self->{'assign'}->{$key} = $self->{'global_assign'}->{$key}; - } - } - } - } - } - elsif ($values[0] eq 'assignment') { - my($name) = $values[1]; - my($value) = $values[2]; - if (defined $validNames{$name}) { - $self->process_assignment($name, $value); - } - else { - $errorString = "ERROR: Invalid assignment name: $name"; - $status = 0; - } - } - elsif ($values[0] eq 'assign_add') { - my($name) = $values[1]; - my($value) = $values[2]; - if (defined $validNames{$name}) { - $self->process_assignment_add($name, $value); - } - else { - $errorString = "ERROR: Invalid addition name: $name"; - $status = 0; - } - } - elsif ($values[0] eq 'assign_sub') { - my($name) = $values[1]; - my($value) = $values[2]; - if (defined $validNames{$name}) { - $self->process_assignment_sub($name, $value); - } - else { - $errorString = "ERROR: Invalid subtraction name: $name"; - $status = 0; - } - } - elsif ($values[0] eq 'component') { - my($comp) = $values[1]; - my($name) = $values[2]; - if (defined $name) { - $name =~ s/^\(\s*//; - $name =~ s/\s*\)$//; - } - else { - $name = 'default'; - } - - my($vc) = $self->{'valid_components'}; - if (defined $$vc{$comp}) { - if (!$self->parse_components($ih, $comp, $name)) { - $errorString = "ERROR: Unable to process $comp"; - $status = 0; - } - } - else { - if ($comp eq 'verbatim') { - my($type, $loc) = split(/\s*,\s*/, $name); - if (!$self->parse_verbatim($ih, $comp, $type, $loc)) { - $errorString = "ERROR: Unable to process $comp"; - $status = 0; - } - } - else { - $errorString = "ERROR: Invalid component name: $comp"; - $status = 0; - } - } - } - else { - $errorString = "ERROR: Unrecognized line: $line"; - $status = 0; - } - } - elsif ($status == -1) { - $status = 0; - } - - return $status, $errorString; -} - - -sub parse_components { - my($self) = shift; - my($fh) = shift; - my($tag) = shift; - my($name) = shift; - my($current) = '000_FILES'; - my($status) = 1; - my($names) = {}; - my($comps) = {}; - my($order) = 0; - my($set) = 0; - my(%flags) = (); - - if (defined $self->{$tag}) { - $names = $self->{$tag}; - } - else { - $self->{$tag} = $names; - } - if (defined $$names{$name}) { - $comps = $$names{$name}; - } - else { - $$names{$name} = $comps; - } - if (!defined $$comps{$current}) { - $$comps{$current} = []; - } - - while(<$fh>) { - my($line) = $self->strip_line($_); - - if ($line eq '') { - } - elsif ($line =~ /^(\w+)\s*{$/) { - if (!defined $current || !$set) { - if (defined $current && !defined $$comps{$current}->[0]) { - ## The default components name was never used - ## so we remove it from the components - delete $$comps{$current}; - } - $current = sprintf("%03d_$1", $order); - $set = 1; - $order++; - if (!defined $$comps{$current}) { - $$comps{$current} = []; - } - } - else { - $status = 0; - last; - } - } - elsif ($line =~ /^}/) { - if (defined $current && $set) { - $current = undef; - } - else { - ## This is not an error, - ## this is the end of the components - last; - } - } - elsif (defined $current) { - my(@values) = (); - ## If this returns true, then we've found an assignment - if ($self->parse_assignment($line, \@values)) { - my($over) = {}; - if (defined $self->{'flag_overrides'}->{$tag}) { - $over = $self->{'flag_overrides'}->{$tag}; - } - else { - $self->{'flag_overrides'}->{$tag} = $over; - } - - if ($values[0] eq 'assignment') { - $self->process_assignment($values[1], - $values[2], \%flags); - } - elsif ($values[0] eq 'assign_add') { - $self->process_assignment_add($values[1], - $values[2], \%flags); - } - elsif ($values[0] eq 'assign_sub') { - $self->process_assignment_sub($values[1], - $values[2], \%flags); - } - } - else { - my($over) = $self->{'flag_overrides'}->{$tag}; - if (defined $over) { - $$over{$line} = \%flags; - } - my($array) = $$comps{$current}; - push(@$array, $line); - } - } - else { - $status = 0; - last; - } - } - - return $status; -} - - -sub parse_verbatim { - my($self) = shift; - my($fh) = shift; - my($tag) = shift; - my($type) = shift; - my($loc) = shift; - - ## All types are lowercase - $type = lc($type); - - if (!defined $self->{'verbatim'}->{$type}) { - $self->{'verbatim'}->{$type} = {}; - } - $self->{'verbatim'}->{$type}->{$loc} = []; - my($array) = $self->{'verbatim'}->{$type}->{$loc}; - - while(<$fh>) { - my($line) = $self->strip_line($_); - - if ($line eq '') { - } - elsif ($line =~ /^}/) { - ## This is not an error, - ## this is the end of the components - last; - } - else { - push(@$array, $line); - } - } - - return 1; -} - - -sub process_assignment { - my($self) = shift; - my($name) = shift; - my($value) = shift; - my($assign) = shift; - my($tag) = ($self->{'reading_global'} ? 'global_assign' : 'assign'); - - ## If no hash table was passed in - if (!defined $assign) { - $assign = $self->{$tag}; - } - - ## If we haven't yet defined the hash table in this project - if (!defined $assign) { - $assign = {}; - $self->{$tag} = $assign; - } - - if (defined $value) { - $value =~ s/^\s+//; - $value =~ s/\s+$//; - - if ($self->convert_slashes()) { - $value = $self->slash_to_backslash($value); - } - } - - $$assign{$name} = $value; -} - - -sub process_assignment_add { - my($self) = shift; - my($name) = shift; - my($value) = shift; - my($assign) = shift; - my($nval) = $self->get_assignment($name, $assign); - if (defined $nval) { - $nval = "$value $nval"; - } - else { - $nval = $value; - } - $self->process_assignment($name, $nval, $assign); - $self->process_duplicate_modification($name, $assign); -} - - -sub process_assignment_sub { - my($self) = shift; - my($name) = shift; - my($value) = shift; - my($assign) = shift; - my($nval) = $self->get_assignment($name, $assign); - - if (defined $nval) { - my($parts) = $self->create_array($nval); - $nval = ''; - foreach my $part (@$parts) { - if ($part ne $value && $part ne '') { - $nval .= "$part "; - } - } - $self->process_assignment($name, $nval, $assign); - } -} - - -sub process_duplicate_modification { - my($self) = shift; - my($name) = shift; - my($assign) = shift; - - ## If we are modifying the libs, libpaths or includes assignment with - ## either addition or subtraction, we are going to - ## perform a little fix on the value to avoid multiple - ## libraries and to try to insure the correct linking order - if ($name eq 'libs' || $name eq 'libpaths' || $name eq 'includes') { - my($nval) = $self->get_assignment($name, $assign); - if (defined $nval) { - my($parts) = $self->create_array($nval); - my(%seen) = (); - my($value) = ''; - foreach my $part (reverse @$parts) { - if (!defined $seen{$part}) { - $value = "$part $value"; - $seen{$part} = 1; - } - } - $self->process_assignment($name, $value, $assign); - } - } -} - - -sub read_template_input { - my($self) = shift; - my($status) = 1; - my($errorString) = ''; - my($file) = undef; - my($tag) = undef; - my($ti) = $self->get_ti_override(); - my($override) = 0; - - if ($self->exe_target()) { - if ($self->{'writing_type'} == 1) { - $tag = 'lexe_template_input'; - if (!defined $self->{$tag}) { - if (defined $$ti{'lib_exe'}) { - $file = $$ti{'lib_exe'}; - $override = 1; - } - else { - $file = $self->get_lib_exe_template_input_file(); - } - } - } - else { - $tag = 'dexe_template_input'; - if (!defined $self->{$tag}) { - if (defined $$ti{'dll_exe'}) { - $file = $$ti{'dll_exe'}; - $override = 1; - } - else { - $file = $self->get_dll_exe_template_input_file(); - } - } - } - } - else { - if ($self->{'writing_type'} == 1) { - $tag = 'lib_template_input'; - if (!defined $self->{$tag}) { - if (defined $$ti{'lib'}) { - $file = $$ti{'lib'}; - $override = 1; - } - else { - $file = $self->get_lib_template_input_file(); - } - } - } - else { - $tag = 'dll_template_input'; - if (!defined $self->{$tag}) { - if (defined $$ti{'dll'}) { - $file = $$ti{'dll'}; - $override = 1; - } - else { - $file = $self->get_dll_template_input_file(); - } - } - } - } - - if (defined $file) { - my($file) = $self->search_include_path("$file.$TemplateInputExtension"); - if (defined $file) { - $self->{$tag} = new TemplateInputReader(); - ($status, $errorString) = $self->{$tag}->read_file($file); - } - else { - if ($override) { - $status = 0; - $errorString = 'Unable to locate template input file.'; - } - } - } - - return $status, $errorString; -} - - -sub already_added { - my($self) = shift; - my($array) = shift; - my($name) = shift; - - foreach my $file (@$array) { - if ($file eq $name) { - return 1; - } - } - return 0; -} - - -sub add_idl_generated { - my($self) = shift; - my($tag) = shift; - my($idl) = shift; - my($names) = $self->{$tag}; - my($vc) = $self->{'valid_components'}; - my($wanted) = $$vc{$tag}->[0]; - my(@added) = (); - - $wanted =~ s/\\//; - foreach my $name (keys %$names) { - my($comps) = $$names{$name}; - foreach my $key (keys %$comps) { - my($array) = $$comps{$key}; - foreach my $i (@$idl) { - my($file) = $i; - $file =~ s/\.idl$//; - foreach my $ending (@{$self->{'skeleton_endings'}}) { - my($created) = "$file$ending$wanted"; - if (!$self->already_added($array, $created)) { - push(@added, $created); - } - } - } - ## Put the generated files at the front - if (defined $added[0]) { - unshift(@$array, @added); - } - } - } -} - - -sub generate_default_target_names { - my($self) = shift; - my($base) = shift; - - if (!$self->exe_target()) { - my($sharedname) = $self->get_assignment('sharedname'); - if (defined $sharedname && - !defined $self->get_assignment('staticname')) { - $self->process_assignment('staticname', $sharedname); - } - my($staticname) = $self->get_assignment('staticname'); - if (defined $staticname && - !defined $self->get_assignment('sharedname')) { - $self->process_assignment('sharedname', $staticname); - $sharedname = $staticname; - } - if (!defined $sharedname) { - $self->process_assignment('sharedname', $base); - } - if (!defined $staticname) { - $self->process_assignment('staticname', $base); - } - } -} - - -sub generate_default_pch_filenames { - my($self) = shift; - my($files) = shift; - my($vc) = $self->{'valid_components'}; - my($gc) = $$vc{'header_files'}; - my($found) = 0; - - if (!defined $self->get_assignment('pch_header')) { - foreach my $file (@$files) { - foreach my $ext (@$gc) { - if ($file =~ /(.*_pch$ext)/) { - $self->process_assignment('pch_header', $1); - $found = 1; - last; - } - } - if ($found) { - last; - } - } - } - - if (!defined $self->get_assignment('pch_source')) { - $gc = $$vc{'source_files'}; - $found = 0; - foreach my $file (@$files) { - foreach my $ext (@$gc) { - if ($file =~ /(.*_pch$ext)/) { - $self->process_assignment('pch_source', $1); - $found = 1; - last; - } - } - if ($found) { - last; - } - } - } -} - - -sub is_special_tag { - my($self) = shift; - my($tag) = shift; - - foreach my $t (@specialComponents) { - if ($tag eq $t) { - return 1; - } - } - - return 0; -} - - -sub escape_regex_special { - my($self) = shift; - my($name) = shift; - - $name =~ s/\\/\\\\/g; - $name =~ s/\$/\\\$/g; - $name =~ s/\[/\\\[/g; - $name =~ s/\]/\\\]/g; - $name =~ s/\(/\\\(/g; - $name =~ s/\)/\\\)/g; - - return $name; -} - - -sub sift_files { - my($self) = shift; - my($files) = shift; - my($exts) = shift; - my($pchh) = shift; - my($pchc) = shift; - my($tag) = shift; - my($array) = shift; - my(@saved) = (); - my($ec) = $self->{'exclude_components'}; - - 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; - if (defined $$ec{$tag}) { - my($excludes) = $$ec{$tag}; - foreach my $exc (@$excludes) { - if ($file =~ /$exc$/) { - $exclude = 1; - last; - } - } - } - elsif ($tag eq 'resource_files') { - ## 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); - } - - if (!$exclude) { - if (!$self->already_added($array, $file)) { - push(@$array, $file); - } - } - last; - } - } - } - - ## Now deal with the saved files - if (defined $saved[0]) { - my($pjname) = $self->escape_regex_special( - $self->get_assignment('project_name')); - foreach my $save (@saved) { - my($file) = $self->escape_regex_special($save); - if ($pjname =~ /$file/ || $file =~ /$pjname/) { - if (!$self->already_added($array, $file)) { - push(@$array, $file); - } - } - } - } -} - - -sub generate_default_components { - my($self) = shift; - my($files) = shift; - my($passed) = shift; - my($vc) = $self->{'valid_components'}; - my(@tags) = (defined $passed ? $passed : keys %$vc); - my($pchh) = $self->get_assignment('pch_header'); - my($pchc) = $self->get_assignment('pch_source'); - - foreach my $tag (@tags) { - my($exts) = $$vc{$tag}; - if (defined $$exts[0]) { - if (defined $self->{$tag}) { - ## If the tag is defined, then process directories - my($names) = $self->{$tag}; - foreach my $name (keys %$names) { - my($comps) = $$names{$name}; - foreach my $comp (keys %$comps) { - my($array) = $$comps{$comp}; - if (defined $passed) { - $self->sift_files($files, $exts, $pchh, $pchc, $tag, $array); - } - else { - my(@built) = (); - foreach my $file (@$array) { - if (-d $file) { - my(@gen) = $self->generate_default_file_list($file); - $self->sift_files(\@gen, $exts, $pchh, $pchc, $tag, \@built); - } - else { - if (!$self->already_added(\@built, $file)) { - push(@built, $file); - } - } - } - $$comps{$comp} = \@built; - } - } - } - } - else { - ## Generate default values for undefined tags - my($names) = {}; - $self->{$tag} = $names; - my($comps) = {}; - $$names{'default'} = $comps; - $$comps{'000_FILES'} = []; - my($array) = $$comps{'000_FILES'}; - - if (!$self->is_special_tag($tag)) { - $self->sift_files($files, $exts, $pchh, $pchc, $tag, $array); - if ($tag eq 'idl_files' && defined $$array[0]) { - $self->{'idl_defaulted'} = 1; - $self->process_assignment('tao', 1); - } - elsif ($tag eq 'source_files') { - ## If we are auto-generating the source_files, then - ## we need to make sure that any idl generated source - ## files that are added are put at the front of the list. - my(@front) = (); - my(@copy) = @$array; - my(@exts) = $self->generated_source_extensions($tag); - - $self->{'source_defaulted'} = 1; - @$array = (); - foreach my $file (@copy) { - my($found) = 0; - foreach my $ext (@exts) { - if ($file =~ /$ext$/) { - ## No need to check for previously added files - ## here since there are none. - push(@front, $file); - $found = 1; - last; - } - } - if (!$found) { - ## No need to check for previously added files - ## here since there are none. - push(@$array, $file); - } - } - - if (defined $front[0]) { - unshift(@$array, @front); - } - } - } - } - } - } -} - - -sub generated_source_extensions { - my($self) = shift; - my($tag) = shift; - my($vc) = $self->{'valid_components'}; - my($gc) = $$vc{$tag}; - my(@gen) = (); - - foreach my $e (@$gc) { - foreach my $ending (@{$self->{'skeleton_endings'}}) { - push(@gen, "$ending$e"); - } - } - return @gen; -} - - -sub generated_source_listed { - my($self) = shift; - my($tag) = shift; - my($idl) = shift; - my($names) = $self->{$tag}; - my(@gen) = $self->generated_source_extensions($tag); - my(@found) = (); - - ## Find out which generated source files are listed - foreach my $name (keys %$names) { - my($comps) = $$names{$name}; - foreach my $key (keys %$comps) { - my($array) = $$comps{$key}; - foreach my $val (@$array) { - foreach my $ext (@gen) { - foreach my $i (@$idl) { - my($ifile) = $self->escape_regex_special($i); - if ($val =~ /$ifile$ext$/) { - push(@found, $val); - } - } - } - } - } - } - return (defined $found[0]); -} - - -sub generate_default_idl_generated { - my($self) = shift; - my($tags) = shift; - - if ($self->{'idl_defaulted'}) { - ## After all source and headers have been defaulted, see if we - ## 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) = (); - my($names) = $self->{'idl_files'}; - foreach my $name (keys %$names) { - my($comps) = $$names{$name}; - foreach my $key (keys %$comps) { - my($array) = $$comps{$key}; - foreach my $val (@$array) { - my($f) = $val; - $f =~ s/\.idl$//; - push(@idl, $f); - } - } - } - - foreach my $type (@$tags) { - if (!$self->generated_source_listed($type, \@idl)) { - $self->add_idl_generated($type, \@idl); - } - } - } - } -} - - -sub add_source_corresponding_component_files { - my($self) = shift; - my($tag) = shift; - my(@all) = (); - my($vc) = $self->{'valid_components'}; - - 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}}); - } - } - } - - ## We need to cross-check the idl files. But we need to remove - ## the idl extension first. - my(@idl) = $self->get_component_list('idl_files'); - for(my $i = 0; $i <= $#idl; $i++) { - $idl[$i] =~ s/\.idl$//; - } - - ## for each cpp file, we add a corresponding header or inline file - ## if it exists and is not already in the list of headers - my($names) = $self->{$tag}; - foreach my $name (keys %$names) { - my($comps) = $$names{$name}; - foreach my $comp (keys %$comps) { - my($array) = $$comps{$comp}; - foreach my $cpp (@all) { - my($found) = 0; - my($c) = $cpp; - $c =~ s/\.[^\.]+$//; - foreach my $file (@$array) { - my($added) = $c; - if ($file =~ /(\.[^\.]+)$/) { - $added .= $1; - } - - if ($added eq $file) { - $found = 1; - last; - } - } - - if (!$found) { - my($added) = 0; - foreach my $e (@{$$vc{$tag}}) { - my($ext) = $e; - $ext =~ s/\\//g; - - ## If the file is readable - my($file) = "$c$ext"; - if (-r $file) { - if (!$self->already_added($array, $file)) { - push(@$array, $file); - } - $added = 1; - last; - } - } - if (!$added) { - ## If we did not add the file in the above loop, - ## we must check to see if the file *would be* generated - ## from idl. If so, we will add the file with the default - ## (i.e. first) file extension. - foreach my $idl (@idl) { - if ($c =~ /^$idl/) { - foreach my $ending (@{$self->{'skeleton_endings'}}) { - if ($c =~ /^$idl$ending$/) { - my($ext) = $$vc{$tag}->[0]; - $ext =~ s/\\//g; - my($file) = "$c$ext"; - if (!$self->already_added($array, $file)) { - push(@$array, $file); - } - $added = 1; - last; - } - } - } - last; - } - } - } - } - } - } -} - - -sub generate_defaults { - my($self) = shift; - my($base) = $self->base_directory(); - - ## Generate default project name - if (!defined $self->get_assignment('project_name')) { - $self->process_assignment('project_name', $base); - } - - $self->generate_default_target_names($base); - - my(@files) = $self->generate_default_file_list(); - $self->generate_default_pch_filenames(\@files); - - ## Generate default components, but @specialComponents - ## are skipped in the initial default components generation - $self->generate_default_components(\@files); - - ## Generate the default idl generated list of source files - ## only if we defaulted the idl file list - $self->generate_default_idl_generated(['source_files']); - - ## Add @specialComponents files based on the - ## source_components (i.e. .h and .i or .inl based on .cpp) - foreach my $tag (@specialComponents) { - $self->add_source_corresponding_component_files($tag); - } - - ## Now, if the @specialComponents are still empty - ## then take any file that matches the components extension - foreach my $tag (@specialComponents) { - my($names) = $self->{$tag}; - if (defined $names) { - foreach my $name (keys %$names) { - my($comps) = $$names{$name}; - foreach my $comp (keys %$comps) { - my($array) = $$comps{$comp}; - if (!defined $$array[0] || $self->{'source_defaulted'}) { - $self->generate_default_components(\@files, $tag); - } - } - } - } - } -} - - -sub project_name { - my($self) = shift; - return $self->get_assignment('project_name'); -} - - -sub lib_target { - my($self) = shift; - return (defined $self->get_assignment('sharedname') || - defined $self->get_assignment('staticname')); -} - - -sub exe_target { - my($self) = shift; - return (defined $self->get_assignment('exename')); -} - - -sub get_assignment { - my($self) = shift; - my($name) = shift; - my($tag) = ($self->{'reading_global'} ? 'global_assign' : 'assign'); - return $self->{$tag}->{$name}; -} - - -sub get_component_list { - my($self) = shift; - my($tag) = shift; - my($names) = $self->{$tag}; - my(@list) = (); - - foreach my $name (keys %$names) { - my($comps) = $$names{$name}; - foreach my $key (sort keys %$comps) { - my($array) = $$comps{$key}; - push(@list, @$array); - } - } - - if ($self->convert_slashes()) { - for(my $i = 0; $i <= $#list; $i++) { - $list[$i] = $self->slash_to_backslash($list[$i]); - } - } - - if ($self->sort_files()) { - @list = sort { $self->file_sorter($a, $b) } @list; - } - - return @list; -} - - -sub write_output_file { - my($self) = shift; - my($name) = shift; - my($status) = 0; - my($error) = ''; - my($dir) = dirname($name); - my($fh) = new FileHandle(); - my($tover) = $self->get_template_override(); - my($template) = (defined $tover ? $tover : $self->get_template()) . - ".$TemplateExtension"; - my($tfile) = $self->search_include_path($template); - - if (defined $tfile) { - if ($dir ne '.') { - mkpath($dir, 0, 0777); - } - - ## Read in the template values for the - ## specific target and project type - ($status, $error) = $self->read_template_input(); - - if ($status) { - my($tp) = new TemplateParser($self); - - ## Set the project_file assignment for the template parser - $self->process_assignment('project_file', $name); - - ($status, $error) = $tp->parse_file($tfile); - - if ($status) { - if (open($fh, ">$name")) { - my($lines) = $tp->get_lines(); - foreach my $line (@$lines) { - print $fh $line; - } - close($fh); - my($fw) = $self->{'files_written'}; - push(@$fw, $name); - } - else { - $error = "ERROR: Unable to open $name for output."; - $status = 0; - } - } - } - } - else { - $error = "ERROR: Unable to locate the template file: $template."; - $status = 0; - } - - return $status, $error; -} - - -sub write_project { - my($self) = shift; - my($status) = 1; - my($error) = ''; - my($name) = $self->transform_file_name($self->project_file_name()); - my($prjname) = $self->get_assignment('project_name'); - my($progress) = $self->get_progress_callback(); - - if (defined $progress) { - &$progress(); - } - - ## Writing the non-static file so set it to 0 - if ($self->{'want_dynamic_projects'}) { - $self->{'writing_type'} = 0; - $self->process_assignment('project_name', - $prjname . $self->get_type_append()); - ($status, $error) = $self->write_output_file($name); - } - - if ($status && $self->{'want_static_projects'} && - $self->separate_static_project()) { - ## Set the project name back to what it originally was - $self->process_assignment('project_name', $prjname); - $name = $self->transform_file_name($self->static_project_file_name()); - - ## Writing the static file so set it to 1 - $self->{'writing_type'} = 1; - $self->process_assignment('project_name', - $prjname . $self->get_type_append()); - ($status, $error) = $self->write_output_file($name); - } - - if (!$status) { - print STDERR "$error\n"; - } - - return $status; -} - - -sub get_files_written { - my($self) = shift; - return $self->{'files_written'}; -} - - -sub get_project_info { - my($self) = shift; - return $self->{'project_info'}; -} - - -sub get_writing_type { - my($self) = shift; - return $self->{'writing_type'}; -} - - -sub set_component_extensions { - my($self) = shift; - my($vc) = $self->{'valid_components'}; - my($ec) = $self->{'exclude_components'}; - - foreach my $key (keys %$vc) { - my($ov) = $self->override_valid_component_extensions($key); - if (defined $ov) { - $$vc{$key} = $ov; - } - } - - foreach my $key (keys %$ec) { - my($ov) = $self->override_exclude_component_extensions($key); - if (defined $ov) { - $$ec{$key} = $ov; - } - } -} - - -sub reset_values { - my($self) = shift; - $self->{'files_written'} = []; - $self->{'project_info'} = []; -} - - -sub get_template_input { - my($self) = shift; - - if ($self->lib_target()) { - if ($self->{'writing_type'} == 1) { - return $self->{'lib_template_input'}; - } - else { - return $self->{'dll_template_input'}; - } - } - - if ($self->{'writing_type'} == 1) { - return $self->{'lexe_template_input'}; - } - else { - return $self->{'dexe_template_input'}; - } -} - - -sub update_project_info { - my($self) = shift; - my($tparser) = shift; - my($append) = shift; - my($names) = shift; - my($sep) = shift; - my($pi) = $self->get_project_info(); - my($value) = ''; - my($arr) = ($append && defined $$pi[0] ? pop(@$pi) : []); - - ## Set up the hash table when we are starting a new project_info - if ($append == 0) { - $self->{'project_info_hash_table'} = {}; - } - - ## Append the values of all names into one string - my(@narr) = @$names; - for(my $i = 0; $i <= $#narr; $i++) { - my($key) = $narr[$i]; - $value .= $self->translate_value($key, - $tparser->get_value_with_default($key)) . - (defined $sep && $i != $#narr ? $sep : ''); - } - - ## If we haven't seen this value yet, put it on the array - if (!defined $self->{'project_info_hash_table'}->{"@narr $value"}) { - $self->{'project_info_hash_table'}->{"@narr $value"} = 1; - $self->save_project_value("@narr", $value); - push(@$arr, $value); - } - - ## Always push the array back onto the project_info - push(@$pi, $arr); - - return $value; -} - - -sub get_verbatim { - my($self) = shift; - my($marker) = shift; - my($type) = lc(substr("$self", 0, 3)); ## This number corresponds to - ## signif in Driver.pm - my($str) = undef; - my($thash) = $self->{'verbatim'}->{$type}; - - if (defined $thash) { - if (defined $thash->{$marker}) { - my($crlf) = $self->crlf(); - foreach my $line (@{$thash->{$marker}}) { - if (!defined $str) { - $str = ''; - } - $str .= $self->process_special($line) . $crlf; - } - if (defined $str) { - $str .= $crlf; - } - } - } - return $str; -} - - -# ************************************************************ -# Virtual Methods To Be Overridden -# ************************************************************ - -sub specific_lookup { - #my($self) = shift; - #my($key) = shift; - return undef; -} - - -sub save_project_value { - #my($self) = shift; - #my($name) = shift; - #my($value) = shift; -} - - -sub get_type_append { - #my($self) = shift; - return ''; -} - - -sub translate_value { - my($self) = shift; - my($key) = shift; - my($val) = shift; - return $val; -} - - -sub convert_slashes { - #my($self) = shift; - return 1; -} - - -sub fill_value { - #my($self) = shift; - #my($name) = shift; - return undef; -} - - -sub separate_static_project { - #my($self) = shift; - return 0; -} - - -sub project_file_name { - #my($self) = shift; - return undef; -} - - -sub static_project_file_name { - #my($self) = shift; - return undef; -} - - -sub override_valid_component_extensions { - #my($self) = shift; - #my($comp) = shift; - return undef; -} - - -sub override_exclude_component_extensions { - #my($self) = shift; - #my($comp) = shift; - return undef; -} - - -sub get_dll_exe_template_input_file { - #my($self) = shift; - return undef; -} - - -sub get_lib_exe_template_input_file { - #my($self) = shift; - return undef; -} - - -sub get_lib_template_input_file { - #my($self) = shift; - return undef; -} - - -sub get_dll_template_input_file { - #my($self) = shift; - return undef; -} - - -sub get_template { - #my($self) = shift; - return undef; -} - - -1; diff --git a/modules/TemplateInputReader.pm b/modules/TemplateInputReader.pm deleted file mode 100644 index 3b9a5e21..00000000 --- a/modules/TemplateInputReader.pm +++ /dev/null @@ -1,101 +0,0 @@ -package TemplateInputReader; - -# ************************************************************ -# Description : Reads the template input and stores the values -# Author : Chad Elliott -# Create Date : 5/16/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; - -use Parser; - -use vars qw(@ISA); -@ISA = qw(Parser); - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub new { - my($class) = shift; - my($self) = Parser::new($class); - - $self->{'values'} = {}; - $self->{'cindex'} = 0; - $self->{'current'} = [ $self->{'values'} ]; - - return $self; -} - - -sub parse_line { - my($self) = shift; - my($ih) = shift; - my($line) = shift; - my($status) = 1; - my($errorString) = ''; - my($current) = $self->{'current'}; - - if ($line eq '') { - } - elsif ($line =~ /^([\w\s]+)\s*{$/) { - ## Entering a new scope - my($name) = $1; - $name =~ s/\s+$//; - if (!defined $$current[$self->{'cindex'}]->{$name}) { - $$current[$self->{'cindex'}]->{$name} = {}; - } - push(@$current, $$current[$self->{'cindex'}]->{$name}); - $self->{'cindex'}++; - } - elsif ($line =~ /^}$/) { - if ($self->{'cindex'} > 0) { - pop(@$current); - $self->{'cindex'}--; - } - else { - $status = 0; - $errorString = 'ERROR: Unmatched curly brace'; - } - } - elsif ($line =~ /^(\w+)\s*=\s*(.*)?/) { - my($name) = $1; - my($value) = $2; - - if (defined $value) { - $value = $self->create_array($value); - } - else { - $value = ''; - } - - if (!defined $$current[$self->{'cindex'}]->{$name}) { - $$current[$self->{'cindex'}]->{$name} = $value; - } - else { - $status = 0; - $errorString = "ERROR: Redifinition of '$name'"; - } - } - else { - $status = 0; - $errorString = "ERROR: Unrecognized line: $line"; - } - - return $status, $errorString; -} - - -sub get_value { - my($self) = shift; - my($tag) = shift; - return $self->{'values'}->{$tag}; -} - - -1; diff --git a/modules/TemplateParser.pm b/modules/TemplateParser.pm deleted file mode 100644 index d93a9ad2..00000000 --- a/modules/TemplateParser.pm +++ /dev/null @@ -1,973 +0,0 @@ -package TemplateParser; - -# ************************************************************ -# Description : Parses the template and fills in missing values -# Author : Chad Elliott -# Create Date : 5/17/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; - -use Parser; - -use vars qw(@ISA); -@ISA = qw(Parser); - -# ************************************************************ -# Data Section -# ************************************************************ - -my(%keywords) = ('if' => 1, - 'else' => 1, - 'endif' => 1, - 'noextension' => 1, - 'dirname' => 1, - 'basename' => 1, - 'basenoextension' => 1, - 'foreach' => 1, - 'forfirst' => 1, - 'fornotfirst' => 1, - 'fornotlast' => 1, - 'forlast' => 1, - 'endfor' => 1, - 'comment' => 1, - 'flag_overrides' => 1, - 'marker' => 1, - ); - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub new { - my($class) = shift; - my($prjc) = shift; - my($self) = Parser::new($class); - - $self->{'prjc'} = $prjc; - $self->{'ti'} = $prjc->get_template_input(); - $self->{'crlf'} = undef; - $self->{'values'} = {}; - $self->{'defaults'} = {}; - $self->{'lines'} = []; - $self->{'built'} = ''; - $self->{'sstack'} = []; - $self->{'lstack'} = []; - $self->{'if_skip'} = 0; - - $self->{'foreach'} = {}; - $self->{'foreach'}->{'count'} = -1; - $self->{'foreach'}->{'nested'} = 0; - $self->{'foreach'}->{'names'} = []; - $self->{'foreach'}->{'text'} = []; - $self->{'foreach'}->{'scope'} = []; - $self->{'foreach'}->{'temp_scope'} = []; - $self->{'foreach'}->{'processing'} = 0; - - return $self; -} - - -sub basename { - my($self) = shift; - my($file) = shift; - 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); - } - } - delete $self->{'values'}->{'basename_found'}; - return $file; -} - - -sub dirname { - my($self) = shift; - my($file) = shift; - 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); - } - } - delete $self->{'values'}->{'dirname_found'}; - return '.'; -} - - -sub strip_line { - my($self) = shift; - my($line) = shift; - - ## Override strip_line() from Parser. - ## We need to preserve leading space and - ## there is no comment string in templates. - ++$self->{'line_number'}; - $line =~ s/\s+$//; - - return $line; -} - - -## 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; - my($index) = $self->{'foreach'}->{'count'}; - - if ($index >= 0) { - $self->{'foreach'}->{'text'}->[$index] .= $value; - } - else { - $self->{'built'} .= $value; - } -} - - -sub adjust_value { - my($self) = shift; - my($name) = shift; - my($value) = shift; - - ## Perform any additions, subtractions - ## or overrides for the template values. - my($addtemp) = $self->{'prjc'}->get_addtemp(); - foreach my $at (keys %$addtemp) { - if ($at eq $name) { - my($val) = $$addtemp{$at}; - if ($$val[0] > 0) { - if (UNIVERSAL::isa($value, 'ARRAY')) { - $value = [ $$val[1], @$value ]; - } - else { - $value = "$$val[1] $value"; - } - } - elsif ($$val[0] < 0) { - my($parts) = undef; - if (UNIVERSAL::isa($value, 'ARRAY')) { - my(@copy) = @$value; - $parts = \@copy; - } - else { - $parts = $self->create_array($value); - } - - $value = ''; - foreach my $part (@$parts) { - if ($part ne $$val[1] && $part ne '') { - $value .= "$part "; - } - } - $value =~ s/^\s+//; - $value =~ s/\s+$//; - } - else { - $value = $$val[1]; - } - } - } - - return $value; -} - - -sub set_current_values { - my($self) = shift; - my($name) = shift; - - ## If any value within a foreach matches the name - ## of a hash table within the template input we will - ## set the values of that hash table in the current scope - my($ti) = $self->{'ti'}; - if (defined $ti) { - my($counter) = $self->{'foreach'}->{'count'}; - if ($counter >= 0) { - my($value) = $ti->get_value($name); - if (defined $value && UNIVERSAL::isa($value, 'HASH')) { - my(%copy) = (); - foreach my $key (keys %$value) { - $copy{$key} = $self->adjust_value($key, $$value{$key}); - } - $self->{'foreach'}->{'temp_scope'}->[$counter] = \%copy; - } - } - } -} - - -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) = $self->getcwd(); - my($start) = 0; - my($fixed) = 0; - - if ($cwd =~ /[a-z]:[\/\\]/) { - substr($cwd, 0, 1) = uc(substr($cwd, 0, 1)); - } - while(substr($value, $start) =~ /(\$\(([^)]+)\))/) { - my($whole) = $1; - my($name) = $2; - my($val) = $$rel{$name}; - if (defined $val) { - if ($^O eq 'cygwin' && !$fixed && - $cwd !~ /[A-Za-z]:/ && $val =~ /[A-Za-z]:/) { - my($cyg) = `cygpath -w $cwd`; - if (defined $cyg) { - $cyg =~ s/\\/\//g; - chop($cwd = $cyg); - $fixed = 1; - } - } - - ## Fix up the value for Windows (capitalize the drive and - ## switch the \\'s to / - $val =~ s/\\/\//g; - if ($val =~ /[a-z]:\//) { - substr($val, 0, 1) = uc(substr($val, 0, 1)); - } - - 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/\/$//; - if ($self->{'prjc'}->convert_slashes()) { - $val = slash_to_backslash($val); - } - substr($value, $start) =~ s/\$\([^)]+\)/$val/; - } - } - $start += length($whole); - } - } - } - - return $value; -} - - -sub get_value { - my($self) = shift; - my($name) = shift; - my($value) = undef; - my($counter) = $self->{'foreach'}->{'count'}; - - ## First, check the temporary scope (set inside a foreach) - if ($counter >= 0) { - while(!defined $value && $counter >= 0) { - $value = $self->{'foreach'}->{'temp_scope'}->[$counter]->{$name}; - --$counter; - } - $counter = $self->{'foreach'}->{'count'}; - } - - if (!defined $value) { - ## Next, check for a template value - my($ti) = $self->{'ti'}; - if (defined $ti) { - $value = $ti->get_value($name); - if (defined $value) { - $value = $self->adjust_value($name, $value); - } - } - - if (!defined $value) { - ## Next, check the inner to outer foreach - ## scopes for overriding values - while(!defined $value && $counter >= 0) { - $value = $self->{'foreach'}->{'scope'}->[$counter]->{$name}; - --$counter; - } - - ## Then get the value from the project creator - if (!defined $value) { - $value = $self->{'prjc'}->get_assignment($name); - - ## Then get it from our known values - if (!defined $value) { - $value = $self->{'values'}->{$name}; - } - } - } - } - - return $self->relative($value); -} - - -sub get_value_with_default { - my($self) = shift; - my($name) = shift; - my($value) = $self->get_value($name); - - if (defined $value) { - if (UNIVERSAL::isa($value, 'ARRAY')) { - $value = "@$value"; - } - } - else { - $value = $self->{'defaults'}->{$name}; - if (!defined $value) { - ## Call back onto the project creator to allow - ## it to fill in the value before defaulting to an empty string. - $value = $self->{'prjc'}->fill_value($name); - if (!defined $value) { -# print "DEBUG: WARNING: $name defaulting to empty string\n"; - $value = ''; - } - } - else { -# print "DEBUG: WARNING: $name using default value of $value\n"; - } - $value = $self->relative($value); - } - - return $value; -} - - -sub process_foreach { - my($self) = shift; - my($index) = $self->{'foreach'}->{'count'}; - my($text) = $self->{'foreach'}->{'text'}->[$index]; - my($status) = 1; - my($errorString) = ''; - my(@values) = (); - my($names) = $self->create_array($self->{'foreach'}->{'names'}->[$index]); - my($name) = undef; - - foreach my $n (@$names) { - my($vals) = $self->get_value($n); - if (defined $vals && $vals ne '') { - if (!UNIVERSAL::isa($vals, 'ARRAY')) { - $vals = $self->create_array($vals); - } - push(@values, @$vals); - } - if (!defined $name) { - $name = $n; - } - } - - ## Reset the text (it will be regenerated by calling parse_line - $self->{'foreach'}->{'text'}->[$index] = ''; - - if (defined $values[0]) { - my($inner) = $name; - my($scope) = $self->{'foreach'}->{'scope'}->[$index]; - - $inner =~ s/s$//; - $$scope{'forlast'} = 0; - $$scope{'fornotlast'} = 1; - $$scope{'forfirst'} = 1; - $$scope{'fornotfirst'} = 0; - - for(my $i = 0; $i <= $#values; ++$i) { - my($value) = $values[$i]; - - ## Set the corresponding values in the temporary scope - $self->set_current_values($value); - - ## Set the special values that only exist - ## within a foreach - if ($i != 0) { - $$scope{'forfirst'} = 0; - $$scope{'fornotfirst'} = 1; - } - if ($i == $#values) { - $$scope{'forlast'} = 1; - $$scope{'fornotlast'} = 0; - } - ## We don't use adjust_value here because these names - ## are generated from a foreach and should not be adjusted. - $$scope{$inner} = $value; - - ## A tiny hack for VC7 - if ($inner eq 'configuration') { - $self->{'prjc'}->update_project_info($self, 1, - ['configuration', 'platform'], - '|'); - } - - ## Now parse the line of text, each time - ## with different values - ++$self->{'foreach'}->{'processing'}; - ($status, $errorString) = $self->parse_line(undef, $text); - --$self->{'foreach'}->{'processing'}; - if (!$status) { - last; - } - } - } - - return $status, $errorString; -} - - -sub handle_end { - my($self) = shift; - my($name) = shift; - my($status) = 1; - my($errorString) = ''; - my($end) = pop(@{$self->{'sstack'}}); - pop(@{$self->{'lstack'}}); - - if (!defined $end) { - $status = 0; - $errorString = "ERROR: Unmatched $name\n"; - } - elsif ($end eq 'endif') { - $self->{'if_skip'} = 0; - } - elsif ($end eq 'endfor') { - my($index) = $self->{'foreach'}->{'count'}; - ($status, $errorString) = $self->process_foreach(); - if ($status) { - --$self->{'foreach'}->{'count'}; - $self->append_current($self->{'foreach'}->{'text'}->[$index]); - } - } - - return $status, $errorString; -} - - -sub get_flag_overrides { - my($self) = shift; - my($name) = shift; - my($type) = shift; - my($value) = undef; - my($file) = $self->get_value($name); - my($prjc) = $self->{'prjc'}; - my($fo) = $prjc->{'flag_overrides'}; - - foreach my $key (keys %$fo) { - if ($key =~ /^$name/) { - foreach my $of (keys %{$$fo{$key}}) { - my($cv) = $of; - if ($prjc->convert_slashes()) { - $cv = $prjc->slash_to_backslash($of); - } - if ($cv eq $file) { - foreach my $ma (keys %{$prjc->{'matching_assignments'}}) { - if ($ma eq $key) { - foreach my $aname (@{$prjc->{'matching_assignments'}->{$ma}}) { - if ($aname eq $type && - defined $$fo{$key}->{$of}->{$aname}) { - $value = $$fo{$key}->{$of}->{$aname}; - last; - } - } - last; - } - } - last; - } - } - last; - } - } - return $value; -} - - -sub handle_if { - my($self) = shift; - my($val) = shift; - my($name) = 'endif'; - - push(@{$self->{'lstack'}}, $self->line_number() . " $val"); - if (!$self->{'if_skip'}) { - my($true) = 1; - push(@{$self->{'sstack'}}, $name); - if ($val =~ /^!(.*)/) { - $val = $1; - $val =~ s/^\s+//; - $true = 0; - } - - if ($val =~ /flag_overrides\(([^\)]+),\s*([^\)]+)\)/) { - $val = $self->get_flag_overrides($1, $2); - } - else { - $val = $self->get_value($val) - } - - if (!defined $val) { - $self->{'if_skip'} = $true; - } - else { - $self->{'if_skip'} = !$true; - } - } - else { - push(@{$self->{'sstack'}}, "*$name"); - } -} - - -sub handle_else { - my($self) = shift; - my(@scopy) = @{$self->{'sstack'}}; - - ## This method does not take into account that - ## multiple else clauses could be supplied to a single if. - ## Someday, this may be fixed. - if (defined $scopy[$#scopy] && $scopy[$#scopy] eq 'endif') { - $self->{'if_skip'} ^= 1; - } -} - - -sub handle_foreach { - my($self) = shift; - my($val) = shift; - my($name) = 'endfor'; - - push(@{$self->{'lstack'}}, $self->line_number()); - if (!$self->{'if_skip'}) { - push(@{$self->{'sstack'}}, $name); - ++$self->{'foreach'}->{'count'}; - - my($index) = $self->{'foreach'}->{'count'}; - $self->{'foreach'}->{'names'}->[$index] = $val; - $self->{'foreach'}->{'text'}->[$index] = ''; - $self->{'foreach'}->{'scope'}->[$index] = {}; - } - else { - push(@{$self->{'sstack'}}, "*$name"); - } -} - - -sub handle_special { - my($self) = shift; - 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); - } -} - - -sub handle_noextension { - my($self) = shift; - my($name) = shift; - - if (!$self->{'if_skip'}) { - my($val) = $self->get_value_with_default($name); - $val =~ s/\.[^\.]+$//; - $self->append_current($val); - } -} - - -sub handle_dirname { - my($self) = shift; - my($name) = shift; - - if (!$self->{'if_skip'}) { - my($val) = $self->dirname($self->get_value_with_default($name)); - $self->append_current($val); - } -} - - -sub handle_basename { - my($self) = shift; - my($name) = shift; - - if (!$self->{'if_skip'}) { - my($val) = $self->basename($self->get_value_with_default($name)); - $self->append_current($val); - } -} - - -sub handle_basenoextension { - my($self) = shift; - my($name) = shift; - - if (!$self->{'if_skip'}) { - my($val) = $self->basename($self->get_value_with_default($name)); - $val =~ s/\.[^\.]+$//; - $self->append_current($val); - } -} - - -sub handle_flag_overrides { - my($self) = shift; - my($name) = shift; - my($type) = ''; - - ($name, $type) = split(/,\s*/, $name); - - if (!$self->{'if_skip'}) { - my($value) = $self->get_flag_overrides($name, $type); - if (defined $value) { - $self->append_current($value); - } - } -} - - -sub handle_marker { - my($self) = shift; - my($name) = shift; - - if (!$self->{'if_skip'}) { - my($value) = $self->{'prjc'}->get_verbatim($name); - if (defined $value) { - $self->append_current($value); - } - } -} - - -## 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; - my($length) = length($line); - my($name) = undef; - my($val) = undef; - - for(my $i = 0; $i < $length; ++$i) { - my($ch) = substr($line, $i, 1); - if (!defined $name && $ch eq '(') { - $name = substr($line, 0, $i); - $val = ''; - } - elsif (!defined $name && $ch eq '%') { - if (substr($line, $i + 1, 1) eq '>') { - $name = substr($line, 0, $i); - last; - } - } - elsif (defined $val && $ch ne ')') { - $val .= $ch; - } - elsif (defined $val && $ch eq ')') { - if (substr($line, $i + 1, 2) eq '%>') { - last; - } - else { - $val .= $ch; - } - } - } - - return $name, $val; -} - - -sub process_name { - my($self) = shift; - my($line) = shift; - my($length) = 0; - my($status) = 1; - my($errorString) = ''; - - if ($line eq '') { - } - elsif ($line =~ /^(\w+)(\(([^\)]+|\".*\"|flag_overrides\([^\)]+,\s*[^\)]+\))\))?%>/) { - my($name, $val) = $self->split_name_value($line); - - $length += length($name); - if (defined $val) { - $length += length($val) + 2; - } - - if (defined $keywords{$name}) { - if ($name eq 'endif' || $name eq 'endfor') { - ($status, $errorString) = $self->handle_end($name); - } - elsif ($name eq 'if') { - $self->handle_if($val); - } - elsif ($name eq 'else') { - $self->handle_else(); - } - elsif ($name eq 'foreach') { - $self->handle_foreach($val); - } - elsif ($name eq 'fornotlast' || $name eq 'forlast' || - $name eq 'fornotfirst' || $name eq 'forfirst') { - $self->handle_special($name, $self->process_special($val)); - } - elsif ($name eq 'comment') { - ## Ignore the contents of the comment - } - elsif ($name eq 'flag_overrides') { - $self->handle_flag_overrides($val); - } - elsif ($name eq 'marker') { - $self->handle_marker($val); - } - elsif ($name eq 'noextension') { - $self->handle_noextension($val); - } - elsif ($name eq 'dirname') { - $self->handle_dirname($val); - } - elsif ($name eq 'basename') { - $self->handle_basename($val); - } - elsif ($name eq 'basenoextension') { - $self->handle_basenoextension($val); - } - } - else { - if (!$self->{'if_skip'}) { - if (defined $val && !defined $self->{'defaults'}->{$name}) { - $self->{'defaults'}->{$name} = $self->process_special($val); - } - - $val = $self->get_value_with_default($name); - $self->append_current($val); - } - } - } - else { - my($error) = $line; - my($length) = length($line); - for(my $i = 0; $i < $length; ++$i) { - my($part) = substr($line, $i, 2); - if ($part eq '%>') { - $error = substr($line, 0, $i + 2); - last; - } - } - $status = 0; - $errorString = "ERROR: Unable to parse line starting at $error"; - } - - return $status, $errorString, $length; -} - - -sub collect_data { - my($self) = shift; - my($prjc) = $self->{'prjc'}; - - ## Save crlf so we don't have to keep going back to the prjc - $self->{'crlf'} = $prjc->crlf(); - - ## Collect the components into {'values'} somehow - foreach my $key (keys %{$prjc->{'valid_components'}}) { - my(@list) = $prjc->get_component_list($key); - if (defined $list[0]) { - $self->{'values'}->{$key} = "@list"; - } - } - - ## A tiny hack (mainly for VC6 projects) - ## for the workspace generator. It needs to know the - ## target names to match up with the project name. - $prjc->update_project_info($self, 0, ['project_name']); - - ## This is for all projects - $prjc->update_project_info($self, 1, ['depends']); - - ## VC7 Projects need to know the GUID. - ## We need to save this value in our known values - ## 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; -} - - -sub is_only_keyword { - my($self) = shift; - my($line) = shift; - - ## Does the line contain only a keyword? - if ($line =~ /^<%(.*)%>$/) { - my($part) = $1; - if ($part !~ /%>/) { - $part =~ s/\(.*//; - return (defined $keywords{$part} ? 1 : 0); - } - } - return 0; -} - - -sub parse_line { - my($self) = shift; - my($ih) = shift; - my($line) = shift; - my($status) = 1; - my($errorString) = ''; - my($length) = length($line); - my($name) = 0; - my($crlf) = $self->{'crlf'}; - my($clen) = length($crlf); - my($startempty) = ($line eq '' ? 1 : 0); - my($append_name) = 0; - - ## If processing a foreach or the line only - ## contains a keyword, then we do - ## not need to add a newline to the end. - if ($self->{'foreach'}->{'processing'} == 0 && - !$self->is_only_keyword($line)) { - $line .= $crlf; - $length += $clen; - } - - if ($self->{'foreach'}->{'count'} < 0) { - $self->{'built'} = ''; - } - - for(my $i = 0; $i < $length; ++$i) { - my($part) = substr($line, $i, 2); - if ($part eq '<%') { - ++$i; - $name = 1; - } - elsif ($part eq '%>') { - ++$i; - $name = 0; - if ($append_name) { - $append_name = 0; - if (!$self->{'if_skip'}) { - $self->append_current($part); - } - } - } - elsif ($name) { - my($substr) = substr($line, $i); - my($efcheck) = ($substr =~ /^endfor\%\>/); - my($focheck) = ($substr =~ /^foreach\(/); - - if ($focheck && $self->{'foreach'}->{'count'} >= 0) { - ++$self->{'foreach'}->{'nested'}; - } - - if ($self->{'foreach'}->{'count'} < 0 || - $self->{'foreach'}->{'processing'} > $self->{'foreach'}->{'nested'} || - (($efcheck || $focheck) && - $self->{'foreach'}->{'nested'} == $self->{'foreach'}->{'processing'})) { - my($nlen) = 0; - ($status, - $errorString, - $nlen) = $self->process_name($substr); - - if ($status && $nlen == 0) { - $errorString = "ERROR: Could not parse this line at column $i"; - $status = 0; - } - if (!$status) { - last; - } - - $i += ($nlen - 1); - } - else { - $name = 0; - if (!$self->{'if_skip'}) { - $self->append_current('<%' . substr($line, $i, 1)); - $append_name = 1; - } - } - - if ($efcheck && $self->{'foreach'}->{'nested'} > 0) { - --$self->{'foreach'}->{'nested'}; - } - } - else { - if (!$self->{'if_skip'}) { - $self->append_current(substr($line, $i, 1)); - } - } - } - - if ($self->{'foreach'}->{'count'} < 0) { - ## If the line started out empty and we're not - ## skipping from the start or the built up line is not empty - if ($startempty || - ($self->{'built'} ne $crlf && $self->{'built'} ne '')) { - push(@{$self->{'lines'}}, $self->{'built'}); - } - } - - return $status, $errorString; -} - - -sub parse_file { - my($self) = shift; - my($input) = shift; - - $self->collect_data(); - my($status, $errorString) = $self->read_file($input); - - if ($status) { - my($sstack) = $self->{'sstack'}; - if (defined $$sstack[0]) { - my($lstack) = $self->{'lstack'}; - $status = 0; - $errorString = "ERROR: missing an $$sstack[0] starting at $$lstack[0]"; - } - } - - if (!$status) { - my($linenumber) = $self->line_number(); - $errorString = "$input: line $linenumber: $errorString\n"; - } - - return $status, $errorString; -} - - -sub get_lines { - my($self) = shift; - return $self->{'lines'}; -} - - -1; diff --git a/modules/VA4ProjectCreator.pm b/modules/VA4ProjectCreator.pm deleted file mode 100644 index 942be40a..00000000 --- a/modules/VA4ProjectCreator.pm +++ /dev/null @@ -1,129 +0,0 @@ -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/modules/VA4WorkspaceCreator.pm b/modules/VA4WorkspaceCreator.pm deleted file mode 100644 index 53b64969..00000000 --- a/modules/VA4WorkspaceCreator.pm +++ /dev/null @@ -1,76 +0,0 @@ -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/modules/VC6ProjectCreator.pm b/modules/VC6ProjectCreator.pm deleted file mode 100644 index f2d4fccd..00000000 --- a/modules/VC6ProjectCreator.pm +++ /dev/null @@ -1,229 +0,0 @@ -package VC6ProjectCreator; - -# ************************************************************ -# Description : A VC6 Project Creator -# Author : Chad Elliott -# Create Date : 3/14/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; - -use ProjectCreator; - -use vars qw(@ISA); -@ISA = qw(ProjectCreator); - -# ************************************************************ -# Data Section -# ************************************************************ - -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) = ''; - if ($self->lib_target()) { - ## Set the type_append preserving whitespace - if ($self->get_writing_type() == 1) { - $type = " $staticlib"; - } - else { - $type = " $dynamiclib"; - } - } - else { - ## Set the type_append preserving whitespace - if ($self->get_writing_type() == 1) { - $type = " $staticexe"; - } - else { - $type = " $dynamicexe"; - } - } - return $type; -} - - -sub translate_value { - my($self) = shift; - my($key) = shift; - my($val) = shift; - - if ($key eq 'depends' && $val ne '') { - my($arr) = $self->create_array($val); - my($app) = $dynamiclib; - $val = ''; - - ## Only write dependencies for non-static projects - ## and static exe projects - my($wt) = $self->get_writing_type(); - if ($wt == 0 || $self->exe_target()) { - if ($wt == 1) { - $app = $staticlib; - } - foreach my $entry (@$arr) { - my($dep) = $app; - ## Hack for executable dependencies - if ($entry =~ /exe/i) { - if ($wt == 1) { - $dep = $staticexe; - } - else { - $dep = $dynamicexe; - } - } - - $val .= "\"$entry $dep\" "; - } - $val =~ s/\s+$//; - } - } - return $val; -} - - -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 fill_value { - my($self) = shift; - my($name) = shift; - my($value) = undef; - - if ($name eq 'make_file_name') { - $value = $self->base_project_name() . '.mak'; - } - - return $value; -} - - -sub separate_static_project { - #my($self) = shift; - return 1; -} - - -sub project_file_name { - my($self) = shift; - return $self->project_name() . '.dsp'; -} - - -sub static_project_file_name { - my($self) = shift; - return $self->project_name() . "$sname.dsp"; -} - - -sub override_valid_component_extensions { - my($self) = shift; - my($comp) = shift; - my($array) = undef; - - if ($comp eq 'source_files') { - my(@exts) = ("\\.cpp", "\\.cxx", "\\.c"); - $array = \@exts; - } - - return $array; -} - - -sub override_exclude_component_extensions { - my($self) = shift; - my($comp) = shift; - my($array) = undef; - - if ($comp eq 'source_files') { - my(@exts) = ("_T\\.cpp", "_T\\.cxx"); - $array = \@exts; - } - - return $array; -} - - -sub get_dll_exe_template_input_file { - #my($self) = shift; - return 'vc6dspdllexe'; -} - - -sub get_lib_exe_template_input_file { - #my($self) = shift; - return 'vc6dsplibexe'; -} - - -sub get_lib_template_input_file { - #my($self) = shift; - return 'vc6dsplib'; -} - - -sub get_dll_template_input_file { - #my($self) = shift; - return 'vc6dspdll'; -} - - -sub get_template { - #my($self) = shift; - return 'vc6dsp'; -} - - -1; diff --git a/modules/VC6WorkspaceCreator.pm b/modules/VC6WorkspaceCreator.pm deleted file mode 100644 index f7ca71cf..00000000 --- a/modules/VC6WorkspaceCreator.pm +++ /dev/null @@ -1,113 +0,0 @@ -package VC6WorkspaceCreator; - -# ************************************************************ -# Description : A VC6 Workspace Creator -# Author : Chad Elliott -# Create Date : 5/13/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; - -use VC6ProjectCreator; -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() . '.dsw'; -} - - -sub pre_workspace { - my($self) = shift; - my($fh) = shift; - my($crlf) = $self->crlf(); - - print $fh "Microsoft Developer Studio Workspace File, Format Version 6.00$crlf" . - "# WARNING: DO NOT EDIT OR DELETE THIS 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($crlf) = $self->crlf(); - - foreach my $project (@$projects) { - my($pi) = $$pjs{$project}; - my($name, $deps) = @$pi; - - ## Convert all /'s to \ - $project = $self->slash_to_backslash($project); - - print $fh "###############################################################################$crlf" . - $crlf . - "Project: \"$name\"=$project - Package Owner=<4>$crlf" . - $crlf . - "Package=<5>$crlf" . - "{{{$crlf" . - "}}}$crlf" . - $crlf . - "Package=<4>$crlf" . - "{{{$crlf"; - - if (defined $deps && $deps ne '') { - my($darr) = $self->create_array($deps); - foreach my $dep (@$darr) { - ## Avoid cirular dependencies - if ($name ne $dep) { - print $fh " Begin Project Dependency$crlf" . - " Project_Dep_Name $dep$crlf" . - " End Project Dependency$crlf"; - } - } - } - - print $fh "}}}$crlf$crlf"; - } -} - - -sub post_workspace { - my($self) = shift; - my($fh) = shift; - my($crlf) = $self->crlf(); - - print $fh "###############################################################################$crlf" . - $crlf . - "Global:$crlf" . - $crlf . - "Package=<5>$crlf" . - "{{{$crlf" . - "}}}$crlf" . - $crlf . - "Package=<3>$crlf" . - "{{{$crlf" . - "}}}$crlf" . - $crlf . - "###############################################################################$crlf" . - $crlf; -} - - -1; diff --git a/modules/VC7ProjectCreator.pm b/modules/VC7ProjectCreator.pm deleted file mode 100644 index ae85b933..00000000 --- a/modules/VC7ProjectCreator.pm +++ /dev/null @@ -1,121 +0,0 @@ -package VC7ProjectCreator; - -# ************************************************************ -# Description : A VC7 Project Creator -# Author : Chad Elliott -# Create Date : 4/23/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; - -use GUID; -use ProjectCreator; - -use vars qw(@ISA); -@ISA = qw(ProjectCreator); - -# ************************************************************ -# 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 specific_lookup { - my($self) = shift; - my($tag) = shift; - my($val) = undef; - - if (defined $self->{'guid_names'} && - defined $self->{'guid_names'}->{$tag}) { - $val = $self->{'guid_names'}->{$tag}; - } - - return $val; -} - - -sub save_project_value { - my($self) = shift; - my($name) = shift; - my($value) = shift; - - if ($name eq 'guid') { - if (!defined $self->{'guid_names'}) { - $self->{'guid_names'} = {}; - } - $self->{'guid_names'}->{$self->project_file_name()} = $value; - } -} - - -sub crlf { - my($self) = shift; - return $self->windows_crlf(); -} - - -sub fill_value { - my($self) = shift; - my($name) = shift; - my($value) = undef; - - if ($name eq 'guid') { - my($guid) = new GUID(); - $value = $guid->generate($self->project_file_name(), - $self->get_current_input(), - $self->getcwd()); - } - return $value; -} - - -sub project_file_name { - my($self) = shift; - my($name) = shift; - - if (!defined $name) { - $name = $self->project_name(); - } - - return "$name.vcproj"; -} - - -sub get_dll_exe_template_input_file { - #my($self) = shift; - return 'vc7exe'; -} - - -sub get_dll_template_input_file { - #my($self) = shift; - return 'vc7dll'; -} - - -sub get_template { - #my($self) = shift; - return 'vc7'; -} - - -1; diff --git a/modules/VC7WorkspaceCreator.pm b/modules/VC7WorkspaceCreator.pm deleted file mode 100644 index fff045ce..00000000 --- a/modules/VC7WorkspaceCreator.pm +++ /dev/null @@ -1,133 +0,0 @@ -package VC7WorkspaceCreator; - -# ************************************************************ -# Description : A VC7 Workspace Creator -# Author : Chad Elliott -# Create Date : 5/14/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; - -use VC7ProjectCreator; -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() . '.sln'; -} - - -sub pre_workspace { - my($self) = shift; - my($fh) = shift; - my($crlf) = $self->crlf(); - - print $fh "Microsoft Visual Studio Solution File, Format Version 7.00$crlf"; -} - - -sub write_comps { - my($self) = shift; - my($fh) = shift; - my($gen) = shift; - my($projects) = $self->get_projects(); - my($guid) = '8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942'; - my($pjs) = $self->get_project_info(); - my(@list) = $self->sort_dependencies($projects, $pjs); - my($crlf) = $self->crlf(); - - ## $guid above is the VC7 Project GUID. It should not change. - - ## Project Information - foreach my $project (@list) { - my($pi) = $$pjs{$project}; - my($name, $deps, $pguid) = @$pi; - - ## Convert all /'s to \ - my($cpy) = $self->slash_to_backslash($project); - print $fh "Project(\"{$guid}\") = \"$name\", \"$cpy\", \"{$pguid}\"$crlf" . - "EndProject$crlf"; - } - - ## Project Configurations - print $fh "Global$crlf" . - "\tGlobalSection(SolutionConfiguration) = preSolution$crlf"; - - my(%configs) = (); - foreach my $project (@list) { - my($pi) = $$pjs{$project}; - my($name, $deps, $pguid, @cfgs) = @$pi; - foreach my $cfg (@cfgs) { - $cfg =~ s/\|.*//; - $configs{$cfg} = 1; - } - } - my($count) = 0; - foreach my $key (sort keys %configs) { - print $fh "\t\tConfigName.$count = $key$crlf"; - $count++; - } - - ## Project Dependencies - print $fh "\tEndGlobalSection$crlf" . - "\tGlobalSection(ProjectDependencies) = postSolution$crlf"; - foreach my $project (@list) { - my($pi) = $$pjs{$project}; - my($name, $deps, $pguid) = @$pi; - if (defined $deps && $deps ne '') { - my($darr) = $self->create_array($deps); - my($i) = 0; - foreach my $dep (@$darr) { - my($val) = $gen->specific_lookup($dep); - if (!defined $val) { - $val = $dep; - } - if ($pguid ne $val) { - print $fh "\t\t{$pguid}.$i = {$val}$crlf"; - $i++; - } - } - } - } - print $fh "\tEndGlobalSection$crlf" . - "\tGlobalSection(ProjectConfiguration) = postSolution$crlf"; - - ## Project Configuration Names - foreach my $project (@list) { - my($pi) = $$pjs{$project}; - my($name, $deps, $pguid, @cfgs) = @$pi; - foreach my $cfg (sort @cfgs) { - my($c) = $cfg; - $c =~ s/\|.*//; - print $fh "\t\t{$pguid}.$c.ActiveCfg = $cfg$crlf" . - "\t\t{$pguid}.$c.Build.0 = $cfg$crlf"; - } - } - print $fh "\tEndGlobalSection$crlf" . - "\tGlobalSection(ExtensibilityGlobals) = postSolution$crlf" . - "\tEndGlobalSection$crlf" . - "\tGlobalSection(ExtensibilityAddIns) = postSolution$crlf" . - "\tEndGlobalSection$crlf" . - "EndGlobal$crlf"; -} - - -1; diff --git a/modules/WorkspaceCreator.pm b/modules/WorkspaceCreator.pm deleted file mode 100644 index 895c2f81..00000000 --- a/modules/WorkspaceCreator.pm +++ /dev/null @@ -1,474 +0,0 @@ -package WorkspaceCreator; - -# ************************************************************ -# Description : Base class for all workspace creators -# Author : Chad Elliott -# Create Date : 5/13/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; -use FileHandle; -use File::Path; -use File::Basename; - -use Creator; - -use vars qw(@ISA); -@ISA = qw(Creator); - -# ************************************************************ -# Data Section -# ************************************************************ - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub new { - my($class) = shift; - my($global) = shift; - my($inc) = shift; - my($template) = shift; - my($ti) = shift; - my($dynamic) = shift; - my($static) = shift; - my($relative) = shift; - my($addtemp) = shift; - my($addproj) = shift; - my($progress) = shift; - my($self) = Creator::new($class, $global, $inc, - $template, $ti, $relative, - $addtemp, $addproj, - $progress, 'workspace'); - my($typecheck) = $self->{'type_check'}; - - $self->{'workspace_name'} = undef; - $self->{$typecheck} = 0; - $self->{'projects'} = []; - $self->{'project_info'} = {}; - $self->{'reading_parent'} = []; - $self->{'project_files'} = []; - $self->{'dynamic'} = $dynamic; - $self->{'static'} = $static; - - return $self; -} - - -sub parse_line { - my($self) = shift; - my($ih) = shift; - my($line) = shift; - my($status, - $errorString, - @values) = $self->parse_known($line); - - ## Was the line recognized? - if ($status && defined $values[0]) { - if ($values[0] eq $self->{'grammar_type'}) { - my($name) = $values[1]; - my($typecheck) = $self->{'type_check'}; - if (defined $name && $name eq '}') { - my($rp) = $self->{'reading_parent'}; - if (!defined $$rp[0]) { - ## Fill in all the default values - $self->generate_defaults(); - - ## End of project; Have subclass write out the file - ## Generate the project files - my($gstat, $generator) = $self->generate_project_files(); - if ($gstat) { - $self->write_workspace($generator); - } - else { - $errorString = 'ERROR: Unable to ' . - 'generate all of the project files'; - $status = 0; - } - - $self->{'workspace_name'} = undef; - $self->{'projects'} = []; - $self->{'project_info'} = {}; - $self->{'project_files'} = []; - } - $self->{$typecheck} = 0; - } - else { - ## Project Beginning - ## Deal with the inheritance hiearchy first - my($parents) = $values[2]; - if (defined $parents) { - foreach my $parent (@$parents) { - ## Read in the parent onto ourself - my($file) = $self->search_include_path("$parent.mwc"); - - if (defined $file) { - my($rp) = $self->{'reading_parent'}; - push(@$rp, 1); - $self->parse_file("$parent.mwc"); - pop(@$rp); - if (!$status) { - $errorString = "ERROR: Invalid parent: $parent"; - } - } - else { - $status = 0; - $errorString = "ERROR: Unable to locate parent: $parent"; - } - } - } - - ## Set up some initial values - if (defined $name) { - $name =~ s/^\(\s*//; - $name =~ s/\s*\)$//; - $self->{'workspace_name'} = $name; - } - $self->{$typecheck} = 1; - } - } - else { - $errorString = "ERROR: Unrecognized line: $line"; - $status = 0; - } - } - elsif ($status == -1) { - my($project_files) = $self->{'project_files'}; - push(@$project_files, $line); - $status = 1; - } - - return $status, $errorString; -} - - -sub search_for_files { - my($self) = shift; - my($files) = shift; - my($exts) = shift; - my($array) = shift; - - foreach my $file (@$files) { - if (-d $file) { - my(@f) = $self->generate_default_file_list($file); - $self->search_for_files(\@f, $exts, $array); - } - else { - foreach my $ext (@$exts) { - if ($file =~ /$ext$/) { - unshift(@$array, $file); - last; - } - } - } - } -} - - -sub generate_default_components { - my($self) = shift; - my($files) = shift; - my($pjf) = $self->{'project_files'}; - my(@exts) = ("\\.mpc"); - if (defined $$pjf[0]) { - ## If we have files, then process directories - my(@built) = (); - foreach my $file (@$pjf) { - if (-d $file) { - my(@found) = (); - my(@gen) = $self->generate_default_file_list($file); - $self->search_for_files(\@gen, \@exts, \@found); - push(@built, @found); - } - else { - push(@built, $file); - } - } - $self->{'project_files'} = \@built; - } - else { - ## Add all of the mpc files in this directory - ## and in the subdirectories. - $self->search_for_files($files, \@exts, $pjf); - - ## If no files were found, then we push the empty - ## string, so the Project Creator will generate - ## the default project file. - if (!defined $$pjf[0]) { - push(@$pjf, ''); - } - } -} - - -sub generate_defaults { - my($self) = shift; - my($base) = $self->base_directory(); - - ## Generate default workspace name - if (!defined $self->{'workspace_name'}) { - $self->{'workspace_name'} = $base; - } - - my(@files) = $self->generate_default_file_list(); - - ## Generate default components - $self->generate_default_components(\@files); -} - - -sub get_workspace_name { - my($self) = shift; - return $self->{'workspace_name'}; -} - - -sub write_workspace { - my($self) = shift; - my($generator) = shift; - my($status) = 1; - my($fh) = new FileHandle(); - my($name) = $self->transform_file_name($self->workspace_file_name()); - my($dir) = dirname($name); - - if ($dir ne '.') { - mkpath($dir, 0, 0777); - } - if (open($fh, ">$name")) { - $self->pre_workspace($fh); - $self->write_comps($fh, $generator); - $self->post_workspace($fh); - close($fh); - } - else { - print STDERR "ERROR: Unable to open $name for output\n"; - $status = 0; - } - - return $status; -} - - -sub save_project_info { - my($self) = shift; - my($gen) = shift; - my($gpi) = shift; - my($dir) = shift; - my($projects) = shift; - my($pi) = shift; - my($c) = 0; - foreach my $pj (@$gen) { - my($full) = ($dir ne '.' ? "$dir/" : '') . $pj; - push(@$projects, $full); - $$pi{$full} = $$gpi[$c]; - $c++; - } -} - - -sub generate_project_files { - my($self) = shift; - my($status) = 0; - my(@projects) = (); - my(%pi) = (); - my($generator) = $self->project_creator(); - my($cwd) = $self->getcwd(); - - foreach my $file (@{$self->{'project_files'}}) { - my($dir) = dirname($file); - - ## We must change to the subdirectory for - ## which this project file is intended - if ($self->cd($dir)) { - $status = $generator->generate(basename($file)); - - ## If any one project file fails, then stop - ## processing altogether. - if (!$status) { - return $status, $generator; - } - - ## Get the individual project information and - ## generated file name(s) - my($gen) = $generator->get_files_written(); - my($gpi) = $generator->get_project_info(); - - ## If we need to generate a workspace file per project - ## then we generate a temporary project info and projects - ## array and call write_project(). - if ($dir ne '.' && $self->workspace_per_project()) { - my(%perpi) = (); - my(@perprojects) = (); - $self->save_project_info($gen, $gpi, '.', \@perprojects, \%perpi); - - ## Set our per project information - $self->{'projects'} = \@perprojects; - $self->{'project_info'} = \%perpi; - - ## Write our per project workspace - $self->write_workspace(); - - ## Reset our project information to empty - $self->{'projects'} = []; - $self->{'project_info'} = {}; - } - $self->cd($cwd); - $self->save_project_info($gen, $gpi, $dir, \@projects, \%pi); - } - else { - ## Unable to change to the directory - return 0, $generator; - } - } - - $self->{'projects'} = \@projects; - $self->{'project_info'} = \%pi; - - return $status, $generator; -} - - -sub get_projects { - my($self) = shift; - return $self->{'projects'}; -} - - -sub get_project_info { - my($self) = shift; - return $self->{'project_info'}; -} - - -sub get_dynamic { - my($self) = shift; - return $self->{'dynamic'}; -} - - -sub get_static { - my($self) = shift; - return $self->{'static'}; -} - - -sub sort_dependencies { - my($self) = shift; - my($projects) = shift; - my($pjs) = shift; - my(@list) = @$projects; - my(%prepend) = (); - - foreach my $project (@list) { - my($dname) = dirname($project); - if ($dname ne '.') { - $prepend{basename($project)} = dirname($project); - } - } - - ## Put the projects in the order specified - ## by the project dpendencies. - for(my $i = 0; $i <= $#list; $i++) { - my($project) = $list[$i]; - my($pi) = $$pjs{$project}; - my($name, $deps) = @$pi; - - if ($deps ne '') { - my($darr) = $self->create_array($deps); - my($moved) = 0; - foreach my $dep (@$darr) { - 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++) { - if ($list[$j] eq $full) { - ## If so, move it in front of the current project - splice(@list, $i, 0, $full); - splice(@list, $j + 1, 1); - $moved = 1; - $j--; - } - } - } - } - if ($moved) { - $i--; - } - } - } - return @list; -} - - -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(), - $self->get_addtemp(), - $self->get_addproj(), - $self->get_progress_callback()); -} - - -sub sort_files { - #my($self) = shift; - return 0; -} - - -# ************************************************************ -# Virtual Methods To Be Overridden -# ************************************************************ - -sub workspace_file_name { - #my($self) = shift; - return ''; -} - - -sub workspace_per_project { - #my($self) = shift; - return 0; -} - - -sub pre_workspace { - #my($self) = shift; - #my($fh) = shift; -} - - -sub write_comps { - #my($self) = shift; - #my($fh) = shift; - #my($gens) = shift; -} - - -sub post_workspace { - #my($self) = shift; - #my($fh) = shift; -} - - -1; diff --git a/templates/em3.mpd b/templates/em3.mpd deleted file mode 100644 index 70747790..00000000 --- a/templates/em3.mpd +++ /dev/null @@ -1,244 +0,0 @@ -# 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" -<%if(pch_header)%> -# Begin Source File - -SOURCE=.\<%pch_header%> -# End Source File -<%endif%> -<%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=<%basenoextension(idl_file)%> -InputDir=<%dirname(idl_file)%> -<%if(flag_overrides(idl_file, idlgendir))%> -OutDir=<%flag_overrides(idl_file, idlgendir)%> -<%else%> -<%if(idlgendir)%> -OutDir=<%idlgendir%> -<%else%> -<%if(dirname_found)%> -OutDir=$(InputDir) -<%else%> -OutDir=. -<%endif%> -<%endif%> -<%endif%> - -BuildCmds= \ - <%tao_idl_exe("$(ACE_ROOT)\\bin\\tao_idl")%> -o $(OutDir) <%if(flag_overrides(idl_file, idlflags))%><%flag_overrides(idl_file, idlflags)%><%else%><%idlflags("-Sc")%><%endif%> $(InputPath) - -"$(OutDir)\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) - -"$(OutDir)\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) - -"$(OutDir)\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) - -"$(OutDir)\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) - -"$(OutDir)\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) - -"$(OutDir)\$(InputName)S.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/templates/em3vcp.mpd b/templates/em3vcp.mpd deleted file mode 100644 index 70747790..00000000 --- a/templates/em3vcp.mpd +++ /dev/null @@ -1,244 +0,0 @@ -# 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" -<%if(pch_header)%> -# Begin Source File - -SOURCE=.\<%pch_header%> -# End Source File -<%endif%> -<%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=<%basenoextension(idl_file)%> -InputDir=<%dirname(idl_file)%> -<%if(flag_overrides(idl_file, idlgendir))%> -OutDir=<%flag_overrides(idl_file, idlgendir)%> -<%else%> -<%if(idlgendir)%> -OutDir=<%idlgendir%> -<%else%> -<%if(dirname_found)%> -OutDir=$(InputDir) -<%else%> -OutDir=. -<%endif%> -<%endif%> -<%endif%> - -BuildCmds= \ - <%tao_idl_exe("$(ACE_ROOT)\\bin\\tao_idl")%> -o $(OutDir) <%if(flag_overrides(idl_file, idlflags))%><%flag_overrides(idl_file, idlflags)%><%else%><%idlflags("-Sc")%><%endif%> $(InputPath) - -"$(OutDir)\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) - -"$(OutDir)\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) - -"$(OutDir)\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) - -"$(OutDir)\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) - -"$(OutDir)\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) - -"$(OutDir)\$(InputName)S.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/templates/em3vcpdll.mpt b/templates/em3vcpdll.mpt deleted file mode 100644 index de108810..00000000 --- a/templates/em3vcpdll.mpt +++ /dev/null @@ -1,46 +0,0 @@ -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 /GR - 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 = /Fr /YX - intermediate_dir = Debug - lib_modifier = d - pdb = 1 -} - diff --git a/templates/em3vcpdllexe.mpt b/templates/em3vcpdllexe.mpt deleted file mode 100644 index 1bbeb792..00000000 --- a/templates/em3vcpdllexe.mpt +++ /dev/null @@ -1,45 +0,0 @@ -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 /GR - 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/templates/em3vcplib.mpt b/templates/em3vcplib.mpt deleted file mode 100644 index 66b51d95..00000000 --- a/templates/em3vcplib.mpt +++ /dev/null @@ -1,48 +0,0 @@ -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 /GR - 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 /GR /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/templates/em3vcplibexe.mpt b/templates/em3vcplibexe.mpt deleted file mode 100644 index 99102c43..00000000 --- a/templates/em3vcplibexe.mpt +++ /dev/null @@ -1,48 +0,0 @@ -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 /GR - 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/templates/ghs.mpd b/templates/ghs.mpd deleted file mode 100644 index fbfb6a0a..00000000 --- a/templates/ghs.mpd +++ /dev/null @@ -1,16 +0,0 @@ -#!build -default: -<%if(exename)%> - program -<%endif%> -<%if(sharedname)%> - library - :cx_pch_option=automatic - :outputname=<%libout%>\<%sharedname%>.lib - :object_dir=obj - :cx_pch_dir=pch -<%endif%> -<%foreach(source_files)%> -..\<%source_file%> - C++ -<%endfor%> diff --git a/templates/nmake.mpd b/templates/nmake.mpd deleted file mode 100644 index 99d56f47..00000000 --- a/templates/nmake.mpd +++ /dev/null @@ -1,235 +0,0 @@ -# Microsoft Developer Studio Generated NMAKE File -!IF "$(CFG)" == "" -CFG=<%default_platform("Win32")%> <%default_configuration("Debug")%> -!MESSAGE No configuration specified. Defaulting to <%platform("Win32")%> <%default_configuration%>. -!ENDIF - -!IF <%foreach(configurations)%>"$(CFG)" != "<%platform%> <%configuration%>"<%fornotlast(" && ")%><%endfor%> -!MESSAGE Invalid configuration "$(CFG)" specified. -!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 "<%project_file%>" CFG="<%platform%> <%default_configuration%>" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -<%foreach(configurations)%> -!MESSAGE "<%platform%> <%configuration%>" (based on "<%platform_long("Win32 (x86)")%> <%type_description("Dynamic-Lynk Library")%>") -<%endfor%> -!MESSAGE -!ERROR An invalid configuration is specified. -!ENDIF - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -<%foreach(configurations)%> -!<%fornotfirst("ELSE")%>IF "$(CFG)" == "<%platform%> <%configuration%>" - -<%if(exename)%> -OUTDIR=<%output_dir(".")%> -<%if(install)%> -INSTALLDIR=<%install%> -<%else%> -INSTALLDIR=$(OUTDIR) -<%endif%> -<%endif%> -<%if(type_is_static)%> -OUTDIR=<%output_dir(".")%> -<%endif%> -<%if(type_is_dynamic)%> -OUTDIR=<%libout%> -<%endif%> -INTDIR=<%intermediate_dir(".")%> - -ALL : "<%if(type_is_dynamic)%><%dllout%>\<%sharedname%><%lib_modifier%>.dll<%endif%><%if(type_is_static)%>$(OUTDIR)\<%staticname%><%lib_modifier%>.lib<%endif%><%if(exename)%>$(INSTALLDIR)\<%exename%>.exe<%endif%>" - - -CLEAN : - -@erase "$(INTDIR)\*.obj" - -@erase "$(INTDIR)\*.res" - -@erase "$(INTDIR)\*.pch" - -@erase "$(INTDIR)\*.idb" - -@erase "$(OUTDIR)\*.exp" - -@erase "$(OUTDIR)\*.lib" - -@erase "$(OUTDIR)\*.ilk" -<%if(pdb)%> -<%if(exename)%> - -@erase "$(INSTALLDIR)\<%exename%>.pdb" -<%endif%> -<%if(type_is_dynamic)%> - -@erase "$(OUTDIR)\<%sharedname%><%lib_modifier%>.pdb" -<%endif%> -<%if(type_is_static)%> - -@erase "$(OUTDIR)\<%staticname%><%lib_modifier%>.pdb" -<%endif%> -<%endif%> - -@erase "<%if(type_is_dynamic)%><%dllout%>\<%sharedname%><%lib_modifier%>.dll<%endif%><%if(type_is_static)%>$(OUTDIR)\<%staticname%><%lib_modifier%>.lib<%endif%><%if(exename)%>$(INSTALLDIR)\<%exename%>.exe<%endif%>" - -<%if(type_is_dynamic)%> -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -<%endif%> -"$(INTDIR)" : - if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo <%compile_flags("/MD /W3 /GX /O2 /Ob2")%> <%foreach(includes)%>/I "<%include%>" <%endfor%><%foreach(defines common_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%>=1 <%endfor%><%if(pch_source)%>/Yu<%else%>/YX<%endif%>"<%pch_header%>" /Fp"$(INTDIR)\<%noextension(pch_header)%>.pch" <%endif%>/Fo"<%fo_flag("$(INTDIR)\\\\")%>" /Fd"<%fd_flag("$(INTDIR)\\\\")%>" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -RSC=rc.exe -<%foreach(resource_files)%> -RSC_PROJ=/l 0x409 /fo"$(INTDIR)\<%basenoextension(resource_file)%>.res"<%foreach(defines)%> /d <%define%>=1<%endfor%><%foreach(includes)%> /i "<%include%>"<%endfor%> -<%endfor%> -BSC32=bscmake.exe -<%if(sharedname)%> -BSC32_FLAGS=/nologo <%if(type_is_dynamic)%>/o"$(OUTDIR)\<%sharedname%>.bsc"<%endif%> -<%endif%> -BSC32_SBRS= \ - -<%if(type_is_binary)%> -LINK32=link.exe -LINK32_FLAGS=<%systemlibs("advapi32.lib user32.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%>" <%endfor%>/nologo /version:<%version("1.0")%> /subsystem:<%subsystem("windows")%><%if(type_is_dynamic)%> /dll<%endif%> <%debug_switch("/debug")%> <%if(pdb)%>/pdb:"<%if(type_is_dynamic)%><%dllout%>\<%sharedname%><%lib_modifier%>.pdb<%endif%><%if(exename)%>$(INSTALLDIR)\<%exename%>.pdb<%endif%><%if(type_is_static)%>$(OUTDIR)\<%staticname%><%lib_modifier%>.pdb<%endif%>" <%endif%>/machine:<%machine("I386")%> /out:"<%if(sharedname)%><%dllout%>\<%sharedname%><%lib_modifier%>.dll<%endif%><%if(exename)%>$(INSTALLDIR)\<%exename%>.exe<%endif%>"<%if(sharedname)%> /implib:"$(OUTDIR)\<%sharedname%><%lib_modifier%>.lib"<%endif%> -<%endif%> -<%if(type_is_static)%> -LINK32=link.exe -lib -LINK32_FLAGS=/nologo /machine:<%machine("I386")%> /out:"<%libout%>\<%staticname%><%lib_modifier%>.lib" -<%endif%> -LINK32_OBJS= \ -<%foreach(resource_files)%> - "$(INTDIR)\<%basenoextension(resource_file)%>.res" \ -<%endfor%> -<%if(pch_source)%> - "$(INTDIR)\<%basenoextension(pch_source)%>.obj" \ -<%endif%> -<%foreach(source_files)%> - "$(INTDIR)\<%basenoextension(source_file)%>.obj"<%fornotlast(" \\")%> -<%endfor%> - -"<%if(type_is_dynamic)%><%dllout%>\<%sharedname%><%lib_modifier%>.dll<%endif%><%if(type_is_static)%>$(OUTDIR)\<%staticname%><%lib_modifier%>.lib<%endif%><%if(exename)%>$(INSTALLDIR)\<%exename%>.exe<%endif%>" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -<%endfor%> -!ENDIF - - -!IF "$(NO_EXTERNAL_DEPS)" != "1" -!IF EXISTS("<%dependency_file("project.dep")%>") -!INCLUDE "<%dependency_file%>" -!ELSE -!MESSAGE Warning: cannot find "<%dependency_file%>" -!ENDIF -!ENDIF - - -!IF <%foreach(configurations)%>"$(CFG)" == "<%platform%> <%configuration%>" <%fornotlast("|| ")%><%endfor%> -<%if(pch_source)%> -<%if(pch_header)%> -SOURCE=.\<%pch_source%> - -<%foreach(configurations)%> -!<%fornotfirst("ELSE")%>IF "$(CFG)" == "<%platform%> <%configuration%>" - -CPP_SWITCHES=/nologo <%compile_flags%> <%foreach(includes)%>/I "<%include%>" <%endfor%><%foreach(defines common_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%>=1 <%endfor%>/Fp"$(INTDIR)\<%noextension(pch_header)%>.pch" /Yc"<%pch_header%>" <%endif%>/Fo"<%fo_flag%>" /Fd"<%fd_flag%>" /FD /c - -"$(INTDIR)\<%basenoextension(pch_source)%>.obj" "$(INTDIR)\<%noextension(pch_header)%>.pch" : $(SOURCE) "$(INTDIR)" - $(CPP) @<< - $(CPP_SWITCHES) $(SOURCE) -<< - -<%endfor%> -!ENDIF - -<%endif%> -<%endif%> -<%foreach(source_files)%> -SOURCE=.\<%source_file%> - -"$(INTDIR)\<%basenoextension(source_file)%>.obj" : $(SOURCE) "$(INTDIR)"<%if(pch_header)%> "$(INTDIR)\<%noextension(pch_header)%>.pch"<%endif%> -<%if(basename_found)%> - $(CPP) $(CPP_PROJ) $(SOURCE) -<%endif%> - -<%endfor%> -<%foreach(template_files)%> -SOURCE=.\<%template_file%> -<%endfor%> -<%foreach(idl_files)%> -SOURCE=.\<%idl_file%> - -<%foreach(configurations)%> -!<%fornotfirst("ELSE")%>IF "$(CFG)" == "<%platform%> <%configuration%>" - -InputPath=.\<%idl_file%> -InputName=<%basenoextension(idl_file)%> -InputDir=<%dirname(idl_file)%> -<%if(flag_overrides(idl_file, idlgendir))%> -OutDir=<%flag_overrides(idl_file, idlgendir)%> -<%else%> -<%if(idlgendir)%> -OutDir=<%idlgendir%> -<%else%> -<%if(dirname_found)%> -OutDir=$(InputDir) -<%else%> -OutDir=. -<%endif%> -<%endif%> -<%endif%> - -"$(OutDir)\$(InputName)C.h" "$(OutDir)\$(InputName)C.i" "$(OutDir)\$(InputName)C.cpp" "$(OutDir)\$(InputName)S.h" "$(OutDir)\$(InputName)S.i" "$(OutDir)\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - <<tempfile.bat - @echo off - <%tao_idl_exe("$(ACE_ROOT)\\bin\\tao_idl")%> -o $(OutDir) <%if(flag_overrides(idl_file, idlflags))%><%flag_overrides(idl_file, idlflags)%><%else%><%idlflags("-Sc")%><%endif%> <%idl_file%> -<< - -<%endfor%> -!ENDIF - -<%endfor%> -<%foreach(resource_files)%> -SOURCE=.\<%resource_file%> - -"$(INTDIR)\<%basenoextension(resource_file)%>.res" : $(SOURCE) "$(INTDIR)" - $(RSC) $(RSC_PROJ) $(SOURCE) - - -<%endfor%> - -!ENDIF - diff --git a/templates/nmakedll.mpt b/templates/nmakedll.mpt deleted file mode 100644 index 3697f0ff..00000000 --- a/templates/nmakedll.mpt +++ /dev/null @@ -1,62 +0,0 @@ -configurations = Release Debug "Static Release" "Static Debug" -common_defines = WIN32 _WINDOWS -pch_defines = ACE_USING_PCH - -Release { - type_code = 0x0102 - use_debug_libraries = 0 - compile_flags = /W3 /GX /O2 /MD /Zi /Ob2 /GR - defines = NDEBUG - compile_flags_removed = /YX - output_dir = Release - intermediate_dir = Release - debug_switch = - type_is_dynamic = 1 - type_is_binary = 1 - ssl_libs = libeay32 ssleay32 -} - -Debug { - type_code = 0x0102 - use_debug_libraries = 1 - compile_flags = /W3 /Gm /GX /Zi /Od /MDd /GR /Gy - defines = _DEBUG - compile_flags_removed = /Fr /YX - intermediate_dir = Debug - lib_modifier = d - type_is_dynamic = 1 - type_is_binary = 1 - pdb = 1 - ssl_libs = libeay32 ssleay32 -} - -Static Release { - type_description = "Static Library" - type_code = 0x0104 - use_debug_libraries = 0 - compile_flags = /G5 /W3 /GX /O2 /MD /Zi /GR - defines = NDEBUG - compile_flags_removed = /YX - output_dir = Static_Release - intermediate_dir = Static_Release - lib_modifier = s - debug_switch = - type_is_static = 1 - need_libflags = 1 -} - -Static Debug { - type_description = "Static Library" - type_code = 0x0104 - use_debug_libraries = 1 - compile_flags = /G5 /W3 /Gm /GX /Zi /Od /GR /Gy /MDd - defines = _DEBUG - compile_flags_removed = /Fr /YX - output_dir = Static_Debug - intermediate_dir = Static_Debug - lib_modifier = sd - type_is_static = 1 - need_libflags = 1 - pdb = 1 -} - diff --git a/templates/nmakeexe.mpt b/templates/nmakeexe.mpt deleted file mode 100644 index 209ac434..00000000 --- a/templates/nmakeexe.mpt +++ /dev/null @@ -1,53 +0,0 @@ -type_description = "Console Application" -type_code = 0x0103 -configurations = Release Debug "Static Release" "Static Debug" -type_is_binary = 1 -common_defines = WIN32 _CONSOLE -subsystem = console -pch_defines = ACE_USING_PCH - -Release { - use_debug_libraries = 0 - compile_flags = /W3 /GX /O2 /MD /GR - defines = NDEBUG - compile_flags_removed = /YX - output_dir = Release - intermediate_dir = Release - debug_switch = - ssl_libs = libeay32 ssleay32 -} - -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 - pdb = 1 - ssl_libs = libeay32 ssleay32 -} - -Static Release { - use_debug_libraries = 0 - compile_flags = /W3 /GX /O2 /MD /GR - defines = NDEBUG - compile_flags_removed = /YX - lib_modifier = s - need_libflags = 1 - output_dir = Static_Release - intermediate_dir = Static_Release - debug_switch = -} - -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 - pdb = 1 -} diff --git a/templates/va4icc.mpd b/templates/va4icc.mpd deleted file mode 100644 index 4dcc547a..00000000 --- a/templates/va4icc.mpd +++ /dev/null @@ -1,142 +0,0 @@ -// 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/templates/va4iccdll.mpt b/templates/va4iccdll.mpt deleted file mode 100644 index 3f6265f7..00000000 --- a/templates/va4iccdll.mpt +++ /dev/null @@ -1,4 +0,0 @@ -common_defines = _WINDOWS WIN32 -type_is_dynamic = 1 -lib_modifier = d -defines = _DEBUG diff --git a/templates/va4iccdllexe.mpt b/templates/va4iccdllexe.mpt deleted file mode 100644 index 1616203a..00000000 --- a/templates/va4iccdllexe.mpt +++ /dev/null @@ -1,4 +0,0 @@ -common_defines = _WINDOWS _CONSOLE -type_is_binary = 1 -lib_modifier = d -defines = _DEBUG diff --git a/templates/va4icclib.mpt b/templates/va4icclib.mpt deleted file mode 100644 index 8584a3b7..00000000 --- a/templates/va4icclib.mpt +++ /dev/null @@ -1,4 +0,0 @@ -common_defines = _WINDOWS WIN32 -type_is_static = 1 -lib_modifier = d -defines = _DEBUG
\ No newline at end of file diff --git a/templates/va4icclibexe.mpt b/templates/va4icclibexe.mpt deleted file mode 100644 index 8505a668..00000000 --- a/templates/va4icclibexe.mpt +++ /dev/null @@ -1,5 +0,0 @@ -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/templates/vc6.mpd b/templates/vc6.mpd deleted file mode 100644 index 6c4a51d1..00000000 --- a/templates/vc6.mpd +++ /dev/null @@ -1,230 +0,0 @@ -# Microsoft Developer Studio Project File - Name="<%project_name%>" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "<%platform_long("Win32 (x86)")%> <%type_description("Dynamic-Link Library")%>" <%type_code("0x0102")%> - -CFG=<%project_name%> - <%platform("Win32")%> <%default_configuration("Debug")%> -!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_configuration%>" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -<%foreach(configurations)%> -!MESSAGE "<%project_name%> - <%platform%> <%configuration%>" (based on "<%platform_long%> <%type_description%>") -<%endfor%> -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -<%foreach(configurations)%> -!<%fornotfirst("ELSE")%>IF "$(CFG)" == "<%project_name%> - <%platform%> <%configuration%>" - -# PROP Use_MFC <%use_mfc("0")%> -# PROP Use_Debug_Libraries <%use_debug_libraries("1")%> -<%if(exename)%> -# PROP Output_Dir "<%output_dir%>" -<%endif%> -<%if(type_is_static)%> -# PROP Output_Dir "<%output_dir%>" -<%endif%> -<%if(type_is_dynamic)%> -# PROP Output_Dir "<%libout%>" -<%endif%> -# PROP Intermediate_Dir "<%intermediate_dir%>" -<%if(type_is_dynamic)%> -# PROP Ignore_Export_Lib 0 -<%endif%> -# PROP Target_Dir "" -<%if(type_is_static)%> -LINK32=link.exe -lib -<%endif%> -# ADD CPP /nologo <%compile_flags%> <%foreach(includes)%>/I "<%include%>" <%endfor%><%foreach(defines common_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%>/FD /c -<%if(compile_flags_removed)%> -# SUBTRACT CPP <%compile_flags_removed%> -<%endif%> -# ADD RSC /l 0x409<%foreach(defines)%> /d <%define%>=1<%endfor%><%foreach(includes)%> /i "<%include%>"<%endfor%> -BSC32=bscmake.exe -# ADD BSC32 /nologo <%if(sharedname)%>/o"<%libout%>\<%sharedname%>.bsc"<%endif%> -<%if(type_is_binary)%> -LINK32=link.exe -# ADD LINK32 <%systemlibs("advapi32.lib user32.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%>" <%endfor%>/nologo /version:<%version("1.0")%> /subsystem:<%subsystem("windows")%><%if(type_is_dynamic)%> /dll<%endif%> <%debug_switch("/debug")%> <%if(pdb)%><%if(sharedname)%>/pdb:<%sharedname%><%lib_modifier%>.pdb <%endif%><%endif%>/machine:<%machine("I386")%> /out:"<%if(sharedname)%><%dllout%>\<%sharedname%><%lib_modifier%>.dll<%endif%><%if(exename)%><%if(install)%><%install%>\<%endif%><%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%>\<%staticname%><%lib_modifier%>.lib" -<%endif%> - -<%endfor%> -!ENDIF - -# Begin Target - -<%foreach(configurations)%> -# Name "<%project_name%> - <%platform%> <%configuration%>" -<%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" -<%if(pch_header)%> -# Begin Source File - -SOURCE=.\<%pch_header%> -# End Source File -<%endif%> -<%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(configurations)%> -!<%fornotfirst("ELSE")%>IF "$(CFG)" == "<%project_name%> - <%platform%> <%configuration%>" - -# PROP Ignore_Default_Tool 1 -# Begin Custom Build - Invoking TAO_IDL Compiler on $(InputPath) -InputPath=.\<%idl_file%> -InputName=<%basenoextension(idl_file)%> -InputDir=<%dirname(idl_file)%> -<%if(flag_overrides(idl_file, idlgendir))%> -OutDir=<%flag_overrides(idl_file, idlgendir)%> -<%else%> -<%if(idlgendir)%> -OutDir=<%idlgendir%> -<%else%> -<%if(dirname_found)%> -OutDir=$(InputDir) -<%else%> -OutDir=. -<%endif%> -<%endif%> -<%endif%> - -BuildCmds= \ - <%tao_idl_exe("$(ACE_ROOT)\\bin\\tao_idl")%> -o $(OutDir) <%if(flag_overrides(idl_file, idlflags))%><%flag_overrides(idl_file, idlflags)%><%else%><%idlflags("-Sc")%><%endif%> $(InputPath) - -"$(OutDir)\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) - -"$(OutDir)\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) - -"$(OutDir)\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) - -"$(OutDir)\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) - -"$(OutDir)\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) - -"$(OutDir)\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) - -# End Custom Build - -<%endfor%> -!ENDIF - -# End Source File -<%endfor%> -# End Group -<%endif%> -# End Target -# End Project diff --git a/templates/vc6dsp.mpd b/templates/vc6dsp.mpd deleted file mode 100644 index 6c4a51d1..00000000 --- a/templates/vc6dsp.mpd +++ /dev/null @@ -1,230 +0,0 @@ -# Microsoft Developer Studio Project File - Name="<%project_name%>" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "<%platform_long("Win32 (x86)")%> <%type_description("Dynamic-Link Library")%>" <%type_code("0x0102")%> - -CFG=<%project_name%> - <%platform("Win32")%> <%default_configuration("Debug")%> -!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_configuration%>" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -<%foreach(configurations)%> -!MESSAGE "<%project_name%> - <%platform%> <%configuration%>" (based on "<%platform_long%> <%type_description%>") -<%endfor%> -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -<%foreach(configurations)%> -!<%fornotfirst("ELSE")%>IF "$(CFG)" == "<%project_name%> - <%platform%> <%configuration%>" - -# PROP Use_MFC <%use_mfc("0")%> -# PROP Use_Debug_Libraries <%use_debug_libraries("1")%> -<%if(exename)%> -# PROP Output_Dir "<%output_dir%>" -<%endif%> -<%if(type_is_static)%> -# PROP Output_Dir "<%output_dir%>" -<%endif%> -<%if(type_is_dynamic)%> -# PROP Output_Dir "<%libout%>" -<%endif%> -# PROP Intermediate_Dir "<%intermediate_dir%>" -<%if(type_is_dynamic)%> -# PROP Ignore_Export_Lib 0 -<%endif%> -# PROP Target_Dir "" -<%if(type_is_static)%> -LINK32=link.exe -lib -<%endif%> -# ADD CPP /nologo <%compile_flags%> <%foreach(includes)%>/I "<%include%>" <%endfor%><%foreach(defines common_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%>/FD /c -<%if(compile_flags_removed)%> -# SUBTRACT CPP <%compile_flags_removed%> -<%endif%> -# ADD RSC /l 0x409<%foreach(defines)%> /d <%define%>=1<%endfor%><%foreach(includes)%> /i "<%include%>"<%endfor%> -BSC32=bscmake.exe -# ADD BSC32 /nologo <%if(sharedname)%>/o"<%libout%>\<%sharedname%>.bsc"<%endif%> -<%if(type_is_binary)%> -LINK32=link.exe -# ADD LINK32 <%systemlibs("advapi32.lib user32.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%>" <%endfor%>/nologo /version:<%version("1.0")%> /subsystem:<%subsystem("windows")%><%if(type_is_dynamic)%> /dll<%endif%> <%debug_switch("/debug")%> <%if(pdb)%><%if(sharedname)%>/pdb:<%sharedname%><%lib_modifier%>.pdb <%endif%><%endif%>/machine:<%machine("I386")%> /out:"<%if(sharedname)%><%dllout%>\<%sharedname%><%lib_modifier%>.dll<%endif%><%if(exename)%><%if(install)%><%install%>\<%endif%><%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%>\<%staticname%><%lib_modifier%>.lib" -<%endif%> - -<%endfor%> -!ENDIF - -# Begin Target - -<%foreach(configurations)%> -# Name "<%project_name%> - <%platform%> <%configuration%>" -<%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" -<%if(pch_header)%> -# Begin Source File - -SOURCE=.\<%pch_header%> -# End Source File -<%endif%> -<%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(configurations)%> -!<%fornotfirst("ELSE")%>IF "$(CFG)" == "<%project_name%> - <%platform%> <%configuration%>" - -# PROP Ignore_Default_Tool 1 -# Begin Custom Build - Invoking TAO_IDL Compiler on $(InputPath) -InputPath=.\<%idl_file%> -InputName=<%basenoextension(idl_file)%> -InputDir=<%dirname(idl_file)%> -<%if(flag_overrides(idl_file, idlgendir))%> -OutDir=<%flag_overrides(idl_file, idlgendir)%> -<%else%> -<%if(idlgendir)%> -OutDir=<%idlgendir%> -<%else%> -<%if(dirname_found)%> -OutDir=$(InputDir) -<%else%> -OutDir=. -<%endif%> -<%endif%> -<%endif%> - -BuildCmds= \ - <%tao_idl_exe("$(ACE_ROOT)\\bin\\tao_idl")%> -o $(OutDir) <%if(flag_overrides(idl_file, idlflags))%><%flag_overrides(idl_file, idlflags)%><%else%><%idlflags("-Sc")%><%endif%> $(InputPath) - -"$(OutDir)\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) - -"$(OutDir)\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) - -"$(OutDir)\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) - -"$(OutDir)\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) - -"$(OutDir)\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) - -"$(OutDir)\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) - -# End Custom Build - -<%endfor%> -!ENDIF - -# End Source File -<%endfor%> -# End Group -<%endif%> -# End Target -# End Project diff --git a/templates/vc6dspdll.mpt b/templates/vc6dspdll.mpt deleted file mode 100644 index a72da435..00000000 --- a/templates/vc6dspdll.mpt +++ /dev/null @@ -1,27 +0,0 @@ -configurations = Release Debug -type_is_binary = 1 -type_is_dynamic = 1 -common_defines = WIN32 _WINDOWS -pch_defines = ACE_USING_PCH -ssl_libs = libeay32 ssleay32 - -Release { - use_debug_libraries = 0 - compile_flags = /W3 /GX /O2 /MD /Zi /Ob2 /GR - defines = NDEBUG - compile_flags_removed = /YX - output_dir = Release - intermediate_dir = Release - debug_switch = -} - -Debug { - use_debug_libraries = 1 - compile_flags = /W3 /Gm /GX /Zi /Od /MDd /GR /Gy - defines = _DEBUG - compile_flags_removed = /Fr /YX - intermediate_dir = Debug - lib_modifier = d - pdb = 1 -} - diff --git a/templates/vc6dspdllexe.mpt b/templates/vc6dspdllexe.mpt deleted file mode 100644 index 43bd61ac..00000000 --- a/templates/vc6dspdllexe.mpt +++ /dev/null @@ -1,28 +0,0 @@ -type_description = "Console Application" -type_code = 0x0103 -configurations = Release Debug -type_is_binary = 1 -common_defines = WIN32 _CONSOLE -subsystem = console -pch_defines = ACE_USING_PCH -ssl_libs = libeay32 ssleay32 - -Release { - use_debug_libraries = 0 - compile_flags = /W3 /GX /O2 /MD /GR - defines = NDEBUG - compile_flags_removed = /YX - output_dir = Release - intermediate_dir = Release - debug_switch = -} - -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/templates/vc6dsplib.mpt b/templates/vc6dsplib.mpt deleted file mode 100644 index 97cc48ec..00000000 --- a/templates/vc6dsplib.mpt +++ /dev/null @@ -1,31 +0,0 @@ -type_description = "Static Library" -type_code = 0x0104 -configurations = "Static Release" "Static Debug" -default_configuration = "Static Debug" -common_defines = WIN32 _WINDOWS -type_is_static = 1 -need_libflags = 1 -pch_defines = ACE_USING_PCH - -Static Release { - use_debug_libraries = 0 - compile_flags = /G5 /W3 /GX /O2 /MD /Zi /GR - defines = NDEBUG - compile_flags_removed = /YX - output_dir = Static_Release - intermediate_dir = Static_Release - lib_modifier = s - debug_switch = -} - -Static Debug { - use_debug_libraries = 1 - compile_flags = /G5 /W3 /Gm /GX /Zi /Od /GR /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/templates/vc6dsplibexe.mpt b/templates/vc6dsplibexe.mpt deleted file mode 100644 index 81f47c1b..00000000 --- a/templates/vc6dsplibexe.mpt +++ /dev/null @@ -1,31 +0,0 @@ -type_description = "Console Application" -type_code = 0x0103 -configurations = "Static Release" "Static Debug" -default_configuration = "Static Debug" -type_is_binary = 1 -common_defines = WIN32 _CONSOLE -subsystem = console -pch_defines = ACE_USING_PCH -ssl_libs = libeay32 ssleay32 -need_libflags = 1 - -Static Release { - use_debug_libraries = 0 - compile_flags = /W3 /GX /O2 /MD /GR - defines = NDEBUG - compile_flags_removed = /YX - lib_modifier = s - output_dir = Static_Release - intermediate_dir = Static_Release - debug_switch = -} - -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 - output_dir = Static_Debug - intermediate_dir = Static_Debug -} diff --git a/templates/vc7.mpd b/templates/vc7.mpd deleted file mode 100644 index 2deed199..00000000 --- a/templates/vc7.mpd +++ /dev/null @@ -1,232 +0,0 @@ -<?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> -<%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" -<%if(optimization)%> - 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%>" -<%if(pch_source)%> - PrecompiledHeaderFile=".\<%intermediate_dir%>\<%noextension(pch_source)%>.pch" -<%endif%> -<%endif%> - AssemblerListingLocation=".\<%intermediate_dir%>" - ObjectFile=".\<%intermediate_dir%>\" -<%if(pdb)%> - 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%>" -<%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("1")%>" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="<%foreach(libpaths)%><%libpath%><%fornotlast(";")%><%endfor%>" -<%if(debug)%> - 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%> -<%if(type_is_dynamic)%> - 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> -<%if(source_files)%> - <Filter - Name="Source Files" - Filter="cpp;cxx;cc;C;c"> -<%if(pch_source)%> - <File - RelativePath=".\<%pch_source%>"> -<%foreach(configurations)%> - <FileConfiguration - Name="<%configuration%>|<%platform%>"> - <Tool - Name="VCCLCompilerTool" - UsePrecompiledHeader="1"/> - </FileConfiguration> -<%endfor%> - </File> - </Filter> -<%endif%> -<%foreach(source_files)%> - <File - RelativePath=".\<%source_file%>"> - </File> -<%endfor%> - </Filter> -<%endif%> -<%if(header_files)%> - <Filter - Name="Header Files" - Filter="h;hpp;hxx;hh"> -<%if(pch_header)%> - <File - RelativePath=".\<%pch_header%>"> - </File> -<%endif%> -<%foreach(header_files)%> - <File - RelativePath=".\<%header_file%>"> - </File> -<%endfor%> - </Filter> -<%endif%> -<%if(idl_files)%> - <Filter - Name="IDL Files" - Filter="idl"> -<%foreach(idl_files)%> - <File - RelativePath=".\<%idl_file%>"> -<%foreach(configurations)%> - <FileConfiguration - Name="<%configuration%>|<%platform%>"> - <Tool - Name="VCCustomBuildTool" - Description="Invoking TAO_IDL Compiler on <%basename(idl_file)%> located in <%dirname(idl_file)%>" -<%if(flag_overrides(idl_file, idlgendir))%> - CommandLine="<%tao_idl_exe("$(ACE_ROOT)\\bin\\tao_idl")%> -o <%flag_overrides(idl_file, idlgendir)%> <%if(flag_overrides(idl_file, idlflags))%><%flag_overrides(idl_file, idlflags)%><%else%><%idlflags("-Sc")%><%endif%> <%idl_file%>" - Outputs="<%flag_overrides(idl_file, idlgendir)%>\<%basenoextension(idl_file)%>C.h;<%flag_overrides(idl_file, idlgendir)%>\<%basenoextension(idl_file)%>C.i;<%flag_overrides(idl_file, idlgendir)%>\<%basenoextension(idl_file)%>C.cpp;<%flag_overrides(idl_file, idlgendir)%>\<%basenoextension(idl_file)%>S.h;<%flag_overrides(idl_file, idlgendir)%>\<%basenoextension(idl_file)%>S.i;<%flag_overrides(idl_file, idlgendir)%>\<%basenoextension(idl_file)%>S.cpp"/> -<%else%> -<%if(idlgendir)%> - CommandLine="<%tao_idl_exe("$(ACE_ROOT)\\bin\\tao_idl")%> -o <%idlgendir%> <%if(flag_overrides(idl_file, idlflags))%><%flag_overrides(idl_file, idlflags)%><%else%><%idlflags("-Sc")%><%endif%> <%idl_file%>" - Outputs="<%idlgendir%>\<%basenoextension(idl_file)%>C.h;<%idlgendir%>\<%basenoextension(idl_file)%>C.i;<%idlgendir%>\<%basenoextension(idl_file)%>C.cpp;<%idlgendir%>\<%basenoextension(idl_file)%>S.h;<%idlgendir%>\<%basenoextension(idl_file)%>S.i;<%idlgendir%>\<%basenoextension(idl_file)%>S.cpp"/> -<%else%> -<%if(dirname_found)%> - CommandLine="<%tao_idl_exe("$(ACE_ROOT)\\bin\\tao_idl")%> -o <%dirname(idl_file)%> <%if(flag_overrides(idl_file, idlflags))%><%flag_overrides(idl_file, idlflags)%><%else%><%idlflags("-Sc")%><%endif%> <%idl_file%>" - Outputs="<%basenoextension(idl_file)%>C.h;<%basenoextension(idl_file)%>C.i;<%basenoextension(idl_file)%>C.cpp;<%basenoextension(idl_file)%>S.h;<%basenoextension(idl_file)%>S.i;<%basenoextension(idl_file)%>S.cpp"/> -<%else%> - CommandLine="<%tao_idl_exe("$(ACE_ROOT)\\bin\\tao_idl")%> <%if(flag_overrides(idl_file, idlflags))%><%flag_overrides(idl_file, idlflags)%><%else%><%idlflags("-Sc")%><%endif%> <%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"/> -<%endif%> -<%endif%> -<%endif%> - </FileConfiguration> -<%endfor%> - </File> -<%endfor%> - </Filter> -<%endif%> -<%if(inline_files)%> - <Filter - Name="Inline Files" - Filter="i;inl"> -<%foreach(inline_files)%> - <File - RelativePath=".\<%inline_file%>"> - </File> -<%endfor%> - </Filter> -<%endif%> -<%if(template_files)%> - <Filter - Name="Template Files" - Filter=""> -<%foreach(template_files)%> - <File - RelativePath=".\<%template_file%>"> -<%foreach(configurations)%> - <FileConfiguration - Name="<%configuration%>|<%platform%>" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool"/> - </FileConfiguration> -<%endfor%> - </File> -<%endfor%> - </Filter> -<%endif%> -<%if(documentation_files)%> - <Filter - Name="Documentation" - Filter=""> -<%foreach(documentation_files)%> - <File - RelativePath=".\<%documentation_file%>"> - </File> -<%endfor%> - </Filter> -<%endif%> -<%if(resource_files)%> - <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> -<%endfor%> - </Filter> -<%endif%> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/templates/vc7dll.mpt b/templates/vc7dll.mpt deleted file mode 100644 index 05546bf2..00000000 --- a/templates/vc7dll.mpt +++ /dev/null @@ -1,48 +0,0 @@ -configurations = Release Debug "Static Release" "Static Debug" -common_defines = WIN32 _WINDOWS -pdb = 1 -pch_defines = ACE_USING_PCH -ssl_libs = libeay32 ssleay32 - -Release { - type_is_dynamic = 1 - type_is_binary = 1 - defines = NDEBUG - output_dir = Release - intermediate_dir = Release - runtime_library = 2 -} - -Debug { - type_is_dynamic = 1 - type_is_binary = 1 - optimization = 0 - debug = 1 - defines = _DEBUG - intermediate_dir = Debug - lib_modifier = d - runtime_library = 3 -} - -Static Release { - type_is_static = 1 - defines = NDEBUG - output_dir = Static_Release - intermediate_dir = Static_Release - lib_modifier = s - need_libflags = 1 - runtime_library = 2 -} - -Static Debug { - type_is_static = 1 - optimization = 0 - debug = 1 - defines = _DEBUG - output_dir = Static_Debug - intermediate_dir = Static_Debug - lib_modifier = sd - need_libflags = 1 - runtime_library = 3 -} - diff --git a/templates/vc7exe.mpt b/templates/vc7exe.mpt deleted file mode 100644 index a8d4ac3d..00000000 --- a/templates/vc7exe.mpt +++ /dev/null @@ -1,45 +0,0 @@ -configurations = Release Debug "Static Release" "Static Debug" -type_is_binary = 1 -common_defines = WIN32 _CONSOLE -pch_defines = ACE_USING_PCH -configuration_type = 1 -subsystem = 1 -pdb = 1 -ssl_libs = libeay32 ssleay32 - -Release { - defines = NDEBUG - output_dir = Release - intermediate_dir = Release - runtime_library = 2 -} - -Debug { - optimization = 0 - debug = 1 - defines = _DEBUG - intermediate_dir = Debug - lib_modifier = d - runtime_library = 3 -} - -Static Release { - defines = NDEBUG - output_dir = Static_Release - intermediate_dir = Static_Release - lib_modifier = s - need_libflags = 1 - runtime_library = 2 -} - -Static Debug { - optimization = 0 - debug = 1 - defines = _DEBUG - output_dir = Static_Debug - intermediate_dir = Static_Debug - lib_modifier = sd - need_libflags = 1 - runtime_library = 3 -} - |