summaryrefslogtreecommitdiff
path: root/ACE/MPC/modules/VC6WorkspaceCreator.pm
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/MPC/modules/VC6WorkspaceCreator.pm')
-rw-r--r--ACE/MPC/modules/VC6WorkspaceCreator.pm105
1 files changed, 105 insertions, 0 deletions
diff --git a/ACE/MPC/modules/VC6WorkspaceCreator.pm b/ACE/MPC/modules/VC6WorkspaceCreator.pm
new file mode 100644
index 00000000000..714c7ce1673
--- /dev/null
+++ b/ACE/MPC/modules/VC6WorkspaceCreator.pm
@@ -0,0 +1,105 @@
+package VC6WorkspaceCreator;
+
+# ************************************************************
+# Description : A VC6 Workspace Creator
+# Author : Chad Elliott
+# Create Date : 5/13/2002
+# ************************************************************
+
+# ************************************************************
+# Pragmas
+# ************************************************************
+
+use strict;
+
+use VC6ProjectCreator;
+use WinWorkspaceBase;
+use WorkspaceCreator;
+
+use vars qw(@ISA);
+@ISA = qw(WinWorkspaceBase WorkspaceCreator);
+
+# ************************************************************
+# Subroutine Section
+# ************************************************************
+
+
+sub compare_output {
+ #my $self = shift;
+ return 1;
+}
+
+
+sub workspace_file_extension {
+ #my $self = shift;
+ return '.dsw';
+}
+
+
+sub pre_workspace {
+ my($self, $fh) = @_;
+ my $crlf = $self->crlf();
+
+ ## This identifies it as a Visual C++ file
+ print $fh 'Microsoft Developer Studio Workspace File, Format Version 6.00', $crlf;
+
+ ## Optionally print the workspace comment
+ $self->print_workspace_comment($fh,
+ '#', $crlf,
+ '# $Id$', $crlf,
+ '#', $crlf,
+ '# This file was generated by MPC. Any changes made directly to', $crlf,
+ '# this file will be lost the next time it is generated.', $crlf,
+ '#', $crlf,
+ '# MPC Command:', $crlf,
+ '# ', $self->create_command_line_string($0, @ARGV), $crlf, $crlf);
+}
+
+
+sub write_comps {
+ my($self, $fh, $gen) = @_;
+ my $projects = $self->get_projects();
+ my $pjs = $self->get_project_info();
+ my $crlf = $self->crlf();
+
+ ## Sort the project so that they resulting file can be exactly
+ ## reproduced given the same list of projects.
+ foreach my $project (sort { $gen->file_sorter($a, $b) } @$projects) {
+
+ ## Add the project name and project file information
+ print $fh "###############################################################################$crlf$crlf",
+ "Project: \"$$pjs{$project}->[0]\"=", $self->slash_to_backslash($project),
+ " - Package Owner=<4>$crlf$crlf",
+ "Package=<5>${crlf}{{{$crlf}}}$crlf$crlf",
+ "Package=<4>${crlf}{{{$crlf";
+
+ my $deps = $self->get_validated_ordering($project);
+ if (defined $$deps[0]) {
+ ## Add in the project dependencies
+ foreach my $dep (@$deps) {
+ print $fh " Begin Project Dependency$crlf",
+ " Project_Dep_Name $dep$crlf",
+ " End Project Dependency$crlf";
+ }
+ }
+
+ ## End the project section
+ print $fh "}}}$crlf$crlf";
+ }
+}
+
+
+sub post_workspace {
+ my($self, $fh) = @_;
+ my $crlf = $self->crlf();
+
+ ## This text is always the same
+ print $fh "###############################################################################$crlf$crlf",
+ "Global:$crlf$crlf",
+ "Package=<5>${crlf}{{{$crlf}}}$crlf$crlf",
+ "Package=<3>${crlf}{{{$crlf}}}$crlf$crlf",
+ "###############################################################################$crlf$crlf";
+}
+
+
+1;