diff options
Diffstat (limited to 'bin')
189 files changed, 0 insertions, 31008 deletions
diff --git a/bin/.cvsignore b/bin/.cvsignore deleted file mode 100755 index 9a0a734fc38..00000000000 --- a/bin/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -*.dll -*.ilk diff --git a/bin/ACEutils.pm b/bin/ACEutils.pm deleted file mode 100644 index b7e5a24217c..00000000000 --- a/bin/ACEutils.pm +++ /dev/null @@ -1,117 +0,0 @@ -# $Id$ - -require Process; -$EXEPREFIX = ".".$DIR_SEPARATOR; -$TARGETHOSTNAME = "localhost"; - -package ACE; - -sub CheckForExeDir -{ - for($i = 0; $i <= $#ARGV; $i++) { - if ($ARGV[$i] eq '-ExeSubDir') { - if (defined $ARGV[$i + 1]) { - $::EXEPREFIX = $ARGV[$i + 1].$::DIR_SEPARATOR; - } - else { - print STDERR "You must pass a directory with ExeSubDir\n"; - exit(1); - } - splice(@ARGV, $i, 2); - } - } -} - - -### Check and remove, but don't actually use -sub CheckForConfig -{ - for($i = 0; $i <= $#ARGV;) { - if ($ARGV[$i] eq '-Config') { - if (!defined $ARGV[$i + 1]) { - print STDERR "You must pass a configuration with Config\n"; - exit(1); - } - splice(@ARGV, $i, 2); - } else { - $i++; - } - } -} - -sub checkForTarget -{ - my($cwd) = shift; - - for($i = 0; $i <= $#ARGV; $i++) { - if ($ARGV[$i] eq '-chorus') { - if (defined $ARGV[$i + 1]) { - $::TARGETHOSTNAME = $ARGV[$i + 1]; - $::EXEPREFIX = "rsh $::TARGETHOSTNAME arun $cwd$::DIR_SEPARATOR"; - } - else { - print STDERR "The -chorus option requires " . - "the hostname of the target\n"; - exit(1); - } - splice(@ARGV, $i, 2); - # Don't break from the loop just in case there - # is an accidental duplication of the -chorus option - } - } -} - - -# Returns a unique id, uid for unix, last digit of IP for NT -sub uniqueid -{ - if ($^O eq "MSWin32") - { - my $uid = 1; - - open (IPNUM, "ipconfig|") || die "Can't run ipconfig: $!\n"; - - while (<IPNUM>) - { - if (/Address/) - { - $uid = (split (/: (\d+)\.(\d+)\.(\d+)\.(\d+)/))[4]; - } - } - - close IPNUM; - - return $uid; - } - else - { - return getpwnam (getlogin ()); - } -} - -# Waits until a file exists -sub waitforfile -{ - local($file) = @_; - sleep 1 while (!(-e $file && -s $file)); -} - -sub waitforfile_timed -{ - my $file = shift; - my $maxtime = shift; - while ($maxtime-- != 0) { - if (-e $file && -s $file) { - return 0; - } - sleep 1; - } - return -1; -} - -$sleeptime = 5; - -CheckForExeDir (); -CheckForConfig (); - -1; diff --git a/bin/ADDIDL.DSM b/bin/ADDIDL.DSM deleted file mode 100644 index b53ea3eb636..00000000000 --- a/bin/ADDIDL.DSM +++ /dev/null @@ -1,150 +0,0 @@ -' -'********************************************************************** -' $Header$ -' $NoKeywords: $ -' -' @doc AddIDL -' -' Macros for Microsoft Visual Studio. -' -' @comm To install this file go to Tools->Customize->Macro Files->Browse... -' -'********************************************************************** -' - - -'@bsub Add an IDL file into all build projects in the current workspace. -'@comm This routine also sets up the custom build options require for the TAO -'CORBA implementation. The use can select to create a new file or just add a reference -'to the project (e.g. if a file already exists).If a new file is created, then a -'basic outline for an OMG module or interface declaration is inserted. Note that the inline -'file extension is defined by INLINE_EXTENSION. -' -Sub AddIDLFile() -'DESCRIPTION: Add new IDL File with TAO custom build entries to all build projects in the workspace. - - On Error Resume Next - - 'Define the extension used for inline files here - INLINE_EXTENSION = "inl" - - WkSpaceDir = Application.CurrentDirectory - ModuleName = InputBox("module (namespace or extensionless IDL filename):") - FileName = ModuleName - WkSpaceDir=InputBox("Directory for IDL file: ","Output Directory",WkSpaceDir) - - if WkSpaceDir="" then - Exit Sub - end if - - if Right(WkSpaceDir,1) <> "\" then - WkSpaceDir=WkSpaceDir+"\" - end if - - IDLFile = WkSpaceDir+FileName +".idl" - - 'Try to a file with this path/name - Documents.Open IDLFile - - 'If such a file already exists then it should now be the active doc - if ActiveDocument.Fullname = IDLFile then - - if msgbox("Overwrite the existing file ?",vbYesNo) = vbNo then - NewFile = 0 - else - 'Close the file before we modify it - ActiveDocument.Close - NewFile = 1 - end if - else - NewFile =1 - end if - - 'If NewFile is set to 1 then create the outline for a OMG IDL module - if NewFile = 1 then - InterfaceName = InputBox("interface:") - - if msgbox("Include a module ("+ ModuleName+") declaration",vbYesNo) = vbYes then - Descr = vbLF + vbLF + "#if !defined (_" + UCase(ModuleName) + "_IDL)" + vbLF + _ - "#define _" + UCase(ModuleName) + "_IDL" + vbLF +vbLF + _ - "//"+vbLF+"//" +vbLF + "module " + ModuleName + " {" +vbLF + _ - " //" + vbLF + _ - " interface " + InterfaceName + "{"+vbLF + _ - " //Definitions"+ vbLF + vbLF+ vbLF + _ - " //Operations"+ vbLF + vbLF+ vbLF + _ - " //Properties"+ vbLF+ vbLF + _ - " };"+vbLF + "};"+vbLF +vbLF + _ - "#endif /* _"+ UCase(ModuleName) +"_IDL */"+vbLF - else - Descr = vbLF + vbLF + "#if !defined (_" + UCase(ModuleName) + "_IDL)" + vbLF + _ - "#define _" + UCase(ModuleName) + "_IDL" + vbLF +vbLF + _ - " //" + vbLF + _ - " //" + vbLF + _ - " interface " + InterfaceName + "{"+vbLF + _ - " //Definitions"+ vbLF + vbLF+ vbLF + _ - " //Operations"+ vbLF + vbLF+ vbLF + _ - " //Properties"+ vbLF+ vbLF + _ - " };"+vbLF +vbLF + _ - "#endif /* _"+ UCase(ModuleName) +"_IDL */"+vbLF - end if - - CreateCppFile IDLFile, Descr - end if - - Dim proj - ' Add the files to each project - 'Note that the inline files do not need to be added - for each proj in Projects - if msgbox("Add "+ IDLFile +" and the IDL compiler output files to "+ proj +" ?",vbYesNo) = vbYes then - ProjectPath= Left(proj.FullName,InStrRev(proj.FullName,"\")-1) - - proj.AddFile IDLFile - proj.AddFile WkSpaceDir+ModuleName + "C.cpp" - proj.AddFile WkSpaceDir+ModuleName + "C.h" - proj.AddFile WkSpaceDir+ModuleName + "S.cpp" - proj.AddFile WkSpaceDir+ModuleName + "S.h" - proj.AddFile WkSpaceDir+ModuleName + "S_T.cpp" - proj.AddFile WkSpaceDir+ModuleName + "S_T.h" - - Dim cfg - ' Add the custom build for each configuration in each project - If proj.Type = "Build" Then - Commands="%ACE_ROOT%\bin\tao_idl.exe -ci C."+ INLINE_EXTENSION +" -si S.inl -st S_T."+ INLINE_EXTENSION +" " + IDLFile - Output = "$(InputName)C.cpp" + vbLF + _ - "$(InputName)C.h" + vbLF + _ - "$(InputName)C."+ INLINE_EXTENSION +"" + vbLF + _ - "$(InputName)S.cpp" + vbLF + _ - "$(InputName)S.h" + vbLF + _ - "$(InputName)S."+ INLINE_EXTENSION +"" + vbLF + _ - "$(InputName)S_T.cpp" + vbLF + _ - "$(InputName)S_T.h" + vbLF + _ - "$(InputName)S_T."+ INLINE_EXTENSION +"" - - for each cfg in proj.Configurations - cfg.AddCustomBuildStepToFile IDLFile, Commands, Output, "Running the TAO IDL Compiler on $(InputPath)..." - next - End If - end if - next -End Sub - - - - - -'@bsub Creates a C/C++ file. -'@comm This routine will create a C or C++ source file f, with content c. -'The new file will become the active doc. -' -Function CreateCppFile(byval f, byval c) -'DESCRIPTION: Creates a .cpp file. - - On Error Resume Next - Documents.Add "Text" - ActiveDocument.Language = "C/C++" - ActiveDocument.Selection = c - ActiveDocument.Selection.NewLine - ActiveDocument.Save f - -End Function - diff --git a/bin/Array.pl b/bin/Array.pl deleted file mode 100755 index 7f9bf393e15..00000000000 --- a/bin/Array.pl +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -- # -*- perl -*- -eval 'exec perl -pi.Array.$$ -S $0 ${1+"$@"}' - if 0; - -# $Id$ - -# -# After the 4.6.10 release the template instantiations for ACE_Array -# have changed, the class is implemented in terms of ACE_Array_Base; -# this script fixes the template instantiations if needed. -# -# It changes instantiations of: -# -# ACE_Array<T> -# -# into: -# -# ACE_Array<T> -# ACE_Array_Base<T> -# - -# Notice the use of the -pi options: the while(<>) loop is implicit, -# printing the current line is also implicit as well as fixing the -# file in place. - -if (m/template class\s+ACE_Array\s*<(.*)>\s*;\s*/) { - print "template class ACE_Array_Base<", $1, ">;\n"; -} elsif (m/#pragma instantiate\s+ACE_Array\s*<(.*)>\s*$/) { - print "#pragma instantiate ACE_Array_Base<", $1, ">\n"; -} - diff --git a/bin/Array_Helper b/bin/Array_Helper deleted file mode 100755 index 6ffce3b799e..00000000000 --- a/bin/Array_Helper +++ /dev/null @@ -1,16 +0,0 @@ -#! /bin/sh -# -# $Id$ -# - -# Finds all files that instantiate ACE_Array and runs the Array.pl -# perl script on them, please check $ACE_ROOT/bin/Array.pl for more -# details. - -find $* -type f -a \( -name '*.h' \ - -o -name '*.i' \ - -o -name '*.cpp' \) | - xargs egrep -l 'template[ \t]*class[ \t]*ACE_Array[ \t]*\<' | - xargs perl -pi $ACE_ROOT/bin/Hash_Map_Manager.pl - - diff --git a/bin/ChangeLogEditor/ChangeLogEdit.pm b/bin/ChangeLogEditor/ChangeLogEdit.pm deleted file mode 100644 index b75841ed4a5..00000000000 --- a/bin/ChangeLogEditor/ChangeLogEdit.pm +++ /dev/null @@ -1,120 +0,0 @@ -package ChangeLogEdit; - -# ************************************************************ -# Description : Edit the existing ChangeLog. -# Author : Chad Elliott -# Create Date : 9/10/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; -use FileHandle; -use File::Copy; - -use ChangeLogEntry; - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub new { - my($class) = shift; - my($name) = shift; - my($email) = shift; - my($self) = bless {'name' => $name, - 'email' => $email, - }, $class; - return $self; -} - - -sub edit { - my($self) = shift; - my($ofile) = shift; - my($tfile) = "$ofile.$<.$$"; - my($status) = 0; - my($error) = ''; - my($rh) = new FileHandle(); - my($unknown) = undef; - - if (open($rh, $ofile)) { - my($creator) = new ChangeLogEntry($self->{'name'}, - $self->{'email'}); - my($entry) = ''; - ($entry, $unknown) = $creator->create(); - if (defined $entry) { - if ($entry =~ /^ERROR:/) { - $error = $entry; - } - else { - my($oh) = new FileHandle(); - if (open($oh, ">$tfile")) { - $status = print $oh $entry; - if ($status) { - while(<$rh>) { - my($line) = $_; - $line =~ s/\s+$//; - if ($line =~ /\t/) { - $line = $self->convertTabs($line); - } - $status = print $oh "$line\n"; - if ($status == 0) { - $error = "Unable to copy $ofile"; - last; - } - } - } - else { - $error = 'Unable to print the first entry'; - } - close($oh); - } - else { - $error = "Unable to open $tfile for writing"; - } - close($rh); - - if ($status) { - $status = 0; - if (unlink($ofile)) { - if (rename($tfile, $ofile)) { - $status = 1; - } - else { - $error = "Unable to rename $tfile to $ofile"; - } - } - else { - $error = "Unable to remove $ofile"; - } - } - } - } - else { - $error = "Unable to generate a list of modified files\n" . - 'Could this be a cvs problem?'; - } - } - else { - $error = "Unable to open $ofile for reading"; - } - - return $status, $error, $unknown; -} - - -sub convertTabs { - my($self) = shift; - my($line) = shift; - while($line =~ /\t/) { - my($spaces) = 8 - (index($line, "\t") % 8); - $line =~ s/\t/sprintf("%${spaces}s", ' ')/e; - } - return $line; -} - - -1; diff --git a/bin/ChangeLogEditor/ChangeLogEntry.pm b/bin/ChangeLogEditor/ChangeLogEntry.pm deleted file mode 100644 index 2f57d6f3102..00000000000 --- a/bin/ChangeLogEditor/ChangeLogEntry.pm +++ /dev/null @@ -1,130 +0,0 @@ -package ChangeLogEntry; - -# ************************************************************ -# Description : Create a ChangeLog entry based on modified files. -# Author : Chad Elliott -# Create Date : 6/18/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; -use File::Basename; - -use FileLocator; - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub new { - my($class) = shift; - my($name) = shift; - my($email) = shift; - my($self) = bless {'name' => $name, - 'email' => $email, - }, $class; - return $self; -} - - -sub sortFileList { - my($self) = shift; - return sort { - if ($a =~ /\.h$/) { - my($base) = $a; - $base =~ s/\.h//; - if ($b =~ /^$base\./) { - return -1; - } - else { - return $a cmp $b; - } - } - elsif ($a =~ /\.i(nl)?$/) { - my($base) = $a; - $base =~ s/\.i(nl)?$//; - if ($b =~ /^$base\.cpp/) { - return -1; - } - else { - return $a cmp $b; - } - } - elsif ($a =~ /\.cpp?$/) { - my($base) = $a; - $base =~ s/\.cpp?$//; - if ($b =~ /^$base\./) { - return 1; - } - else { - return $a cmp $b; - } - } - return $a cmp $b; - } @_; -} - - -sub create { - my($self) = shift; - my($fl) = new FileLocator(); - my($modif, - $remov, - $confl, - $unknown) = $fl->locate(); - my($entry) = scalar(localtime()); - - if (defined $$confl[0]) { - $entry = "ERROR: The following files have conflicts:\n"; - foreach my $file (@$confl) { - $entry .= "$file\n"; - } - } - else { - my($prefix) = ' * '; - - ## Remove the timezone - $entry =~ s/(:\d\d\s+)(.*)(\d\d\d\d)$/$1$3/; - - ## Add the name and email address - $entry .= " $self->{'name'} <$self->{'email'}>\n\n"; - - my($previous) = undef; - foreach my $file ($self->sortFileList(@$modif)) { - my($directory) = dirname($file); - if (defined $previous && $previous ne $directory) { - $entry .= "\n"; - } - $entry .= "$prefix$file:\n"; - $previous = $directory; - } - $previous = ''; - my($removed) = 0; - foreach my $file ($self->sortFileList(@$remov)) { - my($directory) = dirname($file); - if (defined $previous && $previous ne $directory) { - $entry .= "\n"; - } - $entry .= "$prefix$file:\n"; - $previous = $directory; - $removed++; - } - if ($removed) { - $entry .= "\n Removed " . - ($removed > 1 ? 'these files' : 'this file') . ".\n"; - } - $entry .= "\n"; - } - - if (!defined $$modif[0] && !defined $$remov[0]) { - $entry = undef; - } - - return $entry, $unknown; -} - - -1; diff --git a/bin/ChangeLogEditor/EmailTranslator.pm b/bin/ChangeLogEditor/EmailTranslator.pm deleted file mode 100644 index eacbff22497..00000000000 --- a/bin/ChangeLogEditor/EmailTranslator.pm +++ /dev/null @@ -1,52 +0,0 @@ -package EmailTranslator; - -# ************************************************************ -# Description : Translate the given user name and domain into -# an email address. -# Author : Chad Elliott -# Create Date : 6/18/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; -use FileHandle; - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub new { - my($class) = shift; - my($domain) = shift; - my($self) = bless {'domain' => "\@$domain", - }, $class; - return $self; -} - - -sub translate { - my($self) = shift; - my($name) = shift; - my($domain) = $self->{'domain'}; - my($email) = "$name$domain"; - my(%special) = (); - - if (defined $ENV{REPLYTO}) { - $email = $ENV{REPLYTO}; - } - elsif (defined $special{$name}) { - $email = $special{$name} . $domain; - } - elsif ($name =~ /([^\s]+)\s+([^\s]+)/) { - ## Last name underscore first initial - $email = lc($2 . '_' . substr($1, 0, 1)) . $domain; - } - - return $email; -} - - -1; diff --git a/bin/ChangeLogEditor/FileLocator.pm b/bin/ChangeLogEditor/FileLocator.pm deleted file mode 100644 index 4c050122e75..00000000000 --- a/bin/ChangeLogEditor/FileLocator.pm +++ /dev/null @@ -1,116 +0,0 @@ -package FileLocator; - -# ************************************************************ -# Description : Use CVS to determine the list of modified files. -# Author : Chad Elliott -# Create Date : 6/18/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; -use FileHandle; - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub new { - my($class) = shift; - my($self) = bless { - }, $class; - return $self; -} - - -sub locate { - my($self) = shift; - my($fh) = new FileHandle(); - my(@modified) = (); - my(@removed) = (); - my(@conflicts) = (); - my(@unknown) = (); - my($cvsroot) = $self->obtainCVSROOT(); - my($nul) = ($^O eq 'MSWin32' ? 'nul' : '/dev/null'); - - if (open($fh, 'cvs -q ' . (defined $cvsroot ? "-d $cvsroot " : '') . - "-n update 2> $nul |")) { - while(<$fh>) { - my($line) = $_; - if ($line =~ /^[AM]\s+(.*)/) { - push(@modified, $1); - } - elsif ($line =~ /^[R]\s+(.*)/) { - push(@removed, $1); - } - elsif ($line =~ /^[C]\s+(.*)/) { - push(@conflicts, $1); - } - elsif ($line =~ /^[\?]\s+(.*)/) { - push(@unknown, $1); - } - } - close($fh); - } - return \@modified, \@removed, \@conflicts, \@unknown; -} - - -sub obtainCVSROOT { - my($self) = shift; - my($fh) = new FileHandle(); - my($croot) = $ENV{CVSROOT}; - - if (open($fh, 'CVS/Root')) { - while(<$fh>) { - my($line) = $_; - $line =~ s/\s+$//; - if ($line =~ /^:pserver/ || $line =~ /^:ext/) { - if (defined $ENV{CVSROOT} && $line eq $ENV{CVSROOT}) { - last; - } - else { - my($check) = $line; - $check =~ s/:\w+\@/:\@/; - $check =~ s/\.\w+\.\w+:/:/; - my($clen) = length($check); - foreach my $key (keys %ENV) { - my($echeck) = $ENV{$key}; - $echeck =~ s/:\w+\@/:\@/; - $echeck =~ s/\.\w+\.\w+:/:/; - if ($check eq $echeck) { - $croot = $ENV{$key}; - last; - } - else { - my($len) = length($echeck); - if ($len > 0 && - substr($check, $clen - $len, $len) eq $echeck) { - $croot = $ENV{$key}; - last; - } - } - } - if (defined $croot) { - last; - } - } - if (!defined $croot) { - $croot = $line; - } - } - else { - $croot = $line; - last; - } - } - close($fh); - } - - return $croot; -} - - -1; diff --git a/bin/Hash_Map_Manager.pl b/bin/Hash_Map_Manager.pl deleted file mode 100755 index cf37f69b6a4..00000000000 --- a/bin/Hash_Map_Manager.pl +++ /dev/null @@ -1,146 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -pi -S $0 ${1+"$@"}' - & eval 'exec perl -pi -S $0 $argv:q' - if 0; - -# $Id$ - -# -# This script is used by Hash_Map_Manager_Helper. -# - -# -# This script helps in fixing the template instantiations changes -# required by the new design of ACE_Hash_Map_Manager. -# -# Note that this script is not a 100% fool proof: -# -# (a) It uses commas to delimit the types in ACE_Hash_Map_Manager<X, -# Y, Z>. If X, Y, or Z are complicated types containing commas (e.g., -# T<a, b>), this script will not work. Also, all template parameters -# are assumed to be on the same line. -# -# In the case where this script will not work, here are the cookbook, -# do-it-yourself instructions: -# -# ACE_Hash_Map_Entry<X, Y> -# -# changes to: -# -# ACE_Hash_Map_Entry<X, Y> -# ACE_Hash<X> -# ACE_Equal_To<X> -# -# -# ACE_Hash_Map_Iterator_Base<X, Y, Z> -# -# changes to: -# -# ACE_Hash_Map_Iterator_Base_Ex<X, Y, ACE_Hash<X>, ACE_Equal_To<X>, Z> -# -# -# ACE_Hash_Map_Manager<X, Y, Z> -# -# changes to: -# -# ACE_Hash_Map_Manager<X, Y, Z> -# ACE_Hash_Map_Manager_Ex<X, Y, ACE_Hash<X>, ACE_Equal_To<X>, Z> -# -# -# ACE_Hash_Map_Iterator<X, Y, Z> -# -# changes to: -# -# ACE_Hash_Map_Iterator<X, Y, Z> -# ACE_Hash_Map_Iterator_Ex<X, Y, ACE_Hash<X>, ACE_Equal_To<X>, Z> -# -# -# ACE_Hash_Map_Reverse_Iterator<X, Y, Z> -# -# changes to: -# -# ACE_Hash_Map_Reverse_Iterator<X, Y, Z> -# ACE_Hash_Map_Reverse_Iterator_Ex<X, Y, ACE_Hash<X>, ACE_Equal_To<X>, Z> - - -# (b) The second problem is for g++ users (version lower than -# 2.8). g++ is broken such that if you explicitly instantiate -# templates, it will ignore template specialization. Therefore if you -# are using the template instantiation provided in ACE for ACE_Hash -# and ACE_Equal_To, don't instantiate those templates. - -# The first three lines above let this script run without specifying the -# full path to perl, as long as it is in the user's PATH. -# Taken from perlrun man page. - -$template_instantiation = "template class"; -$end_of_template_instantiation = ";"; - -$pragma_instantiation = "#pragma instantiate"; -$end_of_pragma_instantiation = ""; - -while ($line = <>) -{ - find_match ("ACE_Hash_Map_Entry"); - if ($match) - { - $template_parameters =~ /(.*),\s*(.*)/; - $X = $1; - $Y = $2; - - print "$instantiation ACE_Hash_Map_Entry<$template_parameters>$end_of_instantiation\n"; - print "$instantiation ACE_Hash<$X>$end_of_instantiation\n"; - print "$instantiation ACE_Equal_To<$X>$end_of_instantiation\n"; - next; - } - - add_ex ("ACE_Hash_Map_Manager", 1); - add_ex ("ACE_Hash_Map_Iterator", 1); - add_ex ("ACE_Hash_Map_Reverse_Iterator", 1); - add_ex ("ACE_Hash_Map_Iterator_Base", 0); - - print $line; -} - -sub find_match -{ - $key = $_[0].'\s*<\s*(.*)>\s*'; - if ($line =~ /$template_instantiation \s*$key$end_of_template_instantiation$/) - { - $match = 1; - $template_parameters = $1; - $instantiation = $template_instantiation; - $end_of_instantiation = $end_of_template_instantiation; - } - elsif ($line =~ /$pragma_instantiation \s*$key$end_of_pragma_instantiation$/) - { - $match = 1; - $template_parameters = $1; - $instantiation = $pragma_instantiation; - $end_of_instantiation = $end_of_pragma_instantiation; - } - else - { - $match = 0; - } -} - -sub add_ex -{ - $add_original_line = $_[1]; - find_match ($_[0]); - if ($match) - { - $template_parameters =~ /(.*),\s*(.*),\s*(.*)/; - $X = $1; - $Y = $2; - $Z = $3; - - if ($add_original_line) - { - print "$instantiation $_[0]<$template_parameters>$end_of_instantiation\n"; - } - - print "$instantiation $_[0]_Ex<$X, $Y, ACE_Hash<$X>, ACE_Equal_To<$X>, $Z>$end_of_instantiation\n"; - next; - } -} diff --git a/bin/Hash_Map_Manager_Helper b/bin/Hash_Map_Manager_Helper deleted file mode 100755 index f65cd584684..00000000000 --- a/bin/Hash_Map_Manager_Helper +++ /dev/null @@ -1,76 +0,0 @@ -#! /bin/sh - -# -# $Id$ -# - -# -# This script uses Hash_Map_Manager.pl. -# - -# -# This script helps in fixing the template instantiations changes -# required by the new design of ACE_Hash_Map_Manager. -# -# Note that this script is not a 100% fool proof: -# -# (a) It uses commas to delimit the types in ACE_Hash_Map_Manager<X, -# Y, Z>. If X, Y, or Z are complicated types containing commas (e.g., -# T<a, b>), this script will not work. Also, all template parameters -# are assumed to be on the same line. -# -# In the case where this script will not work, here are the cookbook, -# do-it-yourself instructions: -# -# ACE_Hash_Map_Entry<X, Y> -# -# changes to: -# -# ACE_Hash_Map_Entry<X, Y> -# ACE_Hash<X> -# ACE_Equal_To<X> -# -# -# ACE_Hash_Map_Iterator_Base<X, Y, Z> -# -# changes to: -# -# ACE_Hash_Map_Iterator_Base_Ex<X, Y, ACE_Hash<X>, ACE_Equal_To<X>, Z> -# -# -# ACE_Hash_Map_Manager<X, Y, Z> -# -# changes to: -# -# ACE_Hash_Map_Manager<X, Y, Z> -# ACE_Hash_Map_Manager_Ex<X, Y, ACE_Hash<X>, ACE_Equal_To<X>, Z> -# -# -# ACE_Hash_Map_Iterator<X, Y, Z> -# -# changes to: -# -# ACE_Hash_Map_Iterator<X, Y, Z> -# ACE_Hash_Map_Iterator_Ex<X, Y, ACE_Hash<X>, ACE_Equal_To<X>, Z> -# -# -# ACE_Hash_Map_Reverse_Iterator<X, Y, Z> -# -# changes to: -# -# ACE_Hash_Map_Reverse_Iterator<X, Y, Z> -# ACE_Hash_Map_Reverse_Iterator_Ex<X, Y, ACE_Hash<X>, ACE_Equal_To<X>, Z> - - -# (b) The second problem is for g++ users (version lower than -# 2.8). g++ is broken such that if you explicitly instantiate -# templates, it will ignore template specialization. Therefore if you -# are using the template instantiation provided in ACE for ACE_Hash -# and ACE_Equal_To, don't instantiate those templates. - -for file in `find . -type f \( -name "*.i" -o -name "*.h" -o -name "*.cpp" \) -print | xargs egrep -l "template[ \t]*class[ \t]*ACE_Hash_Map_Manager"` -do - echo Fixing template instantiations in $file - perl $ACE_ROOT/bin/Hash_Map_Manager.pl $file > $file.new - mv $file.new $file -done diff --git a/bin/MakeProjectCreator/README b/bin/MakeProjectCreator/README deleted file mode 100644 index 60f18521149..00000000000 --- a/bin/MakeProjectCreator/README +++ /dev/null @@ -1,198 +0,0 @@ -The Makefile, Project and Workspace Creator. -Designed by Justin Michel (michel_j@ociweb.com) and Chad Elliott. -Implemented by Chad Elliott (elliott_c@ociweb.com). - - -A single tool (mpc.pl) can be used to generate tool specific input (i.e. -Makefile, dsp, vcproj, etc). The generator takes platform and building -tool generic files (mpc files) as input which describe basic information -needed to generate a "project" file for various build tools. These tools -include GNU Make, NMake, Visual C++ 6, Visual C++ 7, etc. - -One of the many unique and useful features of the Makefile, Project and -Workspace Creator is that the project definition files can employ the idea -of inheritance. This feature allows a user to set up a basic base project -(mpb file) that can contain information that is applicable to all -sub-projects. Things such as include paths, library paths and inter-project -dependencies could be described in this base project and any project that -inherits from it would contain this information as well. - -Another set of files, known as template input files (mpd files), provides -the generator with the necessary information to fill platform and build -tool specific information for dynamic and static library and binary -executable projects. - -Together, the generic input files and the template input files are applied -toward a platform and build specific template (mpt file) to create the final -product (a build tool specific input file). These templates contain -"variables" that are filled in by the project creator with information -gathered through the mpc and mpd files and possibly by default values set -within the template itself. - -Workspaces are defined by providing a list of mpc files in a single (mwc) -file. For each mpc file specified, the workspace creator (mwc.pl) calls -upon the project creator to generate the project. After all of the projects -are successfully generated, the tool specific workspace is generated -containing the projects and any defined inter-project dependency information -(if supported by the build tool). If no workspace files are provided to the -workspace creator, then the current directory is traversed and any mpc files -located will be part of the workspace that is generated. - - -Workspace Declarations ----------------------- - -workspace(workspace_name) { - file.mpc - directory -} - -Workspaces can contain individual mpc files or directories. In the case of -a directory, the workspace creator will traverse it and use any mpc files -that are found. The workspace files should have an 'mwc' extension. - - -Project Declarations --------------------- - -project(project_name) : baseproject, anotherbaseproject { - exename = foo - includes += "." - libpaths = directory - idlflags -= -Sc - - Source_Files { - file1.cpp - file2.cpp - . - . - fileN.cpp - } - - Header_Files { - file1.h - file2.h - . - . - fileN.h - } -} - - -The (project_name) part of the project declaration is optional. If it is -left off, the project name will default to the name of the mpc file without -the extension. Inheritance is optional. - - -Project Keywords ----------------- -exename Specifies the name of the executable that will be created -sharedname Specifies the name of the shared library that will be created -staticname Specifies the name of the static library that will be created -dllout (Windows Only) Specifies where the dll will be placed -libout (Windows Only) Specifies where the lib will be placed -install Specifies where the executable (or library non-Windows) will go -idlflags Specifies the idl flags to be used when processing idl files -idlgendir Specifies the output directory for idl generated files. - If a listed idl file has a directory as part of the name, - the generated files will go in that directory unless - idlgendir specifies otherwise. -idlpreprocessor Simple assignment used in the gnu template only -pch_header Specifies the precompiled header file name -pch_source Specifies the precompiled source file name -ssl Specifies that the project will use ssl -tao Specifies that the project will use TAO -version Specifies the version number for the library or executable - -libpaths Specifies 1 or more locations to find libraries -includes Specifies 1 or more locations to find include files -libs Specifies 1 or more libraries to link into the exe or library -defaultlibs Specifies 1 or more default libraries to link in -depends Specifies 1 or more project names upon which this project depends -dllflags (Windows Only) Specifies preprocessor flags needed for dll's -libflags (Windows Only) Specifies preprocessor flags needed for lib's - -verbatim This allows arbitrary information to be place in a generated - project file. The syntax is as follows: - - verbatim(<project type>, <location>) { - .. - .. - } - - When MPC is generating a project of type <project type> and - comes upon a marker that matches the <location> name, it - will place the text found inside the construct directly into - the generated project. If you need to preserve whitespace, - the line or lines should be placed inside double quotes. - -The Following are GNU only: -requires Specifies which tao macros should be set to build the target -avoids Specifies which tao macros should not be set to build the target -compname Specifies the argument to pass to the ace_components script -comps Specifies which components are required to build the target -tagname Specifies the make macro to check before building the target -tagchecks Specifies the values for tagname to check - - -Special Keywords Available to Templates ---------------------------------------- -project_name This contains the name of the project. -project_file This contains the name of the output file. -guid This is used by the VC7 project and workspace creator. -configurations When used within a foreach context, this info (each - configuration) is gathered for use with the VC7 workspace - creator. -flag_overrides Used to determine flags that have been overriden on a per - file basis. - - -Defaulting Behavior -------------------- -1) If a project name is not specified - - it will be defaulted to the name of the mpc file without the extension - -2) If a particular list is not specified (Source_Files, Header_Files, etc.) - - all of the files in the directory will be added to the corresponding list - by extension - -3) If idl files exist in the directory and - the IDL_Files components are left defaulted (i.e. not listed) and - none of the idl generated files are listed in the corresponding lists - - the project is assumed to be a TAO project, the idl files are added to - the IDL_Files list and all of the (would be) generated files will be - added to the front of the corresponding lists (source, inline and - header lists) - -4) If files are listed in the Source_Files list and - a corresponding header or inline file exists - - the corresponding file will be added to the corresponding list (if it - isn't already there) - -5) If a sharedname is specified and staticname is not - - staticname is assigned the sharedname value (the same applies if - staticname is specified and sharedname is not) - -6) If pch_header is not specified and a header file matches *_pch.h - - it is assumed to be the precompiled header file (the same applies to - pch_source) - -7) If -relative is not used to set ACE_ROOT and the ACE_ROOT environment - variable is set - - it will be used to set the relative value for ACE_ROOT. If -relative is - not used to set TAO_ROOT, it will be set from the TAO_ROOT environment - variable. If that is not set, the relative value of ACE_ROOT plus /TAO. - -Processing Order ----------------- -1) Project file is read -2) Template input file is read -3) Template file is read -4) Output project is written diff --git a/bin/MakeProjectCreator/USAGE b/bin/MakeProjectCreator/USAGE deleted file mode 100644 index 36fc3c15dcb..00000000000 --- a/bin/MakeProjectCreator/USAGE +++ /dev/null @@ -1,154 +0,0 @@ -Running the Workspace Generator -------------------------------- - -The most common way to use the Make Project Creator is to run the -workspace generator (mwc.pl). This script will generate projects and a -single workspace that contains the generated projects. If no input file -(.mwc file) is specified, it will recurse into the directory in which the -script was started. It looks for .mpc files and generates a project or -projects for each one found. - - -Usage: mwc.pl [-global <file>] [-include <directory>] [-recurse] - [-ti <dll | lib | dll_exe | lib_exe>:<file>] - [-template <file>] [-relative NAME=VAR] [-base <project>] - [-noreldefs] [-notoplevel] [-static] [-static_only] - [-value_template <NAME+=VAL | NAME=VAL | NAME-=VAL>] - [-value_project <NAME+=VAL | NAME=VAL | NAME-=VAL>] - [-type <borland | em3 | ghs | gnuace | make | nmake | - va4 | vc6 | vc7>] - [files] - - -base Add <project> as a base project to each generated - project file. - -global Specifies the global input file. Values stored - within this file are applied to all projects. - -include Specifies a directory to search when looking for base - projects, template input files and templates. This - option can be used multiple times to add directories. - -ti Specifies the template input file (with no extension) - for the specific type as shown above - (ex. -ti dll_exe:vc8exe) - -template Specifies the template name (with no extension). - -static Specifies that static projects will be generated in - addition to dynamic projects. - -static_only Specifies that only static projects will be generated. - -recurse Recurse from the current directory and generate from - all found input files. - -relative Any $() variable in an mpc that is matched to NAME - is replaced by VAR only if VAR can be made into a - relative path based on the current working directory. - -noreldefs Do not try to generate default relative definitions. - -notoplevel Do not generate the top level target file. Files - are still process, but no top level file is created. - -value_template This option allows modification of a template input - name value pair. Use += to add VAL to the NAME's - value. Use -= to subtract and = to override the value. - It is important to note that this will only modify - existing template input name value pairs and can not - be used to introduce new name value pairs. - -value_project This option allows modification of a project variable - assignment . Use += to add VAL to the NAME's value. - Use -= to subtract and = to override the value. - This can be used to introduce new name value pairs to - a project. However, it must be a valid project - assignment. - -type Specifies the type of project file to generate. This - option can be used multiple times to generate multiple - types. If -type is not used, it defaults to 'gnuace'. - -The default global input file -(ACE_wrappers/bin/MakeProjectCreator/config/global.mpb) is used if -global -is not specified on the command line. - -Two include directories are used by default -(ACE_wrappers/bin/MakeProjectCreator/config and -ACE_wrappers/bin/MakeProjectCreator/templates). - -Each project creator has a default template input file for each type of -project (dll_exe, lib_exe, dll, lib). You can override the default template -input file name with the -ti option. The file must have a 'mpt' extension -and must reside within the include search directories. NOTE: the 'lib' and -the 'lib_exe' template input files are only used if the project creator makes -a separate project file for dynamic libraries and static libraries. - -The -template option is used to override the default template name. This -file should have a .mpd extension and sit in one of the include search -directories. NOTE: The -template option overrides the template file for all -types specified. - -The -static option can be used to generate static project files in addition -to dynamic project files. This currently only applies to the vc6 type. - -The -static_only option can be used to avoid generating dynamic project -files. This currently only applies to the vc6 type. - -The -noreldefs option says not to generate default relative definitions for -ACE_ROOT and TAO_ROOT (which would come from environment variables). - -The -notoplevel option tells mwc.pl to generate all projects for a -workspace, but do not generate the top level workspace file. For mpc.pl, it -says process the mpc files, but do not generate the project files. - -The -type option can be used multiple times on the same command line to -generate projects of different types per mpc file. The default type is -always gnuace. NOTE: The -ti option overrides the template input file for all -types specified. - - -Running only the Project Generator ----------------------------------- - -Most of what is stated about the Workspace Generator applies to the Project -Generator except that it only generates projects. If an input file (.mpc -file) is not provided, the project creator will attempt to create a default -project in the directory from which the script was started. - - -Usage: mpc.pl [-global <file>] [-include <directory>] [-recurse] - [-ti <dll | lib | dll_exe | lib_exe>:<file>] - [-template <file>] [-relative NAME=VAR] [-base <project>] - [-noreldefs] [-notoplevel] [-static] [-static_only] - [-value_template <NAME+=VAL | NAME=VAL | NAME-=VAL>] - [-value_project <NAME+=VAL | NAME=VAL | NAME-=VAL>] - [-type <borland | em3 | ghs | gnuace | make | nmake | - va4 | vc6 | vc7>] - [files] - - -base Add <project> as a base project to each generated - project file. - -global Specifies the global input file. Values stored - within this file are applied to all projects. - -include Specifies a directory to search when looking for base - projects, template input files and templates. This - option can be used multiple times to add directories. - -ti Specifies the template input file (with no extension) - for the specific type as shown above - (ex. -ti dll_exe:vc8exe) - -template Specifies the template name (with no extension). - -static Specifies that static projects will be generated in - addition to dynamic projects. - -static_only Specifies that only static projects will be generated. - -recurse Recurse from the current directory and generate from - all found input files. - -relative Any $() variable in an mpc that is matched to NAME - is replaced by VAR only if VAR can be made into a - relative path based on the current working directory. - -noreldefs Do not try to generate default relative definitions. - -notoplevel Do not generate the top level target file. Files - are still process, but no top level file is created. - -value_template This option allows modification of a template input - name value pair. Use += to add VAL to the NAME's - value. Use -= to subtract and = to override the value. - It is important to note that this will only modify - existing template input name value pairs and can not - be used to introduce new name value pairs. - -value_project This option allows modification of a project variable - assignment . Use += to add VAL to the NAME's value. - Use -= to subtract and = to override the value. - This can be used to introduce new name value pairs to - a project. However, it must be a valid project - assignment. - -type Specifies the type of project file to generate. This - option can be used multiple times to generate multiple - types. If -type is not used, it defaults to 'gnuace'. diff --git a/bin/MakeProjectCreator/config/acedefaults.mpb b/bin/MakeProjectCreator/config/acedefaults.mpb deleted file mode 100644 index cf89851f568..00000000000 --- a/bin/MakeProjectCreator/config/acedefaults.mpb +++ /dev/null @@ -1,5 +0,0 @@ -project { - defaultlibs += ACE - dllout = $(ACE_ROOT)/bin - libout = . -} diff --git a/bin/MakeProjectCreator/config/aceexe.mpb b/bin/MakeProjectCreator/config/aceexe.mpb deleted file mode 100644 index 72ea4c138b5..00000000000 --- a/bin/MakeProjectCreator/config/aceexe.mpb +++ /dev/null @@ -1,6 +0,0 @@ -project: acedefaults, aceversion { - depends += ace - includes += $(ACE_ROOT) - libpaths += $(ACE_ROOT)/ace - libflags += ACE_AS_STATIC_LIBS -} diff --git a/bin/MakeProjectCreator/config/acelib.mpb b/bin/MakeProjectCreator/config/acelib.mpb deleted file mode 100644 index 72ea4c138b5..00000000000 --- a/bin/MakeProjectCreator/config/acelib.mpb +++ /dev/null @@ -1,6 +0,0 @@ -project: acedefaults, aceversion { - depends += ace - includes += $(ACE_ROOT) - libpaths += $(ACE_ROOT)/ace - libflags += ACE_AS_STATIC_LIBS -} diff --git a/bin/MakeProjectCreator/config/aceversion.mpb b/bin/MakeProjectCreator/config/aceversion.mpb deleted file mode 100644 index a9a4e24511d..00000000000 --- a/bin/MakeProjectCreator/config/aceversion.mpb +++ /dev/null @@ -1,3 +0,0 @@ -project { - version = 5.3.1 -} diff --git a/bin/MakeProjectCreator/config/acexml.mpb b/bin/MakeProjectCreator/config/acexml.mpb deleted file mode 100644 index ebbaae36b01..00000000000 --- a/bin/MakeProjectCreator/config/acexml.mpb +++ /dev/null @@ -1,5 +0,0 @@ -project { - depends += ACEXML_Parser ACEXML - libs += ACEXML_Parser ACEXML - libpaths += $(ACE_ROOT)/ACEXML/common $(ACE_ROOT)/ACEXML/parser/parser -} diff --git a/bin/MakeProjectCreator/config/avstreamsexe.mpb b/bin/MakeProjectCreator/config/avstreamsexe.mpb deleted file mode 100644 index 925b4e5b4bc..00000000000 --- a/bin/MakeProjectCreator/config/avstreamsexe.mpb +++ /dev/null @@ -1,6 +0,0 @@ -project: namingexe { - depends += AV CosProperty - libs += TAO_AV TAO_CosProperty - comps += AV -} - diff --git a/bin/MakeProjectCreator/config/ciao_client.mpb b/bin/MakeProjectCreator/config/ciao_client.mpb deleted file mode 100644 index 8d55d257771..00000000000 --- a/bin/MakeProjectCreator/config/ciao_client.mpb +++ /dev/null @@ -1,8 +0,0 @@ -project : taolib_with_idl { - depends += CIAO_Client - idlflags += -I $(CIAO_ROOT) -I $(TAO_ROOT) -I $(TAO_ROOT)/orbsvcs/orbsvcs - idlflags += -Wb,pre_include="ace/pre.h" -Wb,post_include="ace/post.h" - libs += TAO TAO_IFR_Client CIAO_Client - libpaths += $(TAO_ROOT)/tao/IFR_Client $(CIAO_ROOT)/ciao - includes += $(CIAO_ROOT) $(CIAO_ROOT)/ciao -} diff --git a/bin/MakeProjectCreator/config/ciao_component.mpb b/bin/MakeProjectCreator/config/ciao_component.mpb deleted file mode 100644 index 682c976e2d6..00000000000 --- a/bin/MakeProjectCreator/config/ciao_component.mpb +++ /dev/null @@ -1,7 +0,0 @@ -project : ciao_client { - depends += CIAO_Container - libs += TAO_PortableServer TAO_Security CIAO_Container - libpaths += $(TAO_ROOT)/tao/PortableServer $(TAO_ROOT)/orbsvcs/orbsvcs - includes += $(TAO_ROOT)/orbsvcs/orbsvcs - idlflags += -I$(TAO_ROOT) -I$(TAO_ROOT)/CIAO/ciao -} diff --git a/bin/MakeProjectCreator/config/ciao_server.mpb b/bin/MakeProjectCreator/config/ciao_server.mpb deleted file mode 100644 index a4a584e5742..00000000000 --- a/bin/MakeProjectCreator/config/ciao_server.mpb +++ /dev/null @@ -1,4 +0,0 @@ -project : ciao_component { - depends += CIAO_Server - libs += CIAO_Server -} diff --git a/bin/MakeProjectCreator/config/client.mpb b/bin/MakeProjectCreator/config/client.mpb deleted file mode 100644 index 6b398fc9da9..00000000000 --- a/bin/MakeProjectCreator/config/client.mpb +++ /dev/null @@ -1,3 +0,0 @@ -project(client) : taoexe { - exename = client -}
\ No newline at end of file diff --git a/bin/MakeProjectCreator/config/corba_messaging.mpb b/bin/MakeProjectCreator/config/corba_messaging.mpb deleted file mode 100644 index 32b88438211..00000000000 --- a/bin/MakeProjectCreator/config/corba_messaging.mpb +++ /dev/null @@ -1,3 +0,0 @@ -project { - requires += corba_messaging -} diff --git a/bin/MakeProjectCreator/config/core.mpb b/bin/MakeProjectCreator/config/core.mpb deleted file mode 100644 index 01487241d90..00000000000 --- a/bin/MakeProjectCreator/config/core.mpb +++ /dev/null @@ -1,3 +0,0 @@ -project { - core = 1 -} diff --git a/bin/MakeProjectCreator/config/default.rel b/bin/MakeProjectCreator/config/default.rel deleted file mode 100644 index 0a1e1b452a1..00000000000 --- a/bin/MakeProjectCreator/config/default.rel +++ /dev/null @@ -1,7 +0,0 @@ -// This is the default relative definitions. -// The first column is the name for which we create a relative definition. -// The second column is the value to build up if it isn't defined as an -// environmenment variable. -ACE_ROOT -TAO_ROOT, $ACE_ROOT/TAO -CIAO_ROOT, $TAO_ROOT/CIAO diff --git a/bin/MakeProjectCreator/config/global.mpb b/bin/MakeProjectCreator/config/global.mpb deleted file mode 100644 index 31fd4ed706b..00000000000 --- a/bin/MakeProjectCreator/config/global.mpb +++ /dev/null @@ -1,4 +0,0 @@ -project { - dllout = . - libout = . -} diff --git a/bin/MakeProjectCreator/config/messaging.mpb b/bin/MakeProjectCreator/config/messaging.mpb deleted file mode 100644 index a7554cfaea2..00000000000 --- a/bin/MakeProjectCreator/config/messaging.mpb +++ /dev/null @@ -1,2 +0,0 @@ -project : server, messaging_only { -} diff --git a/bin/MakeProjectCreator/config/messaging_only.mpb b/bin/MakeProjectCreator/config/messaging_only.mpb deleted file mode 100644 index 5615a099a21..00000000000 --- a/bin/MakeProjectCreator/config/messaging_only.mpb +++ /dev/null @@ -1,4 +0,0 @@ -project { - depends += Messaging - libs += TAO_Messaging -} diff --git a/bin/MakeProjectCreator/config/minimum_corba.mpb b/bin/MakeProjectCreator/config/minimum_corba.mpb deleted file mode 100644 index b877810439b..00000000000 --- a/bin/MakeProjectCreator/config/minimum_corba.mpb +++ /dev/null @@ -1,3 +0,0 @@ -project { - avoids += minimum_corba -} diff --git a/bin/MakeProjectCreator/config/namingexe.mpb b/bin/MakeProjectCreator/config/namingexe.mpb deleted file mode 100644 index fa483d3da10..00000000000 --- a/bin/MakeProjectCreator/config/namingexe.mpb +++ /dev/null @@ -1,5 +0,0 @@ -project : server, orbsvcsexe { - depends += CosNaming Svc_Utils IORTable - libs += TAO_CosNaming TAO_Svc_Utils TAO_IORTable - comps += Naming -} diff --git a/bin/MakeProjectCreator/config/notify.mpb b/bin/MakeProjectCreator/config/notify.mpb deleted file mode 100644 index 5ffdbe8a278..00000000000 --- a/bin/MakeProjectCreator/config/notify.mpb +++ /dev/null @@ -1,5 +0,0 @@ -project { - depends += CosNotification ETCL CosNaming Svc_Utils IORTable DynamicAny PortableServer TAO - libs += TAO_CosNotification TAO_ETCL TAO_CosNaming TAO_Svc_Utils TAO_IORTable TAO_DynamicAny TAO_PortableServer TAO - comps += Notify Naming -} diff --git a/bin/MakeProjectCreator/config/notifytest.mpb b/bin/MakeProjectCreator/config/notifytest.mpb deleted file mode 100644 index 1be2c3a6652..00000000000 --- a/bin/MakeProjectCreator/config/notifytest.mpb +++ /dev/null @@ -1,6 +0,0 @@ -project: orbsvcsexe, notify { - depends += Notify_Lib - libs += TAO_NotifyTests - libpaths += $(TAO_ROOT)/orbsvcs/tests/Notify/lib - includes += $(TAO_ROOT)/orbsvcs/tests/Notify/lib -}
\ No newline at end of file diff --git a/bin/MakeProjectCreator/config/orbsvcsexe.mpb b/bin/MakeProjectCreator/config/orbsvcsexe.mpb deleted file mode 100644 index 505d10186b2..00000000000 --- a/bin/MakeProjectCreator/config/orbsvcsexe.mpb +++ /dev/null @@ -1,5 +0,0 @@ -project : taoexe { - includes += $(TAO_ROOT)/orbsvcs - libpaths += $(TAO_ROOT)/orbsvcs/orbsvcs - compname = --orbsvcs -} diff --git a/bin/MakeProjectCreator/config/orbsvcslib.mpb b/bin/MakeProjectCreator/config/orbsvcslib.mpb deleted file mode 100644 index 5f89746afa7..00000000000 --- a/bin/MakeProjectCreator/config/orbsvcslib.mpb +++ /dev/null @@ -1,7 +0,0 @@ -project : taolib_with_idl { - includes += $(TAO_ROOT)/orbsvcs - libpaths += $(TAO_ROOT)/orbsvcs/orbsvcs - idlflags += -I$(TAO_ROOT) -I$(TAO_ROOT)/orbsvcs - compname = --orbsvcs - tagname = TAO_ORBSVCS -} diff --git a/bin/MakeProjectCreator/config/rt_client.mpb b/bin/MakeProjectCreator/config/rt_client.mpb deleted file mode 100644 index c6d2ad45b4f..00000000000 --- a/bin/MakeProjectCreator/config/rt_client.mpb +++ /dev/null @@ -1,5 +0,0 @@ -project : client { - depends += RTCORBA - libs += TAO_RTCORBA - requires += rt_corba -} diff --git a/bin/MakeProjectCreator/config/rt_server.mpb b/bin/MakeProjectCreator/config/rt_server.mpb deleted file mode 100644 index 050c3c07a8a..00000000000 --- a/bin/MakeProjectCreator/config/rt_server.mpb +++ /dev/null @@ -1,5 +0,0 @@ -project : server { - depends += RTPortableServer RTCORBA - libs += TAO_RTCORBA TAO_RTPortableServer - requires += rt_corba -} diff --git a/bin/MakeProjectCreator/config/rteventexe.mpb b/bin/MakeProjectCreator/config/rteventexe.mpb deleted file mode 100644 index 89fb3da58c8..00000000000 --- a/bin/MakeProjectCreator/config/rteventexe.mpb +++ /dev/null @@ -1,5 +0,0 @@ -project: server, orbsvcsexe { - depends += RTEvent Svc_Utils - libs += TAO_RTEvent TAO_Svc_Utils - comps += RTEvent -} diff --git a/bin/MakeProjectCreator/config/server.mpb b/bin/MakeProjectCreator/config/server.mpb deleted file mode 100644 index 1502c4b8c4e..00000000000 --- a/bin/MakeProjectCreator/config/server.mpb +++ /dev/null @@ -1,5 +0,0 @@ -project(server) : taoexe { - depends += PortableServer - exename = server - libs += TAO_PortableServer -} diff --git a/bin/MakeProjectCreator/config/strategies.mpb b/bin/MakeProjectCreator/config/strategies.mpb deleted file mode 100644 index 1fdf735b933..00000000000 --- a/bin/MakeProjectCreator/config/strategies.mpb +++ /dev/null @@ -1,4 +0,0 @@ -project { - depends += Strategies - libs += TAO_Strategies -} diff --git a/bin/MakeProjectCreator/config/taoexe.mpb b/bin/MakeProjectCreator/config/taoexe.mpb deleted file mode 100644 index 848f6c6a61d..00000000000 --- a/bin/MakeProjectCreator/config/taoexe.mpb +++ /dev/null @@ -1,8 +0,0 @@ -project : aceexe, taoversion { - depends += tao TAO_IDL_EXE - includes += $(TAO_ROOT) $(TAO_ROOT)/tao - libpaths += $(TAO_ROOT)/tao - idlflags = -Ge 1 -Sc - libflags += TAO_AS_STATIC_LIBS - libs += TAO -} diff --git a/bin/MakeProjectCreator/config/taolib.mpb b/bin/MakeProjectCreator/config/taolib.mpb deleted file mode 100644 index 5be03113fd6..00000000000 --- a/bin/MakeProjectCreator/config/taolib.mpb +++ /dev/null @@ -1,6 +0,0 @@ -project : acelib, taoversion { - depends += tao - includes += $(TAO_ROOT) $(TAO_ROOT)/tao - libpaths += $(TAO_ROOT)/tao - libflags += TAO_AS_STATIC_LIBS -} diff --git a/bin/MakeProjectCreator/config/taolib_with_idl.mpb b/bin/MakeProjectCreator/config/taolib_with_idl.mpb deleted file mode 100644 index a9cae7d10b6..00000000000 --- a/bin/MakeProjectCreator/config/taolib_with_idl.mpb +++ /dev/null @@ -1,4 +0,0 @@ -project : taolib { - depends += TAO_IDL_EXE - idlflags = -Ge 1 -Sc -} diff --git a/bin/MakeProjectCreator/config/taoversion.mpb b/bin/MakeProjectCreator/config/taoversion.mpb deleted file mode 100644 index 87265e2c59b..00000000000 --- a/bin/MakeProjectCreator/config/taoversion.mpb +++ /dev/null @@ -1,3 +0,0 @@ -project { - version = 1.3.1 -} diff --git a/bin/MakeProjectCreator/config/vcfullmacros.mpt b/bin/MakeProjectCreator/config/vcfullmacros.mpt deleted file mode 100644 index 3b2113e3f84..00000000000 --- a/bin/MakeProjectCreator/config/vcfullmacros.mpt +++ /dev/null @@ -1,11 +0,0 @@ -// ACE specific macros for nmake, vc6, vc7 and em3 - -Static MFC Release { - defines += ACE_HAS_MFC ACE_DOESNT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER -} - -Static MFC Debug { - defines += ACE_HAS_MFC ACE_DOESNT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER -} - -conditional_include "vcpartialmacros" diff --git a/bin/MakeProjectCreator/config/vcpartialmacros.mpt b/bin/MakeProjectCreator/config/vcpartialmacros.mpt deleted file mode 100644 index b553205a957..00000000000 --- a/bin/MakeProjectCreator/config/vcpartialmacros.mpt +++ /dev/null @@ -1,11 +0,0 @@ -// ACE specific macros for nmake, vc6, vc7 and em3 - -pch_defines = ACE_USING_PCH - -MFC Release { - defines += ACE_HAS_MFC ACE_DOESNT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER -} - -MFC Debug { - defines += ACE_HAS_MFC ACE_DOESNT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER -} diff --git a/bin/MakeProjectCreator/modules/BorlandProjectCreator.pm b/bin/MakeProjectCreator/modules/BorlandProjectCreator.pm deleted file mode 100644 index 98d5073705f..00000000000 --- a/bin/MakeProjectCreator/modules/BorlandProjectCreator.pm +++ /dev/null @@ -1,76 +0,0 @@ -package BorlandProjectCreator; - -# ************************************************************ -# Description : A Borland Project Creator -# Author : Chad Elliott -# Create Date : 3/14/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; - -use ProjectCreator; -use File::Basename; - -use vars qw(@ISA); -@ISA = qw(ProjectCreator); - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub fill_value { - my($self) = shift; - my($name) = shift; - my($value) = undef; - - if ($name eq 'cppdir') { - my(%dirnames) = (); - foreach my $file ($self->get_component_list('source_files')) { - my($dirname) = dirname($file); - if ($dirname eq '') { - $dirname = '.'; - } - $dirnames{$dirname} = 1; - } - $value = join(';', sort keys %dirnames); - } - - return $value; -} - - -sub project_file_name { - my($self) = shift; - my($name) = shift; - - if (!defined $name) { - $name = $self->project_name(); - } - - return 'Makefile' . ($name eq '' ? '' : ".$name") . '.bor'; -} - - -sub get_dll_exe_template_input_file { - #my($self) = shift; - return 'borexe'; -} - - -sub get_dll_template_input_file { - #my($self) = shift; - return 'bordll'; -} - - -sub get_template { - #my($self) = shift; - return 'bor'; -} - - -1; diff --git a/bin/MakeProjectCreator/modules/BorlandWorkspaceCreator.pm b/bin/MakeProjectCreator/modules/BorlandWorkspaceCreator.pm deleted file mode 100644 index 83b0c57a346..00000000000 --- a/bin/MakeProjectCreator/modules/BorlandWorkspaceCreator.pm +++ /dev/null @@ -1,94 +0,0 @@ -package BorlandWorkspaceCreator; - -# ************************************************************ -# Description : A Borland Workspace (Makefile.bor) creator -# Author : Chad Elliott -# Create Date : 7/02/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; -use File::Basename; - -use BorlandProjectCreator; -use WorkspaceCreator; - -use vars qw(@ISA); -@ISA = qw(WorkspaceCreator); - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub workspace_file_name { - my($self) = shift; - return $self->get_modified_workspace_name('Makefile', '.bor'); -} - - -sub workspace_per_project { - #my($self) = shift; - return 1; -} - - -sub pre_workspace { - my($self) = shift; - my($fh) = shift; - my($crlf) = $self->crlf(); - - print $fh "#----------------------------------------------------------------------------$crlf" . - "# Borland Workspace$crlf" . - "#----------------------------------------------------------------------------$crlf" . - $crlf; -} - - -sub write_comps { - my($self) = shift; - my($fh) = shift; - my($projects) = $self->get_projects(); - my($pjs) = $self->get_project_info(); - my(@list) = $self->sort_dependencies($projects, $pjs); - my($crlf) = $self->crlf(); - - print $fh "!include <\$(ACE_ROOT)\\include\\makeinclude\\make_flags.bor>$crlf"; - - foreach my $target ('all', 'clean', 'realclean', 'install') { - print $fh $crlf . - "$target\:$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 ? "\t\@cd $dir$crlf" : '') . - "\t\$(MAKE) -\$(MAKEFLAGS) \$(MAKE_FLAGS) -f " . basename($project) . " $target$crlf" . - ($chdir ? "\t\@cd " . ('../' x $back) . $crlf : ''); - } - } - - # Generate a convenient rule for regenerating the workspace. - print $fh $crlf . - "regenerate:$crlf" . - "\t$^X $0 @ARGV$crlf"; -} - - - -1; diff --git a/bin/MakeProjectCreator/modules/Creator.pm b/bin/MakeProjectCreator/modules/Creator.pm deleted file mode 100644 index c1400ddaceb..00000000000 --- a/bin/MakeProjectCreator/modules/Creator.pm +++ /dev/null @@ -1,711 +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); - -# ************************************************************ -# Data Section -# ************************************************************ - -my(@statekeys) = ('global', 'include', 'template', 'ti', - 'dynamic', 'static', 'relative', 'addtemp', - 'addproj', 'progress', 'toplevel', 'baseprojs', - ); - -# ************************************************************ -# 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($toplevel) = shift; - my($baseprojs) = shift; - my($type) = shift; - my($self) = Parser::new($class, $inc); - - $self->{'relative'} = $relative; - $self->{'template'} = $template; - $self->{'ti'} = $ti; - $self->{'global'} = $global; - $self->{'grammar_type'} = $type; - $self->{'type_check'} = $type . '_defined'; - $self->{'global_read'} = 0; - $self->{'current_input'} = ''; - $self->{'progress'} = $progress; - $self->{'addtemp'} = $addtemp; - $self->{'addproj'} = $addproj; - $self->{'toplevel'} = $toplevel; - $self->{'files_written'} = []; - $self->{'reading_global'} = 0; - $self->{'global_assign'} = {}; - $self->{'assign'} = {}; - $self->{'baseprojs'} = $baseprojs; - $self->{'dynamic'} = $dynamic; - $self->{'static'} = $static; - - return $self; -} - - -sub collect_line { - my($self) = shift; - my($fh) = shift; - my($lref) = shift; - my($line) = shift; - my($status) = 1; - my($errorString) = ''; - - $$lref .= $self->strip_line($line); - - if ($$lref =~ /\\$/) { - $$lref =~ s/\\$/ /; - } - else { - ($status, $errorString) = $self->parse_line($fh, $$lref); - $$lref = ""; - } - - return $status, $errorString; -} - - -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; - - ## Reset the files_written array between processing each file - $self->{'files_written'} = []; - - ## 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 parse_scope { - my($self) = shift; - my($fh) = shift; - my($name) = shift; - my($type) = shift; - my($validNames) = shift; - my($flags) = shift; - my($status) = 0; - my($errorString) = "ERROR: Unable to process $name"; - - if (!defined $flags) { - $flags = {}; - } - - while(<$fh>) { - my($line) = $self->strip_line($_); - - if ($line eq '') { - } - elsif ($line =~ /^}/) { - $status = 1; - $errorString = ''; - $self->handle_scoped_end($type, $flags); - last; - } - else { - my(@values) = (); - if ($self->parse_assignment($line, \@values)) { - if (defined $$validNames{$values[1]}) { - 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 { - $status = 0; - $errorString = "ERROR: Invalid assignment name: $values[1]"; - last; - } - } - else { - ($status, $errorString) = $self->handle_scoped_unknown($fh, - $type, - $flags, - $line); - if (!$status) { - last; - } - } - } - } - return $status, $errorString; -} - - -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 windows_crlf { - #my($self) = shift; - if ($^O eq 'MSWin32' || $^O eq 'cygwin') { - return "\n"; - } - else { - return "\r\n"; - } -} - - -sub transform_file_name { - my($self) = shift; - my($name) = shift; - - $name =~ s/[\s\/\\]/_/g; - return $name; -} - - -sub add_file_written { - my($self) = shift; - my($file) = shift; - - foreach my $written (@{$self->{'files_written'}}) { - if ($written eq $file) { - print "WARNING: $file has been overwritten by a " . - "$self->{'grammar_type'} with a duplicate name.\n"; - last; - } - } - push(@{$self->{'files_written'}}, $file); -} - - -sub extension_recursive_input_list { - my($self) = shift; - my($dir) = shift; - my($ext) = shift; - my($fh) = new FileHandle(); - my(@files) = (); - - if (opendir($fh, $dir)) { - foreach my $file (grep(!/^\.\.?$/, readdir($fh))) { - my($full) = ($dir ne '.' ? "$dir/" : '') . $file; - if (-d $full) { - push(@files, $self->extension_recursive_input_list($full, $ext)); - } - elsif ($full =~ /$ext$/) { - push(@files, $full); - } - } - closedir($fh); - } - - return @files; -} - - -sub modify_assignment_value { - my($self) = shift; - my($value) = shift; - - if ($self->convert_slashes()) { - $value = $self->slash_to_backslash($value); - } - return $value; -} - - -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+$//; - - ## Modify the assignment value before saving it - $value = $self->modify_assignment_value($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 save_state { - my($self) = shift; - my(%state) = (); - - ## Make a deep copy of each state value. That way our array - ## references and hash references do not get accidentally modified. - foreach my $skey (@statekeys) { - if (UNIVERSAL::isa($self->{$skey}, 'ARRAY')) { - $state{$skey} = []; - foreach my $element (@{$self->{$skey}}) { - push(@{$state{$skey}}, $element); - } - } - elsif (UNIVERSAL::isa($self->{$skey}, 'HASH')) { - $state{$skey} = {}; - foreach my $key (keys %{$self->{$skey}}) { - $state{$skey}->{$key} = $self->{$skey}->{$key}; - } - } - else { - $state{$skey} = $self->{$skey}; - } - } - - return %state; -} - - -sub restore_state { - my($self) = shift; - my($state) = shift; - - ## Overwrite each state value - foreach my $skey (@statekeys) { - $self->{$skey} = $$state{$skey}; - } -} - - -sub get_global_cfg { - my($self) = shift; - return $self->{'global'}; -} - - -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 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'}; -} - - -sub get_toplevel { - my($self) = shift; - return $self->{'toplevel'}; -} - - -sub get_files_written { - my($self) = shift; - return $self->{'files_written'}; -} - - -sub get_assignment { - my($self) = shift; - my($name) = shift; - my($assign) = shift; - - ## If no hash table was passed in - if (!defined $assign) { - my($tag) = ($self->{'reading_global'} ? 'global_assign' : 'assign'); - $assign = $self->{$tag}; - } - - return $$assign{$name}; -} - - -sub get_baseprojs { - my($self) = shift; - return $self->{'baseprojs'}; -} - - -sub get_dynamic { - my($self) = shift; - return $self->{'dynamic'}; -} - - -sub get_static { - my($self) = shift; - return $self->{'static'}; -} - -# ************************************************************ -# Virtual Methods To Be Overridden -# ************************************************************ - -sub handle_scoped_end { - #my($self) = shift; - #my($type) = shift; - #my($flags) = shift; -} - - -sub handle_scoped_unknown { - my($self) = shift; - my($fh) = shift; - my($type) = shift; - my($flags) = shift; - my($line) = shift; - return 0, "ERROR: Unrecognized line: $line"; -} - - -sub process_duplicate_modification { - #my($self) = shift; - #my($name) = shift; - #my($assign) = shift; -} - -sub generate_recursive_input_list { - #my($self) = shift; - #my($dir) = shift; - return (); -} - - -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/bin/MakeProjectCreator/modules/Driver.pm b/bin/MakeProjectCreator/modules/Driver.pm deleted file mode 100644 index 8aff9671adf..00000000000 --- a/bin/MakeProjectCreator/modules/Driver.pm +++ /dev/null @@ -1,346 +0,0 @@ -package Driver; - -# ************************************************************ -# Description : Functionality to call a workspace or project creator -# Author : Chad Elliott -# Create Date : 5/28/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; -use File::Basename; - -use Options; -use Parser; - -use vars qw(@ISA); -@ISA = qw(Parser Options); - -# ************************************************************ -# Data Section -# ************************************************************ - -my($index) = 0; -my(@progress) = ('|', '/', '-', '\\'); -my($cmdenv) = 'MPC_COMMANDLINE'; - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub new { - my($class) = shift; - my($path) = shift; - my($name) = shift; - my(@creators) = @_; - my($self) = $class->SUPER::new(); - - $self->{'path'} = $path; - $self->{'name'} = $name; - $self->{'version'} = 1.7; - $self->{'types'} = {}; - $self->{'creators'} = \@creators; - $self->{'default'} = $creators[0]; - $self->{'reldefs'} = {}; - $self->{'relorder'} = []; - - return $self; -} - - -sub convert_slashes { - #my($self) = shift; - return 0; -} - - -sub parse_line { - my($self) = shift; - my($ih) = shift; - my($line) = shift; - my($status) = 1; - my($errorString) = ''; - - if ($line eq '') { - } - elsif ($line =~ /^(\w+)(\s*,\s*(.*))?$/) { - my($name) = $1; - my($value) = $3; - if (defined $value) { - $value =~ s/^\s+//; - $value =~ s/\s+$//; - } - $self->{'reldefs'}->{$name} = $value; - push(@{$self->{'relorder'}}, $name); - } - else { - $status = 0; - $errorString = "ERROR: Unrecognized line: $line"; - } - - return $status, $errorString; -} - - -sub optionError { - 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>] [-recurse]\n" . - $spaces . "[-ti <dll | lib | dll_exe | lib_exe>:<file>]\n" . - $spaces . "[-template <file>] [-relative NAME=VAR] [-base <project>]\n" . - $spaces . "[-noreldefs] [-notoplevel] [-static] [-static_only]\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 ' | '; - } - if ((($i + 1) % 6) == 0) { - print STDERR "\n$spaces "; - } - } - print STDERR ">]\n" . - $spaces . "[files]\n\n"; - - my($default) = $self->extractType($self->{'default'}); - print STDERR -" -base Add <project> as a base project to each generated\n" . -" project file.\n" . -" -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" . -" -static Specifies that static projects will be generated in\n" . -" addition to dynamic projects.\n" . -" -static_only Specifies that only static projects will be generated.\n" . -" -recurse Recurse from the current directory and generate from\n" . -" all found input files.\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" . -" -notoplevel Do not generate the top level target file. Files\n" . -" are still process, but no top level file is created.\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 run { - my($self) = shift; - my(@args) = @_; - my($status) = 0; - - ## 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) = $self->extractType($creator); - $self->{'types'}->{$tag} = $creator; - } - - ## Before we process the arguments, we will prepend the $cmdenv - ## environment variable. - if (defined $ENV{$cmdenv}) { - my($envargs) = $self->create_array($ENV{$cmdenv}); - unshift(@args, @$envargs); - } - - my($options) = $self->options($self->{'name'}, - $self->{'types'}, - 1, - @args); - if (!defined $options) { - return $status; - } - - ## Set up a hash that we can use to keep track of what - ## has been 'required' - my(%loaded) = (); - - ## Set up the default generator, if no type is selected - if (!defined $options->{'generators'}->[0]) { - push(@{$options->{'generators'}}, $self->{'default'}); - } - - if ($options->{'recurse'}) { - if (defined $options->{'input'}->[0]) { - ## This is an error. - ## -recurse was used and input files were specified. - $self->optionError('No files should be ' . - 'specified when using -recurse'); - } - else { - ## We have to load at least one generator here in order - ## to call the generate_recursive_input_list virtual function. - my($name) = $options->{'generators'}->[0]; - if (!$loaded{$name}) { - require "$name.pm"; - $loaded{$name} = 1; - } - - ## Generate the recursive input list - my($generator) = $name->new(); - my(@input) = $generator->generate_recursive_input_list('.'); - $options->{'input'} = \@input; - - ## If no files were found above, then we issue a warning - ## that we are going to use the default input - if (!defined $options->{'input'}->[0]) { - print "WARNING: No files were found using the -recurse option.\n" . - " Using the default input.\n"; - } - } - } - - ## Set up default values - if (!defined $options->{'input'}->[0]) { - push(@{$options->{'input'}}, ''); - } - if (!defined $options->{'global'}) { - my($global) = $self->{'path'} . '/config/global.mpb'; - if (-r $global) { - $options->{'global'} = $global; - } - } - ## Always add the default include paths - unshift(@{$options->{'include'}}, $self->{'path'} . '/templates'); - unshift(@{$options->{'include'}}, $self->{'path'} . '/config'); - - if ($options->{'reldefs'}) { - ## Only try to read the file if it exists - my($rel) = $self->{'path'} . '/config/default.rel'; - if (-r $rel) { - my($srel, $errorString) = $self->read_file($rel); - if (!$srel) { - print STDERR "$errorString\nin $rel\n"; - return $status; - } - } - - foreach my $key (@{$self->{'relorder'}}) { - if (defined $ENV{$key} && - !defined $options->{'relative'}->{$key}) { - $options->{'relative'}->{$key} = $ENV{$key}; - } - if (defined $self->{'reldefs'}->{$key} && - !defined $options->{'relative'}->{$key}) { - my($value) = $self->{'reldefs'}->{$key}; - if ($value =~ /\$(\w+)(.*)?/) { - my($var) = $1; - my($extra) = $2; - $options->{'relative'}->{$key} = - $options->{'relative'}->{$var} . $extra; - } - else { - $options->{'relative'}->{$key} = $value; - } - } - } - } - - ## Set up un-buffered output for the progress callback - $| = 1; - - ## Save the original directory outside of the loop - ## to avoid calling it multiple times. - my($orig_dir) = $self->getcwd(); - - ## Generate the files - foreach my $cfile (@{$options->{'input'}}) { - ## To correctly reference any pathnames in the input file, chdir to - ## its directory if there's any directory component to the specified path. - my($base) = basename($cfile); - foreach my $name (@{$options->{'generators'}}) { - if (!$loaded{$name}) { - require "$name.pm"; - $loaded{$name} = 1; - } - my($file) = $cfile; - my($generator) = $name->new($options->{'global'}, - $options->{'include'}, - $options->{'template'}, - $options->{'ti'}, - $options->{'dynamic'}, - $options->{'static'}, - $options->{'relative'}, - $options->{'addtemp'}, - $options->{'addproj'}, - (-t 1 ? \&progress : undef), - $options->{'toplevel'}, - $options->{'baseprojs'}); - if ($base ne $file) { - my($dir) = dirname($file); - if (!$generator->cd($dir)) { - print STDERR "ERROR: Unable to change to directory: $dir\n"; - $status++; - last; - } - $file = $base; - } - print 'Generating output using ' . - ($file eq '' ? 'default input' : $file) . "\n"; - print 'Start Time: ' . scalar(localtime(time())) . "\n"; - if (!$generator->generate($file)) { - print STDERR "ERROR: Unable to process: $file\n"; - $status++; - last; - } - print ' End Time: ' . scalar(localtime(time())) . "\n"; - $generator->cd($orig_dir); - } - if ($status) { - last; - } - } - - 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/bin/MakeProjectCreator/modules/EM3ProjectCreator.pm b/bin/MakeProjectCreator/modules/EM3ProjectCreator.pm deleted file mode 100644 index b15f24d9726..00000000000 --- a/bin/MakeProjectCreator/modules/EM3ProjectCreator.pm +++ /dev/null @@ -1,79 +0,0 @@ -package EM3ProjectCreator; - -# ************************************************************ -# Description : An eMbedded Visual C++ 3.00 Project Creator -# Author : Chad Elliott -# Create Date : 7/3/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; - -use VC6ProjectCreator; - -use vars qw(@ISA); -@ISA = qw(VC6ProjectCreator); - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub fill_value { - my($self) = shift; - my($name) = shift; - my($value) = undef; - - if ($name eq 'make_file_name') { - $value = $self->base_project_name() . '.vcn'; - } - - return $value; -} - - -sub project_file_name { - my($self) = shift; - return $self->project_name() . '.vcp'; -} - - -sub static_project_file_name { - my($self) = shift; - return $self->project_name() . $self->get_static_append() . '.vcp'; -} - - -sub get_dll_exe_template_input_file { - #my($self) = shift; - return 'em3vcpdllexe'; -} - - -sub get_lib_exe_template_input_file { - #my($self) = shift; - return 'em3vcplibexe'; -} - - -sub get_lib_template_input_file { - #my($self) = shift; - return 'em3vcplib'; -} - - -sub get_dll_template_input_file { - #my($self) = shift; - return 'em3vcpdll'; -} - - -sub get_template { - #my($self) = shift; - return 'em3vcp'; -} - - -1; diff --git a/bin/MakeProjectCreator/modules/EM3WorkspaceCreator.pm b/bin/MakeProjectCreator/modules/EM3WorkspaceCreator.pm deleted file mode 100644 index a149e551cf5..00000000000 --- a/bin/MakeProjectCreator/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/bin/MakeProjectCreator/modules/GHSProjectCreator.pm b/bin/MakeProjectCreator/modules/GHSProjectCreator.pm deleted file mode 100644 index 95302457818..00000000000 --- a/bin/MakeProjectCreator/modules/GHSProjectCreator.pm +++ /dev/null @@ -1,62 +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 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/bin/MakeProjectCreator/modules/GHSWorkspaceCreator.pm b/bin/MakeProjectCreator/modules/GHSWorkspaceCreator.pm deleted file mode 100644 index e26f2e51f0f..00000000000 --- a/bin/MakeProjectCreator/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 $self->get_modified_workspace_name('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/bin/MakeProjectCreator/modules/GNUACEProjectCreator.pm b/bin/MakeProjectCreator/modules/GNUACEProjectCreator.pm deleted file mode 100644 index a7c55ef5898..00000000000 --- a/bin/MakeProjectCreator/modules/GNUACEProjectCreator.pm +++ /dev/null @@ -1,202 +0,0 @@ -package GNUACEProjectCreator; - -# ************************************************************ -# Description : A GNU Project Creator for ACE -# Author : Chad Elliott -# Create Date : 3/13/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; -use File::Basename; - -use ProjectCreator; - -use vars qw(@ISA); -@ISA = qw(ProjectCreator); - -# ************************************************************ -# Data Section -# ************************************************************ - -my(%compscript) = ('ACE_COMPONENTS' => ['--ace', '--set'], - 'TAO_COMPONENTS' => ['--tao', '--set'], - 'ORBSVCS_COMPONENTS' => ['--orbsvcs', '--append'], - ); - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub sort_files { - #my($self) = shift; - return 0; -} - - -sub convert_slashes { - #my($self) = shift; - return 0; -} - - -sub fill_value { - my($self) = shift; - my($name) = shift; - my($value) = undef; - my($crlf) = $self->crlf(); - my($tag) = 'source_files'; - my($names) = $self->{$tag}; - - if ($name eq 'gnu_source_files') { - my(%vpath) = (); - $value = ''; - foreach my $name (keys %$names) { - my($comps) = $$names{$name}; - - foreach my $key (sort keys %$comps) { - my($a) = $$comps{$key}; - my(@arr) = @$a; - my($cpy) = $key; - - $cpy =~ s/^\d+_//; - $value .= "$crlf$crlf$cpy = \\"; - for(my $i = 0; $i <= $#arr; $i++) { - my($item) = $arr[$i]; - my($dname) = dirname($item); - - $item =~ s/\.[^\.]+$//; - if ($dname ne '.' && $dname !~ /^\.\.\//) { - $vpath{$dname} = 1; - } - $value .= "$crlf $item" . ($i != $#arr ? " \\" : ''); - } - } - } - foreach my $name (keys %$names) { - my($fname) = ''; - my($comps) = $$names{$name}; - foreach my $key (sort keys %$comps) { - $fname = $key; - $fname =~ s/^\d+_//; - last; - } - - if ($name ne 'default') { - $fname = 'FILES'; - $value .= "$crlf$crlf" . "ifndef $name$crlf" . - " $name = \\$crlf"; - my(@keys) = sort keys %$comps; - for(my $i = 0; $i <= $#keys; $i++) { - $keys[$i] =~ s/^\d+_//; - my($key) = $keys[$i]; - $value .= " $key" . ($i != $#keys ? " \\" : '') . $crlf; - } - $value .= "endif # $name"; - - foreach my $key (@keys) { - $value .= "$crlf$crlf" . "ifneq (,\$(findstring $key, \$($name)))$crlf" . - " $fname += \$($key)$crlf" . - "endif # $key"; - } - } - } - my(@vkeys) = sort keys %vpath; - if ($#vkeys >= 0) { - $value .= "$crlf$crlf" . 'VPATH = .'; - foreach my $key (@vkeys) { - $value .= ":$key"; - } - } - } - elsif ($name eq 'build') { - foreach my $name (keys %$names) { - if ($name ne 'default') { - if (!defined $value) { - $value = 'BUILD +='; - } - $value .= " $name"; - } - } - } - elsif ($name eq 'comptarget') { - foreach my $name (keys %$names) { - if (defined $compscript{$name}) { - if (!defined $value) { - $value = ''; - } - $value .= "$crlf.PHONY: $name$crlf" . - "$name:$crlf" . - "\t\@sh \$(ACE_ROOT)/bin/ace_components $compscript{$name}->[0] $compscript{$name}->[1] '\$($name)'$crlf$crlf" . - "compclean:$crlf" . - "\t\@sh \$(ACE_ROOT)/bin/ace_components $compscript{$name}->[0] --remove"; - } - } - } - elsif ($name eq 'compclean') { - foreach my $name (keys %$names) { - if (defined $compscript{$name}) { - $value = 'compclean'; - last; - } - } - } - elsif ($name eq 'notdirfiles') { - $value = '$(notdir $(FILES))'; - foreach my $name (keys %$names) { - my($comps) = $$names{$name}; - foreach my $key (keys %$comps) { - my($arr) = $$comps{$key}; - foreach my $file (@$arr) { - if ($file =~ /^\.\.\//) { - $value = '$(FILES)'; - last; - } - } - } - } - } - elsif ($name eq 'tao') { - if ($self->get_assignment('includes') =~ /tao/i || - $self->get_assignment('libpaths') =~ /tao/i) { - $value = 1; - } - } - - return $value; -} - - -sub project_file_name { - my($self) = shift; - my($name) = shift; - - if (!defined $name) { - $name = $self->project_name(); - } - - return 'Makefile' . ($name eq '' ? '' : ".$name"); -} - - -sub get_dll_exe_template_input_file { - #my($self) = shift; - return 'gnuexe'; -} - - -sub get_dll_template_input_file { - #my($self) = shift; - return 'gnudll'; -} - - -sub get_template { - #my($self) = shift; - return 'gnu'; -} - -1; diff --git a/bin/MakeProjectCreator/modules/GNUACEWorkspaceCreator.pm b/bin/MakeProjectCreator/modules/GNUACEWorkspaceCreator.pm deleted file mode 100644 index 9c00bc944b2..00000000000 --- a/bin/MakeProjectCreator/modules/GNUACEWorkspaceCreator.pm +++ /dev/null @@ -1,98 +0,0 @@ -package GNUACEWorkspaceCreator; - -# ************************************************************ -# Description : A GNU Workspace (Makefile) creator for ACE -# Author : Chad Elliott -# Create Date : 5/13/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; -use File::Basename; - -use GNUACEProjectCreator; -use WorkspaceCreator; - -use vars qw(@ISA); -@ISA = qw(WorkspaceCreator); - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub workspace_file_name { - my($self) = shift; - return $self->get_modified_workspace_name('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 "#----------------------------------------------------------------------------$crlf" . - "# GNU Workspace$crlf" . - "#----------------------------------------------------------------------------$crlf" . - $crlf; -} - - -sub write_comps { - my($self) = shift; - my($fh) = shift; - my($projects) = $self->get_projects(); - my($pjs) = $self->get_project_info(); - my(@list) = $self->sort_dependencies($projects, $pjs); - my($crlf) = $self->crlf(); - - ## Print out the projet Makefile - print $fh "include \$(ACE_ROOT)/include/makeinclude/macros.GNU$crlf" . - "TARGETS_NESTED := \$(TARGETS_NESTED:.nested=)$crlf"; - - ## Only use the list if there is more than one project - if ($#list > 0) { - print $fh "MFILES = \\$crlf"; - for(my $i = 0; $i <= $#list; $i++) { - print $fh " $list[$i]"; - if ($i != $#list) { - print $fh ' \\'; - } - print $fh $crlf; - } - } - - print $fh $crlf . - "\$(TARGETS_NESTED):$crlf" . - "ifneq (Windows,\$(findstring Windows,\$(OS)))$crlf"; - - ## If there is more than one project, use a for loop - if ($#list > 0) { - print $fh "\t\@for file in \$(MFILES); do \\$crlf" . - "\t\$(MAKE) -f `basename \$\$file` -C `dirname \$\$file` \$(\@); \\$crlf" . - "\tdone$crlf"; - } - else { - ## Otherwise, just list the call to make without a for loop - print $fh "\t\@\$(MAKE) -f " . basename($list[0]) . ' -C ' . dirname($list[0]) . " \$(\@);$crlf"; - } - - print $fh "else$crlf"; - foreach my $project (@list) { - print $fh "\t-\@cmd /c \"\$(MAKE) -f " . basename($project) . ' -C ' . dirname($project) . " \$(\@)\"$crlf"; - } - print $fh "endif$crlf"; -} - - - -1; diff --git a/bin/MakeProjectCreator/modules/GUID.pm b/bin/MakeProjectCreator/modules/GUID.pm deleted file mode 100644 index 015db9c2a47..00000000000 --- a/bin/MakeProjectCreator/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/bin/MakeProjectCreator/modules/MakeProjectCreator.pm b/bin/MakeProjectCreator/modules/MakeProjectCreator.pm deleted file mode 100644 index c852fca6905..00000000000 --- a/bin/MakeProjectCreator/modules/MakeProjectCreator.pm +++ /dev/null @@ -1,65 +0,0 @@ -package MakeProjectCreator; - -# ************************************************************ -# Description : A Generic Make Project Creator -# Author : Chad Elliott -# Create Date : 2/18/2003 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; - -use ProjectCreator; - -use vars qw(@ISA); -@ISA = qw(ProjectCreator); - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub sort_files { - #my($self) = shift; - return 0; -} - - -sub convert_slashes { - #my($self) = shift; - return 0; -} - - -sub project_file_name { - my($self) = shift; - my($name) = shift; - - if (!defined $name) { - $name = $self->project_name(); - } - - return 'Makefile' . ($name eq '' ? '' : ".$name"); -} - - -sub get_dll_exe_template_input_file { - #my($self) = shift; - return 'makeexe'; -} - - -sub get_dll_template_input_file { - #my($self) = shift; - return 'makedll'; -} - - -sub get_template { - #my($self) = shift; - return 'make'; -} - -1; diff --git a/bin/MakeProjectCreator/modules/MakeWorkspaceCreator.pm b/bin/MakeProjectCreator/modules/MakeWorkspaceCreator.pm deleted file mode 100644 index 99675f875fc..00000000000 --- a/bin/MakeProjectCreator/modules/MakeWorkspaceCreator.pm +++ /dev/null @@ -1,98 +0,0 @@ -package MakeWorkspaceCreator; - -# ************************************************************ -# Description : A Generic Workspace (Makefile) creator -# Author : Chad Elliott -# Create Date : 2/18/2003 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; -use File::Basename; - -use MakeProjectCreator; -use WorkspaceCreator; - -use vars qw(@ISA); -@ISA = qw(WorkspaceCreator); - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub workspace_file_name { - my($self) = shift; - return $self->get_modified_workspace_name('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 "#----------------------------------------------------------------------------$crlf" . - "# Make Workspace$crlf" . - "#----------------------------------------------------------------------------$crlf" . - $crlf; -} - - -sub write_comps { - my($self) = shift; - my($fh) = shift; - my($projects) = $self->get_projects(); - my($pjs) = $self->get_project_info(); - my(@list) = $self->sort_dependencies($projects, $pjs); - my($crlf) = $self->crlf(); - - ## Only use the list if there is more than one project - if ($#list > 0) { - print $fh "MFILES = \\$crlf"; - for(my $i = 0; $i <= $#list; $i++) { - print $fh " $list[$i]"; - if ($i != $#list) { - print $fh " \\"; - } - print $fh $crlf; - } - } - - ## Print out the projet Makefile - print $fh $crlf . - "all clean realclean:$crlf"; - - ## If there is more than one project, use a for loop - if ($#list > 0) { - print $fh "\t\@for file in \$(MFILES); do \\$crlf" . - "\told=`pwd`; \\$crlf" . - "\tcd `dirname \$\$file`; \\$crlf" . - "\t\$(MAKE) -f `basename \$\$file` \$(\@); \\$crlf" . - "\tcd \$\$old; \\$crlf" . - "\tdone$crlf"; - } - else { - ## Otherwise, just list the call to make without a for loop - print $fh "\t\@"; - my($dname) = dirname($list[0]); - if ($dname ne '.') { - print $fh "cd $dname && "; - } - print $fh "\$(MAKE) -f " . - ($dname eq '.' ? $list[0] : basename($list[0])) . - " \$(\@);$crlf"; - } -} - - - -1; diff --git a/bin/MakeProjectCreator/modules/NMakeProjectCreator.pm b/bin/MakeProjectCreator/modules/NMakeProjectCreator.pm deleted file mode 100644 index e6709bf3a1a..00000000000 --- a/bin/MakeProjectCreator/modules/NMakeProjectCreator.pm +++ /dev/null @@ -1,66 +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 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/bin/MakeProjectCreator/modules/NMakeWorkspaceCreator.pm b/bin/MakeProjectCreator/modules/NMakeWorkspaceCreator.pm deleted file mode 100644 index 553edfce8e6..00000000000 --- a/bin/MakeProjectCreator/modules/NMakeWorkspaceCreator.pm +++ /dev/null @@ -1,121 +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 $self->get_modified_workspace_name('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(); - my($default) = 'Win32 Debug'; - - ## Determine the default configuration - foreach my $project (keys %$pjs) { - my($name, $deps, $pguid, @cfgs) = @{$pjs->{$project}}; - @cfgs = sort @cfgs; - if (defined $cfgs[0]) { - $default = $cfgs[0]; - $default =~ s/(.*)\|(.*)/$2 $1/; - last; - } - } - - ## Print out the content - print $fh '!IF "$(CFG)" == ""' . $crlf . - 'CFG=' . $default . $crlf . - '!MESSAGE No configuration specified. ' . - 'Defaulting to ' . $default . '.' . $crlf . - '!ENDIF' . $crlf; - - foreach my $target ('ALL', 'DEPEND', 'IDL_STUBS', 'CLEAN', 'REALCLEAN') { - print $fh $crlf . - $target . ':' . $crlf; - $self->write_project_targets($fh, 'CFG="$(CFG)" ' . $target, \@list); - } -} - - - -1; diff --git a/bin/MakeProjectCreator/modules/Options.pm b/bin/MakeProjectCreator/modules/Options.pm deleted file mode 100644 index db3295bab8b..00000000000 --- a/bin/MakeProjectCreator/modules/Options.pm +++ /dev/null @@ -1,297 +0,0 @@ -package Options; - -# ************************************************************ -# Description : Process mpc command line options -# Author : Chad Elliott -# Create Date : 3/20/2003 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub optionError { - #my($self) = shift; - #my($str) = shift; -} - - -sub completion_command { - my($self) = shift; - my($name) = shift; - my($types) = shift; - my($str) = "complete $name " . - "'c/-/(global include type template relative " . - "ti static noreldefs notoplevel " . - "value_template value_project)/' " . - "'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 %$types; - for(my $i = 0; $i <= $#keys; $i++) { - $str .= $keys[$i]; - if ($i != $#keys) { - $str .= " "; - } - } - $str .= ")/'"; - return $str; -} - - -sub options { - my($self) = shift; - my($name) = shift; - my($types) = shift; - my($defaults) = shift; - my(@args) = @_; - my(@include) = (); - my(@input) = (); - my(@generators) = (); - my(@baseprojs) = (); - my(%ti) = (); - my(%relative) = (); - my(%addtemp) = (); - my(%addproj) = (); - my($global) = undef; - my($template) = undef; - my($dynamic) = ($defaults ? 1 : undef); - my($reldefs) = ($defaults ? 1 : undef); - my($toplevel) = ($defaults ? 1 : undef); - my($static) = ($defaults ? 0 : undef); - my($recurse) = ($defaults ? 0 : undef); - - ## Process the command line arguments - for(my $i = 0; $i <= $#args; $i++) { - my($arg) = $args[$i]; - if ($arg eq '-complete') { - print $self->completion_command($name, $types) . "\n"; - return undef; - } - elsif ($arg eq '-base') { - $i++; - if (!defined $args[$i]) { - $self->optionError('-base requires an argument'); - } - else { - push(@baseprojs, $args[$i]); - } - } - elsif ($arg eq '-type') { - $i++; - if (!defined $args[$i]) { - $self->optionError('-type requires an argument'); - } - else { - my($type) = lc($args[$i]); - if (defined $types->{$type}) { - my($call) = $types->{$type}; - my($found) = 0; - foreach my $generator (@generators) { - if ($generator eq $call) { - $found = 1; - last; - } - } - if (!$found) { - push(@generators, $call); - } - } - else { - $self->optionError("Invalid type: $args[$i]"); - } - } - } - elsif ($arg eq '-global') { - $i++; - $global = $args[$i]; - if (!defined $global) { - $self->optionError('-global requires a file name argument'); - } - } - elsif ($arg eq '-include') { - $i++; - my($include) = $args[$i]; - if (!defined $include) { - $self->optionError('-include requires a directory argument'); - } - else { - push(@include, $include); - } - } - elsif ($arg eq '-noreldefs') { - $reldefs = 0; - } - elsif ($arg eq '-notoplevel') { - $toplevel = 0; - } - elsif ($arg eq '-recurse') { - $recurse = 1; - } - elsif ($arg eq '-template') { - $i++; - $template = $args[$i]; - if (!defined $template) { - $self->optionError('-template requires a file name argument'); - } - } - elsif ($arg eq '-relative') { - $i++; - my($rel) = $args[$i]; - if (!defined $rel) { - $self->optionError('-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->optionError('Invalid option to -relative'); - } - } - } - elsif ($arg eq '-ti') { - $i++; - my($tmpi) = $args[$i]; - if (!defined $tmpi) { - $self->optionError('-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->optionError("Invalid -ti argument: $tmpi"); - } - } - } - elsif ($arg eq '-value_template') { - $i++; - my($value) = $args[$i]; - if (!defined $value) { - $self->optionError('-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->optionError('Invalid option to -value_template'); - } - } - } - elsif ($arg eq '-value_project') { - $i++; - my($value) = $args[$i]; - if (!defined $value) { - $self->optionError('-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->optionError('Invalid option to -value_project'); - } - } - } - elsif ($arg eq '-static') { - $static = 1; - } - elsif ($arg eq '-static_only') { - $static = 1; - $dynamic = 0; - } - elsif ($arg =~ /^-/) { - $self->optionError("Unknown option: $arg"); - } - else { - push(@input, $arg); - } - } - - my(%options) = ('global' => $global, - 'include' => \@include, - 'input' => \@input, - 'generators' => \@generators, - 'baseprojs' => \@baseprojs, - 'template' => $template, - 'ti' => \%ti, - 'dynamic' => $dynamic, - 'static' => $static, - 'relative' => \%relative, - 'reldefs' => $reldefs, - 'toplevel' => $toplevel, - 'recurse' => $recurse, - 'addtemp' => \%addtemp, - 'addproj' => \%addproj, - ); - - return \%options; -} - - -sub is_set { - my($self) = shift; - my($key) = shift; - my($options) = shift; - - if (UNIVERSAL::isa($options->{$key}, 'ARRAY')) { - if (defined $options->{$key}->[0]) { - return 'ARRAY'; - } - } - elsif (UNIVERSAL::isa($options->{$key}, 'HASH')) { - my(@keys) = keys %{$options->{$key}}; - if (defined $keys[0]) { - return 'HASH'; - } - } - elsif (defined $options->{$key}) { - return 'SCALAR'; - } - - return undef; -} - -1; diff --git a/bin/MakeProjectCreator/modules/Parser.pm b/bin/MakeProjectCreator/modules/Parser.pm deleted file mode 100644 index 1376c8ac408..00000000000 --- a/bin/MakeProjectCreator/modules/Parser.pm +++ /dev/null @@ -1,175 +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; - -use StringProcessor; - -use vars qw(@ISA); -@ISA = qw(StringProcessor); - -# ************************************************************ -# Data Section -# ************************************************************ - -my($cwd) = Cwd::getcwd(); - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub new { - my($class) = shift; - my($inc) = shift; - my($self) = $class->SUPER::new(); - - $self->{'line_number'} = 0; - $self->{'include'} = $inc; - - return $self; -} - - -sub cd { - my($self) = shift; - my($dir) = shift; - my($status) = chdir($dir); - if ($status && $dir ne '.') { - if ($dir =~ /^\// || $dir =~ /^[A-Za-z]:/) { - $cwd = $dir; - } - else { - $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 collect_line { - my($self) = shift; - my($fh) = shift; - my($lref) = shift; - my($line) = shift; - - $$lref = $self->strip_line($line); - return $self->parse_line($fh, $$lref); -} - - -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)) { - my($line) = ""; - while(<$ih>) { - ($status, $errorString) = $self->collect_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 slash_to_backslash { - my($self) = shift; - my($file) = shift; - $file =~ s/\//\\/g; - return $file; -} - - -sub get_include_path { - my($self) = shift; - return $self->{'include'}; -} - - -sub search_include_path { - my($self) = shift; - my($file) = shift; - my($found) = undef; - - foreach my $include (@{$self->{'include'}}) { - if (-r "$include/$file") { - $found = "$include/$file"; - last; - } - } - return $found; -} - - -# ************************************************************ -# Virtual Methods To Be Overridden -# ************************************************************ - -sub convert_slashes { - #my($self) = shift; - return 1; -} - - -sub parse_line { - #my($self) = shift; - #my($ih) = shift; - #my($line) = shift; -} - - -1; diff --git a/bin/MakeProjectCreator/modules/ProjectCreator.pm b/bin/MakeProjectCreator/modules/ProjectCreator.pm deleted file mode 100644 index 112e6f75fe5..00000000000 --- a/bin/MakeProjectCreator/modules/ProjectCreator.pm +++ /dev/null @@ -1,1663 +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, - 'lit_libs' => 1, - 'pch_header' => 1, - 'pch_source' => 1, - 'ssl' => 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($toplevel) = shift; - my($baseprojs) = shift; - my($self) = Creator::new($class, $global, $inc, - $template, $ti, $dynamic, $static, - $relative, $addtemp, $addproj, - $progress, $toplevel, $baseprojs, - 'project'); - - $self->{$self->{'type_check'}} = 0; - $self->{'project_info'} = []; - $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->{'flag_overrides'} = {}; - $self->{'special_supplied'} = {}; - - ## 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' ]; - $self->{'type_specific_assign'} = {}; - $self->{'pctype'} = $self->extractType("$self"); - - ## 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(); - - ## Fill in type specific assignments - my($tsa) = $self->{'type_specific_assign'}->{$self->{'pctype'}}; - if (defined $tsa) { - foreach my $key (keys %$tsa) { - $self->process_assignment_add($key, $$tsa{$key}); - } - } - - ## 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->{'type_specific_assign'} = {}; - } - } - $self->{$typecheck} = 0; - $self->{'idl_defaulted'} = 0; - $self->{'flag_overrides'} = {}; - $self->{'source_defaulted'} = 0; - $self->{'special_supplied'} = {}; - } - else { - ## Project Beginning - ## Deal with the inheritance hiearchy first - my($parents) = $values[2]; - - ## Add in the base projects from the command line - if (!$self->{'reading_global'} && - !defined $self->{'reading_parent'}->[0]) { - my($baseprojs) = $self->get_baseprojs(); - - if (defined $parents) { - foreach my $base (@$baseprojs) { - my($found) = 0; - foreach my $parent (@$parents) { - if ($base eq $parent) { - $found = 1; - last; - } - } - if (!$found) { - push(@$parents, $base); - } - } - } - else { - $parents = $baseprojs; - } - } - - 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; - } - } - elsif ($comp eq 'specific') { - ($status, $errorString) = $self->parse_scope( - $ih, $values[1], $values[2], \%validNames, - $self->{'type_specific_assign'}->{$self->{'pctype'}}); - } - 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} = []; - } - - foreach my $special (@specialComponents) { - if ($special eq $tag) { - $self->{'special_supplied'}->{$tag} = 1; - last; - } - } - - 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 handle_scoped_end { - my($self) = shift; - my($type) = shift; - my($flags) = shift; - - if (defined $self->{'type_specific_assign'}->{$type}) { - foreach my $key (keys %$flags) { - $self->{'type_specific_assign'}->{$type}->{$key} = $$flags{$key}; - } - } - else { - $self->{'type_specific_assign'}->{$type} = $flags; - } -} - - -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($self->get_include_path()); - ($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; - - 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 it's neither an exe or library target, we will search - ## through the source files for a main() - if (!$self->lib_target()) { - my($fh) = new FileHandle(); - my($exename) = undef; - foreach my $file ($self->get_component_list('source_files')) { - if (open($fh, $file)) { - while(<$fh>) { - ## Remove c++ comments (ignore c style comments for now) - $_ =~ s/\/\/.*//; - - ## Check for main - if (/(main|ACE_MAIN|ACE_WMAIN|ACE_TMAIN)\s*\(/) { - ## If we found a main, set the exename to the basename - ## of the cpp file with the extension removed - $exename = basename($file); - $exename =~ s/\.[^\.]+$//; - last; - } - } - close($fh); - } - - ## Set the exename assignment - if (defined $exename) { - $self->process_assignment('exename', $exename); - last; - } - } - } - } -} - - -sub generate_default_pch_filenames { - my($self) = shift; - my($files) = shift; - my($pname) = $self->get_assignment('project_name'); - - if (!defined $self->get_assignment('pch_header')) { - my($count) = 0; - my($matching) = undef; - foreach my $file (@$files) { - foreach my $ext (@{$self->{'valid_components'}->{'header_files'}}) { - if ($file =~ /(.*_pch$ext)/) { - $self->process_assignment('pch_header', $1); - ++$count; - if ($file =~ /$pname/) { - $matching = $file; - } - last; - } - } - } - if ($count > 1 && defined $matching) { - $self->process_assignment('pch_header', $matching); - } - } - - if (!defined $self->get_assignment('pch_source')) { - my($count) = 0; - my($matching) = undef; - foreach my $file (@$files) { - foreach my $ext (@{$self->{'valid_components'}->{'source_files'}}) { - if ($file =~ /(.*_pch$ext)/) { - $self->process_assignment('pch_source', $1); - ++$count; - if ($file =~ /$pname/) { - $matching = $file; - } - last; - } - } - } - if ($count > 1 && defined $matching) { - $self->process_assignment('pch_source', $matching); - } - } -} - - -sub fix_pch_filenames { - my($self) = shift; - foreach my $type ('pch_header', 'pch_source') { - if ($self->get_assignment($type) eq '') { - $self->process_assignment($type, undef); - } - } -} - - -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; - } - 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 remove_duplicated_files { - my($self) = shift; - my($dest) = shift; - my($source) = shift; - my($names) = $self->{$dest}; - my(@slist) = $self->get_component_list($source); - - ## Find out which source files are listed - foreach my $name (keys %$names) { - my($comps) = $$names{$name}; - foreach my $key (keys %$comps) { - my($array) = $$comps{$key}; - my($count) = scalar(@$array); - for(my $i = 0; $i < $count; ++$i) { - foreach my $sfile (@slist) { - ## Is the source file is in the component array? - if ($$array[$i] eq $sfile) { - ## Remove the element and fix the index and count - splice(@$array, $i, 1); - --$count; - --$i; - last; - } - } - } - } - } -} - - -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 $idlfile (@idl) { - my($idl) = $self->escape_regex_special($idlfile); - 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; - - ## Generate default project name - if (!defined $self->get_assignment('project_name')) { - my($current) = $self->get_current_input(); - if ($current eq '') { - $self->process_assignment('project_name', $self->base_directory()); - } - else { - $current =~ s/\.[^\.]+$//; - $self->process_assignment('project_name', $current); - } - } - - ## Generate the default pch file names (if needed) - my(@files) = $self->generate_default_file_list(); - $self->generate_default_pch_filenames(\@files); - - ## If the pch file names are empty strings then we need to fix that - $self->fix_pch_filenames(); - - ## Generate default components, but @specialComponents - ## are skipped in the initial default components generation - $self->generate_default_components(\@files); - - ## Remove source files that are also listed in the template files - ## If we do not do this, then generated projects can be invalid. - $self->remove_duplicated_files('source_files', 'template_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) { - if (!$self->{'special_supplied'}->{$tag}) { - 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); - } - } - } - } - } - } - - ## Generate default target names after all source files are added - $self->generate_default_target_names(); -} - - -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_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 need_to_write_project { - my($self) = shift; - foreach my $key (keys %{$self->{'valid_components'}}) { - my($names) = $self->{$key}; - foreach my $name (keys %$names) { - foreach my $key (sort keys %{$names->{$name}}) { - if (defined $names->{$name}->{$key}->[0]) { - return 1; - } - } - } - } - - return 0; -} - - -sub write_output_file { - my($self) = shift; - my($name) = shift; - my($status) = 0; - my($error) = ''; - 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) { - ## 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 ($self->get_toplevel()) { - my($fh) = new FileHandle(); - my($dir) = dirname($name); - - if ($dir ne '.') { - mkpath($dir, 0, 0777); - } - - if (open($fh, ">$name")) { - my($lines) = $tp->get_lines(); - foreach my $line (@$lines) { - print $fh $line; - } - close($fh); - - $self->add_file_written($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(); - } - - if ($self->need_to_write_project()) { - ## Writing the non-static file so set it to 0 - if ($self->get_dynamic()) { - $self->{'writing_type'} = 0; - $self->process_assignment('project_name', - $prjname . $self->get_type_append()); - ($status, $error) = $self->write_output_file($name); - } - - if ($status && $self->get_static() && $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_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->{'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($str) = undef; - my($thash) = $self->{'verbatim'}->{$self->{'pctype'}}; - - 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; -} - - -sub generate_recursive_input_list { - my($self) = shift; - my($dir) = shift; - return $self->extension_recursive_input_list($dir, - $ProjectCreatorExtension); -} - -# ************************************************************ -# 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; - - 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 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/bin/MakeProjectCreator/modules/StringProcessor.pm b/bin/MakeProjectCreator/modules/StringProcessor.pm deleted file mode 100644 index 9bb05eb5665..00000000000 --- a/bin/MakeProjectCreator/modules/StringProcessor.pm +++ /dev/null @@ -1,106 +0,0 @@ -package StringProcessor; - -# ************************************************************ -# Description : Perform various algorithms on strings -# Author : Chad Elliott -# Create Date : 3/07/2003 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub new { - my($class) = shift; - my($self) = bless { - }, $class; - return $self; -} - - -sub extractType { - my($self) = shift; - my($name) = shift; - my($type) = $name; - - if ($name =~ /(.*)(Project|Workspace)Creator/) { - $type = $1; - } - - return lc($type); -} - - -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 create_array { - my($self) = shift; - my($line) = shift; - my(@array) = (); - my($length) = length($line); - my($prev) = 0; - my($double) = 0; - my($single) = 0; - - for(my $i = 0; $i <= $length; $i++) { - my($ch) = substr($line, $i, 1); - if (!$double && !$single && ($ch eq '' || $ch =~ /\s/)) { - my($val) = substr($line, $prev, $i - $prev); - $val =~ s/^\s+//; - $val =~ s/\s+$//; - if ($val =~ /^\"(.*)\"$/) { - $val = $1; - } - elsif ($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; - } - elsif ($ch eq "'") { - $single ^= 1; - } - } - return \@array; -} - - -1; diff --git a/bin/MakeProjectCreator/modules/TemplateInputReader.pm b/bin/MakeProjectCreator/modules/TemplateInputReader.pm deleted file mode 100644 index 40f663ca253..00000000000 --- a/bin/MakeProjectCreator/modules/TemplateInputReader.pm +++ /dev/null @@ -1,143 +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); - -# ************************************************************ -# Data Section -# ************************************************************ - -my($mpt) = 'mpt'; - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub new { - my($class) = shift; - my($inc) = shift; - my($self) = Parser::new($class, $inc); - - $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($op) = $2; - my($value) = $3; - - if (defined $value) { - $value = $self->create_array($value); - } - else { - $value = ''; - } - - if ($op eq '+=') { - my($ref) = $$current[$self->{'cindex'}]->{$name}; - if (defined $ref) { - if (UNIVERSAL::isa($ref, 'ARRAY')) { - if (UNIVERSAL::isa($value, 'ARRAY')) { - push(@$ref, @$value); - } - else { - push(@$ref, $value); - } - } - else { - if (UNIVERSAL::isa($value, 'ARRAY')) { - $$current[$self->{'cindex'}]->{$name} .= " @$value"; - } - else { - $$current[$self->{'cindex'}]->{$name} .= $value; - } - } - } - else { - $$current[$self->{'cindex'}]->{$name} = $value; - } - } - else { - if (!$$current[$self->{'cindex'}]->{$name}) { - $$current[$self->{'cindex'}]->{$name} = $value; - } - else { - $status = 0; - $errorString = "ERROR: Redifinition of '$name'"; - } - } - } - elsif ($line =~ /^conditional_include\s+"([\w\s\-\+\/\\\.]+)"$/) { - my($file) = $self->search_include_path("$1.$mpt"); - if (defined $file) { - my($ol) = $self->{'line_number'}; - ($status, $errorString) = $self->read_file($file); - $self->{'line_number'} = $ol; - } - } - 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/bin/MakeProjectCreator/modules/TemplateParser.pm b/bin/MakeProjectCreator/modules/TemplateParser.pm deleted file mode 100644 index 386299532c0..00000000000 --- a/bin/MakeProjectCreator/modules/TemplateParser.pm +++ /dev/null @@ -1,1008 +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'}->{'name'} = []; - $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; - my($set) = 0; - - ## 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 - if (defined $self->{'ti'}) { - my($counter) = $self->{'foreach'}->{'count'}; - if ($counter >= 0) { - my($value) = $self->{'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; - $set = 1; - } - } - } - return $set; -} - - -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; - my($current) = $cwd; - substr($current, 0, length($val)) = ''; - while($current =~ /^\\/) { - $current =~ s/^\///; - } - my($length) = length($current); - for(my $i = 0; $i < $length; ++$i) { - if (substr($current, $i, 1) eq '/') { - ++$count; - } - } - $val = '../' x $count; - $val =~ s/\/$//; - if ($self->{'prjc'}->convert_slashes()) { - $val = $self->slash_to_backslash($val); - } - substr($value, $start) =~ s/\$\([^)]+\)/$val/; - $whole = $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}; - if (!defined $value) { - ## Call back onto the project creator to allow - ## it to fill in the value before defaulting to undef. - $value = $self->{'prjc'}->fill_value($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) { -# print "DEBUG: WARNING: $name defaulting to empty string\n"; - $value = ''; - } - else { -# print "DEBUG: WARNING: $name using default value of $value\n"; - $value = $self->adjust_value($name, $value); - } - $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) = $self->{'foreach'}->{'name'}->[$index]; - - 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; - $name =~ s/s$//; - } - } - - ## Reset the text (it will be regenerated by calling parse_line - $self->{'foreach'}->{'text'}->[$index] = ''; - - if (defined $values[0]) { - my($scope) = $self->{'foreach'}->{'scope'}->[$index]; - - $$scope{'forlast'} = 0; - $$scope{'fornotlast'} = 1; - $$scope{'forfirst'} = 1; - $$scope{'fornotfirst'} = 0; - - ## If the foreach values are mixed (HASH and SCALAR), then - ## remove the SCALAR values. - my($pset) = undef; - for(my $i = 0; $i <= $#values; ++$i) { - my($set) = $self->set_current_values($values[$i]); - if (!defined $pset) { - $pset |= $set; - } - else { - if ($pset && !$set) { - splice(@values, $i, 1); - $i = 0; - $pset = undef; - } - } - } - - 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{$name} = $value; - - ## A tiny hack for VC7 - if ($name 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'}) { - my($vname) = undef; - if ($val =~ /([^,]+),(.*)/) { - $vname = $1; - $val = $2; - $vname =~ s/^\s+//; - $vname =~ s/\s+$//; - $val =~ s/^\s+//; - $val =~ s/\s+$//; - } - - push(@{$self->{'sstack'}}, $name); - ++$self->{'foreach'}->{'count'}; - - my($index) = $self->{'foreach'}->{'count'}; - $self->{'foreach'}->{'name'}->[$index] = $vname; - $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/bin/MakeProjectCreator/modules/VA4ProjectCreator.pm b/bin/MakeProjectCreator/modules/VA4ProjectCreator.pm deleted file mode 100644 index 942be40a726..00000000000 --- a/bin/MakeProjectCreator/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/bin/MakeProjectCreator/modules/VA4WorkspaceCreator.pm b/bin/MakeProjectCreator/modules/VA4WorkspaceCreator.pm deleted file mode 100644 index 53b649696be..00000000000 --- a/bin/MakeProjectCreator/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/bin/MakeProjectCreator/modules/VC6ProjectCreator.pm b/bin/MakeProjectCreator/modules/VC6ProjectCreator.pm deleted file mode 100644 index f2d4fccdeab..00000000000 --- a/bin/MakeProjectCreator/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/bin/MakeProjectCreator/modules/VC6WorkspaceCreator.pm b/bin/MakeProjectCreator/modules/VC6WorkspaceCreator.pm deleted file mode 100644 index bdb9954ff2a..00000000000 --- a/bin/MakeProjectCreator/modules/VC6WorkspaceCreator.pm +++ /dev/null @@ -1,132 +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(); - my(%names) = (); - my($dupfound) = 0; - - foreach my $project (@$projects) { - my($pi) = $$pjs{$project}; - my($name, $deps) = @$pi; - if (defined $names{$name}) { - ## Having duplicate project names is an error in a VC6 Workspace. - ## We will create the project, but we will warn the user that - ## the project has duplicate names and will not load properly. - print "WARNING: A project with the following name " . - "has already been added: '$name'\n"; - ++$dupfound; - } - else { - $names{$name} = 1; - } - - ## 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"; - } - - if ($dupfound > 0) { - print "WARNING: $dupfound duplicate project" . - ($dupfound == 1 ? '' : 's') . - " found. This workspace will not load properly.\n"; - } -} - - -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/bin/MakeProjectCreator/modules/VC7ProjectCreator.pm b/bin/MakeProjectCreator/modules/VC7ProjectCreator.pm deleted file mode 100644 index 30191fd7cbc..00000000000 --- a/bin/MakeProjectCreator/modules/VC7ProjectCreator.pm +++ /dev/null @@ -1,104 +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 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/bin/MakeProjectCreator/modules/VC7WorkspaceCreator.pm b/bin/MakeProjectCreator/modules/VC7WorkspaceCreator.pm deleted file mode 100644 index da47350d5bc..00000000000 --- a/bin/MakeProjectCreator/modules/VC7WorkspaceCreator.pm +++ /dev/null @@ -1,130 +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 (sort @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 && $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 (sort @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/bin/MakeProjectCreator/modules/WorkspaceCreator.pm b/bin/MakeProjectCreator/modules/WorkspaceCreator.pm deleted file mode 100644 index 2901fdac8b9..00000000000 --- a/bin/MakeProjectCreator/modules/WorkspaceCreator.pm +++ /dev/null @@ -1,815 +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 Options; - -use vars qw(@ISA); -@ISA = qw(Creator Options); - -# ************************************************************ -# Data Section -# ************************************************************ - -my($wsext) = 'mwc'; -my($wsbase) = 'mwb'; - -## Valid names for assignments within a workspace -my(%validNames) = ('cmdline' => 1, - 'implicit' => 1, - ); - -## Singleton hash maps of project information -my(%allprinfo) = (); -my(%allprojects) = (); - -# ************************************************************ -# 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($toplevel) = shift; - my($baseprojs) = shift; - my($self) = Creator::new($class, $global, $inc, - $template, $ti, $dynamic, $static, - $relative, $addtemp, $addproj, - $progress, $toplevel, $baseprojs, - '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->{'scoped_assign'} = {}; - $self->{'cacheok'} = 1; - - return $self; -} - - -sub modify_assignment_value { - my($self) = shift; - my($value) = shift; - - ## Workspace assignments do not need modification. - return $value; -} - - -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 workspace; Have subclass write out the file - ## Generate the project files - my($gstat, $generator) = $self->generate_project_files(); - if ($gstat) { - $self->write_workspace($generator, 1); - $self->{'assign'} = {}; - } - 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.$wsbase"); - if (!defined $file) { - $file = $self->search_include_path("$parent.$wsext"); - } - - if (defined $file) { - my($rp) = $self->{'reading_parent'}; - push(@$rp, 1); - $status = $self->parse_file($file); - 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; - } - } - elsif ($values[0] eq 'assignment') { - if (defined $validNames{$values[1]}) { - $self->process_assignment($values[1], $values[2]); - } - else { - $errorString = "ERROR: Invalid assignment name: $values[1]"; - $status = 0; - } - } - elsif ($values[0] eq 'assign_add') { - if (defined $validNames{$values[1]}) { - $self->process_assignment_add($values[1], $values[2]); - } - else { - $errorString = "ERROR: Invalid addition name: $values[1]"; - $status = 0; - } - } - elsif ($values[0] eq 'assign_sub') { - if (defined $validNames{$values[1]}) { - $self->process_assignment_sub($values[1], $values[2]); - } - else { - $errorString = "ERROR: Invalid subtraction name: $values[1]"; - $status = 0; - } - } - elsif ($values[0] eq 'component') { - ($status, $errorString) = $self->parse_scope($ih, - $values[1], - $values[2], - \%validNames); - } - else { - $errorString = "ERROR: Unrecognized line: $line"; - $status = 0; - } - } - elsif ($status == -1) { - push(@{$self->{'project_files'}}, $line); - $status = 1; - } - - return $status, $errorString; -} - - -sub handle_scoped_unknown { - my($self) = shift; - my($fh) = shift; - my($type) = shift; - my($flags) = shift; - my($line) = shift; - - if (-e $line) { - if (-d $line) { - ## This would be too hard to track which files - ## got the scoped assignments, so we ignore these. - print "WARNING: Scoped directory " . - "assignments will be ignored: $line\n"; - } - else { - ## Assignment store - $self->{'scoped_assign'}->{$line} = $flags; - } - } - else { - ## We couldn't determine if it was an mpc file or - ## a directory, so we ignore these. - print "WARNING: Scoped file does not " . - "exist, so assignments will be ignored: $line\n"; - } - push(@{$self->{'project_files'}}, $line); - - return 1, ''; -} - - -sub search_for_files { - my($self) = shift; - my($files) = shift; - my($exts) = shift; - my($array) = shift; - my($impl) = $self->get_assignment('implicit'); - - foreach my $file (@$files) { - if (-d $file) { - my(@f) = $self->generate_default_file_list($file); - $self->search_for_files(\@f, $exts, $array); - if ($impl) { - unshift(@$array, $file); - } - } - else { - foreach my $ext (@$exts) { - if ($file =~ /$ext$/) { - unshift(@$array, $file); - } - } - } - } -} - - -sub remove_duplicate_projects { - my($self) = shift; - my($list) = shift; - my($count) = scalar(@$list); - - for(my $i = 0; $i < $count; ++$i) { - my($file) = $$list[$i]; - foreach my $inner (@$list) { - if ($file ne $inner && $file eq dirname($inner) && ! -d $inner) { - splice(@$list, $i, 1); - --$count; - --$i; - last; - } - } - } -} - - -sub generate_default_components { - my($self) = shift; - my($files) = shift; - my($pjf) = $self->{'project_files'}; - my(@exts) = ('\\.mpc'); - my($impl) = $self->get_assignment('implicit'); - - 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); - } - } - - ## If the workspace is set to implicit - if ($impl) { - ## Remove duplicates from this list - $self->remove_duplicate_projects(\@built); - } - - ## Set the project files - $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 the workspace is set to implicit - if ($impl) { - ## Remove duplicates from this list - $self->remove_duplicate_projects($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; - - ## Generate default workspace name - if (!defined $self->{'workspace_name'}) { - my($current) = $self->get_current_input(); - if ($current eq '') { - $self->{'workspace_name'} = $self->base_directory(); - } - else { - $current =~ s/\.[^\.]+$//; - $self->{'workspace_name'} = $current; - } - } - - 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($addfile) = shift; - my($status) = 1; - - if ($self->get_toplevel()) { - my($name) = $self->transform_file_name($self->workspace_file_name()); - if (defined $self->{'projects'}->[0]) { - my($fh) = new FileHandle(); - 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); - - if ($addfile) { - $self->add_file_written($name); - } - } - else { - print STDERR "ERROR: Unable to open $name for output\n"; - $status = 0; - } - } - else { - print "WARNING: No projects were created.\n" . - " Workspace $name has not been created.\n"; - } - } - - 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; - - ## For each file written - foreach my $pj (@$gen) { - ## Save the full path to the project file in the array - my($full) = ($dir ne '.' ? "$dir/" : '') . $pj; - push(@$projects, $full); - - ## Get the corresponding generated project info and save it - ## in the hash map keyed on the full project file name - $$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(); - my($impl) = $self->get_assignment('implicit'); - my($postkey) = $generator->get_dynamic() . - $generator->get_static() . "-$self"; - my($previmpl) = $impl; - my($prevcache) = $self->{'cacheok'}; - my(%gstate) = $generator->save_state(); - - ## Remove the address portion of the $self string - $postkey =~ s/=.*//; - - foreach my $ofile (@{$self->{'project_files'}}) { - my($file) = $ofile; - my($dir) = dirname($file); - my($restore) = 0; - - if (defined $self->{'scoped_assign'}->{$ofile}) { - ## Handle the implicit assignment - my($oi) = $self->{'scoped_assign'}->{$ofile}->{'implicit'}; - if (defined $oi) { - $previmpl = $impl; - $impl = $oi; - } - - ## Handle the cmdline assignment - my($cmdline) = $self->{'scoped_assign'}->{$ofile}->{'cmdline'}; - if (defined $cmdline && $cmdline ne '') { - ## Save the cacheok value - $prevcache = $self->{'cacheok'}; - - ## Get the current parameters and process the command line - my(%parameters) = $self->current_parameters(); - $self->process_cmdline($cmdline, \%parameters); - - ## Set the parameters on the generator - $generator->restore_state(\%parameters); - $restore = 1; - } - } - - ## If we are generating implicit projects and the file is a - ## directory, then we set the dir to the file and empty the file - if ($impl && -d $file) { - $dir = $file; - $file = ''; - } - - ## Generate the key for this project file - my($prkey) = $self->getcwd() . "/$file-$postkey"; - - ## We must change to the subdirectory for - ## which this project file is intended - if ($self->cd($dir)) { - my($gen) = []; - my($gpi) = []; - if ($self->{'cacheok'} && defined $allprojects{$prkey}) { - $gen = $allprojects{$prkey}; - $gpi = $allprinfo{$prkey}; - $status = 1; - } - else { - $status = $generator->generate(basename($file)); - - ## If any one project file fails, then stop - ## processing altogether. - if (!$status) { - ## We don't restore the state before we leave, - ## but that's ok since we will be exiting soon. - return $status, $generator; - } - - ## Get the individual project information and - ## generated file name(s) - $gen = $generator->get_files_written(); - $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 '.' && defined $$gen[0] && $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($generator); - - ## Reset our project information to empty - $self->{'projects'} = []; - $self->{'project_info'} = {}; - } - - if ($self->{'cacheok'}) { - $allprojects{$prkey} = $gen; - $allprinfo{$prkey} = $gpi; - } - } - $self->cd($cwd); - $self->save_project_info($gen, $gpi, $dir, \@projects, \%pi); - } - else { - ## Unable to change to the directory. - ## We don't restore the state before we leave, - ## but that's ok since we will be exiting soon. - return 0, $generator; - } - - ## Return things to the way they were - if (defined $self->{'scoped_assign'}->{$ofile}) { - $impl = $previmpl; - - if ($restore) { - $self->{'cacheok'} = $prevcache; - $generator->restore_state(\%gstate); - } - } - } - - $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 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 optionError { - my($self) = shift; - my($str) = shift; - print 'WARNING: ' . $self->get_current_input() . ": $str\n"; -} - - -sub process_cmdline { - my($self) = shift; - my($cmdline) = shift; - my($parameters) = shift; - - ## It's ok to use the cache - $self->{'cacheok'} = 1; - - if (defined $cmdline && $cmdline ne '') { - my($args) = $self->create_array($cmdline); - - ## Look for environment variables - foreach my $arg (@$args) { - while($arg =~ /\$(\w+)/) { - my($name) = $1; - my($val) = undef; - if ($name eq 'PWD') { - $val = $self->getcwd(); - } - elsif (defined $ENV{$name}) { - $val = $ENV{$name}; - } - $arg =~ s/\$\w+/$val/; - } - } - - my($options) = $self->options('MWC', {}, 0, @$args); - if (defined $options) { - foreach my $key (keys %$options) { - my($type) = $self->is_set($key, $options); - if ($type eq 'ARRAY') { - push(@{$parameters->{$key}}, @{$options->{$key}}); - } - elsif ($type eq 'HASH') { - foreach my $hk (keys %{$options->{$key}}) { - $parameters->{$key}->{$hk} = $options->{$key}->{$hk}; - } - } - elsif ($type eq 'SCALAR') { - $parameters->{$key} = $options->{$key}; - } - } - - ## Issue warnings for these options - if (defined $options->{'recurse'}) { - $self->optionError('-recurse is ignored'); - } - if (defined $options->{'reldefs'}) { - $self->optionError('-noreldefs is ignored'); - } - if (defined $options->{'input'}->[0]) { - $self->optionError('Command line files ' . - 'specified in a workspace are ignored'); - } - - ## Determine if it's ok to use the cache - my(@cacheInvalidating) = ('global', 'include', 'baseprojs', - 'template', 'ti', 'relative', - 'addtemp', 'addproj'); - foreach my $key (@cacheInvalidating) { - if ($self->is_set($key, $options)) { - $self->{'cacheok'} = 0; - last; - } - } - } - } -} - - -sub current_parameters { - my($self) = shift; - my(%parameters) = $self->save_state(); - - ## We always want the project creator to generate a toplevel - $parameters{'toplevel'} = 1; - return %parameters; -} - - -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.*//; - - ## Set up values for each project creator - ## If we have command line arguments in the workspace, then - ## we process them before creating the project creator - my($cmdline) = $self->get_assignment('cmdline'); - my(%parameters) = $self->current_parameters(); - $self->process_cmdline($cmdline, \%parameters); - - ## Create the new project creator with the updated parameters - return $str->new($parameters{'global'}, - $parameters{'include'}, - $parameters{'template'}, - $parameters{'ti'}, - $parameters{'dynamic'}, - $parameters{'static'}, - $parameters{'relative'}, - $parameters{'addtemp'}, - $parameters{'addproj'}, - $parameters{'progress'}, - $parameters{'toplevel'}, - $parameters{'baseprojs'}); -} - - -sub sort_files { - #my($self) = shift; - return 0; -} - - -sub get_modified_workspace_name { - my($self) = shift; - my($name) = shift; - my($ext) = shift; - - if (!defined $self->{'previous_workspace_name'}) { - $self->{'previous_workspace_name'} = $self->get_workspace_name(); - } - elsif ($self->{'previous_workspace_name'} ne $self->get_workspace_name()) { - $self->{'previous_workspace_name'} = $self->get_workspace_name(); - $self->{'current_workspace_name'} = - "$name.$self->{'previous_workspace_name'}$ext"; - } - - return (defined $self->{'current_workspace_name'} ? - $self->{'current_workspace_name'} : "$name$ext"); -} - - -sub generate_recursive_input_list { - my($self) = shift; - my($dir) = shift; - return $self->extension_recursive_input_list($dir, $wsext); -} - -# ************************************************************ -# 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/bin/MakeProjectCreator/templates/bor.mpd b/bin/MakeProjectCreator/templates/bor.mpd deleted file mode 100644 index 7bd7006d5f6..00000000000 --- a/bin/MakeProjectCreator/templates/bor.mpd +++ /dev/null @@ -1,150 +0,0 @@ -# Makefile for building the <%if(exename)%><%exename%> exe<%endif%><%if(sharedname)%><%sharedname%> library<%endif%> with Borland C++ Builder - -<%if(ssl)%> -!ifdef SSL_ROOT -<%endif%> -NAME = <%if(exename)%><%exename%><%endif%><%if(sharedname)%><%sharedname%><%endif%> -<%if(ssl)%> -!endif -<%endif%> -<%if(idl_files)%> - -TAO_IDL = $(CORE_BINDIR)\tao_idl -g $(CORE_BINDIR)\gperf.exe -<%endif%> - -<%if(source_files)%> -OBJFILES = \ -<%foreach(source_files)%> - $(OBJDIR)\<%basenoextension(source_file)%>.obj<%fornotlast(" \\")%> -<%endfor%> -<%endif%> -<%if(ssl)%> - -EXTERNAL_LIBS =<%foreach(ssl_libs)%> <%ssl_lib%>.lib<%endfor%> -<%else%> - -EXTERNAL_LIBS = -<%endif%> - -LFLAGS = \ -<%foreach(libpaths)%> - -j<%libpath%>\$(CONFIG_SUBDIR) -j<%libpath%> \ - -L<%libpath%>\$(CONFIG_SUBDIR) -L<%libpath%> \ -<%endfor%> - -j$(CORE_BINDIR) \ - -L$(CORE_BINDIR) - -LIBFILES = \ -<%foreach(libs defaultlibs)%> - <%lib%>$(LIB_DECORATOR).lib \ -<%endfor%> -<%foreach(lit_libs)%> - <%lit_lib%>.lib \ -<%endfor%> - $(EXTERNAL_LIBS) -<%if(idl_files)%> - -IDLFILES = \ -<%foreach(idl_files)%> - $(IDLDIR)\<%basenoextension(idl_file)%>.idl<%fornotlast(" \\")%> -<%endfor%> -<%endif%> -<%if(resource_files)%> - -RESOURCE =<%foreach(resource_files)%> $(OBJDIR)\<%noextension(resource_file)%>.res<%endfor%> -<%endif%> - -!ifdef STATIC -LIB_FLAGS =<%foreach(libflags)%> -D<%libflag%>=1<%endfor%> -DLL_FLAGS = -!else -LIB_FLAGS = -DLL_FLAGS =<%foreach(dllflags)%> -D<%dllflag%>=1<%endfor%> -!endif - -CFLAGS = \ -<%foreach(includes)%> - -I<%include%> \ -<%endfor%> - $(LIB_FLAGS) \ - $(DLL_FLAGS) -<%if(pch_header)%> - -PCH_HEADER=<%pch_header%> -<%endif%> - -CPPDIR = <%cppdir%> -<%if(idl_files)%> - -IDLDIR = . -<%endif%> -<%if(header_files)%> - -INCLUDES = \ -<%foreach(header_files template_files inline_files idl_files)%> - <%header_file%><%fornotlast(" \\")%> -<%endfor%> -<%if(include_dir)%> - -INCDIR_NAME = <%include_dir%> -<%endif%> -<%endif%> -<%if(idl_files)%> - -all: idl_src_files -<%endif%> -<%if(exename)%> -<%if(install)%> - -BASE_BINDIR = <%install%> -<%endif%> -<%if(core)%> - -!include <$(ACE_ROOT)\include\makeinclude\build_core_exe.bor> -<%else%> - -!include <$(ACE_ROOT)\include\makeinclude\build_exe.bor> -<%endif%> -<%endif%> -<%if(sharedname)%> -<%if(dllout)%> - -BASE_BINDIR = <%dllout%> -<%endif%> -<%if(core)%> - -!include <$(ACE_ROOT)\include\makeinclude\build_core_library.bor> -<%else%> - -!include <$(ACE_ROOT)\include\makeinclude\build_library.bor> -<%endif%> -<%endif%> -<%if(idl_files)%> - -# -# IDL Build rules -# - -idl_src_files: $(IDLFILES:.idl=C.cpp) $(IDLFILES:.idl=S.cpp) - -<%foreach(idl_files)%> -<%if(flag_overrides(idl_file, idlgendir))%> -<%flag_overrides(idl_file, idlgendir)%>\<%basenoextension(idl_file)%>S.cpp <%flag_overrides(idl_file, idlgendir)%>\<%basenoextension(idl_file)%>C.cpp: <%idl_file%> - $(TAO_IDL) -o <%flag_overrides(idl_file, idlgendir)%> <%if(flag_overrides(idl_file, idlflags))%><%flag_overrides(idl_file, idlflags)%><%else%><%idlflags("-Sc")%><%endif%> $** -<%else%> -<%if(idlgendir)%> -<%idlgendir%>\<%basenoextension(idl_file)%>S.cpp <%idlgendir%>\<%basenoextension(idl_file)%>C.cpp: <%idl_file%> - $(TAO_IDL) -o <%idlgendir%> <%if(flag_overrides(idl_file, idlflags))%><%flag_overrides(idl_file, idlflags)%><%else%><%idlflags("-Sc")%><%endif%> $** -<%else%> -# IDL File Directory: <%dirname(idl_file)%> -<%if(dirname_found)%> -<%dirname(idl_file)%>\<%basenoextension(idl_file)%>S.cpp <%dirname(idl_file)%>\<%basenoextension(idl_file)%>C.cpp: <%idl_file%> - $(TAO_IDL) -o <%dirname(idl_file)%> <%if(flag_overrides(idl_file, idlflags))%><%flag_overrides(idl_file, idlflags)%><%else%><%idlflags("-Sc")%><%endif%> $** -<%else%> -$(IDLDIR)\<%basenoextension(idl_file)%>S.cpp $(IDLDIR)\<%basenoextension(idl_file)%>C.cpp: $(IDLDIR)\<%idl_file%> - $(TAO_IDL) <%if(flag_overrides(idl_file, idlflags))%><%flag_overrides(idl_file, idlflags)%><%else%><%idlflags("-Sc")%><%endif%> $** -<%endif%> -<%endif%> -<%endif%> -<%endfor%> -<%endif%> diff --git a/bin/MakeProjectCreator/templates/bordll.mpt b/bin/MakeProjectCreator/templates/bordll.mpt deleted file mode 100644 index 2003fd023fa..00000000000 --- a/bin/MakeProjectCreator/templates/bordll.mpt +++ /dev/null @@ -1,3 +0,0 @@ -type_is_binary = 1 -type_is_dynamic = 1 -common_defines = WIN32 diff --git a/bin/MakeProjectCreator/templates/borexe.mpt b/bin/MakeProjectCreator/templates/borexe.mpt deleted file mode 100644 index bdeff91fc31..00000000000 --- a/bin/MakeProjectCreator/templates/borexe.mpt +++ /dev/null @@ -1,2 +0,0 @@ -type_is_binary = 1 -common_defines = WIN32 diff --git a/bin/MakeProjectCreator/templates/em3vcp.mpd b/bin/MakeProjectCreator/templates/em3vcp.mpd deleted file mode 100644 index d169388d087..00000000000 --- a/bin/MakeProjectCreator/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%>\<%noextension(project_file)%>\<%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%> <%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(project_file)%>\<%noextension(pch_header)%>.pch" <%endif%>/FR /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(lit_libs)%><%lit_lib%>.lib <%endfor%><%foreach(libs defaultlibs)%><%lib%><%lib_modifier%>.lib <%endfor%><%foreach(libpaths)%>/libpath:"<%libpath%>\<%machine%>" <%endfor%>/nologo /base:"<%base("0x00100000")%>" /stack:<%stack("0x10000,0x1000")%> <%if(type_is_dynamic)%>/entry:"_DllMainCRTStartup"<%endif%> /nodefaultlib:"$(CENoDefaultLib)" /version:<%version("1.0")%> /subsystem:$(CESubsystem) /align:"<%align("4096")%>"<%if(pdb)%><%if(sharedname)%> /pdb:"<%dllout%>\<%machine%>\<%sharedname%><%lib_modifier%>.pdb"<%else%><%if(exename)%> /pdb:"<%if(install)%><%install%><%else%><%output_dir%><%endif%>\<%machine%>\<%exename%>.pdb"<%endif%><%endif%><%endif%> <%if(type_is_dynamic)%> /dll<%endif%> <%if(use_debug_libraries)%>/debug<%endif%> /machine:<%machine%> /out:"<%if(sharedname)%><%dllout%>\<%machine%>\<%sharedname%><%lib_modifier%>.dll<%endif%><%if(exename)%><%if(install)%><%install%><%else%><%output_dir%><%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 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= \ - <%idl_compiler("$(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/bin/MakeProjectCreator/templates/em3vcpdll.mpt b/bin/MakeProjectCreator/templates/em3vcpdll.mpt deleted file mode 100644 index 3f8d8356649..00000000000 --- a/bin/MakeProjectCreator/templates/em3vcpdll.mpt +++ /dev/null @@ -1,77 +0,0 @@ -configurations = Release Debug -platform_longs = "WCE ARM" "WCE x86" "WCE emulator" -default_configuration = Debug -default_platform_long = "WCE ARM" -type_is_binary = 1 -type_is_dynamic = 1 -common_defines = UNICODE _UNICODE -ssl_libs = libeay32 ssleay32 -pdb = 1 - -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 emulator { - type_code = 0xa602 - 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 /O2 /Zi /Ob2 - defines = NDEBUG - compile_flags_removed = /YX - output_dir = Release - intermediate_dir = Release -} - -Debug { - use_debug_libraries = 1 - compile_flags = /W3 /Zi /Od - defines = _DEBUG - compile_flags_removed = /Fr /YX - output_dir = . - intermediate_dir = Debug - lib_modifier = d -} - -MFC Release { - use_debug_libraries = 0 - compile_flags = /W3 /O2 /Zi /Ob2 - defines = NDEBUG - compile_flags_removed = /YX - output_dir = MFC_Release - intermediate_dir = MFC_Release - lib_modifier = mfc - use_mfc = 2 -} - -MFC Debug { - use_debug_libraries = 1 - compile_flags = /W3 /Zi /Od - defines = _DEBUG - compile_flags_removed = /Fr /YX - output_dir = MFC_Debug - intermediate_dir = MFC_Debug - lib_modifier = mfcd - use_mfc = 2 -} - -conditional_include "vcpartialmacros" diff --git a/bin/MakeProjectCreator/templates/em3vcpdllexe.mpt b/bin/MakeProjectCreator/templates/em3vcpdllexe.mpt deleted file mode 100644 index 9240a1aab07..00000000000 --- a/bin/MakeProjectCreator/templates/em3vcpdllexe.mpt +++ /dev/null @@ -1,77 +0,0 @@ -type_description = "Application" -platform_longs = "WCE ARM" "WCE x86" "WCE emulator" -default_configuration = Debug -default_platform_long = "WCE ARM" -configurations = Release Debug -type_is_binary = 1 -common_defines = UNICODE _UNICODE -ssl_libs = libeay32 ssleay32 -pdb = 1 - -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 emulator { - type_code = 0xa601 - 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 /O2 /Zi /Ob2 - defines = NDEBUG - compile_flags_removed = /YX - output_dir = Release - intermediate_dir = Release -} - -Debug { - use_debug_libraries = 1 - compile_flags = /W3 /Zi /Od - defines = _DEBUG - compile_flags_removed = /YX - output_dir = . - intermediate_dir = Debug - lib_modifier = d -} - -MFC Release { - use_debug_libraries = 0 - compile_flags = /W3 /O2 /Zi /Ob2 - defines = NDEBUG _AFXDLL - compile_flags_removed = /YX - output_dir = MFC_Release - intermediate_dir = MFC_Release - lib_modifier = mfc - use_mfc = 2 -} - -MFC Debug { - use_debug_libraries = 1 - compile_flags = /W3 /Zi /Od - defines = _DEBUG _AFXDLL - compile_flags_removed = /YX - output_dir = MFC_Debug - intermediate_dir = MFC_Debug - lib_modifier = mfcd - use_mfc = 2 -} - -conditional_include "vcpartialmacros" diff --git a/bin/MakeProjectCreator/templates/em3vcplib.mpt b/bin/MakeProjectCreator/templates/em3vcplib.mpt deleted file mode 100644 index 6edce40714c..00000000000 --- a/bin/MakeProjectCreator/templates/em3vcplib.mpt +++ /dev/null @@ -1,79 +0,0 @@ -type_description = "Static Library" -platform_longs = "WCE ARM" "WCE x86" "WCE emulator" -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 - -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 emulator { - type_code = 0xa604 - 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 = /W3 /O2 /Zi /Ob2 - 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 = /W3 /Zi /Od - defines = _DEBUG - compile_flags_removed = /Fr /YX - output_dir = Static_Debug - intermediate_dir = Static_Debug - lib_modifier = sd - pdb = 1 -} - -MFC Release { - use_debug_libraries = 0 - compile_flags = /W3 /O2 /Zi /Ob2 - defines = NDEBUG - compile_flags_removed = /YX - output_dir = MFC_Release - intermediate_dir = MFC_Release - lib_modifier = mfcs - use_mfc = 2 -} - -MFC Debug { - use_debug_libraries = 1 - compile_flags = /W3 /Zi /Od - defines = _DEBUG - compile_flags_removed = /Fr /YX - output_dir = MFC_Debug - intermediate_dir = MFC_Debug - lib_modifier = mfcsd - pdb = 1 - use_mfc = 2 -} - -conditional_include "vcpartialmacros" diff --git a/bin/MakeProjectCreator/templates/em3vcplibexe.mpt b/bin/MakeProjectCreator/templates/em3vcplibexe.mpt deleted file mode 100644 index 284c220a6f9..00000000000 --- a/bin/MakeProjectCreator/templates/em3vcplibexe.mpt +++ /dev/null @@ -1,79 +0,0 @@ -type_description = "Application" -platform_longs = "WCE ARM" "WCE x86" "WCE emulator" -default_configuration = "Static Debug" -default_platform_long = "WCE ARM" -configurations = "Static Release" "Static Debug" -type_is_binary = 1 -common_defines = UNICODE _UNICODE -ssl_libs = libeay32 ssleay32 -need_libflags = 1 -pdb = 1 - -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 emulator { - type_code = 0xa601 - 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 /O2 /Zi /Ob2 - defines = NDEBUG - compile_flags_removed = /YX - lib_modifier = s - output_dir = Static_Release - intermediate_dir = Static_Release -} - -Static Debug { - use_debug_libraries = 1 - compile_flags = /W3 /Zi /Od - defines = _DEBUG - compile_flags_removed = /YX - lib_modifier = sd - output_dir = Static_Debug - intermediate_dir = Static_Debug -} - -MFC Release { - use_debug_libraries = 0 - compile_flags = /W3 /O2 /Zi /Ob2 - defines = NDEBUG _AFXDLL - compile_flags_removed = /YX - lib_modifier = mfcs - output_dir = MFC_Release - intermediate_dir = MFC_Release - use_mfc = 1 -} - -MFC Debug { - use_debug_libraries = 1 - compile_flags = /W3 /Zi /Od - defines = _DEBUG _AFXDLL - compile_flags_removed = /YX - lib_modifier = mfcsd - output_dir = MFC_Debug - intermediate_dir = MFC_Debug - use_mfc = 1 -} - -conditional_include "vcpartialmacros" diff --git a/bin/MakeProjectCreator/templates/ghs.mpd b/bin/MakeProjectCreator/templates/ghs.mpd deleted file mode 100644 index fbfb6a0a870..00000000000 --- a/bin/MakeProjectCreator/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/bin/MakeProjectCreator/templates/gnu.mpd b/bin/MakeProjectCreator/templates/gnu.mpd deleted file mode 100644 index a92d2dc9aa8..00000000000 --- a/bin/MakeProjectCreator/templates/gnu.mpd +++ /dev/null @@ -1,283 +0,0 @@ -#---------------------------------------------------------------------------- -# GNU Makefile -#---------------------------------------------------------------------------- -<%marker(top)%> -MAKEFILE = <%project_file%> -DEPENDENCY_FILE = .depend.<%project_file%> -<%if(exename)%> -BIN_UNCHECKED = <%exename%> -<%endif%> -<%if(staticname)%> -LIB_UNCHECKED = lib<%staticname%>.a -<%endif%> -<%if(sharedname)%> -SHLIB_UNCHECKED = lib<%sharedname%>.$(SOEXT) -<%endif%> -<%if(tao)%> - -ifndef TAO_ROOT - TAO_ROOT = $(ACE_ROOT)/TAO -endif -<%endif%> -<%if(idl_files)%> - -IDL_FILES =<%foreach(idl_files)%> <%noextension(idl_file)%><%endfor%> -IDL_SRC = $(foreach ext, C.cpp S.cpp, $(foreach file, $(IDL_FILES), $(file)$(ext))) -<%endif%> - -<%gnu_source_files%> -#---------------------------------------------------------------------------- -# Include macros and targets -#---------------------------------------------------------------------------- -<%marker(macros)%> -include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU -<%if(!exename)%> -<%if(comps)%> - -<%if(compname)%> -CURRENT_COMPONENTS := $(shell sh $(ACE_ROOT)/bin/ace_components <%compname%>) -<%endif%> -<%foreach(requires)%> -ifeq ($(<%require%>),1) -<%endfor%> -<%foreach(avoids)%> -ifneq ($(<%avoid%>),1) -<%endfor%> -<%foreach(comps)%> -ifeq (<%comp%>, $(findstring <%comp%>, $(CURRENT_COMPONENTS))) -<%endfor%> -<%if(staticname)%> -LIB = $(LIB_UNCHECKED) -<%endif%> -<%if(sharedname)%> -SHLIB = $(SHLIB_UNCHECKED) -<%endif%> -<%foreach(avoids requires comps)%> -endif -<%endfor%> -<%else%> - -<%if(tagname)%> -ifeq (,$(<%tagname%>)) -<%endif%> -<%foreach(requires)%> -ifeq ($(<%require%>),1) -<%endfor%> -<%foreach(avoids)%> -ifneq ($(<%avoid%>),1) -<%endfor%> -<%if(staticname)%> -LIB = $(LIB_UNCHECKED) -<%endif%> -<%if(sharedname)%> -SHLIB = $(SHLIB_UNCHECKED) -<%endif%> -<%foreach(avoids requires)%> -endif -<%endfor%> -<%if(tagname)%> -else -<%foreach(requires)%> -ifeq ($(<%require%>),1) -<%endfor%> -<%foreach(avoids)%> -ifneq ($(<%avoid%>),1) -<%endfor%> -<%foreach(tagchecks)%> - ifeq (<%tagcheck%>, $(findstring <%tagcheck%>, $(<%tagname%>))) -<%endfor%> - LIB = $(LIB_UNCHECKED) - SHLIB = $(SHLIB_UNCHECKED) -<%foreach(tagchecks)%> - endif -<%endfor%> -<%foreach(avoids requires)%> -endif -<%endfor%> -endif -<%endif%> -<%endif%> -<%endif%> - -<%if(tao)%> -include $(TAO_ROOT)/rules.tao.GNU -<%endif%> -<%if(exename)%> - -<%if(compname)%> -CURRENT_COMPONENTS := $(shell sh $(ACE_ROOT)/bin/ace_components <%compname%>) -<%endif%> -<%foreach(requires)%> -ifeq ($(<%require%>),1) -<%endfor%> -<%foreach(avoids)%> -ifneq ($(<%avoid%>),1) -<%endfor%> -<%foreach(comps)%> -ifeq (<%comp%>, $(findstring <%comp%>, $(CURRENT_COMPONENTS))) -<%endfor%> -BIN = $(BIN_UNCHECKED) -<%foreach(avoids requires comps)%> -endif -<%endfor%> - -OBJS = $(addsuffix .o, <%notdirfiles%>) -SRC = $(addsuffix .cpp, $(FILES)) -<%endif%> -<%if(sharedname)%> -LSRC = $(addsuffix .cpp, $(FILES)) -<%endif%> -<%if(!comps)%> -<%if(tagname)%> -ifeq (,$(<%tagname%>)) -<%endif%> -<%build%> -<%if(tagname)%> -else -<%foreach(tagchecks)%> - ifeq (<%tagcheck%>, $(findstring <%tagcheck%>, $(<%tagname%>))) -<%endfor%> - <%build%> -<%foreach(tagchecks)%> - endif -<%endfor%> -endif -<%endif%> -<%endif%> -ACELIB =<%foreach(defaultlibs)%> -l<%defaultlib%><%endfor%> - -include $(ACE_ROOT)/include/makeinclude/macros.GNU -include $(ACE_ROOT)/include/makeinclude/rules.common.GNU -include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU -<%if(install)%> - -INSTALL_CHECK = <%install%> -ifeq ($(INSTALL_CHECK),) - INSTALL = $(INSTALL_CHECK) -else -<%if(exename)%> - INSBIN = $(INSTALL_CHECK) - INSTALL = $(VBIN:%=$(INSBIN)/%$(EXEEXT)) -<%endif%> -<%if(sharedname)%> - INSLIB = $(INSTALL_CHECK) -<%endif%> -endif -<%endif%> -<%if(sharedname)%> -include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU -<%endif%> -include $(ACE_ROOT)/include/makeinclude/rules.local.GNU -<%if(tao)%> -include $(TAO_ROOT)/taoconfig.mk -<%endif%> - -<%if(includes)%> -CPPFLAGS +=<%foreach(includes)%> -I<%include%><%endfor%> -<%endif%> -<%if(idlpreprocessor)%> -ifeq ($(TAO_IDL_PREPROCESSOR),) - CPPFLAGS += -DTAO_IDL_PREPROCESSOR=\"$(strip $(CXX))\" -else - CPPFLAGS += -DTAO_IDL_PREPROCESSOR=\"$(subst \,\,$(TAO_IDL_PREPROCESSOR))\" -endif -<%endif%> -<%if(dllflags)%> -ifeq ($(shared_libs),1) - ifneq ($(SHLIB),) - CPPFLAGS +=<%foreach(dllflags)%> -D<%dllflag%><%endfor%> - endif -endif -<%endif%> -<%if(libflags)%> -ifeq ($(static_libs),1) - ifneq ($(LIB),) - CPPFLAGS +=<%foreach(libflags)%> -D<%libflag%><%endfor%> - endif -endif -<%endif%> - - -<%if(libpaths)%> -LDFLAGS +=<%foreach(libpaths)%> -L<%libpath%><%endfor%> -<%endif%> -<%if(idl_files)%> -<%if(idlflags)%> -TAO_IDLFLAGS += <%idlflags%> -<%endif%> -<%endif%> -<%if(libs)%> - -<%if(exename)%>LDLIBS<%endif%><%if(sharedname)%>ACE_SHLIBS<%endif%> =<%foreach(libs)%> -l<%lib%><%endfor%><%if(sharedname)%> $(ACELIB)<%endif%> -<%endif%> -<%if(lit_libs)%> -<%if(exename)%>LDLIBS<%endif%><%if(sharedname)%>ACE_SHLIBS<%endif%> +=<%foreach(lit_libs)%> -l<%lit_lib%><%endfor%><%if(sharedname)%> $(ACELIB)<%endif%> -<%endif%> -<%if(ssl)%> -<%if(exename)%>LDLIBS<%endif%><%if(sharedname)%>ACE_SHLIBS<%endif%> +=<%foreach(ssl_libs)%> -l<%ssl_lib%><%endfor%> -<%endif%> - -#---------------------------------------------------------------------------- -# Local targets -#---------------------------------------------------------------------------- -<%marker(local)%> -<%comptarget%> -<%if(idl_files)%> - -ADDITIONAL_IDL_TARGETS = -<%foreach(idl_files)%> -<%if(flag_overrides(idl_file, idlgendir))%> -ADDITIONAL_IDL_TARGETS := $(ADDITIONAL_IDL_TARGETS) <%flag_overrides(idl_file, idlgendir)%>/<%basenoextension(idl_file)%>C.h -<%flag_overrides(idl_file, idlgendir)%>/<%basenoextension(idl_file)%>C.h: <%idl_file%> - $(TAO_IDL) -o <%flag_overrides(idl_file, idlgendir)%> <%if(flag_overrides(idl_file, idlflags))%><%flag_overrides(idl_file, idlflags)%><%else%>$(TAO_IDLFLAGS)<%endif%> $^ -<%else%> -<%if(idlgendir)%> -ADDITIONAL_IDL_TARGETS := $(ADDITIONAL_IDL_TARGETS) <%idlgendir%>/<%basenoextension(idl_file)%>C.h -<%idlgendir%>/<%basenoextension(idl_file)%>C.h: <%idl_file%> - $(TAO_IDL) -o <%idlgendir%> <%if(flag_overrides(idl_file, idlflags))%><%flag_overrides(idl_file, idlflags)%><%else%>$(TAO_IDLFLAGS)<%endif%> $^ -<%else%> -# IDL File Directory: <%dirname(idl_file)%> -<%if(dirname_found)%> -ADDITIONAL_IDL_TARGETS := $(ADDITIONAL_IDL_TARGETS) <%noextension(idl_file)%>C.h -<%noextension(idl_file)%>C.h: <%idl_file%> - $(TAO_IDL) -o <%dirname(idl_file)%> <%if(flag_overrides(idl_file, idlflags))%><%flag_overrides(idl_file, idlflags)%><%else%>$(TAO_IDLFLAGS)<%endif%> $^ -<%else%> -<%if(flag_overrides(idl_file, idlflags))%> -<%noextension(idl_file)%>C.h: <%idl_file%> - $(TAO_IDL) <%flag_overrides(idl_file, idlflags)%> $^ -<%endif%> -<%endif%> -<%endif%> -<%endif%> -<%endfor%> - -ifneq ($(ADDITIONAL_IDL_TARGETS),) -idl_stubs: $(ADDITIONAL_IDL_TARGETS) -endif - -<%if(exename)%> -ifneq ($(BIN),) -<%else%> -<%if(sharedname)%> -ifneq ($(SHLIB),) -<%else%> -ifneq ($(LIB),) -<%endif%> -<%endif%> -all: idl_stubs -endif - -.PRECIOUS: $(foreach ext, $(IDL_EXT), $(foreach file, $(IDL_FILES), $(file)$(ext))) -<%endif%> -<%if(exename)%> - -$(BIN): $(addprefix $(VDIR), $(OBJS)) - $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $@ $^ $(VLDLIBS) $(POSTLINK) -<%endif%> - -realclean: clean <%compclean%> -<%if(idl_files)%> - -$(RM) $(foreach ext, $(IDL_EXT), $(foreach file, $(IDL_FILES), $(file)$(ext))) -<%endif%> - -<%marker(bottom)%> diff --git a/bin/MakeProjectCreator/templates/gnudll.mpt b/bin/MakeProjectCreator/templates/gnudll.mpt deleted file mode 100644 index a1f16f6e6e8..00000000000 --- a/bin/MakeProjectCreator/templates/gnudll.mpt +++ /dev/null @@ -1 +0,0 @@ -ssl_libs = ssl crypto diff --git a/bin/MakeProjectCreator/templates/gnuexe.mpt b/bin/MakeProjectCreator/templates/gnuexe.mpt deleted file mode 100644 index a1f16f6e6e8..00000000000 --- a/bin/MakeProjectCreator/templates/gnuexe.mpt +++ /dev/null @@ -1 +0,0 @@ -ssl_libs = ssl crypto diff --git a/bin/MakeProjectCreator/templates/make.mpd b/bin/MakeProjectCreator/templates/make.mpd deleted file mode 100644 index 219b65c13ec..00000000000 --- a/bin/MakeProjectCreator/templates/make.mpd +++ /dev/null @@ -1,100 +0,0 @@ -#---------------------------------------------------------------------------- -# Macros -#---------------------------------------------------------------------------- -<%marker(top)%> -SOEXT = so -MAKEFILE = <%project_file%> -<%if(exename)%> -BIN = <%exename%> -<%endif%> -<%if(staticname)%> -LIB = lib<%staticname%>.a -<%endif%> -<%if(sharedname)%> -SHLIB = lib<%sharedname%>.$(SOEXT) -CPPFLAGS += -KPIC -<%endif%> -<%if(idl_files)%> -IDL_FILES =<%foreach(idl_files)%> <%noextension(idl_file)%><%endfor%> -IDL_SRC =<%foreach(idl_files)%> <%noextension(idl_file)%>C.cpp <%noextension(idl_file)%>S.cpp<%endfor%> -<%endif%> -SRC =<%foreach(source_files)%> <%source_file%><%endfor%> -OBJS =<%foreach(source_files)%> <%noextension(source_file)%>.o<%endfor%> -<%if(includes)%> -CPPFLAGS +=<%foreach(includes)%> -I<%include%><%endfor%> -<%endif%> -<%if(libpaths)%> -LDFLAGS +=<%foreach(libpaths)%> -L<%libpath%><%endfor%> -<%endif%> -<%if(libs)%> -LDLIBS +=<%foreach(libs)%> -l<%lib%><%endfor%> -<%endif%> -<%if(defaultlibs)%> -LDLIBS +=<%foreach(defaultlibs)%> -l<%defaultlib%><%endfor%> -<%endif%> -<%if(lit_libs)%> -LDLIBS +=<%foreach(lit_libs)%> -l<%lit_lib%><%endfor%> -<%endif%> -<%if(ssl)%> -LDLIBS +=<%foreach(ssl_libs)%> -l<%ssl_lib%><%endfor%> -<%endif%> -SHFLAGS = -G -OUTPUT_OPTION = -o $@ -<%marker(macros)%> - -#---------------------------------------------------------------------------- -# Local targets -#---------------------------------------------------------------------------- -<%marker(local)%> - -<%if(exename)%> -all: $(BIN) <%if(install)%>install<%endif%> - -$(BIN): $(OBJS) - $(LINK.cc) $(OUTPUT_OPTION) $(OBJS) $(LDLIBS) - -<%endif%> -<%if(sharedname)%> -all: $(SHLIB) <%if(install)%>install<%endif%> - -$(SHLIB): $(OBJS) - $(LINK.cc) $(SHFLAGS) $(OUTPUT_OPTION) $(OBJS) $(LDLIBS) - -<%endif%> -<%if(staticname)%> -$(LIB): $(OBJS) - $(AR) $(ARFLAGS) $(LIB) $(OBJS) - -<%endif%> -%.o: %.cpp - $(COMPILE.cc) $< $(OUTPUT_OPTION) - -<%if(install)%> -<%if(exename)%> -INSTARGET = $(BIN) -<%else%> -<%if(sharedname)%> -INSTARGET = $(SHLIB) -<%else%> -<%if(staticname)%> -INSTARGET = $(LIB) -<%endif%> -<%endif%> -<%endif%> -install: - @echo "Installing $(INSTARGET) -> <%install%>/$(INSTARGET)" - @mkdir -p "<%install%>" - @$(RM) "<%install%>/$(INSTARGET)" - @ln -s "$(PWD)/$(INSTARGET)" "<%install%>" - -<%endif%> -clean: - -$(RM) $(OBJS) - -realclean: clean - -$(RM) <%if(exename)%>$(BIN)<%else%>$(SHLIB) $(LIB)<%endif%> - -#---------------------------------------------------------------------------- -# Dependencies -#---------------------------------------------------------------------------- -<%marker(bottom)%> diff --git a/bin/MakeProjectCreator/templates/nmake.mpd b/bin/MakeProjectCreator/templates/nmake.mpd deleted file mode 100644 index 94c9568639f..00000000000 --- a/bin/MakeProjectCreator/templates/nmake.mpd +++ /dev/null @@ -1,258 +0,0 @@ -# Microsoft Developer Studio Generated NMAKE File -<%foreach(platforms)%> -!<%fornotfirst("ELSE")%>IF "$(CFG)" == "" -CFG=<%platform%> <%default_configuration%> -!MESSAGE No configuration specified. Defaulting to <%platform%> <%default_configuration%>. -<%endfor%> -!ENDIF - -!IF <%foreach(platforms)%><%foreach(configurations)%>"$(CFG)" != "<%platform%> <%configuration%>"<%fornotlast(" && ")%><%endfor%><%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 -<%foreach(platforms)%> -!MESSAGE NMAKE /f "<%project_file%>" CFG="<%platform%> <%default_configuration%>" -<%endfor%> -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -<%foreach(platforms)%> -<%foreach(configurations)%> -!MESSAGE "<%platform%> <%configuration%>" (based on "<%platform%> (<%machine_description%>) <%type_description("Dynamic-Lynk Library")%>") -<%endfor%> -<%endfor%> -!MESSAGE -!ERROR An invalid configuration is specified. -!ENDIF - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -<%foreach(platforms)%> -<%foreach(configurations)%> -!<%fornotfirst("ELSE")%>IF "$(CFG)" == "<%platform%> <%configuration%>" - -<%if(exename)%> -OUTDIR=<%output_dir(".")%> -INSTALLDIR=<%if(install)%><%install%><%else%><%output_dir%><%endif%> -<%endif%> -<%if(type_is_static)%> -OUTDIR=<%output_dir(".")%> -<%endif%> -<%if(type_is_dynamic)%> -OUTDIR=<%libout%> -<%endif%> -INTDIR=<%intermediate_dir%>\<%noextension(project_file)%> - -ALL : <%if(exename)%><%if(install)%>"$(INSTALLDIR)" <%endif%><%endif%>"<%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%>" - -DEPEND : - depgen.pl<%foreach(includes)%> -I"<%include%>"<%endfor%><%foreach(defines cpu_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%><%endif%> -f "<%noextension(project_file)%>.dep"<%foreach(source_files)%> <%source_file%><%endfor%> - -<%if(idl_files)%> -IDL_STUBS :<%foreach(idl_files)%> "<%if(flag_overrides(idl_file, idlgendir))%><%flag_overrides(idl_file, idlgendir)%><%else%><%if(idlgendir)%><%idlgendir%><%else%><%dirname(idl_file)%><%endif%><%endif%>\<%basenoextension(idl_file)%>C.cpp"<%endfor%> - -<%endif%> -CLEAN : - -@erase "$(INTDIR)\*.obj" - -@erase "$(INTDIR)\*.res" - -@erase "$(INTDIR)\*.pch" - -@erase "$(INTDIR)\*.idb" - -@erase "$(OUTDIR)\*.exp" - -@erase "$(OUTDIR)\*.ilk" - -REALCLEAN : CLEAN - -@erase "$(OUTDIR)\*.lib" -<%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(idl_files)%> - -@erase<%foreach(idl_files)%> "<%if(flag_overrides(idl_file, idlgendir))%><%flag_overrides(idl_file, idlgendir)%><%else%><%if(idlgendir)%><%idlgendir%><%else%><%dirname(idl_file)%><%endif%><%endif%>\<%basenoextension(idl_file)%>C.*" "<%if(flag_overrides(idl_file, idlgendir))%><%flag_overrides(idl_file, idlgendir)%><%else%><%if(idlgendir)%><%idlgendir%><%else%><%dirname(idl_file)%><%endif%><%endif%>\<%basenoextension(idl_file)%>S.*"<%endfor%> -<%endif%> - -<%if(install)%> -"$(INSTALLDIR)" : - if not exist "<%install%>/$(NULL)" mkdir "<%install%>" - -<%endif%> -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -"$(INTDIR)" : - if not exist "<%intermediate_dir%>/$(NULL)" mkdir "<%intermediate_dir%>" - if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo <%if(add_compile)%><%add_compile%> <%endif%><%compile_flags("/MD /W3 /GX /O2 /Ob2")%> <%foreach(includes)%>/I "<%include%>" <%endfor%><%foreach(defines cpu_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 cpu_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(lit_libs)%><%lit_lib%>.lib <%endfor%><%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 -<%endfor%> - - -!IF "$(NO_EXTERNAL_DEPS)" != "1" -!IF EXISTS("<%noextension(project_file)%>.dep") -!INCLUDE "<%noextension(project_file)%>.dep" -!ELSE -!MESSAGE Warning: cannot find "<%noextension(project_file)%>.dep" -!ENDIF -!ENDIF - - -!IF <%foreach(platforms)%><%foreach(configurations)%>"$(CFG)" == "<%platform%> <%configuration%>" <%fornotlast("|| ")%><%endfor%><%endfor%> -<%if(pch_source)%> -<%if(pch_header)%> -SOURCE=.\<%pch_source%> - -<%foreach(platforms)%> -<%foreach(configurations)%> -!<%fornotfirst("ELSE")%>IF "$(CFG)" == "<%platform%> <%configuration%>" - -CPP_SWITCHES=/nologo <%if(add_compile)%><%add_compile%> <%endif%><%compile_flags%> <%foreach(includes)%>/I "<%include%>" <%endfor%><%foreach(defines cpu_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%> -<%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(platforms)%> -<%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 - <%idl_compiler("$(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%> - -<%endfor%> -<%foreach(resource_files)%> -SOURCE=.\<%resource_file%> - -"$(INTDIR)\<%basenoextension(resource_file)%>.res" : $(SOURCE) "$(INTDIR)" - $(RSC) $(RSC_PROJ) $(SOURCE) - - -<%endfor%> - -!ENDIF - diff --git a/bin/MakeProjectCreator/templates/nmakedll.mpt b/bin/MakeProjectCreator/templates/nmakedll.mpt deleted file mode 100644 index 2e7f17a2306..00000000000 --- a/bin/MakeProjectCreator/templates/nmakedll.mpt +++ /dev/null @@ -1,137 +0,0 @@ -configurations = Release Debug "Static Release" "Static Debug" -platforms = Win32 -default_configuration = Debug -common_defines = WIN32 _WINDOWS - -Win32 { - machine_description = x86 - machine = I386 -} - -Win64 { - machine_description = IA64 - machine = IA64 - cpu_defines = WIN64 - add_compile = /Wp64 -} - -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 - pdb = 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 - output_dir = . - 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 -} - -MFC 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 = MFC_Release - intermediate_dir = MFC_Release - lib_modifier = mfc - debug_switch = - type_is_dynamic = 1 - type_is_binary = 1 - pdb = 1 - ssl_libs = libeay32 ssleay32 -} - -MFC 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 - output_dir = MFC_Debug - intermediate_dir = MFC_Debug - lib_modifier = mfcd - type_is_dynamic = 1 - type_is_binary = 1 - pdb = 1 - ssl_libs = libeay32 ssleay32 -} - -Static MFC 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_MFC_Release - intermediate_dir = Static_MFC_Release - lib_modifier = mfcs - debug_switch = - type_is_static = 1 - need_libflags = 1 -} - -Static MFC 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_MFC_Debug - intermediate_dir = Static_MFC_Debug - lib_modifier = mfcsd - type_is_static = 1 - need_libflags = 1 -} - -conditional_include "vcfullmacros" diff --git a/bin/MakeProjectCreator/templates/nmakeexe.mpt b/bin/MakeProjectCreator/templates/nmakeexe.mpt deleted file mode 100644 index ddcc967777a..00000000000 --- a/bin/MakeProjectCreator/templates/nmakeexe.mpt +++ /dev/null @@ -1,118 +0,0 @@ -type_description = "Console Application" -type_code = 0x0103 -configurations = Release Debug "Static Release" "Static Debug" -platforms = Win32 -default_configuration = Debug -type_is_binary = 1 -common_defines = WIN32 _CONSOLE -subsystem = console -pdb = 1 - -Win32 { - machine_description = x86 - machine = I386 -} - -Win64 { - machine_description = IA64 - machine = IA64 - cpu_defines = WIN64 - add_compile = /Wp64 -} - -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 - output_dir = . - intermediate_dir = Debug - lib_modifier = d - 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 -} - -MFC Release { - subsystem = windows - use_debug_libraries = 0 - compile_flags = /W3 /GX /O2 /MD /GR - defines = NDEBUG _AFXDLL - compile_flags_removed = /YX - output_dir = MFC_Release - intermediate_dir = MFC_Release - lib_modifier = mfc - debug_switch = - ssl_libs = libeay32 ssleay32 -} - -MFC Debug { - subsystem = windows - use_debug_libraries = 1 - compile_flags = /W3 /Gm /GX /Zi /Od /MDd /GR /Gy - defines = _DEBUG _AFXDLL - compile_flags_removed = /YX - output_dir = MFC_Debug - intermediate_dir = MFC_Debug - lib_modifier = mfcd - ssl_libs = libeay32 ssleay32 -} - -Static MFC Release { - subsystem = windows - use_debug_libraries = 0 - compile_flags = /W3 /GX /O2 /MD /GR - defines = NDEBUG _AFXDLL - compile_flags_removed = /YX - lib_modifier = mfcs - need_libflags = 1 - output_dir = Static_MFC_Release - intermediate_dir = Static_MFC_Release - debug_switch = -} - -Static MFC Debug { - subsystem = windows - use_debug_libraries = 1 - compile_flags = /W3 /Gm /GX /Zi /Od /MDd /GR /Gy - defines = _DEBUG _AFXDLL - compile_flags_removed = /YX - lib_modifier = mfcsd - need_libflags = 1 - output_dir = Static_MFC_Debug - intermediate_dir = Static_MFC_Debug -} - -conditional_include "vcfullmacros" diff --git a/bin/MakeProjectCreator/templates/va4icc.mpd b/bin/MakeProjectCreator/templates/va4icc.mpd deleted file mode 100644 index 671a840e3d4..00000000000 --- a/bin/MakeProjectCreator/templates/va4icc.mpd +++ /dev/null @@ -1,138 +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 ("_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), - 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'), - 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(lit_libs)%> - source type (lib) "<%lit_lib%>.lib" -<%endfor%> -<%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 lit_libs)%> - source type (lib) "lib<%lib%>.a" -<%endfor%> -<%if(type_is_dynamic)%> - source type (lib) "libtli_r.a" - source type (lib) "libpthreads.a" - source type (lib) "libc_r.a" - source type (lib) "libdl.a" - // Imports - source type (imp) "pse.exp" -<%endif%> - } - } - } diff --git a/bin/MakeProjectCreator/templates/va4iccdll.mpt b/bin/MakeProjectCreator/templates/va4iccdll.mpt deleted file mode 100644 index 3f6265f7b71..00000000000 --- a/bin/MakeProjectCreator/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/bin/MakeProjectCreator/templates/va4iccdllexe.mpt b/bin/MakeProjectCreator/templates/va4iccdllexe.mpt deleted file mode 100644 index 1616203a141..00000000000 --- a/bin/MakeProjectCreator/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/bin/MakeProjectCreator/templates/va4icclib.mpt b/bin/MakeProjectCreator/templates/va4icclib.mpt deleted file mode 100644 index 8584a3b73a4..00000000000 --- a/bin/MakeProjectCreator/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/bin/MakeProjectCreator/templates/va4icclibexe.mpt b/bin/MakeProjectCreator/templates/va4icclibexe.mpt deleted file mode 100644 index 8505a668ea5..00000000000 --- a/bin/MakeProjectCreator/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/bin/MakeProjectCreator/templates/vc6dsp.mpd b/bin/MakeProjectCreator/templates/vc6dsp.mpd deleted file mode 100644 index 8fe6995e8bb..00000000000 --- a/bin/MakeProjectCreator/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("Win32")%> (<%platform_hardware("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%> (<%platform_hardware%>) <%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%>\<%noextension(project_file)%>" -<%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(project_file)%>\<%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(lit_libs)%><%lit_lib%>.lib <%endfor%><%foreach(libs defaultlibs)%><%lib%><%lib_modifier%>.lib <%endfor%><%foreach(libpaths)%>/libpath:"<%libpath%>" <%endfor%>/nologo /version:<%version("1.0")%> /subsystem:<%subsystem("windows")%><%if(pdb)%><%if(sharedname)%> /pdb:"<%dllout%>\<%sharedname%><%lib_modifier%>.pdb"<%else%><%if(exename)%> /pdb:"<%if(install)%><%install%><%else%><%output_dir%><%endif%>\<%exename%>.pdb"<%endif%><%endif%><%endif%><%if(type_is_dynamic)%> /dll<%endif%> <%debug_switch("/debug")%> /machine:<%machine("I386")%> /out:"<%if(sharedname)%><%dllout%>\<%sharedname%><%lib_modifier%>.dll<%endif%><%if(exename)%><%if(install)%><%install%><%else%><%output_dir%><%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 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= \ - <%idl_compiler("$(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/bin/MakeProjectCreator/templates/vc6dspdll.mpt b/bin/MakeProjectCreator/templates/vc6dspdll.mpt deleted file mode 100644 index a3c42b3cbb7..00000000000 --- a/bin/MakeProjectCreator/templates/vc6dspdll.mpt +++ /dev/null @@ -1,50 +0,0 @@ -configurations = Release Debug -type_is_binary = 1 -type_is_dynamic = 1 -common_defines = WIN32 _WINDOWS -ssl_libs = libeay32 ssleay32 -pdb = 1 - -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 -} - -MFC Release { - use_debug_libraries = 0 - compile_flags = /W3 /GX /O2 /MD /Zi /Ob2 /GR - defines = NDEBUG - compile_flags_removed = /YX - output_dir = MFC_Release - intermediate_dir = MFC_Release - debug_switch = - lib_modifier = mfc - use_mfc = 2 -} - -MFC Debug { - use_debug_libraries = 1 - compile_flags = /W3 /Gm /GX /Zi /Od /MDd /GR /Gy - defines = _DEBUG - compile_flags_removed = /Fr /YX - output_dir = MFC_Debug - intermediate_dir = MFC_Debug - lib_modifier = mfcd - use_mfc = 2 -} - -conditional_include "vcpartialmacros" diff --git a/bin/MakeProjectCreator/templates/vc6dspdllexe.mpt b/bin/MakeProjectCreator/templates/vc6dspdllexe.mpt deleted file mode 100644 index 50df87e602b..00000000000 --- a/bin/MakeProjectCreator/templates/vc6dspdllexe.mpt +++ /dev/null @@ -1,57 +0,0 @@ -type_description = "Console Application" -type_code = 0x0103 -configurations = Release Debug -type_is_binary = 1 -common_defines = WIN32 _CONSOLE -subsystem = console -ssl_libs = libeay32 ssleay32 -pdb = 1 - -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 - output_dir = . - lib_modifier = d -} - -MFC Release { - subsystem = windows - use_debug_libraries = 0 - compile_flags = /W3 /GX /O2 /MD /GR - common_defines = WIN32 _WINDOWS - defines = NDEBUG _AFXDLL - compile_flags_removed = /YX - output_dir = MFC_Release - intermediate_dir = MFC_Release - debug_switch = - lib_modifier = mfc - use_mfc = 2 -} - -MFC Debug { - subsystem = windows - use_debug_libraries = 1 - compile_flags = /W3 /Gm /GX /Zi /Od /MDd /GR /Gy - common_defines = WIN32 _WINDOWS - defines = _DEBUG _AFXDLL - compile_flags_removed = /YX - intermediate_dir = MFC_Debug - output_dir = MFC_Debug - lib_modifier = mfcd - use_mfc = 2 -} - -conditional_include "vcpartialmacros" diff --git a/bin/MakeProjectCreator/templates/vc6dsplib.mpt b/bin/MakeProjectCreator/templates/vc6dsplib.mpt deleted file mode 100644 index d7968bb5863..00000000000 --- a/bin/MakeProjectCreator/templates/vc6dsplib.mpt +++ /dev/null @@ -1,55 +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 - -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 -} - -MFC Release { - use_debug_libraries = 0 - compile_flags = /G5 /W3 /GX /O2 /MD /Zi /GR - defines = NDEBUG - compile_flags_removed = /YX - output_dir = MFC_Release - intermediate_dir = MFC_Release - lib_modifier = mfcs - debug_switch = - use_mfc = 1 -} - -MFC 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 = MFC_Debug - intermediate_dir = MFC_Debug - lib_modifier = mfcsd - pdb = 1 - use_mfc = 1 -} - -conditional_include "vcpartialmacros" diff --git a/bin/MakeProjectCreator/templates/vc6dsplibexe.mpt b/bin/MakeProjectCreator/templates/vc6dsplibexe.mpt deleted file mode 100644 index 2cbf804ddc6..00000000000 --- a/bin/MakeProjectCreator/templates/vc6dsplibexe.mpt +++ /dev/null @@ -1,58 +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 -ssl_libs = libeay32 ssleay32 -need_libflags = 1 -pdb = 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 -} - -MFC Release { - use_debug_libraries = 0 - compile_flags = /W3 /GX /O2 /MD /GR - common_defines = WIN32 _WINDOWS - defines = NDEBUG _AFXDLL - compile_flags_removed = /YX - lib_modifier = mfcs - output_dir = MFC_Release - intermediate_dir = MFC_Release - debug_switch = - use_mfc = 1 -} - -MFC Debug { - use_debug_libraries = 1 - compile_flags = /W3 /Gm /GX /Zi /Od /MDd /GR /Gy - common_defines = WIN32 _WINDOWS - defines = _DEBUG _AFX_DLL - compile_flags_removed = /YX - lib_modifier = mfcsd - output_dir = MFC_Debug - intermediate_dir = MFC_Debug - use_mfc = 1 -} - -conditional_include "vcpartialmacros" diff --git a/bin/MakeProjectCreator/templates/vc7.mpd b/bin/MakeProjectCreator/templates/vc7.mpd deleted file mode 100644 index cae5d385dfd..00000000000 --- a/bin/MakeProjectCreator/templates/vc7.mpd +++ /dev/null @@ -1,234 +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%>\<%noextension(project_file)%>" - 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(project_file)%>\<%noextension(pch_source)%>.pch" -<%endif%> -<%endif%> - AssemblerListingLocation=".\<%intermediate_dir%>\<%noextension(project_file)%>" - ObjectFile=".\<%intermediate_dir%>\<%noextension(project_file)%>\" - 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(lit_libs)%><%lit_lib%>.lib <%endfor%><%foreach(libs defaultlibs)%><%lib%><%lib_modifier%>.lib<%fornotlast(" ")%><%endfor%><%if(ssl)%><%foreach(ssl_libs)%> <%ssl_lib%>.lib<%endfor%><%endif%>" -<%endif%> - OutputFile="<%if(type_is_dynamic)%><%dllout%>\<%sharedname%><%lib_modifier%>.dll<%endif%><%if(exename)%><%if(install)%><%install%><%else%><%output_dir%><%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)%> -<%if(sharedname)%> - ProgramDatabaseFile="<%dllout%>\<%sharedname%><%lib_modifier%>.pdb" -<%else%> -<%if(exename)%> - ProgramDatabaseFile="<%if(install)%><%install%><%else%><%output_dir%><%endif%>\<%exename%>.pdb" -<%endif%> -<%endif%> -<%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> -<%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 IDL Compiler on <%basename(idl_file)%> located in <%dirname(idl_file)%>" -<%if(flag_overrides(idl_file, idlgendir))%> - CommandLine="<%idl_compiler("$(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="<%idl_compiler("$(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="<%idl_compiler("$(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="<%idl_compiler("$(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/bin/MakeProjectCreator/templates/vc7dll.mpt b/bin/MakeProjectCreator/templates/vc7dll.mpt deleted file mode 100644 index 154870eaf37..00000000000 --- a/bin/MakeProjectCreator/templates/vc7dll.mpt +++ /dev/null @@ -1,100 +0,0 @@ -configurations = Release Debug "Static Release" "Static Debug" -common_defines = WIN32 _WINDOWS -ssl_libs = libeay32 ssleay32 - -Release { - type_is_dynamic = 1 - type_is_binary = 1 - defines = NDEBUG - output_dir = Release - intermediate_dir = Release - runtime_library = 2 - pdb = 1 -} - -Debug { - type_is_dynamic = 1 - type_is_binary = 1 - optimization = 0 - debug = 1 - defines = _DEBUG - output_dir = . - intermediate_dir = Debug - lib_modifier = d - runtime_library = 3 - pdb = 1 -} - -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 -} - -MFC Release { - type_is_dynamic = 1 - type_is_binary = 1 - defines = NDEBUG - output_dir = MFC_Release - intermediate_dir = MFC_Release - lib_modifier = mfc - runtime_library = 2 - pdb = 1 - use_mfc = 2 -} - -MFC Debug { - type_is_dynamic = 1 - type_is_binary = 1 - optimization = 0 - debug = 1 - defines = _DEBUG - output_dir = MFC_Debug - intermediate_dir = MFC_Debug - lib_modifier = mfcd - runtime_library = 3 - pdb = 1 - use_mfc = 2 -} - -Static MFC Release { - type_is_static = 1 - defines = NDEBUG - output_dir = Static_MFC_Release - intermediate_dir = Static_MFC_Release - lib_modifier = mfcs - need_libflags = 1 - runtime_library = 2 - use_mfc = 2 -} - -Static MFC Debug { - type_is_static = 1 - optimization = 0 - debug = 1 - defines = _DEBUG - output_dir = Static_MFC_Debug - intermediate_dir = Static_MFC_Debug - lib_modifier = mfcsd - need_libflags = 1 - runtime_library = 3 - use_mfc = 2 -} - -conditional_include "vcfullmacros" diff --git a/bin/MakeProjectCreator/templates/vc7exe.mpt b/bin/MakeProjectCreator/templates/vc7exe.mpt deleted file mode 100644 index e23f10490bd..00000000000 --- a/bin/MakeProjectCreator/templates/vc7exe.mpt +++ /dev/null @@ -1,90 +0,0 @@ -configurations = Release Debug "Static Release" "Static Debug" -type_is_binary = 1 -common_defines = WIN32 _CONSOLE -configuration_type = 1 -subsystem = 1 -ssl_libs = libeay32 ssleay32 -pdb = 1 - -Release { - defines = NDEBUG - output_dir = Release - intermediate_dir = Release - runtime_library = 2 -} - -Debug { - optimization = 0 - debug = 1 - defines = _DEBUG - output_dir = . - 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 -} - -MFC Release { - common_defines = WIN32 _WINDOWS - defines = NDEBUG _AFXDLL - output_dir = MFC_Release - intermediate_dir = MFC_Release - lib_modifier = mfc - runtime_library = 2 - use_mfc = 2 -} - -MFC Debug { - optimization = 0 - debug = 1 - common_defines = WIN32 _WINDOWS - defines = _DEBUG _AFXDLL - output_dir = MFC_Debug - intermediate_dir = MFC_Debug - lib_modifier = mfcd - runtime_library = 3 - use_mfc = 2 -} - -Static MFC Release { - defines = NDEBUG _AFXDLL - output_dir = Static_MFC_Release - intermediate_dir = Static_MFC_Release - lib_modifier = mfcs - need_libflags = 1 - runtime_library = 2 - use_mfc = 2 -} - -Static MFC Debug { - optimization = 0 - debug = 1 - defines = _DEBUG _AFXDLL - output_dir = Static_MFC_Debug - intermediate_dir = Static_MFC_Debug - lib_modifier = mfcsd - need_libflags = 1 - runtime_library = 3 - use_mfc = 2 -} - -conditional_include "vcfullmacros" diff --git a/bin/Makefile b/bin/Makefile deleted file mode 100644 index 13f5df60a74..00000000000 --- a/bin/Makefile +++ /dev/null @@ -1,111 +0,0 @@ -#---------------------------------------------------------------------------- -# -# $Id$ -# -# Makefile for all the ACE binaries -# -# This Makefile can build clone and envinfo, but not both at the same time. -# clone must not use any ACE pieces, since it's building a clone of the source -# tree and it can't have done a build yet. envinfo, on the other hand, -# requires a built ACE to build correctly. -# This Makefile is distributed so as to be able to build clone without -# changes. To build envinfo, first build ACE, then come back and do a -# make envinfo=1 -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Local macros -#---------------------------------------------------------------------------- - -ifdef envinfo -BIN = envinfo - -LSRC = $(addsuffix .cpp,$(BIN)) -VLDLIBS = $(LDLIBS:%=%$(VAR)) - -BUILD = $(VBIN) - -#---------------------------------------------------------------------------- -# Include macros and targets -#---------------------------------------------------------------------------- - -include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU -include $(ACE_ROOT)/include/makeinclude/macros.GNU -include $(ACE_ROOT)/include/makeinclude/rules.common.GNU -include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU -include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU -include $(ACE_ROOT)/include/makeinclude/rules.local.GNU - -# To build multiple executables in the same directory on AIX, it works -# best to wipe out any previously-created tempinc directory. -# The compiler/linker isn't too smart about instantiating templates... -ifdef TEMPINCDIR -COMPILE.cc := $(RM) -rf tempinc; $(COMPILE.cc) -endif - -else # Not building envinfo - -include $(ACE_ROOT)/include/makeinclude/platform_macros.GNU - -CFILES = clone.cpp -OFILES = clone.o -DFLAGS = -b elf -CCFLAGS += -I$(ACE_ROOT) - -############################################################################# -# C++ directives - -.SUFFIXES: .cpp -.cpp.o: - $(CXX) $(CCFLAGS) -c $< -############################################################################# - -clone: $(OFILES) - $(CXX) $(CCFLAGS) -o $@ $(OFILES) - -realclean: clean - -$(RM) clone - -endif # envinfo - - -#---------------------------------------------------------------------------- -# Local targets -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Dependencies -#---------------------------------------------------------------------------- -# DO NOT DELETE THIS LINE -- g++dep uses it. -# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. - -.obj/clone.o .obj/clone.so .shobj/clone.o .shobj/clone.so: clone.cpp \ - $(ACE_ROOT)/ace/OS.h \ - $(ACE_ROOT)/ace/config.h \ - $(ACE_ROOT)/ace/streams.h \ - $(ACE_ROOT)/ace/Basic_Types.h \ - $(ACE_ROOT)/ace/Basic_Types.i \ - $(ACE_ROOT)/ace/OS.i \ - $(ACE_ROOT)/ace/Trace.h \ - $(ACE_ROOT)/ace/Log_Msg.h \ - $(ACE_ROOT)/ace/Log_Record.h \ - $(ACE_ROOT)/ace/ACE.h \ - $(ACE_ROOT)/ace/ACE.i \ - $(ACE_ROOT)/ace/Log_Priority.h \ - $(ACE_ROOT)/ace/Log_Record.i -.obj/envinfo.o .obj/envinfo.so .shobj/envinfo.o .shobj/envinfo.so: envinfo.cpp \ - $(ACE_ROOT)/ace/ACE.h \ - $(ACE_ROOT)/ace/OS.h \ - $(ACE_ROOT)/ace/config.h \ - $(ACE_ROOT)/ace/streams.h \ - $(ACE_ROOT)/ace/Basic_Types.h \ - $(ACE_ROOT)/ace/Basic_Types.i \ - $(ACE_ROOT)/ace/OS.i \ - $(ACE_ROOT)/ace/Trace.h \ - $(ACE_ROOT)/ace/Log_Msg.h \ - $(ACE_ROOT)/ace/Log_Record.h \ - $(ACE_ROOT)/ace/ACE.i \ - $(ACE_ROOT)/ace/Log_Priority.h \ - $(ACE_ROOT)/ace/Log_Record.i - -# IF YOU PUT ANYTHING HERE IT WILL GO AWAY diff --git a/bin/PerlACE/ConfigList.pm b/bin/PerlACE/ConfigList.pm deleted file mode 100644 index f2546d844d9..00000000000 --- a/bin/PerlACE/ConfigList.pm +++ /dev/null @@ -1,155 +0,0 @@ -# $Id$ - -package PerlACE::ConfigList; -use strict; -use FileHandle; - -@PerlACE::ConfigList::Configs = (); - -my @new_argv = (); - -for(my $i = 0; $i <= $#ARGV; ++$i) { - if ($ARGV[$i] eq '-Config') { - if (defined $ARGV[$i + 1]) { - push @PerlACE::ConfigList::Configs, $ARGV[++$i]; - } - else { - print STDERR "You must pass a configuration with Config\n"; - exit(1); - } - } - else { - push @new_argv, $ARGV[$i]; - } -} -@ARGV = @new_argv; - - -sub new () -{ - my $self = {}; - @{$self->{MY_CONFIGS}} = @PerlACE::ConfigList::Configs; - bless $self; - return $self; -} - -sub my_config_list -{ - my $self = shift; - if (@_) { @{$self->{MY_CONFIGS}} = @_; } - return @{$self->{MY_CONFIGS}}; -} - -sub add_one_config ($) -{ - my $self = shift; - my $newconfig = shift; - push @{$self->{MY_CONFIGS}}, $newconfig; -} - -sub check_config (@) -{ - my $self = shift; - my @testconfigs = @_; - my $included = 0; - my $excluded = 0; - my $noincludes = 1; - - foreach my $config (@testconfigs) { - if ($config =~ /^\w/) { $noincludes = 0; } - foreach my $myconfig (@{$self->{MY_CONFIGS}}) { - if ($config eq "!$myconfig") { $excluded = 1; } - if ($config eq $myconfig) { $included = 1; } - } - } - return ($included || $noincludes) && !$excluded; -} - -sub load ($) -{ - my $self = shift; - my $filename = shift; - - my $fh = new FileHandle; - if (!$fh->open ("< $filename")) { - print STDERR "Could not open $filename: $!\n"; - exit (1); - } - - while (<$fh>) { - chomp; - if (/^\s*$/ || /^#/) { - next; - } - # compress white space - s/\s+/ /g; - - my $entry = ''; - my $configs = ''; - - ($entry, $configs) = split /:/; - - push @{$self->{ENTRIES}}, $entry; - if (defined $configs) { - @{$self->{CONFIGS}->{$entry}} = split (" ", $configs); - } - } - - $fh->close (); -} - -sub valid_entries () -{ - my $self = shift; - my @entries = (); - - foreach my $entry (@{$self->{ENTRIES}}) { - if ($self->check_config (@{$self->{CONFIGS}->{$entry}})) { - push @entries, $entry; - } - } - return @entries; -} - -sub list_configs () -{ - my $self = shift; - my %allconfigs = {}; - my $list = ''; - - foreach my $entry (@{$self->{ENTRIES}}) { - - foreach my $config (@{$self->{CONFIGS}->{$entry}}) { - $config =~ s/!//g; - if ($allconfigs{$config} != 1) { - $list .= $config.' '; - $allconfigs{$config} = 1; - } - } - } - - return $list; -} - -sub dump () -{ - my $self = shift; - - print "============================================================\n"; - print "Config\n"; - foreach my $config (@{$self->{MY_CONFIGS}}) { - print $config, "\n"; - } - print "\n"; - print "Entries\n"; - foreach my $entry (@{$self->{ENTRIES}}) { - print "- ", $entry, ": "; - foreach my $config (@{$self->{CONFIGS}->{$entry}}) { - print $config, " "; - } - print "\n"; - } - print "============================================================\n"; -} - -1;
\ No newline at end of file diff --git a/bin/PerlACE/MSProject.pm b/bin/PerlACE/MSProject.pm deleted file mode 100644 index 86e6548456a..00000000000 --- a/bin/PerlACE/MSProject.pm +++ /dev/null @@ -1,393 +0,0 @@ -# $Id$ - -package PerlACE::MSProject; - -use strict; -use FileHandle; - -############################################################################### - -# Constructor - -sub new -{ - my $proto = shift; - my $class = ref ($proto) || $proto; - my $self = {}; - - $self->{FILENAME} = shift; - $self->{VERSION} = undef; - $self->{NAME} = undef; - %{$self->{CONFIGS}} = (); - - bless ($self, $class); - return $self; -} - -############################################################################### - -# Accessors - -sub Filename -{ - my $self = shift; - - if (@_ != 0) { - $self->{FILENAME} = shift; - } - - return $self->{FILENAME}; -} - -sub Version () -{ - my $self = shift; - return $self->{VERSION}; -} - -sub Name () -{ - my $self = shift; - return $self->{NAME}; -} - -sub Configs () -{ - my $self = shift; - return keys %{$self->{CONFIGS}}; -} - -sub DepOutputFile ($) -{ - my $self = shift; - my $config = shift; - - if (!defined $config) { - print STDERR "Error: No configuration specified\n"; - return; - } - - my $name = $self->OutputFile ($config); - - if ($name =~ m/\.dll$/) { - $name = $self->LibraryFile ($config); - } - - $name =~ s/.*\\//; # / <- For devenv - $name =~ s/.*\///; - - return $name; -} - -sub OutputFile ($) -{ - my $self = shift; - my $config = shift; - - if (!defined $config) { - print STDERR "Error: No configuration specified\n"; - return; - } - - if (%{$self->{CONFIGS}}->{$config}->{LINK} =~ m/out\:\"([^\"]*)\"/) { - return $1; - } - elsif (defined $self->Name ()) { - my $filename = $self->Filename; - my $ext = ""; - - if (%{$self->{CONFIGS}}->{$config}->{LINK} =~ m/\/dll/) { - $ext = ".dll"; - } - elsif (%{$self->{CONFIGS}}->{$config}->{LINK} =~ m/\/subsystem\:/) { - $ext = ".exe"; - } - else { - $ext = ".lib"; - } - - $filename =~ s/\.[^\.]*$/$ext/; - return $filename; - } -} - - -sub LibraryFile ($) -{ - my $self = shift; - my $config = shift; - my $dll = undef; - - if (!defined $config) { - print STDERR "Error: No configuration specified\n"; - return; - } - - if ($self->OutputFile ($config) =~ m/([^\/\\]*)\.dll$/i) { - $dll = $1; - } - - if (defined $dll) { - if (%{$self->{CONFIGS}}->{$config}->{LINK} =~ m/implib\:\"([^\"]*)\"/i) { - return $1; - } - else { - $dll =~ s/.*\\//ig; # / <- Just here to fix color coding in devenv beta - return $self->OutputDir ($config). $dll . ".lib"; - } - } -} - -sub OutputDir ($) -{ - my $self = shift; - my $config = shift; - - if (!defined $config) { - print STDERR "Error: No configuration specified\n"; - return; - } - - return %{$self->{CONFIGS}}->{$config}->{OUTPUTDIR}; -} - -sub IntermidiateDir ($) -{ - my $self = shift; - my $config = shift; - - if (!defined $config) { - print STDERR "Error: No configuration specified\n"; - return; - } - - return %{$self->{CONFIGS}}->{$config}->{INTERMEDIATEDIR}; -} - -sub TargetDir ($) -{ - my $self = shift; - my $config = shift; - - if (!defined $config) { - print STDERR "Error: No configuration specified\n"; - return; - } - - return %{$self->{CONFIGS}}->{$config}->{TARGETDIR}; -} - -sub CPPOptions ($) -{ - my $self = shift; - my $config = shift; - - if (!defined $config) { - print STDERR "Error: No configuration specified\n"; - return; - } - - return %{$self->{CONFIGS}}->{$config}->{CPP}; -} - -sub LINKOptions ($) -{ - my $self = shift; - my $config = shift; - - if (!defined $config) { - print STDERR "Error: No configuration specified\n"; - return; - } - - return %{$self->{CONFIGS}}->{$config}->{LINK}; -} - -sub Libs($) -{ - my $self = shift; - my $config = shift; - - if (!defined $config) { - print STDERR "Error: No configuration specified\n"; - return; - } - - return %{$self->{CONFIGS}}->{$config}->{LIBS}; -} - -sub UsesTAOIDL () -{ - my $self = shift; - - return $self->{TAOIDL}; -} - -sub Compiler () -{ - my $self = shift; - - return $self->{COMPILER}; -} - -############################################################################### - -# Big methods - -sub Load () -{ - my $self = shift; - my $config = "Unknown"; - - $self->{valid} = 0; - - my $fh = new FileHandle; - - unless ($fh->open ("<" . $self->{FILENAME})) { - print "Could not open file ", $self->{FILENAME}, ": ", $_; - return; - } - - while (<$fh>) { - if (m/^\#.*Project File - Name=\"([^\"]*)\"/) { - $self->{NAME} = $1; - } - - if (m/^\#.*Format Version (.*)/) { - $self->{VERSION} = $1; - } - - # Check for configurations - - if (m/^\!.*IF \"\$\(CFG\)\" == \".* - (.*)$\"/) { - $config = $1; - } - elsif (m/^\!ENDIF$/) { - $config = ""; - } - - # Check for directories - - if (m/\# PROP Output_Dir \"(.*)\"/) { - %{$self->{CONFIGS}}->{$config}->{OUTPUTDIR} = $1; - } - elsif (m/\# PROP Intermediate_Dir \"(.*)\"/) { - %{$self->{CONFIGS}}->{$config}->{INTERMEDIATEDIR} = $1; - } - elsif (m/\# PROP Target_Dir \"(.*)\"/) { - %{$self->{CONFIGS}}->{$config}->{TARGETDIR} = $1; - } - - # Look at CPP options - - if (m/\# ADD BASE CPP(.*)$/ || m/\# ADD CPP(.*)$/) { - my @flags = split (/ \//, $1); - - foreach my $flag (@flags) { - if ($flag && %{$self->{CONFIGS}}->{$config}->{CPP} !~ m/$flag/) { - %{$self->{CONFIGS}}->{$config}->{CPP} .= " /$flag"; - } - } - } - elsif (m/\# SUBTRACT CPP(.*)$/ || m/\# SUBTRACT BASE CPP(.*)$/) { - my @flags = split (/ \//, $1); - - foreach my $flag (@flags) { - if ($flag && %{$self->{CONFIGS}}->{$config}->{CPP} =~ m/$flag/) { - %{$self->{CONFIGS}}->{$config}->{CPP} =~ s/ \/$flag//g; - } - } - } - - # Look at LINK32 options - - if (m/\# ADD BASE LINK32(.*)$/ || m/\# ADD LINK32(.*)$/ - || m/\# ADD BASE LIB32(.*)$/ || m/\# ADD LIB32(.*)$/) { - my @flags = split (/ \//, $1); - - foreach my $flag (@flags) { - my $found = 0; - my @libs = split (/ /, $flag); - - foreach my $lib (@libs) { - if ($lib =~ m/\.lib$/) { - if (%{$self->{CONFIGS}}->{$config}->{LIBS} !~ m/\Q$lib\E/) { - %{$self->{CONFIGS}}->{$config}->{LIBS} .= " $lib"; - } - $found = 1; - } - } - - if (!$found && $flag) { - my $shortflag = $flag; - if ($flag =~ m/^(.*)\:/) { - $shortflag = $1; - } - - if (%{$self->{CONFIGS}}->{$config}->{LINK} !~ m/ \/$shortflag/) { - %{$self->{CONFIGS}}->{$config}->{LINK} .= " /$flag"; - } - } - } - } - elsif (m/\# SUBTRACT BASE LINK32(.*)$/ || m/\# SUBTRACT LINK32(.*)$/ - || m/\# SUBTRACT BASE LIB32(.*)$/ || m/\# SUBTRACT LIB32(.*)$/) { - my @flags = split (/ \//, $1); - - foreach my $flag (@flags) { - my $shortflag = $flag; - if ($flag =~ m/^(.*)\:/) { - $shortflag = $1; - } - - if ($flag && %{$self->{CONFIGS}}->{$config}->{LINK} =~ m/ (\/$shortflag\:[^ ]*)/) { - %{$self->{CONFIGS}}->{$config}->{LINK} =~ s/ \Q$1\E//ig; - } - } - } - - if (m/^\# Name \".* - (.*)\"/ && defined %{$self->{CONFIGS}}->{"Unknown"}) { - %{$self->{CONFIGS}}->{$1} = %{$self->{CONFIGS}}->{"Unknown"}; - delete %{$self->{CONFIGS}}->{"Unknown"}; - } - - if (m/tao\_idl/ && m/\$\(InputName\)\.idl/ || m/tao\_idl/ && m/\$\(InputPath\)/) { - $self->{TAOIDL} = 1; - } - } - $fh->close (); - $self->{valid} = 1; -} - -############################################################################### - -# Build functions - -sub Build ($) -{ - my $self = shift; - my ($config) = @_; - - my $command = $self->Compiler () . " " . $self->Filename () - . " /USEENV" - . " /MAKE \"" . $self->Name () - . " - " . $config . "\""; - - system $command; -} - -sub Clean ($) -{ - my $self = shift; - my ($config) = @_; - - my $command = $self->Compiler () . " " . $self->Filename () - . " /USEENV" - . " /MAKE \"" . $self->Name () - . " - " . $config . "\" /CLEAN"; - - system $command; -} - - -1;
\ No newline at end of file diff --git a/bin/PerlACE/MSProject/DSP.pm b/bin/PerlACE/MSProject/DSP.pm deleted file mode 100644 index b7ca0276a82..00000000000 --- a/bin/PerlACE/MSProject/DSP.pm +++ /dev/null @@ -1,28 +0,0 @@ -# $Id$ - -package PerlACE::MSProject::DSP; - -use strict; -use PerlACE::MSProject; - -our @ISA = ("PerlACE::MSProject"); - -############################################################################### - -# Constructor - -sub new -{ - my $proto = shift; - my $class = ref ($proto) || $proto; - my $self = $class->SUPER::new (@_); - - $self->{COMPILER} = "msdev.com"; - - bless ($self, $class); - return $self; -} - -############################################################################### - -1;
\ No newline at end of file diff --git a/bin/PerlACE/MSProject/VCP.pm b/bin/PerlACE/MSProject/VCP.pm deleted file mode 100644 index 8377d22788b..00000000000 --- a/bin/PerlACE/MSProject/VCP.pm +++ /dev/null @@ -1,30 +0,0 @@ -# $Id$ - -package PerlACE::MSProject::VCP; - -use strict; -use PerlACE::MSProject; - -our @ISA = ("PerlACE::MSProject"); - -############################################################################### - -# Constructor - -sub new -{ - my $proto = shift; - my $class = ref ($proto) || $proto; - my $self = $class->SUPER::new (@_); - - $self->{COMPILER} = "evc.com"; - - bless ($self, $class); - return $self; -} - -############################################################################### - -# Accessors - -1;
\ No newline at end of file diff --git a/bin/PerlACE/Process.pm b/bin/PerlACE/Process.pm deleted file mode 100644 index 62c0565cb2c..00000000000 --- a/bin/PerlACE/Process.pm +++ /dev/null @@ -1,38 +0,0 @@ -# $Id$ - -package PerlACE::Process; - -use strict; -use English; - -$PerlACE::Process::ExeSubDir = './'; - -### Check for -ExeSubDir commands, store the last one -my @new_argv = (); - -for(my $i = 0; $i <= $#ARGV; ++$i) { - if ($ARGV[$i] eq '-ExeSubDir') { - if (defined $ARGV[$i + 1]) { - $PerlACE::Process::ExeSubDir = $ARGV[++$i].'/'; - } - else { - print STDERR "You must pass a directory with ExeSubDir\n"; - exit(1); - } - } - else { - push @new_argv, $ARGV[$i]; - } -} -@ARGV = @new_argv; - -$PerlACE::Process::WAIT_DELAY_FACTOR = $ENV{"ACE_RUNTEST_DELAY"}; - -if ($OSNAME eq "MSWin32") { - require PerlACE::Process_Win32; -} -else { - require PerlACE::Process_Unix; -} - -1; diff --git a/bin/PerlACE/Process_Unix.pm b/bin/PerlACE/Process_Unix.pm deleted file mode 100644 index fe75bdffb60..00000000000 --- a/bin/PerlACE/Process_Unix.pm +++ /dev/null @@ -1,351 +0,0 @@ -# $Id$ - -package PerlACE::Process; - -use strict; -use POSIX "sys_wait_h"; -use Cwd; -use File::Basename; -use Config; - -############################################################################### - -### Chorus stuff - -$PerlACE::Process::chorushostname = "localhost"; -$PerlACE::Process::chorus = 0; - -$PerlACE::Process::cwd = getcwd(); - -for(my $i = 0; $i <= $#ARGV; $i++) { - if ($ARGV[$i] eq '-chorus') { - if (defined $ARGV[$i + 1]) { - $PerlACE::Process::chorus = 1; - $PerlACE::Process::chorushostname = $ARGV[$1 + 1]; - } - else { - print STDERR "The -chorus option requires " . - "the hostname of the target\n"; - exit(1); - } - - splice(@ARGV, $i, 2); - # Don't break from the loop just in case there - # is an accidental duplication of the -chorus option - } -} - -############################################################################### - -### Grab signal names - -my @signame; - -if (defined $Config{sig_name}) { - my $i = 0; - foreach my $name (split (' ', $Config{sig_name})) { - $signame[$i] = $name; - $i++; - } -} -else { - my $i; - for ($i = 0; $i < 255; ++$i) { - $signame[$i] = $i; - } -} - -############################################################################### - -### Constructor and Destructor - -sub new -{ - my $proto = shift; - my $class = ref ($proto) || $proto; - my $self = {}; - - $self->{RUNNING} = 0; - $self->{IGNOREEXESUBDIR} = 0; - $self->{PROCESS} = undef; - $self->{EXECUTABLE} = shift; - $self->{ARGUMENTS} = shift; - - if (!defined $PerlACE::Process::WAIT_DELAY_FACTOR) { -# if (defined $self->{PURIFY_CMD}) { -# $self->{WAIT_DELAY_FACTOR} = 10; -# } -# else { - $PerlACE::Process::WAIT_DELAY_FACTOR = 1; -# } - } - - bless ($self, $class); - return $self; -} - -sub DESTROY -{ - my $self = shift; - - if ($self->{RUNNING} == 1) { - print STDERR "ERROR: <", $self->{EXECUTABLE}, - "> still running upon object destruction\n"; - $self->Kill (); - } -} - -############################################################################### - -### Some Accessors - -sub Executable -{ - my $self = shift; - - if (@_ != 0) { - $self->{EXECUTABLE} = shift; - } - - my $executable = $self->{EXECUTABLE}; - - if ($self->{IGNOREEXESUBDIR}) { - return $executable; - } - - my $basename = basename ($executable); - my $dirname = dirname ($executable). '/'; - - $executable = $dirname.$PerlACE::Process::ExeSubDir.$basename; - - return $executable; -} - -sub Arguments -{ - my $self = shift; - - if (@_ != 0) { - $self->{ARGUMENTS} = shift; - } - - return $self->{ARGUMENTS}; -} - -sub CommandLine () -{ - my $self = shift; - - my $commandline = $self->Executable (); - - if (defined $self->{ARGUMENTS}) { - $commandline .= ' '.$self->{ARGUMENTS}; - } - - if ($PerlACE::Process::chorus == 1) { - $commandline = "rsh " - . $PerlACE::Process::chorushostname - . " arun " - . $PerlACE::Process::cwd - . "/" - . $commandline; - } - - return $commandline; -} - -sub IgnoreExeSubDir -{ - my $self = shift; - - if (@_ != 0) { - $self->{IGNOREEXESUBDIR} = shift; - } - - return $self->{IGNOREEXESUBDIR}; -} - -############################################################################### - -# Spawn the process and continue; - -sub Spawn () -{ - my $self = shift; - - if ($self->{RUNNING} == 1) { - print STDERR "ERROR: Cannot Spawn: <", $self->Executable (), - "> already running\n"; - return -1; - } - - if (!defined $self->{EXECUTABLE}) { - print STDERR "ERROR: Cannot Spawn: No executable specified\n"; - return -1; - } - - if ($self->{IGNOREEXESUBDIR} == 0) { - if (!-f $self->Executable ()) { - print STDERR "ERROR: Cannot Spawn: <", $self->Executable (), - "> not found\n"; - return -1; - } - - if (!$PerlACE::Process::chorus && !-x $self->Executable ()) { - print STDERR "ERROR: Cannot Spawn: <", $self->Executable (), - "> not executable\n"; - return -1; - } - } - - FORK: - { - if ($self->{PROCESS} = fork) { - #parent here - bless $self; - } - elsif (defined $self->{PROCESS}) { - #child here - exec $self->CommandLine (); - die "ERROR: exec failed for <" . $self->CommandLine () . ">"; - } - elsif ($! =~ /No more process/) { - #EAGAIN, supposedly recoverable fork error - sleep 5; - redo FORK; - } - else { - # weird fork error - print STDERR "ERROR: Can't fork <" . $self->CommandLine () . ">: $!\n"; - } - } - $self->{RUNNING} = 1; - return 0; -} - -sub WaitKill ($) -{ - my $self = shift; - my $timeout = shift; - - my $status = $self->TimedWait ($timeout); - - if ($status == -1) { - print STDERR "ERROR: $self->{EXECUTABLE} timedout\n"; - $self->Kill (); - } - - $self->{RUNNING} = 0; - - return $status; -} - - -# Do a Spawn and immediately WaitKill - -sub SpawnWaitKill ($) -{ - my $self = shift; - my $timeout = shift; - - if ($self->Spawn () == -1) { - return -1; - } - - return $self->WaitKill ($timeout); -} - -sub TerminateWaitKill ($) -{ - my $self = shift; - my $timeout = shift; - - if ($self->{RUNNING}) { - kill ('TERM', $self->{PROCESS}); - } - - return $self->WaitKill ($timeout); -} - -# really only for internal use -sub check_return_value ($) -{ - my $self = shift; - my $rc = shift; - - if ($rc == 0) { - return 0; - } - elsif ($rc == 0xff00) { - print STDERR "ERROR: <", $self->{EXECUTABLE}, - "> failed: $!\n"; - return ($rc >> 8); - } - elsif (($rc & 0xff) == 0) { - $rc >>= 8; - return $rc; - } - - my $dump = 0; - - if ($rc & 0x80) { - $rc &= ~0x80; - $dump = 1; - } - - # check for ABRT, KILL or TERM - if ($rc == 6 || $rc == 9 || $rc == 15) { - return 0; - } - - print STDERR "ERROR: <", $self->{EXECUTABLE}, - "> exited with "; - - print STDERR "coredump from " if ($dump == 1); - - print STDERR "signal $rc : ", $signame[$rc], "\n"; - - return 0; -} - -sub Kill () -{ - my $self = shift; - - if ($self->{RUNNING}) { - kill ('KILL', $self->{PROCESS}); - waitpid ($self->{PROCESS}, 0); - $self->check_return_value ($?); - } - - $self->{RUNNING} = 0; -} - -sub Wait () -{ - my $self = shift; - - waitpid ($self->{PROCESS}, 0); - - $self->{RUNNING} = 0; -} - -sub TimedWait ($) -{ - my $self = shift; - my $timeout = shift; - - $timeout *= $PerlACE::Process::WAIT_DELAY_FACTOR; - - while ($timeout-- != 0) { - my $pid = waitpid ($self->{PROCESS}, &WNOHANG); - if ($pid != 0 && $? != -1) { - return $self->check_return_value ($?); - } - sleep 1; - } - - return -1; -} - -1; diff --git a/bin/PerlACE/Process_Win32.pm b/bin/PerlACE/Process_Win32.pm deleted file mode 100644 index b5827418af1..00000000000 --- a/bin/PerlACE/Process_Win32.pm +++ /dev/null @@ -1,378 +0,0 @@ -# $Id$ - -package PerlACE::Process; - -use strict; -use Win32::Process; -use File::Basename; -use Cwd; - -############################################################################### - -# This is what GetExitCode will return if the process is still running. -my $STILL_ACTIVE = 259; - -############################################################################### - -### Constructor and Destructor - -# -# Hack in purify support thru 2 environment variables: -# ACE_RUN_PURIFY_CMD: complete path to purify executable -# ACE_RUNTEST_DELAY: wait delay factor, default to 10 if -# ACE_RUN_PURIFY_CMD is defined, or 1 if -# ACE_RUN_PURIFY_CMD is not defined. -# ** Notice that when ACE_RUN_PURIFY_CMD is define, PerlACE::Process -# reports the return status of *purify*, not the process being purified. -# -# Also hack in the ability to run the test on a WinCE device using the -# ACE_WINCE_TEST_CONTROLLER environment variable. If set, it specifies a -# controlling program to use for setting up and executing the test. -# Further setup can be specialized depending on the value of the variable. - -sub new -{ - my $proto = shift; - my $class = ref ($proto) || $proto; - my $self = {}; - - $self->{RUNNING} = 0; - $self->{IGNOREEXESUBDIR} = 0; - $self->{PROCESS} = undef; - $self->{EXECUTABLE} = shift; - $self->{ARGUMENTS} = shift; - $self->{PURIFY_CMD} = $ENV{"ACE_RUN_PURIFY_CMD"}; - $self->{PURIFY_OPT} = $ENV{"ACE_RUN_PURIFY_OPT"}; - if (!defined $PerlACE::Process::WAIT_DELAY_FACTOR) { - if (defined $self->{PURIFY_CMD}) { - $PerlACE::Process::WAIT_DELAY_FACTOR = 10; - } - else { - $PerlACE::Process::WAIT_DELAY_FACTOR = 1; - } - } - $self->{WINCE_CTL} = $ENV{"ACE_WINCE_TEST_CONTROLLER"}; - - bless ($self, $class); - return $self; -} - -sub DESTROY -{ - my $self = shift; - - if ($self->{RUNNING} == 1) { - print STDERR "ERROR: <", $self->{EXECUTABLE}, - "> still running upon object destruction\n"; - $self->Kill (); - } -} - -############################################################################### - -### Some Accessors - -sub Executable -{ - my $self = shift; - - if (@_ != 0) { - $self->{EXECUTABLE} = shift; - } - - my $executable = $self->{EXECUTABLE}; - - if ($self->{IGNOREEXESUBDIR}) { - return $executable; - } - - my $basename = basename ($executable); - my $dirname = dirname ($executable). '/'; - - $executable = $dirname.$PerlACE::Process::ExeSubDir.$basename.".EXE"; - - $executable =~ s/\//\\/g; # / <- # color coding issue in devenv - - return $executable; -} - -sub Arguments -{ - my $self = shift; - - if (@_ != 0) { - $self->{ARGUMENTS} = shift; - } - - return $self->{ARGUMENTS}; -} - -sub CommandLine () -{ - my $self = shift; - - my $commandline = $self->Executable (); - - if (defined $self->{ARGUMENTS}) { - $commandline .= ' '.$self->{ARGUMENTS}; - } - - return $commandline; -} - -sub IgnoreExeSubDir -{ - my $self = shift; - - if (@_ != 0) { - $self->{IGNOREEXESUBDIR} = shift; - } - - return $self->{IGNOREEXESUBDIR}; -} - -############################################################################### - -### Spawning processes - - -# Spawn the process and continue. - -sub Spawn () -{ - my $self = shift; - - if ($self->{RUNNING} == 1) { - print STDERR "ERROR: Cannot Spawn: <", $self->Executable (), - "> already running\n"; - return -1; - } - - if (!defined $self->{EXECUTABLE}) { - print STDERR "ERROR: Cannot Spawn: No executable specified\n"; - return -1; - } - - if ($self->{IGNOREEXESUBDIR} == 0) { - if (!-f $self->Executable ()) { - print STDERR "ERROR: Cannot Spawn: <", $self->Executable (), - "> not found\n"; - return -1; - } - - if (!-x $self->Executable ()) { - print STDERR "ERROR: Cannot Spawn: <", $self->Executable (), - "> not executable\n"; - return -1; - } - } - - my $cmdline = ""; - my $executable = ""; - - if (defined $self->{PURIFY_CMD}) { - my $orig_cmdline = $self->CommandLine (); - $executable = $self->{PURIFY_CMD}; - my $basename = basename ($self->{EXECUTABLE}); - - my $PurifyOptions = $self->{PURIFY_OPT}; - if (!defined $PurifyOptions) { - $PurifyOptions = - "/run ". -# "/save-data=$basename.pfy ". - "/save-text-data=$basename.pfytxt ". - "/AllocCallStackLength=20 ". - "/ErrorCallStackLength=20 ". - "/HandlesInUseAtExit ". - "/InUseAtExit ". - "/LeaksAtExit "; - } - my $basename = basename ($self->{EXECUTABLE}); - $cmdline = - "purify " . - "$PurifyOptions ". - "$orig_cmdline" ; - } - elsif (defined $self->{WINCE_CTL}) { - $executable = $self->Executable (); - $cmdline = $self->CommandLine (); - - # Generate a script to delete the log files for this program on the - # remote device, copy the test down to the device, run it, then - # copy the log file(s) back to the log directory. - unless (open (SCRIPT, ">start_test.cmd")) { - print STDERR "ERROR: Cannot Spawn: <", $self->Executable (), - "> failed to create start_test.cmd\n"; - return -1; - } - my $testname = basename($executable,'.EXE'); - my $here = getcwd(); - $here =~ s/\//\\/g; - $executable =~ s/^\.//; # Chop leading . - $executable = $here . $executable; # Fully qualified name - # Take off the test name from the start of the command line. - # The command name is preprended in the script below. - my @tokens = split(' ', $cmdline); - @tokens = splice(@tokens,1); - $cmdline = join(' ', @tokens); -# print SCRIPT "del 1:\\log\\$testname*.txt\n"; - print SCRIPT "copy $executable 1:\\Windows\n"; - print SCRIPT "$testname $cmdline\n"; - if ($testname eq 'Cached_Conn_Test' || $testname eq 'Cached_Accept_Conn_Test') { - print SCRIPT "sleep 400\n"; - } - else { - print SCRIPT "sleep 60\n"; - } - print SCRIPT "copy 1:\\log\\$testname*.txt $here\\log\n"; - print SCRIPT "del 1:\\Windows\\$testname.exe\n"; - print SCRIPT "reset /s\n"; - close SCRIPT; - - $executable = $ENV{"ComSpec"}; - $cmdline = "cmd /C start /B /WAIT pocketcontroller -m NAME=start_test.cmd" - } - else { - $executable = $self->Executable (); - $cmdline = $self->CommandLine (); - } - Win32::Process::Create ($self->{PROCESS}, - $executable, - $cmdline, - 0, - 0, - '.'); - - my $status = 0; - - Win32::Process::GetExitCode ($self->{PROCESS}, $status); - - if ($status != $STILL_ACTIVE) { - print STDERR "ERROR: Spawn failed for <", $self->CommandLine (), ">\n"; - exit $status; - } - - $self->{RUNNING} = 1; - return 0; -} - - -# Wait for the process to exit or kill after a time period - -sub WaitKill ($) -{ - my $self = shift; - my $timeout = shift; - - my $status = $self->TimedWait ($timeout); - - if ($status == -1) { - print STDERR "ERROR: $self->{EXECUTABLE} timedout\n"; - $self->Kill (); - # Don't need to Wait since we are on Win32 - } - - $self->{RUNNING} = 0; - - return $status; -} - - -# Do a Spawn and immediately WaitKill - -sub SpawnWaitKill ($) -{ - my $self = shift; - my $timeout = shift; - - if ($self->Spawn () == -1) { - return -1; - } - - return $self->WaitKill ($timeout); -} - - -# Kill the process - -sub Kill () -{ - my $self = shift; - - if ($self->{RUNNING}) { - Win32::Process::Kill ($self->{PROCESS}, -1); - } - - $self->{RUNNING} = 0; -} - - -# Terminate the process and wait for it to finish - -sub TerminateWaitKill ($) -{ - my $self = shift; - my $timeout = shift; - - if ($self->{RUNNING}) { - Win32::Process::Kill ($self->{PROCESS}, 0); - } - - return $self->WaitKill ($timeout); -} - - -# Wait until a process exits. - -sub Wait () -{ - my $self = shift; - - if ($self->{RUNNING}) { - Win32::Process::Wait ($self->{PROCESS}, INFINITE); - } - - $self->{RUNNING} = 0; -} - - -# Wait for a process to exit with a timeout - -sub TimedWait ($) -{ - my $self = shift; - my $timeout = shift; - - if (!$self->{RUNNING}) { - return 0; - } - - if (Win32::Process::Wait ($self->{PROCESS}, - $timeout * 1000 * $PerlACE::Process::WAIT_DELAY_FACTOR) == 0) { - return -1; - } - - my $status = 0; - Win32::Process::GetExitCode ($self->{PROCESS}, $status); - - # If this was a WinCE test, the log file was copied back to the log - # directory but is named .txt, not .log. Rename it so the log analyzer - # can find it. - if (defined $self->{WINCE_CTL}) { - my $log_name_txt; - $log_name_txt = dirname($self->{EXECUTABLE})."\\log\\"; - $log_name_txt .= basename($self->{EXECUTABLE},'.EXE').".txt"; - if (-e $log_name_txt) { - my $log_name = $log_name_txt; - $log_name =~ s/\.txt$/.log/i; - rename($log_name_txt, $log_name); - } - # The device was soft-reset at the end of the test. Wait a few seconds - # for it to come back up. - sleep (10); - } - - return $status; -} - -1; diff --git a/bin/PerlACE/Run_Test.pm b/bin/PerlACE/Run_Test.pm deleted file mode 100644 index d56899d5ae6..00000000000 --- a/bin/PerlACE/Run_Test.pm +++ /dev/null @@ -1,102 +0,0 @@ -# $Id$ - -# This module contains a few miscellanous functions and some -# startup ARGV processing that is used by all tests. - -use PerlACE::Process; -use PerlACE::ConfigList; - -package PerlACE; -use Cwd; - -# Figure out the svc.conf extension -$svcconf_ext = $ENV{"ACE_RUNTEST_SVCCONF_EXT"}; -if (!defined $svcconf_ext) { - $svcconf_ext = ".conf"; -} - -# Turn on autoflush -$| = 1; - -sub LocalFile ($) -{ - my $file = shift; - - my $newfile = getcwd () . '/' . $file; - - if ($^O eq "MSWin32") { - $newfile =~ s/\//\\/g; - } - - return $newfile; -} - - -# Returns a unique id, uid for unix, last digit of IP for NT -sub uniqueid -{ - if ($^O eq "MSWin32") - { - my $uid = 1; - - open (IPNUM, "ipconfig|") || die "Can't run ipconfig: $!\n"; - - while (<IPNUM>) - { - if (/Address/) - { - $uid = (split (/: (\d+)\.(\d+)\.(\d+)\.(\d+)/))[4]; - } - } - - close IPNUM; - - return $uid; - } - else - { - return getpwnam (getlogin ()); - } -} - -# Waits until a file exists -sub waitforfile -{ - local($file) = @_; - sleep 1 while (!(-e $file && -s $file)); -} - -sub waitforfile_timed -{ - my $file = shift; - my $maxtime = shift; - $maxtime *= $PerlACE::Process::WAIT_DELAY_FACTOR; - - while ($maxtime-- != 0) { - if (-e $file && -s $file) { - return 0; - } - sleep 1; - } - return -1; -} - -sub check_n_cleanup_files -{ - my $file = shift; - my @flist = glob ($file); - - my $cntr = 0; - my $nfile = scalar(@flist); - - if ($nfile != 0) { - for (; $cntr < $nfile; $cntr++) { - print STDERR "File <$flist[$cntr]> exists but should be cleaned up\n"; - } - unlink @flist; - } -} - -$sleeptime = 5; - -1; diff --git a/bin/Process.pm b/bin/Process.pm deleted file mode 100644 index d669325a132..00000000000 --- a/bin/Process.pm +++ /dev/null @@ -1,18 +0,0 @@ -# $Id$ - -$inc = "Process_Unix.pm"; -$DIR_SEPARATOR = "/"; -$EXE_EXT = ""; -$newwindow = ""; - -if ($^O eq "MSWin32") -{ - $inc = "Process_Win32.pm"; - $DIR_SEPARATOR = "\\"; - $EXE_EXT = ".exe"; - $newwindow = "no"; -} - -require $inc; - -1; diff --git a/bin/Process_Unix.pm b/bin/Process_Unix.pm deleted file mode 100644 index af1041616ea..00000000000 --- a/bin/Process_Unix.pm +++ /dev/null @@ -1,73 +0,0 @@ -# $Id$ -package Process; - -use POSIX "sys_wait_h"; - -sub Create -{ - my $name = shift; - my $args = shift; - my $self = []; - - FORK: - { - if ($self->[0] = fork) - { - #parent here - bless $self; - } - elsif (defined $self->[0]) - { - #child here - exec $name." ".$args; - die "ERROR: exec failed for <$name> <$args>"; - } - elsif ($! =~ /No more process/) - { - #EAGAIN, supposedly recoverable fork error - sleep 5; - redo FORK; - } - else - { - # weird fork error - print STDERR "ERROR: Can't fork: $!\n"; - } - } -} - -sub Terminate -{ - my $self = shift; - kill ('TERM', $self->[0]); - # print STDERR "Process_Unix::Kill 'TERM' $self->[0]\n"; -} - -sub Kill -{ - my $self = shift; - kill ('KILL', $self->[0]); - # print STDERR "Process_Unix::Kill 'TERM' $self->[0]\n"; -} - -sub Wait -{ - my $self = shift; - waitpid ($self->[0], 0); -} - -sub TimedWait -{ - my $self = shift; - my $maxtime = shift; - while ($maxtime-- != 0) { - my $pid = waitpid ($self->[0], &WNOHANG); - if ($pid != 0 && $? != -1) { - return $?; - } - sleep 1; - } - return -1; -} - -1; diff --git a/bin/Process_Win32.pm b/bin/Process_Win32.pm deleted file mode 100644 index ac5497d858b..00000000000 --- a/bin/Process_Win32.pm +++ /dev/null @@ -1,58 +0,0 @@ -# $Id$ -package Process; - -use Win32::Process; - -sub Create -{ - my $name = shift; - my $args = shift; - my $self = []; - - my $console = 0; - - if ($newwindow && $newwindow eq "yes") - { - $console = CREATE_NEW_CONSOLE; - } - else - { - $console = 0; - } - - Win32::Process::Create ($self->[0], $name, $name." ".$args, 0, - $console, "."); - bless $self; -} - -sub Kill -{ - my $self = shift; - Win32::Process::Kill ($self->[0], -1); -} - -sub Terminate -{ - my $self = shift; - Win32::Process::Kill ($self->[0], -1); -} - -sub Wait -{ - my $self = shift; - Win32::Process::Wait ($self->[0], INFINITE); -} - -sub TimedWait -{ - my $self = shift; - my $maxtime = shift; - if (Win32::Process::Wait ($self->[0], $maxtime * 1000) == 0) { - return -1; - } - $status = 0; - Win32::Process::GetExitCode ($self->[0], $status); - return $status; -} - -1; diff --git a/bin/Service_Config.perl b/bin/Service_Config.perl deleted file mode 100755 index 2699881eee7..00000000000 --- a/bin/Service_Config.perl +++ /dev/null @@ -1,31 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -pi -S $0 ${1+"$@"}' - & eval 'exec perl -pi -S $0 $argv:q' - if 0; - -# $Id$ -# -# You may want to run the "find" command with this script, which maybe -# something like this: -# -# find . -type f \( -name "*.i" -o -name "*.h" -o -name "*.C" -o -name "*.cc" -o -name "*.c" -o -name "*.cpp" -o -name "*.hpp" -o -name "*.ipp" \) -print | xargs $ACE_ROOT/bin/Service_Config.perl - -# The first three lines above let this script run without specifying the -# full path to perl, as long as it is in the user's PATH. -# Taken from perlrun man page. - -s/ACE_Service_Config::run_reactor_event_loop/ACE_Reactor::run_event_loop/g; -s/ACE_Service_Config::end_reactor_event_loop/ACE_Reactor::end_event_loop/g; -s/ACE_Service_Config::reactor_event_loop_done/ACE_Reactor::event_loop_done/g; -s/ACE_Service_Config::run_proactor_event_loop/ACE_Proactor::run_proactor_event_loop/g; -s/ACE_Service_Config::end_proactor_event_loop/ACE_Proactor::end_proactor_event_loop/g; -s/ACE_Service_Config::proactor_event_loop_done/ACE_Proactor::event_loop_done/g; -s/ACE_Service_Config::run_reactorEx_event_loop/ACE_ReactorEx::run_event_loop/g; -s/ACE_Service_Config::end_reactorEx_event_loop/ACE_ReactorEx::end_event_loop/g; -s/ACE_Service_Config::reactorEx_event_loop_done/ACE_ReactorEx::event_loop_done/g; -s/ACE_Service_Config::reactor/ACE_Reactor::instance/g; -s/ACE_Service_Config::proactor/ACE_Proactor::instance/g; -s/ACE_Service_Config::reactorEx/ACE_ReactorEx::instance/g; -s/ACE_Service_Config::svc_rep/ACE_Service_Repository::instance/g; -s/ACE_Service_Config::thr_mgr/ACE_Thread_Manager::instance/g; -s/ACE_Service_Config::alloc/ACE_Allocator::instance/g; - diff --git a/bin/Uniqueid.pm b/bin/Uniqueid.pm deleted file mode 100644 index f1367caa6e4..00000000000 --- a/bin/Uniqueid.pm +++ /dev/null @@ -1,28 +0,0 @@ -# $Id$ -sub uniqueid -{ - if ($^O eq "MSWin32") - { - my $uid = 1; - - open (IPNUM, "ipconfig|") || die "Can't run ipconfig: $!\n"; - - while (<IPNUM>) - { - if (/Address/) - { - $uid = (split (/: (\d+)\.(\d+)\.(\d+)\.(\d+)/))[4]; - } - } - - close IPNUM; - - return $uid; - } - else - { - return getpwnam (getlogin ()); - } -} - -1;
\ No newline at end of file diff --git a/bin/ace-install b/bin/ace-install deleted file mode 100755 index e4816a54a89..00000000000 --- a/bin/ace-install +++ /dev/null @@ -1,513 +0,0 @@ -#!/bin/sh - -# $Id$ - - -##################################################################### -# install_ace: distill the minimal stuff out of the ACE+TAO distribution -# alias cpio 'xargs -i echo {}'; # just for testing the script -# -# according to David Levine <levine@cs.wustl.edu> on 1999/01/09: -# -# An even better way would be to only build what you need. -# These directories are probably a good start: -# -# ace -# apps/gperf/src -# TAO/tao -# TAO/TAO_IDL -# TAO/orbsvcs -# -# netsvcs ? - not built in here, probably useful -# -##################################################################### - -# actions -unpack=0 -config=0 -compile=0 -install=0 -force=0 - -# can we do it? -die=0 - - -##################################################################### -# check for install_ace options -##################################################################### - -while [ $# -gt 0 ]; do - - case $1 in - - ########################################## - # help output - - -h | --help*) - echo " " - echo "`basename $0` [options]" - echo " " - echo "options:" - echo " -h, --help show brief help" - echo " " - echo "required options:" - echo " -r, --aceroot=ACE_ROOT use ACE_ROOT directory for build/install" - echo " " - echo "extracting and configuring options:" - echo " -z, --archive=FILE unpack specified source archive" - echo " -p, --platform=HEADER,MAKE use HEADER,MAKE as config.h, platform_macros" - echo " " - echo "compiling options:" - echo " -c, --compile=ACE_OPTS compile with make options (e.g. debug=0)" - echo " " - echo "installing options:" - echo " -i, --install=ACE_DEST install into ACE_DEST directory" - echo " -a, --arch=ACE_ARCH use ACE_ARCH subdirs for arch-dependent files" - echo " " - echo "miscellaneous options:" - echo " -f, --force don't ask for confirmation before proceeding" - echo " " - exit 0 - ;; - - ########################################## - # required options - - -r) - shift - if [ $# -gt 0 ]; then - ACE_ROOT=$1; export ACE_ROOT - else - echo "no ACE_ROOT specified" - exit 1 - fi - shift - ;; - - --aceroot*) - ACE_ROOT=`echo $1 | sed -e 's/^[^=]*=//g'`; export ACE_ROOT - shift - ;; - - ########################################## - # extracting and configuring options - - -z) - shift - if [ $# -gt 0 ]; then - ACE_ARCHIVE=$1; export ACE_ARCHIVE - unpack=1 - else - echo "no archive specified" - exit 1 - fi - shift - ;; - - --archive*) - ACE_ARCHIVE=`echo $1 | sed -e 's/^[^=]*=//g'`; export ACE_ARCHIVE - unpack=1 - shift - ;; - - -p) - shift - if [ $# -gt 0 ]; then - ACE_HEADER=`echo $1 | cut -f 1 -d ,`; export ACE_HEADER - ACE_MAKE=`echo $1 | cut -f 2 -d ,`; export ACE_MAKE - else - echo "no header,make files specified" - exit 1 - fi - config=1 - shift - ;; - - --platform*) - stuff=`echo $1 | sed -e 's/^[^=]*=//g'` - ACE_HEADER=`echo $stuff | cut -f 1 -d ,`; export ACE_HEADER - ACE_MAKE=`echo $stuff | cut -f 2 -d ,`; export ACE_MAKE - config=1 - shift - ;; - - ########################################## - # compiling options - - -c) - shift - if [ $# -gt 0 ]; then - ACE_OPTS="$1"; export ACE_OPTS - compile=1 - else - echo "no compilation options specified (e.g. debug=0)" - exit 1 - fi - shift - ;; - - --compile*) - ACE_OPTS=`echo $1 | sed -e 's/^[^=]*=//g'`; export ACE_OPTS - compile=1 - shift - ;; - - ########################################## - # installing options - - -i) - shift - if [ $# -gt 0 ]; then - ACE_DEST=$1; export ACE_DEST - install=1 - else - echo "no installation target directory specified (e.g. /tools/ace)" - exit 1 - fi - shift - ;; - - --install*) - ACE_DEST=`echo $1 | sed -e 's/^[^=]*=//g'`; export ACE_DEST - install=1 - shift - ;; - - -a) - shift - if [ $# -gt 0 ]; then - ACE_ARCH=$1; export ACE_ARCH - else - echo "no installation target architecture specified" - exit 1 - fi - shift - ;; - - --arch*) - ACE_ARCH=`echo $1 | sed -e 's/^[^=]*=//g'`; export ACE_ARCH - shift - ;; - - ########################################## - # miscellaneous options - - -f) - shift - force=1 - ;; - - *) - # no more options, get on with life - if [ $# -gt 0 ]; then - echo "unrecognized option: $1" - exit 1 - fi - ;; - esac -done - - -##################################################################### -# sanity checks for required variables -##################################################################### - -if [ $install -ne 0 -a $compile -ne 0 -a $unpack -eq 0 ]; then - echo "- No actions specified." - die=1 -fi - -if [ $unpack -ne 0 -a $compile -ne 0 -a $config -eq 0 ] \ - || [ $unpack -ne 0 -a $install -ne 0 -a $config -eq 0 ]; then - echo "- Must set platform config options with --platform option" - echo " (`basename $0` -h for help) to unpack and compile/install" - die=1 -fi - -if [ -z "$ACE_ROOT" ]; then - echo "- Must set ACE_ROOT directory before proceeding..." - echo " The directory may be set with the ACE_ROOT environment" - echo " variable or the --aceroot option (`basename $0` -h for help)" - die=1 -fi - -if [ $install -eq 1 -a -z "$ACE_ARCH" ]; then - # just set it to blank if we want to flatten this level of subdirectory - ACE_ARCH="" -fi - -if [ $die -ne 0 ]; then - echo "- terminating `basename $0` script" - exit 2 -fi - - -##################################################################### -# announce intentions -##################################################################### - -echo "This script will perform the following actions:" - -echo "using ACE_ROOT directory: $ACE_ROOT" - -if [ $unpack -ne 0 ]; then - echo " " - echo "Extracting:" - echo "- unpack source archive: $ACE_ARCHIVE" -fi - -if [ $config -ne 0 ]; then - echo " " - echo "Configuring:" - echo "- platform config.h header: $ACE_HEADER" - echo "- platform makefile macros: $ACE_MAKE" -fi - -if [ $compile -ne 0 ]; then - echo " " - echo "Compiling:" - echo "- ACE/TAO compile options: $ACE_OPTS" -fi - -if [ $install -ne 0 ]; then - echo " " - echo "Installing:" - echo "- install target directory: $ACE_DEST" - echo "- install target arch: $ACE_ARCH" -fi - -echo "" - - -##################################################################### -# confirm desire to proceed -##################################################################### - -if [ $force -eq 0 ]; then - echo " " - echo "Type 'yes' to proceed, anything else to exit" - - read ready - if [ "$ready" != "yes" ]; then - echo "Terminating install script. Thank you for playing." - echo "We have some lovely parting gifts for you. =)" - exit 1 - fi -fi - - -##################################################################### -# extract ACE and TAO -##################################################################### - -if [ $unpack -ne 0 ]; then - - echo "Unpacking $ACE_ARCHIVE..." - - cd `dirname $ACE_ROOT` - gzip -dc $ACE_ARCHIVE | tar xvf - - -fi - - -##################################################################### -# configure ACE and TAO -##################################################################### - -if [ $config -ne 0 ]; then - - echo "Configuring: $ACE_HEADER,$ACE_MAKE..." - - # copy the files if they exist - test -f $ACE_ROOT/ace/$ACE_HEADER \ - && cp $ACE_ROOT/ace/$ACE_HEADER $ACE_ROOT/ace/config.h - test -f $ACE_ROOT/include/makeinclude/$ACE_MAKE \ - && cp $ACE_ROOT/include/makeinclude/$ACE_MAKE \ - $ACE_ROOT/include/makeinclude/platform_macros.GNU - - # print error message and die if they don't - if [ ! -f $ACE_ROOT/ace/$ACE_HEADER ]; then - echo "error: $ACE_HEADER doesn't exist" - die=1 - fi - if [ ! -f $ACE_ROOT/include/makeinclude/$ACE_MAKE ]; then - echo "error: $ACE_MAKE doesn't exist" - die=1 - fi - - if [ $die -ne 0 ]; then - exit $die - fi - -fi - - -##################################################################### -# compile ACE and TAO -##################################################################### - -if [ $compile -ne 0 ]; then - - echo "Compiling: $ACE_OPTS..." - - ########################################## - # add ACE_ROOT/ace to LD_LIBRARY_PATH so tao_idl can find libACE.so - if [ "`uname -s`" = "HP-UX" ]; then - if [ ! -z "$SHLIB_PATH" ]; then - SHLIB_PATH=$ACE_ROOT/ace:$SHLIB_PATH - else - SHLIB_PATH=$ACE_ROOT/ace; export SHLIB_PATH - fi - else - if [ ! -z "$LD_LIBRARY_PATH" ]; then - LD_LIBRARY_PATH=$ACE_ROOT/ace:$LD_LIBRARY_PATH - else - LD_LIBRARY_PATH=$ACE_ROOT/ace; export LD_LIBRARY_PATH - fi - fi - - ########################################## - # compile a few select directories - for d in ace apps/gperf/src TAO/tao TAO/TAO_IDL TAO/orbsvcs TAO/utils; do - echo --- Building in $d. - cd "$ACE_ROOT/$d" - make $ACE_OPTS - if [ $? -ne 0 ]; then - echo --- Error during build: $? - exit $? - fi - done -fi - - -##################################################################### -# install ACE and TAO -##################################################################### - -if [ $install -ne 0 ]; then - - echo "Installing: $ACE_DEST..." - - ########################################## - # determine final target directories - - ACE_VER=`head -n 1 $ACE_ROOT/VERSION | sed -e 's/^[^0-9]*//' -e 's/[, ].*//'` - ACE_DIR="$ACE_DEST/ACE-$ACE_VER"; export ACE_DIR - - TAO_VER=`head -n 1 $ACE_ROOT/TAO/VERSION | sed -e 's/^[^0-9]*//' -e 's/[, ].*//'` - TAO_DIR="$ACE_DEST/TAO-$TAO_VER"; export ACE_DIR - - ########################################## - # create target directories as needed - echo "creating target directories..." - - ace_dirs="$ACE_DIR $ACE_DIR/include $ACE_DIR/man" - ace_arch_dirs="$ACE_DIR/$ACE_ARCH/include/ace \ - $ACE_DIR/$ACE_ARCH/bin $ACE_DIR/$ACE_ARCH/lib" - tao_dirs="$TAO_DIR $TAO_DIR/include $TAO_DIR/include/orbsvcs" - tao_arch_dirs="$TAO_DIR/$ACE_ARCH/include \ - $TAO_DIR/$ACE_ARCH/bin $TAO_DIR/$ACE_ARCH/lib" - - for dir in $ace_dirs $ace_arch_dirs $tao_dirs $tao_arch_dirs; do - if [ ! -d $dir ]; then - echo $dir - mkdir -p $dir - fi - done - - ########################################## - # copy TAO stuff - - cd $ACE_ROOT/TAO - cp VERSION $TAO_DIR/$ACE_ARCH/TAO-VERSION - - # copy TAO includes - echo "Copying include files..." - find tao -type f -name "*.idl" -print | cpio -p -d -V $TAO_DIR/include - find tao -type f -name "*.pidl" -print | cpio -p -d -V $TAO_DIR/include - find tao -type f -name "*.h" -print | grep -v "^config\.h" | cpio -p -d -V $TAO_DIR/include - find tao -type f \( -name "*.i" -o -name "*.inl" \) -print | cpio -p -d -V $TAO_DIR/include - find tao -type f -name "*.cpp" -print | cpio -p -d -V $TAO_DIR/include - - # NOTE: may need all .h, .i and .cpp under TAO/orbsvcs, instead of just TAO/orbsvcs/orbsvcs - cd orbsvcs - find orbsvcs -type f -name "*.idl" -print | cpio -p -d -V $TAO_DIR/include - find orbsvcs -type f -name "*.pidl" -print | cpio -p -d -V $TAO_DIR/include - find orbsvcs -type f -name "*.h" -print | grep -v "^config\.h" | cpio -p -d -V $TAO_DIR/include - find orbsvcs -type f \( -name "*.i" -o -name "*.inl" \) -print | cpio -p -d -V $TAO_DIR/include - find orbsvcs -type f -name "*.cpp" -print | cpio -p -d -V $TAO_DIR/include - cd .. - - # copy TAO libs - echo "Copying libraries..." - for f in `find . -type f -name "lib?*" -not -name "*\.dsw" -not -name "*Test*" -print`; do - echo $f - cp $f $TAO_DIR/$ACE_ARCH/lib - done - - # copy TAO executables - echo "Copying executables..." - - ALL_PROGS=`find orbsvcs -type f -perm +a+x -print | grep -v ".*lib.*" | grep -v ".\.pl" | grep -v test | grep -v example` - ALL_PROGS="`find utils -type f -perm +a+x -print` $ALL_PROGS" - PROGS=`echo $ALL_PROGS | tr " " "\n" | grep -v test | grep -v default.bld | grep -v README | grep -v Makefile` - - for f in TAO_IDL/tao_idl $PROGS; do - echo $f - cp $f $TAO_DIR/$ACE_ARCH/bin - done - - ########################################## - # copy ACE stuff - - cd $ACE_ROOT - cp VERSION $ACE_DIR/$ACE_ARCH/ACE-VERSION - - # copy ACE includes - echo "Copying include files..." - find ace -type f -name "*.h" -print | grep -v "^config\.h" | cpio -p -d -V $ACE_DIR/include - find ace -type f \( -name "*.i" -o -name "*.inl" \) -print | cpio -p -d -V $ACE_DIR/include - find ace -type f -name "*.cpp" -print | cpio -p -d -V $ACE_DIR/include - cp ace/config.h $ACE_DIR/$ACE_ARCH/include/ace/config.h - chmod -R a+r $ACE_DIR/$ACE_ARCH/include - - # copy ACE libs - echo "Copying libraries..." - for f in `find . -type f -name "lib?*" -not -name "*\.dsw" -not -name "*Test*" -print`; do - # only copy libs if they're not already in $TAO_DIR/$ACE_ARCH/lib - maybe_tao_lib=$TAO_DIR/$ACE_ARCH/lib/`basename $f` - if [ ! -f $maybe_tao_lib ]; then - echo $f - cp $f $ACE_DIR/$ACE_ARCH/lib - fi - test -f $maybe_tao_lib && echo "library $f already installed with TAO" - done - - # copy ACE executables - echo "Copying executables..." - ACE_PROGS=apps/gperf/src/gperf - - for f in $ACE_PROGS; do - echo $f - cp $f $ACE_DIR/$ACE_ARCH/bin - done - - # copy ACE man pages - echo "Copying man pages..." - find man -type f -print | cpio -p -d -V $ACE_DIR - - - # PERMISSIONS - chmod -R a+r $ACE_DEST - find $ACE_DEST -type d -exec chmod a+x {} \; - find $ACE_DEST -type f -perm +a+x -exec chmod a+x {} \; - -fi # if [ $install -ne 0 ] - - -##################################################################### -# that's all, folks -##################################################################### - -echo "`basename $0`: done." diff --git a/bin/ace_components b/bin/ace_components deleted file mode 100755 index 887d29168a1..00000000000 --- a/bin/ace_components +++ /dev/null @@ -1,110 +0,0 @@ -#! /bin/sh -# $Id$ -# -# Encapsulates set/access of a components file, which records set of -# components that were built in a library. Intended to be used by -# Makefiles and scripts. See ACE_wrappers/ace/Makefile for an example. -# -usage="usage: $0 --ace | --orbsvcs | --tao | --pace \ - [--remove | --set \" <components list> \"]" - -#### -#### Make sure that PACE_ROOT, ACE_ROOT, and TAO_ROOT are set. -#### -if [ ! "$ACE_ROOT" ]; then - echo $0': your ACE_ROOT environment variable is not set!' 1>&2 - exit -1 -fi -if [ ! "$TAO_ROOT" ]; then - TAO_ROOT=$ACE_ROOT/TAO - export TAO_ROOT -fi -if [ ! "$PACE_ROOT" ]; then - PACE_ROOT=$ACE_ROOT/PACE - export PACE_ROOT -fi - -#### -#### Process command line arguments. -#### -if [ $# -ge 1 ]; then - case $1 in - --ace) components_file=$ACE_ROOT/ace/ACE_COMPONENTS.list ;; - --orbsvcs) - components_file=$TAO_ROOT/orbsvcs/orbsvcs/ORBSVCS_COMPONENTS.list ;; - --tao) components_file=$TAO_ROOT/tao/TAO_COMPONENTS.list ;; - --pace) components_file=$PACE_ROOT/PACE_COMPONENTS.list ;; - *) echo $usage; exit -1 ;; - esac - shift -else - echo $usage - exit -1 -fi - -set_components=0 -append_components=0 -if [ $# -ge 1 ]; then - if [ $1 = '--set' ]; then - set_components=1 - shift - if [ $# -eq 1 ]; then - components=$1 - shift - else - echo $usage - exit -1 - fi - elif [ $1 = '--append' ]; then - append_components=1 - shift - if [ $# -eq 1 ]; then - components=$1 - shift - else - echo $usage - exit -1 - fi - elif [ $1 = '--remove' ]; then - rm -f $components_file - else - echo $usage - exit -1 - fi -fi - -if [ $set_components -eq 1 ]; then - #### - #### Update the components file, if it has changed since last set. - #### - if [ -f $components_file ]; then - if echo "$components" | diff - $components_file > /dev/null; then - : - else - echo "$components" > $components_file - fi - else - echo "$components" > $components_file - fi -elif [ $append_components -eq 1 ]; then - #### - #### Update the components file, if it has changed since last set. - #### - if [ -f $components_file ]; then - if cat $components_file | grep "$components" > /dev/null; then - : - else - (cat $components_file; echo "$components") | tr ' ' '\012' | sort -u > $components_file.$$ - mv -f $components_file.$$ $components_file - fi - else - echo "$components" > $components_file - fi -else - #### - #### Access the contents of the components file, if it exists. - #### - if [ -f $components_file ]; then - cat $components_file - fi -fi diff --git a/bin/ace_ld b/bin/ace_ld deleted file mode 100755 index 0f5cc50e1b0..00000000000 --- a/bin/ace_ld +++ /dev/null @@ -1,237 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' - & eval 'exec perl -S $0 $argv:q' - if 0; - -# $Id$ -# -# Drop-in replacement for "ld" that supports munching. -# -# The first three lines above let this script run without specifying the -# full path to perl, as long as it is in the user's PATH. -# Taken from perlrun man page. - -## -## Symbols that produce a warning due to size changing. -## This is a harmless known bug with the version of gcc that comes with -## Tornado II. Anything in this list will be suppressed unless the -w -## option is used. -## -my(@symbols) = ('dequeue__t17ACE_Message_Queue1Z14ACE_NULL_SYNCHRP17ACE_Message_BlockP14ACE_Time_Value', - 'activate__t17ACE_Message_Queue1Z14ACE_NULL_SYNCH', - ); - -$usage = - "usage: $0 [-? | [-w] [-o <VDIR>] [[-C <compile> --] [-m <munch>] [-n <nm>]] [-f]]] " . - "<ld command>\n"; - -#### To avoid quoting problems on the command line, all arguments -#### between -C and -- are combined into the single compile command. -$compile_option = 0; -$ss_change_warn = 0; - -#### -#### process command line args -#### -while ( $#ARGV >= 0 && $ARGV[0] =~ /^-/ ) { - if ( $ARGV[0] eq '-C' ) { - $compile_option = 1; - if ( $ARGV[1] !~ /^[-].+$/ ) { - $compile = $ARGV[1]; shift; - } else { - print STDERR "$0: must provide argument for -c option\n"; - die $usage; - } - } elsif ( $ARGV[0] eq '--' ) { - $compile_option = 0; - } elsif ( $ARGV[0] eq '-m' ) { - if ( $ARGV[1] !~ /^[-].+$/ ) { - $munch = $ARGV[1]; shift; - } else { - print STDERR "$0: must provide argument for -m option\n"; - die $usage; - } - } elsif ( $ARGV[0] eq '-n' ) { - if ( $ARGV[1] !~ /^[-].+$/ ) { - $nm = $ARGV[1]; shift; - } else { - print STDERR "$0: must provide argument for -n option\n"; - die $usage; - } - } elsif ( $ARGV[0] eq '-o' ) { - if ( $ARGV[1] !~ /^[-].+$/ ) { - $vdir = $ARGV[1]; shift; - } else { - print STDERR "$0: must provide argument for -o option\n"; - die $usage; - } - } elsif ( $ARGV[0] eq '-w' ) { - $ss_change_warn = 1; - } elsif ( $ARGV[0] eq '-?' ) { - print "$usage"; - exit; - } else { - if ($compile_option) { - $compile .= " $ARGV[0]"; - } else { - warn "$0: unknown option $ARGV[0]\n"; - die $usage; - } - } - shift; -} - -#### -#### If $vdir is empty, set default object file directory (.obj) -#### -if ($vdir eq ''){ - $vdir = ".obj"; -} - -#### -#### Save link command, i.e., current @ARGV, for use below. -#### -@args = @ARGV; - - -#### -#### Find full path to each library. -#### -@libDirs = (); -$current_dir_in_libDirs = 0; -@libs = (); -@objs = ''; - -foreach $arg (@ARGV) { - if ($arg =~ /^['"]?-L([\S]+)/) { - ($dir = $1) =~ s%/+$%%; #### trim any trailing slashes - push (@libDirs, $dir); - $current_dir_in_libDirs = 1 if $dir eq '.'; - } elsif ($arg =~ /^['"]?-l([\S]+)/) { - push (@libs, $1); - } elsif ($arg =~ /\.o$/) { - push (@objs, $arg); - } -} - -#### Add . to libDirs if it doesn't already have it. -push (@libDirs, ".") unless $current_dir_in_libDirs; - -foreach $lib (@libs) { - foreach $libDir (@libDirs) { - if (-e "$libDir/lib$lib.a") { - $full_path{$lib} = "$libDir/lib$lib.a"; - last; - } - } -} - - -#### -#### Set up signal handler. -#### -$done = 0; -$SIG{'HUP'} = $SIG{'INT'} = $SIG{'QUIT'} = $SIG{'TERM'} = 'cleanup'; - - -#### -#### Munch, if $munch is non-null. -#### -if ($munch) { - $munch_objs = join (' ', @objs); - $munch_libs = join (' ', values %full_path); - - open (MUNCH, "$nm $munch_objs $munch_libs | $munch |") || - &fail ("$0: unable to run \"$nm\" or \"$munch\"\n"); - - open (CTORDTOR, "> __ctordtor.c") || - &fail ("$0: unable to open \"__ctordtor.c\"\n"); - - while (<MUNCH>) { - #### Filter out munch output that contains '.cpp'. It results from - #### .cpp files that have no text or data, e.g., .cpp files that - #### only contain template instantiations. These lines confuse g++. - print CTORDTOR unless /\.cpp/; - } - - close CTORDTOR || &fail ("$0: unable to write \"__ctordtor.c\"\n"); - close MUNCH; - - system ("$compile -o $vdir/__ctordtor.o __ctordtor.c") && - &fail ("$0: \"$compile\" failed\n"); -} - - -#### -#### Construct the link command from @args and perform the link. -#### -if ($munch) { - #### Insert ctordtor object file before first library in link command. - $arg_lib = 0; - foreach $arg (@ARGV) { - if ($arg =~ /^['"]?-l/) { - last; - } - ++$arg_lib; - } - splice (@args, $arg_lib, 0, "$vdir/__ctordtor.o"); -} - -$link_command = join (' ', @args); - -if (open(PP, "$link_command 2>&1 |")) { - while(<PP>) { - my($line) = $_; - if ($ss_change_warn) { - print $line; - } - else { - my($found) = 0; - foreach my $symbol (@symbols) { - if ($line =~ /Warning: size of symbol `$symbol\'/) { - $found = 1; - } - } - if (!$found) { - print $line; - } - } - } - close(PP); - - if ($? ne 0) { - fail ("$0: $link_command failed\n"); - } -} -else { - fail ("$0: $link_command failed\n"); -} - - -$done = 1; -&cleanup; - - -#### -#### -#### -sub fail { - local ($message) = @_; - - warn $message; - &cleanup; -} - - -#### -#### clean up when done or on signal -#### -sub cleanup { - unlink "__ctordtor.c", "$vdir/__ctordtor.o"; - if ($done) { - exit 0; - } else { - exit 1; - } -} - -#### EOF diff --git a/bin/ace_tests.lst b/bin/ace_tests.lst deleted file mode 100644 index 9294d8b0adf..00000000000 --- a/bin/ace_tests.lst +++ /dev/null @@ -1,13 +0,0 @@ -# $Id$ -# -# This is the list of run_test.pl's that need to be run by -# auto_run_tests.pl. -# Each line has its own test, and a test can be followed by a -# list of configurations it does _not_ run on. -# -# Example: TAO\examples\foo\run_test.pl: !MINIMUM !ST -# -# NOTE: This file contains tests only for ACE. Please do not include -# tests in TAO here.. -tests/run_test.pl -examples/Reactor/WFMO_Reactor/run_test.pl
\ No newline at end of file diff --git a/bin/aix_shr b/bin/aix_shr deleted file mode 100755 index 16daded8e02..00000000000 --- a/bin/aix_shr +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -# $Id$ -# Filter out the duplicate symbol warnings from Visual Age C++ -# - -output=`basename $0`.$$.`/bin/date +%Y%m%d%H%M%S` -usrtmp="/tmp" -for possible in "$TMPDIR" "$TEMP" "$TMP"; do - if [ "$possible" != "" ]; then - if [ -w "$possible" ]; then - usrtmp="$possible" - break - fi - fi -done - -## Send the output to a temporary file and save the return code. -## This macro is being passed during the to avoid #include errors -## while instantiating templates. -$@ -DACE_VACPP_INSTANTIATING_TEMPLATES > "$usrtmp/$output" 2>&1 -status=$? - -## Print the output to stdout, but filter duplicate symbol warnings from -## Visual Age C++-using builds. The first pattern ends up coming from the -## linker in Visual Age C++ 5 builds; the second is from Visual Age C++ 6. -/bin/egrep -v '0711-(224|345)|1540-0(424|425|436)' "$usrtmp/$output" - -## Clean up the temporary file -/bin/rm -f "$usrtmp/$output" - -## Exit with the return code from the compiler -exit $status diff --git a/bin/am_edit b/bin/am_edit deleted file mode 100755 index 9b0e828b5fa..00000000000 --- a/bin/am_edit +++ /dev/null @@ -1,1368 +0,0 @@ -#!/usr/bin/perl - -## $Id$ - -## Expands the specilised TAO tags in Makefile.in to (hopefully) valid -## make syntax. -## -## This script has been modified from the original am_edit script that -## the KDE development team uses for the KDE. This modified script -## searches a Makefile.in file for IDL sources (ending in `.idl'), and -## adds appropriate targets for the C++ sources generated by the TAO -## IDL compiler. For example, for the IDL file `CosNaming.idl' this script -## would add all relevant targets for the following files: -## -## CosNaming.idl --> CosNamingC.h -## CosNamingC.i -## CosNamingC.cpp -## CosNamingS.h -## CosNamingS.i -## CosNamingS.cpp -## -## Ossama Othman <ossama@debian.org> - - -# Expands the specilised KDE tags in Makefile.in to (hopefully) valid -# make syntax. -# When called without file parameters, we work recursively on all Makefile.in -# in and below the current subdirectory. When called with file parameters, -# only those Makefile.in are changed. -# The currently supported tags are -# -# {program}_METASOURCES -# where you have a choice of two styles -# {program}_METASOURCES = name1.moc name2.moc ... [\] -# {program}_METASOURCES = AUTO -# The second style requires other tags as well. -# -# and more new tags TBD! -# -# The concept (and base code) for this peogram came from automoc, -# supplied by the following -# -# Matthias Ettrich <ettrich\@kde.org> (The originator) -# Kalle Dalheimer <kalle\@kde.org> (The original implementator) -# Harri Porten <porten@tu-harburg.de> -# Alex Zepeda <garbanzo@hooked.net> -# David Faure <faure@kde.org> -# Stephan Kulow <coolo@kde.org> -# -# I've puddled around with automoc and produced something different -# 1999-02-01 John Birch <jb.nz@writeme.com> -# * Rewritten automoc to cater for more than just moc file expansion -# Version 0.01 does the same as automoc at this stage. -# 1999-02-18 jb -# * We must always write a Makefile.in file out even if we fail -# because we need the "perl autokmake" in the AUTOMAKE so that a -# "make" will regenerate the Makefile.in correctly. -# Reworked moc file checking so that missing includes in cpp -# will work and includes in cpp when using use_automoc will also -# work. -# 1999-02-23 jb -# * Added POFILE processing and changed the USE_AUTOMOC tag to -# AUTO instead. -# 1999-11-07 Ossama Othman <ossama@debian.org> -# * Modified IDL source file related code to specifically -# * generated targets for TAO IDL generated sources. - - -use Cwd; -use File::Find; -use File::Basename; - -# Prototype the functions -sub initialise (); -sub processMakefile ($); -sub updateMakefile (); -sub restoreMakefile (); - -sub removeLine ($$); -sub appendLines ($); -sub substituteLine ($$); - -sub findMocCandidates (); -sub pruneMocCandidates ($); -sub checkMocCandidates (); -sub addMocRules (); - -sub tag_AUTOMAKE (); -sub tag_META_INCLUDES (); -sub tag_METASOURCES (); -sub tag_POFILES (); -sub tag_DOCFILES (); -sub tag_LOCALINSTALL(); -sub tag_IDLFILES(); -sub tag_TOPLEVEL(); -sub tag_SUBDIRS(); -sub tag_ICON(); - -# Some global globals... -$verbose = 0; # a debug flag -$thisProg = "$0"; # This programs name -$topdir = cwd(); # The current directory -@makefiles = (); # Contains all the files we'll process -$start = (times)[0]; # some stats for testing - comment out for release -$version = "v0.2"; -$errorflag = 0; -$cppExt = "*.cpp *.cc *.cxx *.C *.c++"; # used by grep -$hExt = "*.h *.H *.hh *.hxx *.h++"; # used by grep -$progId = "TAO tags expanded automatically by " . basename($thisProg); -$automkCall = "\n"; -$printname = ""; # used to display the directory the Makefile is in -$use_final = 1; # create code for --enable-final -$cleantarget = "clean"; -$locolor_install = 0; - -while (defined ($ARGV[0])) -{ - $_ = shift; - if (/^--version$/) - { - print STDOUT "\n"; - print STDOUT basename($thisProg), " $version\n", - "This is really free software, unencumbered by the GPL.\n", - "You can do anything you like with it except sueing me.\n", - "Copyright 1998 Kalle Dalheimer <kalle\@kde.org>\n", - "Concept, design and unnecessary questions about perl\n", - " by Matthias Ettrich <ettrich\@kde.org>\n\n", - "Making it useful by Stephan Kulow <coolo\@kde.org> and\n", - "Harri Porten <porten\@kde.org>\n", - "Updated (Feb-1999), John Birch <jb.nz\@writeme.com>\n\n"; - exit 0; - } - elsif (/^--verbose$|^-v$/) - { - $verbose = 1; # Oh is there a problem...? - } - elsif (/^-p(.+)$|^--path=(.+)$/) - { - $thisProg = "$1/".basename($thisProg); - warn ("$thisProg doesn't exist\n") if (!(-f $thisProg)); - } - elsif (/^--help$|^-h$/) - { - print STDOUT "Usage $thisProg [OPTION] ... [dir/Makefile.in]...\n", - "\n", - "Patches dir/Makefile.in generated from automake\n", - "(where dir can be a full or relative directory name)", - "\n", - " -v, --verbose verbosely list files processed\n", - " -h, --help print this help, then exit\n", - " --version print version number, then exit\n", - " -p, --path= use the path to automoc if the path\n", - " --no-final don't patch for --enable-final\n", - " called from is not the one to be used\n"; - - exit 0; - } - elsif (/^--no-final$/) - { - $use_final = 0; - $locolor_install = 1; - } - else - { - # user selects what input files to check - # add full path if relative path is given - $_ = cwd()."/".$_ if (! /^\//); - print "User wants $_\n" if ($verbose); - push (@makefiles, $_); - } -} - -# Only scan for files when the user hasn't entered data -if (!@makefiles) -{ - print STDOUT "Scanning for Makefile.in\n" if ($verbose); - find (\&add_makefile, cwd()); - #chdir('$topdir'); -} else { - print STDOUT "Using user enter input files\n" if ($verbose); -} - -foreach $makefile (@makefiles) -{ - processMakefile ($makefile); - last if ($errorflag); -} - -# Just some debug statistics - comment out for release as it uses printf. -printf STDOUT "Time %.2f CPU sec\n", (times)[0] - $start if ($verbose); - -exit $errorflag; # causes make to fail if errorflag is set - -#----------------------------------------------------------------------------- - -# In conjunction with the "find" call, this builds the list of input files -sub add_makefile () -{ - push (@makefiles, $File::Find::name) if (/Makefile.in$/); -} - -#----------------------------------------------------------------------------- - -# Processes a single make file -# The parameter contains the full path name of the Makefile.in to use -sub processMakefile ($) -{ - # some useful globals for the subroutines called here - local ($makefile) = @_; - local @headerdirs = ('.'); - local $haveAutomocTag = 0; - local $MakefileData = ""; - - local $cxxsuffix = "TAO"; - - local @programs = (); # lists the names of programs and libraries - local $program = ""; - - local %realObjs = (); # lists the objects compiled into $program - local %sources = (); # lists the sources used for $program - local %finalObjs = (); # lists the objects compiled when final - local %idlfiles = (); # lists the idl files used for $program - local $idl_output = "";# lists all idl generated files for cleantarget - - local %depedmocs = (); - - local $metasourceTags = 0; - local $dep_files = ""; - local %target_adds = (); # the targets to add - local $kdelang = ""; - - $makefileDir = dirname($makefile); - chdir ($makefileDir); - $printname = $makefile; - $printname =~ s/^\Q$topdir\E\///; - $makefile = basename($makefile); - - print STDOUT "Processing makefile $printname\n" if ($verbose); - - # Setup and see if we need to do this. - return if (!initialise()); - - tag_AUTOMAKE (); # Allows a "make" to redo the Makefile.in - tag_META_INCLUDES (); # Supplies directories for src locations - - foreach $program (@programs) { - tag_METASOURCES (); # Sorts out the moc rules - tag_IDLFILES(); # Sorts out idl rules - } - - if ($idl_output) { - appendLines ("$cleantarget-idl:\n\t-rm -f $idl_output\n"); - $target_adds{"$cleantarget-am"} .= "$cleantarget-idl "; - } - - if ($MakefileData =~ /\nKDE_LANG\s*=\s*(\S*)\n/) { - $kdelang = '$(KDE_LANG)' - } else { - $kdelang = ''; - } - - tag_POFILES (); # language rules for po directory - tag_DOCFILES (); # language rules for doc directories - tag_TOPLEVEL (); # language rules for po toplevel - tag_LOCALINSTALL(); # add $(DESTDIR) before all kde_ dirs - tag_ICON(); - - my $tmp = "force-reedit:\n"; - $tmp .= "\t$automkCall\n\tcd \$(top_srcdir) && perl $thisProg $printname\n\n"; - appendLines($tmp); - - tag_FINAL() if ($use_final); - - my $final_lines = "final:\n\t\$(MAKE) "; - - foreach $program (@programs) { - - my $lookup = "$program\_OBJECTS.*=[^\n]*"; - - my $new = ""; - - my @list = split(/[\034\s]+/, $realObjs{$program}); - - if ($use_final && @list > 1 && $finalObjs{$program}) { - - $new = "\@KDE_USE_FINAL_FALSE\@$program\_OBJECTS = " . $realObjs{$program}; - $new .= "\n\@KDE_USE_FINAL_TRUE\@$program\_OBJECTS = " . $finalObjs{$program}; - $new .= "\n$program\_final\_OBJECTS = " . $finalObjs{$program}; - - $final_lines .= "$program\_OBJECTS=\"\$($program\_final_OBJECTS)\" "; - - } else { - $new = "$program\_OBJECTS = " . $realObjs{$program}; - } - - substituteLine ($lookup, $new); - } - appendLines($final_lines . "all-am"); - - my $lookup = 'DEP_FILES\s*=(.*)\n'; - if ($MakefileData =~ /\n$lookup/) { - $lines = "DEP_FILES = $dep_files"; - $lines .= " \034"; - $lines .= $1; - $lines .= "\n"; - - substituteLine($lookup, $lines); - } - - foreach $add (keys %target_adds) { - my $lookup = "$add:\s*(.*)"; - if ($MakefileData =~ /\n$lookup\n/) { - substituteLine($lookup, "$add: " . $target_adds{$add} . $1); - } - } - - my $cvs_lines = "cvs-clean:\n"; - $cvs_lines .= "\t\$(MAKE) -f \$(top_srcdir)/admin/Makefile.common cvs-clean\n"; - appendLines($cvs_lines); - - # Always update the Makefile.in - updateMakefile (); - return; -} - -#----------------------------------------------------------------------------- - -# Check to see whether we should process this make file. -# This is where we look for tags that we need to process. -# A small amount of initialising on the tags is also done here. -# And of course we open and/or create the needed make files. -sub initialise () -{ - if (! -r "Makefile.am") { - print STDOUT "found Makefile.in without Makefile.am\n" if ($verbose); - return; - } - - # Checking for files to process... - open (FILEIN, $makefile) - || die "Could not open $makefileDir/$makefile: $!\n"; - # Read the file - while ( <FILEIN> ) - { - $MakefileData .= $_; - } - close FILEIN; - - # Remove the line continuations, but keep them marked - # Note: we lose the trailing spaces but that's ok. - $MakefileData =~ s/\\\s*\n/\034/g; - - # If we've processed the file before... - restoreMakefile () if ($MakefileData =~ /$progId/); - - # Look for the tags than mean we should process this file. - $metasourceTags = 0; - $metasourceTags++ while ($MakefileData =~ /\n[^=#]*METASOURCES\s*=/g); - - my $pofileTag = 0; - $pofileTag++ while ($MakefileData =~ /\nPOFILES\s*=/g); - if ($pofileTag > 1) - { - print STDERR "Error: Only one POFILES tag allowed\n"; - $errorflag = 1; - } - - while ($MakefileData =~ /\n\.SUFFIXES:([^\n]+)\n/g) { - my @list=split(' ', $1); - my $extions = " " . $cppExt . " "; - foreach $ext (@list) { - if ($extions =~ / \*\Q$ext\E /) { - $cxxsuffix = $ext; - $cxxsuffix =~ s/\.//g; - print STDOUT "will use suffix $cxxsuffix\n" if ($verbose); - last; - } - } - } - - while ($MakefileData =~ /\n(\S*)_OBJECTS\s*=\s*([^(\n]*)\n/g) { - my $program = $1; - my $objs = $2; # safe them - $program =~ s/^am_// if ($program =~ /^am_/); - - print STDOUT "found program $program\n" if ($verbose); - push(@programs, $program); - - $realObjs{$program} = $objs; - - if ($MakefileData =~ /\n$program\_SOURCES\s*=\s*(.*)\n/) { - $sources{$program} = $1; - } else { - $sources{$program} = ""; - print STDERR "found program with no _SOURCES: $program\n"; - } - } - - my $localTag = 0; - $localTag++ if ($MakefileData =~ /\ninstall-\S+-local:/); - - return (!$errorflag); -} - -#----------------------------------------------------------------------------- - -# Gets the list of user defined directories - relative to $srcdir - where -# header files could be located. -sub tag_META_INCLUDES () -{ - my $lookup = '[^=\n]*META_INCLUDES\s*=\s*(.*)'; - return 1 if ($MakefileData !~ /($lookup)\n/); - print STDOUT "META_INCLUDE processing <$1>\n" if ($verbose); - - my $headerStr = $2; - removeLine ($lookup, $1); - - $headerStr =~ tr/\034/ /; - my @headerlist = split(' ', $headerStr); - - foreach $dir (@headerlist) - { - $dir =~ s#\$\(srcdir\)#.#; - if (! -d $dir) - { - print STDERR "Warning: $dir can't be found. ", - "Must be a relative path to \$(srcdir)\n"; - } - else - { - push (@headerdirs, $dir); - } - } - - return 0; -} - -#----------------------------------------------------------------------------- - -sub tag_FINAL() -{ - my @final_names = (); - - foreach $program (@programs) { - - if ($sources{$program} =~ /\(/) { - print STDERR "found ( in $program\_SOURCES. skipping\n" if ($verbose); - next; - } - - my @list = split(/[\s\034]+/, $realObjs{$program}); - # we're not making anything faster for one object file - next if (@list == 1); - - my $mocsources = ""; - - my @progsources = split(/[\s\034]+/, $sources{$program}); - my %sourcelist = (); - - foreach $source (@progsources) { - my $suffix = $source; - $suffix =~ s/^.*\.([^\.]+)$/$1/; - - if (defined($sourcelist{$suffix})) { - $sourcelist{$suffix} .= " " . $source; - } else { - $sourcelist{$suffix} .= $source; - } - } - - foreach $suffix (keys %sourcelist) { - - # See if this file contains c++ code. (ie Just check the files suffix against - my $suffix_is_cxx = 0; - foreach $cxx_suffix (split(' ', $cppExt)) { - $cxx_suffix =~ s/^\*\.//; - $cxx_suffix = quotemeta($cxx_suffix); - if ($suffix =~ $cxx_suffix) { - $suffix_is_cxx = 1; - last; - } - } - - my $mocfiles_in = ($suffix eq $cxxsuffix) && - defined($depedmocs{$program}); - - my @sourcelist = split(/[\s\034]+/, $sourcelist{$suffix}); - - if ((@sourcelist == 1 && !$mocfiles_in) || $suffix_is_cxx != 1 ) { - - # we support IDL on our own - if ($suffix =~ /^idl$/ || $suffix =~ /^h$/) { - next; - } - - foreach $file (@sourcelist) { - - $file =~ s/\Q$suffix\E$//; - - $finalObjs{$program} .= $file; - if ($program =~ /_la$/) { - $finalObjs{$program} .= "lo "; - } else { - $finalObjs{$program} .= "o "; - } - } - next; # suffix - } - - my $source_deps = ""; - foreach $source (@sourcelist) { - if (-f $source) { - $source_deps .= "\$(srcdir)/$source "; - } else { - $source_deps .= "$source "; - } - } - - $handling = "$program.all_$suffix.$suffix: \$(srcdir)/Makefile.in " . $source_deps . " "; - - if ($mocfiles_in) { - $handling .= $depedmocs{$program}; - foreach $mocfile (split(' ', $depedmocs{$program})) { - if ($mocfile =~ m/\.$suffix$/) { - $mocsources .= " " . $mocfile; - } - } - } - - $handling .= "\n"; - $handling .= "\t\@echo 'creating $program.all_$suffix.$suffix ...'; \\\n"; - $handling .= "\trm -f $program.all_$suffix.files $program.all_$suffix.final; \\\n"; - $handling .= "\techo \"#define KDE_USE_FINAL 1\" >> $program.all_$suffix.final; \\\n"; - $handling .= "\tfor file in " . $sourcelist{$suffix} . " $mocsources; do \\\n"; - $handling .= "\t echo \"#include \\\"\$\$file\\\"\" >> $program.all_$suffix.files; \\\n"; - $handling .= "\t test ! -f \$\(srcdir\)/\$\$file || egrep '^#pragma +implementation' \$\(srcdir\)/\$\$file >> $program.all_$suffix.final; \\\n"; - $handling .= "\tdone; \\\n"; - $handling .= "\tcat $program.all_$suffix.final $program.all_$suffix.files > $program.all_$suffix.$suffix; \\\n"; - $handling .= "\trm -f $program.all_$suffix.final $program.all_$suffix.files\n"; - - appendLines($handling); - - push(@final_names, "$program.all_$suffix.$suffix"); - $finalObjs{$program} .= "$program.all_$suffix."; - if ($program =~ /_la$/) { - $finalObjs{$program} .= "lo "; - } else { - $finalObjs{$program} .= "o "; - } - } - } - - if ($use_final && @final_names >= 1) { - # add clean-final target - my $lines = "$cleantarget-final:\n"; - $lines .= "\t-rm -f " . join(' ', @final_names) . "\n" if (@final_names); - appendLines($lines); - $target_adds{"$cleantarget-am"} .= "$cleantarget-final "; - - foreach $finalfile (@final_names) { - $finalfile =~ s/\.[^.]*$/.P/; - $dep_files .= " .deps/$finalfile"; - } - } -} - -# Organises the list of headers that we'll use to produce moc files -# from. -sub tag_METASOURCES () -{ - local @newObs = (); # here we add to create object files - local @deped = (); # here we add to create moc files - local $mocExt = ".moc"; - local %mocFiles = (); - - my $line = ""; - my $postEqual = ""; - - my $lookup; - my $found = ""; - - if ($metasourceTags > 1) { - $lookup = $program . '_METASOURCES\s*=\s*(.*)'; - return 1 if ($MakefileData !~ /\n($lookup)\n/); - $found = $1; - } else { - $lookup = $program . '_METASOURCES\s*=\s*(.*)'; - if ($MakefileData !~ /\n($lookup)\n/) { - $lookup = 'METASOURCES\s*=\s*(.*)'; - return 1 if ($MakefileData !~ /\n($lookup)\n/); - $found = $1; - $metasourceTags = 0; # we can use the general target only once - } else { - $found = $1; - } - } - print STDOUT "METASOURCE processing <$found>)\n" if ($verbose); - - $postEqual = $found; - $postEqual =~ s/[^=]*=//; - - removeLine ($lookup, $found); - - # Always find the header files that could be used to "moc" - return 1 if (findMocCandidates ()); - - if ($postEqual =~ /AUTO\s*(\S*)|USE_AUTOMOC\s*(\S*)/) - { - print STDERR "$printname: the argument for AUTO|USE_AUTOMOC is obsolete" if ($+); - $mocExt = ".moc.$cxxsuffix"; - $haveAutomocTag = 1; - } - else - { - # Not automoc so read the list of files supplied which - # should be .moc files. - - $postEqual =~ tr/\034/ /; - - # prune out extra headers - This also checks to make sure that - # the list is valid. - pruneMocCandidates ($postEqual); - } - - checkMocCandidates (); - - if (@newObs) { - my $ext = ($program =~ /_la$/) ? ".moc.lo " : ".moc.o "; - $realObjs{$program} .= "\034" . join ($ext, @newObs) . $ext; - $depedmocs{$program} = join (".moc.$cxxsuffix " , @newObs) . ".moc.$cxxsuffix"; - foreach $file (@newObs) { - $dep_files .= " .deps/$file.moc.P"; - } - } - if (@deped) { - $depedmocs{$program} .= " "; - $depedmocs{$program} .= join('.moc ', @deped) . ".moc"; - $depedmocs{$program} .= " "; - } - addMocRules (); -} - -#----------------------------------------------------------------------------- - -# Returns 0 if the line was processed - 1 otherwise. -# Errors are logged in the global $errorflags -sub tag_AUTOMAKE () -{ - my $lookup = '.*cd \$\(top_srcdir\)\s+&&\s+\$\(AUTOMAKE\)(.*)'; - return 1 if ($MakefileData !~ /($lookup)/); - print STDOUT "AUTOMAKE processing <$1>\n" if ($verbose); - - my $newLine = $1."\n\tcd \$(top_srcdir) && perl $thisProg $printname"; - substituteLine ($lookup, $newLine); - $automkCall = $1; - return 0; -} - -#----------------------------------------------------------------------------- - -sub tag_TOPLEVEL() -{ - my $lookup = 'TOPLEVEL_LANG\s*=\s*(\S+)'; - return 1 if ($MakefileData !~ /\n$lookup\n/); - my $lang = $1; - - if (tag_SUBDIRS()) { - print STDERR "Error: TOPLEVEL_LANG without SUBDIRS = \$(AUTODIRS) in $printname\n"; - $errorflag = 1; - return 1; - } - - my $pofiles = ""; - my @restfiles = (); - opendir (THISDIR, "."); - foreach $entry (readdir(THISDIR)) { - next if (-d $entry); - - next if ($entry eq "CVS" || $entry =~ /^\./ || $entry =~ /^Makefile/ || $entry =~ /~$/ || $entry =~ /^#.*#$/ || $entry =~ /.gmo$/); - - if ($entry =~ /\.po$/) { - $pofiles .= "$entry "; - next; - } - push(@restfiles, $entry); - } - closedir (THISDIR); - - print STDOUT "pofiles found = $pofiles\n" if ($verbose); - handle_POFILES($pofiles, '$(TOPLEVEL_LANG)') if ($pofiles); - - if (@restfiles) { - $target_adds{"install-data-am"} .= "install-nls-files "; - $lines = "install-nls-files:\n"; - $lines .= "\t\$(mkinstalldirs) \$(DESTDIR)\$(kde_locale)/$lang\n"; - for $file (@restfiles) { - $lines .= "\t\$(INSTALL_DATA) \$\(srcdir\)/$file \$(DESTDIR)\$(kde_locale)/$lang/$file\n"; - } - appendLines($lines); - } - - return 0; -} - -#----------------------------------------------------------------------------- - -sub tag_SUBDIRS () -{ - if ($MakefileData !~ /\nSUBDIRS\s*=\s*\$\(AUTODIRS\)\s*\n/) { - return 1; - } - - my $subdirs; - - opendir (THISDIR, "."); - foreach $entry (readdir(THISDIR)) { - next if ($entry eq "CVS" || $entry =~ /^\./); - if (-d $entry && -f $entry . "/Makefile.in") { - $subdirs .= " $entry"; - next; - } - } - closedir (THISDIR); - - my $lines = "SUBDIRS =$subdirs\n"; - substituteLine('SUBDIRS\s*=.*', $lines); - return 0; -} - -sub tag_IDLFILES () -{ - my @psources = split(/[\034\s]+/, $sources{$program}); - my $dep_lines = ""; - - foreach $source (@psources) { - if ($source =~ m/\.idl$/) { - print STDERR "adding IDL file $source\n" if ($verbose); - - $source =~ s/\.idl$//; - - my $sourcedir = ''; - if (-f "$makefileDir/$source.idl") { - $sourcedir = '$(srcdir)/'; - } else { - if ($MakefileData =~ /\n$source\_IDLDIR\s*=\s*(\S+)\n/) {# - $sourcedir = $1; - $sourcedir .= "/" if ($sourcedir !~ /\/$/); - } - } - - $dep_lines .= "${source}C.h: $sourcedir${source}.idl\n"; - $dep_lines .= "\t\$(IDL) \$(IDL_FLAGS) ${source}.idl\n"; - $dep_lines .= "${source}S.h: ${source}C.h\n"; - $dep_lines .= "${source}C.i: ${source}C.h\n"; - $dep_lines .= "${source}S.i: ${source}C.h\n"; - $dep_lines .= "${source}C.cpp: ${source}C.h\n"; - $dep_lines .= "${source}S.cpp: ${source}C.h\n"; - - $idlfiles{$program} .= $source . " "; -# $realObjs{$program} .= " $source"; - if ($program =~ /_la$/) { - $realObjs{$program} .= " ${source}C.lo"; - $realObjs{$program} .= " ${source}S.lo"; - } else { - $realObjs{$program} .= " ${source}C.o"; - $realObjs{$program} .= " ${source}S.o"; - } - $sources{$program} .= " ${source}C.cpp"; - $sources{$program} .= " ${source}S.cpp"; - $idl_output .= " ${source}C.cpp ${source}S.cpp ${source}C.h ${source}S.h ${source}C.i ${source}S.i"; - } - } - if ($dep_lines) { - appendLines($dep_lines); - my $lookup = "($program)"; - $lookup =~ s/\_/./g; - $lookup .= ":(.*)\\\$\\\($program\_OBJECTS\\\)(.*)"; - if ($MakefileData =~ /\n$lookup/) { - - my $line = "$1:$2"; - foreach $file (split(' ', $idlfiles{$program})) { - $line .= "$file.h "; - } - $line .= "\$($program\_OBJECTS)$3\n"; - substituteLine($lookup, $line); - } else { - print STDERR "no built dependency found $lookup\n"; - } - } - -} - -sub tag_ICON() -{ - my $lookup = 'KDE_ICON\s*=\s*([^\n]*)'; - return 1 if ($MakefileData !~ /\n$lookup/); - my @appnames = split(" ", $1); - print STDOUT "KDE_ICON processing <@appnames>\n" if ($verbose); - - my @files = (); - opendir (THISDIR, "."); - foreach $entry (readdir(THISDIR)) { - next if ($entry eq "CVS" || $entry =~ /^\./ || $entry =~ /^Makefile/ || $entry =~ /~$/ || $entry =~ /^\#.*\#$/); - next if (! -f $entry); - next if ($entry !~ /\.xpm$/ && $entry !~ /\.png/); - foreach $appname (@appnames) { - if ($entry =~ /^mini-$appname\./ || $entry =~ /^$appname\./ || $entry =~ /^lo-$appname\./) { - push(@files, $entry); - } - } - } - closedir (THISDIR); - $target_adds{"install-data-am"} .= "install-kde-icons "; - $target_adds{"uninstall-am"} .= "uninstall-kde-icons "; - - $install = "install-kde-icons:\n"; - $uninstall = "uninstall-kde-icons:\n"; - - my %directories = (); - - foreach $file (@files) - { - my $newfile = $file; - - if ($file =~ /^mini-/) { - if (!defined $directories{"mini"}) { - $install .= "\t\$(mkinstalldirs) \$(DESTDIR)\$(kde_icondir)/mini\n"; - $directories{"mini"} = 1; - } - $newfile =~ s/^mini-//; - $install .= "\t\$(INSTALL_DATA) \$(srcdir)/$file \$(DESTDIR)\$(kde_icondir)/mini/$newfile\n"; - $uninstall .= "\t-rm -f \$(DESTDIR)\$(kde_icondir)/mini/$newfile\n"; - next; - } - - if ($file =~ /^lo-/) { - my $dir; - if ($locolor_install) { - $dir = "\$(DESTDIR)\$(kde_icondir)/locolor" - } else { - $dir = "\$(DESTDIR)\$(kde_icondir)" - } - - if (!defined $directories{"locolor"}) { - $install .= "\t\$(mkinstalldirs) $dir\n"; - $directories{"locolor"} = 1; - } - $newfile =~ s/^lo-//; - $install .= "\t\$(INSTALL_DATA) \$(srcdir)/$file $dir/$newfile\n"; - $uninstall .= "\t-rm -f $dir/$newfile\n"; - next; - } - - if (!defined $directories{"icon"}) { - $install .= "\t\$(mkinstalldirs) \$(DESTDIR)\$(kde_icondir)\n"; - $directories{"icon"} = 1; - } - $install .= "\t\$(INSTALL_DATA) \$(srcdir)/$file \$(DESTDIR)\$(kde_icondir)/$newfile\n"; - $uninstall .= "\t-rm -f \$(DESTDIR)\$(kde_icondir)/$newfile\n"; - - } - - appendLines($install . "\n" . $uninstall); - -} - -sub handle_POFILES($$) -{ - my @pofiles = split(" ", $_[0]); - my $lang = $_[1]; - - # Build rules for creating the gmo files - my $tmp = ""; - my $allgmofiles = ""; - my $pofileLine = "POFILES ="; - foreach $pofile (@pofiles) - { - $pofile =~ /(.*)\.[^\.]*$/; # Find name minus extension - $tmp .= "$1.gmo: $pofile\n"; - $tmp .= "\trm -f $1.gmo; \$(GMSGFMT) -o $1.gmo \$(srcdir)/$pofile\n"; - $allgmofiles .= " $1.gmo"; - $pofileLine .= " $1.po"; - } - appendLines ($tmp); - my $lookup = 'POFILES\s*=([^\n]*)'; - if ($MakefileData !~ /\n$lookup/) { - appendLines("$pofileLine\nGMOFILES =$allgmofiles"); - } else { - substituteLine ($lookup, "$pofileLine\nGMOFILES =$allgmofiles"); - } - - if ($allgmofiles) { - - # Add the "clean" rule so that the maintainer-clean does something - appendLines ("clean-nls:\n\t-rm -f $allgmofiles\n"); - - $target_adds{"maintainer-clean"} .= "clean-nls "; - - $lookup = 'DISTFILES\s*=\s*(.*)'; - if ($MakefileData =~ /\n$lookup\n/) { - $tmp = "DISTFILES = \$(GMOFILES) \$(POFILES) $1"; - substituteLine ($lookup, $tmp); - } - } - - $target_adds{"install-data-am"} .= "install-nls-\@USE_NLS\@ "; - - $tmp = "install-nls-no:\n"; - $tmp .= "install-nls-yes:\n"; - if ($lang) { - $tmp .= "\t\$(mkinstalldirs) \$(DESTDIR)\$(kde_locale)/$lang/LC_MESSAGES\n"; - } - $tmp .= "\t\@for base in "; - foreach $pofile (@pofiles) - { - $pofile =~ /(.*)\.[^\.]*$/; # Find name minus extension - $tmp .= "$1 "; - } - - $tmp .= "; do \\\n"; - if ($lang) { - $tmp .= "\t echo \$(INSTALL_DATA) \$\$base.gmo \$(DESTDIR)\$(kde_locale)/$lang/LC_MESSAGES/\$\$base.mo ;\\\n"; - $tmp .= "\t test ! -f \$\$base.gmo || \$(INSTALL_DATA) \$\$base.gmo \$(DESTDIR)\$(kde_locale)/$lang/LC_MESSAGES/\$\$base.mo ;\\\n" - } else { - $tmp .= "\t echo \$(INSTALL_DATA) \$\$base.gmo \$(DESTDIR)\$(kde_locale)/\$\$base/LC_MESSAGES/\$(PACKAGE).mo ;\\\n"; - $tmp .= "\t \$(mkinstalldirs) \$(DESTDIR)\$(kde_locale)/\$\$base/LC_MESSAGES ; \\\n"; - $tmp .= "\t test ! -f \$\$base.gmo || \$(INSTALL_DATA) \$\$base.gmo \$(DESTDIR)\$(kde_locale)/\$\$base/LC_MESSAGES/\$(PACKAGE).mo ;\\\n"; - } - $tmp .= "\tdone\n\n"; - appendLines ($tmp); - - $target_adds{"uninstall"} .= "uninstall-nls "; - - $tmp = "uninstall-nls:\n"; - foreach $pofile (@pofiles) - { - $pofile =~ /(.*)\.[^\.]*$/; # Find name minus extension - if ($lang) { - $tmp .= "\trm -f \$(DESTDIR)\$(kde_locale)/$lang/LC_MESSAGES/$1.mo\n"; - } else { - $tmp .= "\trm -f \$(DESTDIR)\$(kde_locale)/$1/LC_MESSAGES/\$(PACKAGE).mo\n"; - } - } - appendLines($tmp); - - $target_adds{"all"} .= "all-nls-\@USE_NLS\@ "; - - $tmp = "all-nls-no:\n"; - $tmp .= "all-nls-yes: \$(GMOFILES)\n"; - - appendLines($tmp); - - $target_adds{"distdir"} .= "distdir-nls "; - - $tmp = "distdir-nls:\$(GMOFILES)\n"; - $tmp .= "\tfor file in \$(POFILES); do \\\n"; - $tmp .= "\t cp \$(srcdir)/\$\$file \$(distdir); \\\n"; - $tmp .= "\tdone\n"; - $tmp .= "\ttest -z \"\$(GMOFILES)\" || cp \$(GMOFILES) \$(distdir)\n"; - - appendLines ($tmp); - -} - -#----------------------------------------------------------------------------- - -# Returns 0 if the line was processed - 1 otherwise. -# Errors are logged in the global $errorflags -sub tag_POFILES () -{ - my $lookup = 'POFILES\s*=([^\n]*)'; - return 1 if ($MakefileData !~ /\n$lookup/); - print STDOUT "POFILES processing <$1>\n" if ($verbose); - - my $tmp = $1; - - # make sure these are all gone. - if ($MakefileData =~ /\n\.po\.gmo:\n/) - { - print STDERR "Warning: Found old .po.gmo rules in $printname. New po rules not added\n"; - return 1; - } - - # Either find the pofiles in the directory (AUTO) or use - # only the specified po files. - my $pofiles = ""; - if ($tmp =~ /^\s*AUTO\s*$/) - { - opendir (THISDIR, "."); - next if ($entry eq "CVS" || $entry =~ /^\./ || $entry =~ /^Makefile/ || $entry =~ /~$/ || $entry =~ /^#.*#$/); - $pofiles = join(" ", grep(/\.po$/, readdir(THISDIR))); - closedir (THISDIR); - print STDOUT "pofiles found = $pofiles\n" if ($verbose); - } - else - { - $tmp =~ s/\034/ /g; - $pofiles = $tmp; - } - return 1 if (!$pofiles); # Nothing to do - - handle_POFILES($pofiles, $kdelang); - - return 0; -} - -sub helper_LOCALINSTALL($) -{ - my $lookup = "\n" . $_[0] . ":"; - if ($MakefileData =~ /($lookup)/) { - - my $install = $MakefileData; - $install =~ s/\n/\035/g; - $install =~ s/.*\035$_[0]:[^\035]*\035//; - my $emptyline = 0; - while (! $emptyline) { - if ($install =~ /([^\035]*)\035(.*)/) { - local $line = $1; - $install = $2; - if ($line =~ /^\s*$/ || $line !~ /^\t/) { - $emptyline = 1; - } else { - replaceDestDir($line); - } - } else { - $emptyline = 1; - } - } - } - -} - -sub tag_LOCALINSTALL () -{ - helper_LOCALINSTALL('install-exec-local'); - helper_LOCALINSTALL('install-data-local'); - helper_LOCALINSTALL('uninstall-local'); - - return 0; -} - -sub replaceDestDir($) { - local $line = $_[0]; - - if ($line =~ /^\s*\$\(mkinstalldirs\)/ || $line =~ /^\s*\$\(INSTALL\S*\)/ - || $line =~ /^\s*(-?rm.*) \S*$/) - { - $line =~ s/^(.*) ([^\s]*)\s*$/$1 \$(DESTDIR)$2/; - } - - if ($line ne $_[0]) { - $_[0] = quotemeta $_[0]; - substituteLine($_[0], $line); - } -} -#----------------------------------------------------------------------------- - -# Returns 0 if the line was processed - 1 otherwise. -# Errors are logged in the global $errorflags -sub tag_DOCFILES () -{ - my $lookup = 'KDE_DOCS\s*=\s*([^\n]*)'; - return 1 if ($MakefileData !~ /\n$lookup/); - print STDOUT "KDE_DOCS processing <$1>\n" if ($verbose); - - tag_SUBDIRS(); - - my $tmp = $1; - - # Either find the files in the directory (AUTO) or use - # only the specified po files. - my $files = ""; - my $appname = $tmp; - $appname =~ s/^(\S*)\s*.*$/$1/; - if ($appname =~ /AUTO/) { - $appname = basename($makefileDir); - } - - if ($tmp !~ / - /) - { - opendir (THISDIR, "."); - foreach $entry (readdir(THISDIR)) { - next if ($entry eq "CVS" || $entry =~ /^\./ || $entry =~ /^Makefile/ || $entry =~ /~$/ || $entry =~ /^#.*#$/); - next if (! -f $entry); - $files .= "$entry "; - } - closedir (THISDIR); - print STDOUT "docfiles found = $files\n" if ($verbose); - } - else - { - $tmp =~ s/\034/ /g; - $tmp =~ s/^\S*\s*-\s*//; - $files = $tmp; - } - return 1 if (!$files); # Nothing to do - - $target_adds{"install-data-am"} .= "install-nls-\@USE_NLS\@ "; - $target_adds{"uninstall"} .= "uninstall-nls "; - - $tmp = "install-nls-no:\n"; - $tmp .= "install-nls-yes:\n"; - $tmp .= "\t\$(mkinstalldirs) \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname\n"; - $tmp .= "\t\@for base in $files; do \\\n"; - $tmp .= "\t echo \$(INSTALL_DATA) \$\$base \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/\$\$base ;\\\n"; - $tmp .= "\t \$(INSTALL_DATA) \$(srcdir)/\$\$base \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/\$\$base ;\\\n"; - $tmp .= "\tdone\n"; - $tmp .= "\n"; - $tmp .= "uninstall-nls:\n"; - $tmp .= "\tfor base in $files; do \\\n"; - $tmp .= "\t rm -f \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/\$\$base ;\\\n"; - $tmp .= "\tdone\n\n"; - appendLines ($tmp); - - $target_adds{"distdir"} .= "distdir-nls "; - - $tmp = "distdir-nls:\n"; - $tmp .= "\tfor file in $files; do \\\n"; - $tmp .= "\t cp \$(srcdir)/\$\$file \$(distdir); \\\n"; - $tmp .= "\tdone\n"; - - appendLines ($tmp); - - return 0; -} - -sub tag_LOCALINSTALL () -{ - helper_LOCALINSTALL('install-exec-local'); - helper_LOCALINSTALL('install-data-local'); - helper_LOCALINSTALL('uninstall-local'); - - return 0; -} - -#----------------------------------------------------------------------------- -# Find headers in any of the source directories specified previously, that -# are candidates for "moc-ing". -sub findMocCandidates () -{ - my @list = (); - foreach $dir (@headerdirs) - { - chdir ($dir); - @list = `grep -l '^.*Q_OBJECT' $hExt 2> /dev/null`; - chdir ($makefileDir); - - # The assoc array of root of headerfile and header filename - foreach $hFile (@list) - { - chomp ($hFile); - $hFile =~ /(.*)\.[^\.]*$/; # Find name minus extension - if ($mocFiles{$1}) - { - print STDERR "Warning: Multiple header files found for $1\n"; - next; # Use the first one - } - $mocFiles{$1} = "$dir\035$hFile"; # Add relative dir - } - } - - if (!%mocFiles) - { - print STDERR "Error: No moc-able header's found but METASOURCES in $printname \n"; - $errorflag = 1; - return 1; - } - - return 0; -} - -#----------------------------------------------------------------------------- - -# The programmer has specified a moc list. Prune out the moc candidates -# list that we found based on looking at the header files. This generates -# a warning if the programmer gets the list wrong, but this doesn't have -# to be fatal here. -sub pruneMocCandidates ($) -{ - my %prunedMoc = (); - local @mocList = split(' ', $_[0]); - - foreach $mocname (@mocList) - { - $mocname =~ s/\.moc$//; - if ($mocFiles{$mocname}) - { - $prunedMoc{$mocname} = $mocFiles{$mocname}; - } - else - { - my $print = $makefileDir; - $print =~ s/^\Q$topdir\E\\//; - # They specified a moc file but we can't find a header that - # will generate this moc file. That's possible fatal! - print STDERR "Warning: No moc-able header file for $print/$mocname\n"; - } - } - - undef %mocFiles; - %mocFiles = %prunedMoc; -} - -#----------------------------------------------------------------------------- - -# Finds the cpp files (If they exist). -# The cpp files get appended to the header file separated by \035 -sub checkMocCandidates () -{ - my @cppFiles = (); - - foreach $mocFile (keys (%mocFiles)) - { - # Find corresponding c++ files that includes the moc file - @cppFiles = - `grep -l "^#include[ ]*.$mocFile\.moc." $cppExt 2> /dev/null`; - - if (@cppFiles == 1) - { - chomp $cppFiles[0]; - $mocFiles{$mocFile} .= "\035" . $cppFiles[0]; - push(@deped, $mocFile); - next; - } - - if (@cppFiles == 0) - { - push (@newObs, $mocFile); # Produce new object file - next if ($haveAutomocTag); # This is expected... - # But this is an error we can deal with - let them know - print STDERR - "Warning: No c++ file that includes $mocFile.moc\n"; - next; - } - else - { - # We can't decide which file to use, so it's fatal. Although as a - # guess we could use the mocFile.cpp file if it's in the list??? - print STDERR - "Error: Multiple c++ files that include $mocFile.moc\n"; - print STDERR "\t",join ("\t", @cppFiles),"\n"; - $errorflag = 1; - delete $mocFiles{$mocFile}; - # Let's continue and see what happens - They have been told! - } - } -} - -#----------------------------------------------------------------------------- - -# Add the rules for generating moc source from header files -# For Automoc output *.moc.cpp but normally we'll output *.moc -# (We must compile *.moc.cpp separately. *.moc files are included -# in the appropriate *.cpp file by the programmer) -sub addMocRules () -{ - my $cppFile; - my $hFile; - my $cleanMoc = ""; - - foreach $mocFile (keys (%mocFiles)) - { - undef $cppFile; - ($dir, $hFile, $cppFile) = split ("\035", $mocFiles{$mocFile}, 3); - $dir =~ s#^\.#\$(srcdir)#; - if (defined ($cppFile)) - { - appendLines ("\$(srcdir)/$cppFile: $mocFile.moc\n$mocFile.moc: $dir/$hFile\n\t\$(MOC) $dir/$hFile -o $mocFile.moc\n"); - $cleanMoc .= " $mocFile.moc"; - } - else - { - appendLines ("$mocFile$mocExt: $dir/$hFile\n\t\$(MOC) $dir/$hFile -o $mocFile$mocExt\n"); - $cleanMoc .= " $mocFile$mocExt"; - } - } - - if ($cleanMoc) { - # Always add dist clean tag - # Add extra *.moc.cpp files created for USE_AUTOMOC because they - # aren't included in the normal *.moc clean rules. - appendLines ("$cleantarget-metasources:\n\t-rm -f $cleanMoc\n"); - $target_adds{"$cleantarget-am"} .= "$cleantarget-metasources "; - } - } - -#----------------------------------------------------------------------------- - -sub updateMakefile () -{ - open (FILEOUT, "> $makefile") - || die "Could not create $makefile: $!\n"; - - print FILEOUT "\# $progId - " . '$Revision$ ' . "\n"; - $MakefileData =~ s/\034/\\\n/g; # Restore continuation lines - print FILEOUT $MakefileData; - close FILEOUT; -} - -#----------------------------------------------------------------------------- - -# The given line needs to be removed from the makefile -# Do this by adding the special "removed line" comment at the line start. -sub removeLine ($$) -{ - my ($lookup, $old) = @_; - - $old =~ s/\034/\\\n#>- /g; # Fix continuation lines - $MakefileData =~ s/\n$lookup/\n#>\- $old/; -} - -#----------------------------------------------------------------------------- - -# Replaces the old line with the new line -# old line(s) are retained but tagged as removed. The new line(s) have the -# "added" tag placed before it. -sub substituteLine ($$) -{ - my ($lookup, $new) = @_; - - if ($MakefileData =~ /\n($lookup)/) { - $old = $1; - $old =~ s/\034/\\\n#>\- /g; # Fix continuation lines - $new =~ s/\034/\\\n/g; - my $newCount = 1; - $newCount++ while ($new =~ /\n/g); - - $MakefileData =~ s/\n$lookup/\n#>- $old\n#>\+ $newCount\n$new/; - } else { - print STDERR "Warning: substitution of \"$lookup\" in $printname failed\n"; - } -} - -#----------------------------------------------------------------------------- - -# Slap new lines on the back of the file. -sub appendLines ($) -{ - my ($new) = @_; - - $new =~ s/\034/\\\n/g; # Fix continuation lines - my $newCount = 1; - $newCount++ while ($new =~ /\n/g); - - $MakefileData .= "\n#>\+ $newCount\n$new"; -} - -#----------------------------------------------------------------------------- - -# Restore the Makefile.in to the state it was before we fiddled with it -sub restoreMakefile () -{ - $MakefileData =~ s/# $progId[^\n\034]*[\n\034]*//g; - # Restore removed lines - $MakefileData =~ s/([\n\034])#>\- /$1/g; - # Remove added lines - while ($MakefileData =~ /[\n\034]#>\+ ([^\n\034]*)/) - { - my $newCount = $1; - my $removeLines = ""; - while ($newCount--) { - $removeLines .= "[^\n\034]*([\n\034]|)"; - } - $MakefileData =~ s/[\n\034]#>\+.*[\n\034]$removeLines/\n/; - } -} - -#----------------------------------------------------------------------------- diff --git a/bin/auto_compile b/bin/auto_compile deleted file mode 100755 index 914bcabaa18..00000000000 --- a/bin/auto_compile +++ /dev/null @@ -1,607 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' - & eval 'exec perl -S $0 $argv:q' - if 0; - -# -*- perl -*- -# $Id$ -# -# This script checkouts ACE from CVS, updates the "clone" directory, -# compiles $ACE_ROOT/ace and $ACE_ROOT/tests and finally runs -# $ACE_ROOT/tests/run_tests.sh. -# -# If it detects any problem it send email. -# -# DO NOT invoke this script from your crontab, use -# auto_compile_wrapper for that. -# -# This script requires Perl5. -# -# TODO: Modify the script or split it in such a way that the main copy -# can be obtained either using cvs or downloading the lastest beta -# from the WWW. -# - -# The first three lines above let this script run without specifying the -# full path to perl, as long as it is in the user's PATH. -# Taken from perlrun man page. - -use File::Basename; -use File::Copy; -use FileHandle; -require POSIX; - -# This are the sub-directories (in the module) we really compile. - -# Find out the command name. -$CMD = basename($0); - -$dont_update = 0; -# $copy_logs = 1; -# $LOG_DESTINATION = $ENV{'HOME'}.'/.www-docs/auto_compile'; - -$copy_logs = 0; -$LOG_DESTINATION='bugzilla'.'@cs.wustl.edu'; - -$dont_build_tao = 0; -$dont_run = 0; -$makefile_suffix = ""; -$pre_realclean = 0; -$post_realclean = 0; -$report_success = 0; -$debug = 0; -$sandbox = ''; -$sandbox_timeout = 600; -$sendreport = 0; -@BUILD_LIST= (); -@CONFIGURATION_OPTIONS = (); - -@ARGS = (); -while ($#ARGV >= 0) { - if (!($ARGV[0] =~ m/^-/)) { - push @ARGS, $ARGV[0]; - } elsif ($ARGV[0] eq "-single_threaded") { - print STDERR "$CMD: obsolete option $ARGV[0], " - ."please use -config instead\n"; - push @CONFIGURATION_OPTIONS, 'ST'; - } elsif ($ARGV[0] eq "-minimum_corba") { - print STDERR "$CMD: obsolete option $ARGV[0], " - ."please use -config instead\n"; - push @CONFIGURATION_OPTIONS, 'MINIMUM'; - } elsif ($ARGV[0] eq "-ami") { - print STDERR "$CMD: obsolete option $ARGV[0], " - ."please use -config instead\n"; - push @CONFIGURATION_OPTIONS, 'AMI'; - } elsif ($ARGV[0] eq "-smart_proxies") { - print STDERR "$CMD: obsolete option $ARGV[0], " - ."please use -config instead\n"; - push @CONFIGURATION_OPTIONS, 'SMART_PROXIES'; - } elsif ($ARGV[0] eq "-static") { - print STDERR "$CMD: obsolete option $ARGV[0], " - ."please use -config instead\n"; - push @CONFIGURATION_OPTIONS, 'STATIC'; - } elsif ($ARGV[0] eq "-config") { - shift; - push @CONFIGURATION_OPTIONS, $ARGV[0]; - } elsif ($ARGV[0] eq "-build_list") { - shift; - @BUILD_LIST = split (/,/, $ARGV[0]); - } elsif ($ARGV[0] eq "-dont_update") { - $dont_update = 1; - } elsif ($ARGV[0] eq "-copy_logs") { - shift; - $copy_logs = 1; - $LOG_DESTINATION = $ARGV[0]; - } elsif ($ARGV[0] eq "-sandbox") { - shift; - $sandbox = $ARGV[0]; - } elsif ($ARGV[0] eq "-sandbox_timeout") { - shift; - $sandbox_timeout = $ARGV[0]; - } elsif ($ARGV[0] eq "-dont_run") { - $dont_run = 1; - } elsif ($ARGV[0] eq "-pre_realclean") { - $pre_realclean = 1; - } elsif ($ARGV[0] eq "-post_realclean") { - $post_realclean = 1; - } elsif ($ARGV[0] eq "-report_success") { - $report_success = 1; - } elsif ($ARGV[0] eq "-debug") { - $debug = 1; - } elsif ($ARGV[0] eq "-sendreport") { - $sendreport = 1; - } elsif ($ARGV[0] eq "-notao") { - $dont_build_tao = 1; - } elsif ($ARGV[0] eq "-make_type") { - shift; - $makefile_suffix = $ARGV[0]; - } else { - print "Ignoring option $ARGV[0]\n"; - } - shift; -} - -# Extract configuration information from command line. - # TODO: Some validation and checking should be done here. -$CHECKOUT = $ARGS[0]; -$BUILD = $ARGS[1]; -$LOGDIR = $ARGS[2]; -$ADMIN = $ARGS[3]; -$MAIL = "mail"; -if ($#ARGS >= 4) { - $MAIL = $ARGS[4]; -} -$LOG_URL = "http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/"; -if ($#ARGS >= 5) { - $LOG_URL = $ARGS[5]; -} -# This is the module we will checkout unless a different one is on the -# command line. -$MODULE='ACE_wrappers'; -if ($#ARGS >= 6) { - $MODULE = $ARGS[6]; -} - -$ENV{'ACE_ROOT'} = $CHECKOUT . '/' . $MODULE . '/build/' . $BUILD; -$ENV{'TAO_ROOT'} = $CHECKOUT . '/' . $MODULE . '/build/' . $BUILD . '/TAO'; - -# We obtain our revision to report errors. -$REVISION='$Revision$ '; - -# When an error is found we try to die gracefully and send some email -# to ADMIN. - -$disable_file = $LOGDIR . '/.disable'; -$histfile = $LOGDIR . '/history'; -$LOGBASE = POSIX::strftime("%Y_%m_%d_%H_%M", localtime); -$LOGFILE = $LOGDIR . '/' . $LOGBASE . '.txt'; -$HOST = `hostname`; -chop $HOST; -$LOG_NAME = $HOST . '_' . $BUILD . '/' . $LOGBASE . '.txt'; -$STATUS = "OK"; - -if ($debug) { - print "CHECKOUT = $CHECKOUT\n"; - print "BUILD = $BUILD\n"; - print "LOGDIR = $LOGDIR\n"; - print "ADMIN = $ADMIN\n"; - print "MAIL = $MAIL\n"; - print "ACE_ROOT = $ENV{ACE_ROOT}\n"; - print "TAO_ROOT = $ENV{TAO_ROOT}\n"; - print "CONFIGURATION_OPTIONS = ", @CONFIGURATION_OPTIONS, "\n"; -} - -push @INC, $CHECKOUT . '/' . $MODULE . '/bin'; - -require PerlACE::ConfigList; - -$config_list = new PerlACE::ConfigList; - -$config_list->my_config_list (@CONFIGURATION_OPTIONS); - -if ($#BUILD_LIST == -1) { - if ($dont_build_tao) { - @BUILD_LIST=('ace', 'netsvcs', 'tests'); - } - else { - @BUILD_LIST=('.', 'TAO'); - } -} - -sub mydie { - my $DEST_DIR = $LOG_DESTINATION.'/'.$HOST.'_'.$BUILD; - mkdir $DEST_DIR,0755 if (!-d $DEST_DIR); - if (open(STATUS, '>'.$DEST_DIR.'/status.txt')) { - print STATUS "SCOREBOARD_STATUS: Inactive\n"; - close STATUS; - } - unlink $disable_file; - die $_ . "\n"; -} - -@RUN_LIST = (); - -if ($debug) { - - @BUILD_LIST = ('ace'); - @RUN_LIST = ('TAO/tests/OctetSeq/run_test.pl'); - $ADMIN = $ENV{'LOGNAME'}; - -} else { - $config_list->load ($CHECKOUT . '/' . $MODULE . '/' . 'build/' . $BUILD . '/bin/auto_run_tests.lst'); - - @RUN_LIST = $config_list->valid_entries (); -} - -sub mail_logs { - open (MAIL, "|".$MAIL.' -s AUTO_COMPILE_LOG='.$LOG_NAME.' '.$LOG_DESTINATION) - || mydie "Cannot open mail pipe for: $LOG_NAME\n"; - - print MAIL 'This is the log for: ', "\n"; - print MAIL $CMD, ' [', $REVISION, "] for $HOST/$BUILD\n"; - - print MAIL "\n================================================================\n"; - - if (open (THELOG, "$LOGFILE")) - { - while (<THELOG>) { - print MAIL $_; - } - close (THELOG); - } - close (MAIL); # Ignore errors.... -} - -sub copy_logs { - local $DEST_DIR = $LOG_DESTINATION.'/'.$HOST.'_'.$BUILD; - mkdir $DEST_DIR,0755 if (!-d $DEST_DIR); - - copy($LOGFILE, $DEST_DIR.'/'.$LOGBASE.'.txt'); - - local $MAKE_PRETTY="$CHECKOUT/$MODULE/bin/make_pretty.pl"; - system ("perl $MAKE_PRETTY -b -i $LOGFILE >$DEST_DIR/$LOGBASE"."_brief.html"); - system ("perl $MAKE_PRETTY -i $LOGFILE >$DEST_DIR/$LOGBASE".".html"); - - chmod 0644, $DEST_DIR.'/'.$LOGBASE.'.txt' - , $DEST_DIR.'/'.$LOGBASE.'_brief.html' - , $DEST_DIR.'/'.$LOGBASE.'.html' ; -} - -sub report_errors { - - # First clear the lock, so the next execution works... - unlink $disable_file; # Ignore errors! - - if ($sendreport) { - # Now send a summary of the errors to the ADMIN account, if there are any. - - if ($#_ >= 0) { - local $to = $ADMIN; - - open (MAIL, "|".$MAIL.' -s "[AUTO_COMPILE] '.$HOST.' '.$BUILD.'" '.$to) - || mydie "Cannot open mail pipe for: $_\n"; - - print MAIL 'The following message is brought to you by: ', "\n"; - print MAIL $CMD, ' [', $REVISION, "] for $BUILD on $HOST\n\n"; - - print MAIL "\nPlease check the following log for more info:\n\n"; - print MAIL $LOG_URL, '?', $HOST, '_', $BUILD, "\n\n"; - - local $m; - foreach $m (@_) { - print MAIL $m, "\n"; - } - close (MAIL); # Ignore errors.... - } - } - - # Now send the complete log to bugzilla... - if ($copy_logs) { - copy_logs (); - } else { - mail_logs (); - } -} - -### MAIN FUNCTION - -if (-f $disable_file) { - print 'The following message is brought to you by: ', "\n"; - print $CMD, ' [', $REVISION, "] for $BUILD on $CHECKOUT\n"; - - print "DISABLED\n"; - - exit 0; -} - -open (DISABLE, '>' . $disable_file) - || die "cannot open disable file <$disable_file>\n"; -print DISABLE "auto_compile <$date> is running\n"; -close (DISABLE) - || die "cannot close disable file"; - -open(HIST, '>>' . $histfile) - # Do not use 'mydie' to report the problem, it tries to remove the - # disable file - || mydie "cannot open history file \"$histfile\"\n"; - -$date = localtime; - -print HIST $CMD, ': running at ', $date, ' '; - -open(LOG, '>' . $LOGFILE) - || mydie "cannot open log file"; - -LOG->autoflush (); - -# The following lines are useful when debugging the script or wrapper. -# print LOG $CHECKOUT, " ", $BUILD, " ", $LOGDIR, " ", $ADMIN, "\n"; -#while (($key,$value) = each %ENV) { -# print LOG $key, " = ", $value, "\n"; -#} - -print LOG "#################### CVS\n"; -my $DEST_DIR = $LOG_DESTINATION.'/'.$HOST.'_'.$BUILD; -mkdir $DEST_DIR,0755 if !-d $DEST_DIR; -if (open(STATUS, '>'.$DEST_DIR.'/status.txt')) { - print STATUS "SCOREBOARD_STATUS: CVS\n"; - close STATUS; -} - -chdir($CHECKOUT) - || mydie "Cannot chdir to $CHECKOUT"; - -if ($dont_update == 0) { - $date = localtime; - print LOG "$CMD: starting checkout at ", $date, "\n"; - open(CVS, "cvs -q checkout -P $MODULE 2>&1 |") - || mydie "cannot start checkout of $MODULE"; - - $conflicts = 0; - while (<CVS>) { - if (m/^C /) { - ($unused, $entry) = split('/'); - if (($entry ne "ChangeLog\n") && ($entry ne "THANKS\n")) { - $conflicts = 1; - } - } - print LOG $_; - } - close(CVS); -# || mydie "error while checking out $MODULE"; - $date = localtime; - print LOG "$CMD: checkout finished at ", $date, "\n"; - - if ($conflicts != 0) { - mydie "conflicts on checkout"; - } -} - -chdir($MODULE) - || mydie "cannot chdir to $MODULE"; - -$date = localtime; -print LOG "$CMD: starting clone at ", $date, "\n"; -open(CLONE, "perl bin/create_ace_build -a -v $BUILD 2>&1 |") - || mydie "cannot clone directory"; -while(<CLONE>) { - print LOG $_; -} -close(CLONE) - || mydie "error while cloning ACE_ROOT"; -$date = localtime; -print LOG "$CMD: clone finished at ", $date, "\n"; - -chdir('build/' . $BUILD) - || mydie "cannot chdir to $BUILD"; - -@failures = (); - -if ($makefile_suffix ne "") { - $MAKEFLAGS = "-f Makefile.$makefile_suffix"; -} - -print LOG "#################### Compiler\n"; -if (open(STATUS, '>'.$DEST_DIR.'/status.txt')) { - print STATUS "SCOREBOARD_STATUS: Compile\n"; - close STATUS; -} - -if ($pre_realclean) { - foreach $i (reverse(@BUILD_LIST)) { - $date = localtime; - print LOG "$CMD: =============================================\n"; - print LOG "$CMD: make realclean in $i started at ", $date, "\n"; - open(MAKE, "make -k $MAKEFLAGS -C $i realclean 2>&1 |") - || mydie "cannot start make in $i"; - - while (<MAKE>) { - # Ignore errors.... - } - if (close(MAKE) == 0) { - push @failures, "errors while cleaning $i"; - } - $date = localtime; - print LOG "$CMD: make realclean in $i finished at ", $date, "\n"; - print LOG "$CMD: =============================================\n\n"; - } -} - -$MAKEFLAGS .= ""; -foreach $i (@BUILD_LIST) { - $date = localtime; - print LOG "$CMD: =============================================\n"; - print LOG "$CMD: make for $i started at ", $date, "\n"; - open(MAKE, "make -k $MAKEFLAGS -C $i 2>&1 |") - || mydie "cannot start make for $i"; - - local $current_dir = $i; - local $last_error = ""; - local $this_error = 0; - local $this_warning = 0; - while (<MAKE>) { - chop; - $this_error = $this_warning = 0; - if ($^O eq 'hpux' - && m/^Warning:[ \t]+[0-9]+ future errors were detected/) { - next; - } - print LOG $_, "\n"; - - if (m/^make(\[[0-9]+\])?: Entering directory /) { - s/^make(\[[0-9]+\])?: Entering directory //; - s%^$ENV{'ACE_ROOT'}/%%; - $current_dir = $_; - } - if (m/error:/i || m/error /i - || m/^make(\[[0-9]+\])?: \*\*\*/) { - $this_error = 1; - } - if ($^O eq 'aix' - && m/\d+-\d+ \([SI]\)/) { - $this_error = 1; - } - if ($this_error) { - if ($last_error ne $current_dir - || STATUS eq "COMPILATION WARNING") { - $STATUS = "COMPILATION ERROR"; - push @failures, "Error while compiling in $current_dir \n"; - $last_error = $current_dir; - } - } - if (m/warning:/i - || m/warning /i - || m/Info: /i) { - $this_warning = 1; - if ($^O eq 'aix' - && m/^ld: \d+-\d+ WARNING: Duplicate symbol: .*ACE.*/) { - $this_warning = 0; - } - } - if ($^O eq 'aix' - && m/\d+-\d+ \(W\)/) { - $this_warning = 1; - } - if ($this_warning) { - if ($last_error ne $current_dir) { - if ($STATUS eq "OK") { - $STATUS = "COMPILATION WARNING"; - } - push @failures, "Warning while compiling in $current_dir\n"; - $last_error = $current_dir; - } - } - } - if (close(MAKE) == 0) { - push @failures, "errors while running make in $i"; - } - $date = localtime; - print LOG "$CMD: make for $i finished at ", $date, "\n"; - print LOG "$CMD: =============================================\n\n"; -} - -print LOG "#################### Tests\n"; -if (open(STATUS, '>'.$DEST_DIR.'/status.txt')) { - print STATUS "SCOREBOARD_STATUS: Tests\n"; - close STATUS; -} - -if ($dont_run == 0) { - my $config_params; - if ($#CONFIGURATION_OPTIONS != -1) { - $config_params = ' -Config '; - } - $config_params .= join ' -Config ', @CONFIGURATION_OPTIONS; - - foreach my $i (@RUN_LIST) { - - local $directory = '.'; - local $program = $i; - - if ($i =~ /(.*)\/([^\/]*)$/) { - $directory = $1; - $program = $2; - } - - $date = localtime; - print LOG "\n\n$CMD: ================ $date ================\n"; - print LOG "auto_run_tests: $i\n"; - local $subdir = - $CHECKOUT .'/'. $MODULE .'/build/'. $BUILD .'/'. $directory; - chdir ($subdir) - || mydie "cannot chdir to $subdir"; - - $run_error = 0; - my $prefix = ''; - if ($sandbox ne "") { - $prefix = $sandbox.' '.$sandbox_timeout.' '; - } - if (open(RUN, $prefix."perl $program $config_params 2>&1 |") == 0) { - push @failures, "cannot run $program in $directory"; - next; - } - while (<RUN>) { - print LOG $_; - if (m/Error/ - || m/ERROR/ - || m/FAILED/ - || m/EXCEPTION/ - || m/pure virtual /i) { - if ($STATUS eq "OK") { - $STATUS = "RUNTIME ERROR"; - } - $run_error = 1; - } - } - if (close(RUN) == 0) { - if ($STATUS eq "OK") { - $STATUS = "RUNTIME ERROR"; - } - print LOG "ERROR, non-zero status returned by test script\n"; - push @failures, "Error when closing pipe for $program in $directory"; - next; - } - $date = localtime; - print LOG "$CMD: $program finished ", $date, "\n"; - - if ($run_error != 0) { - push @failures, - "errors detected while running $program in $directory"; - } - } -} - -if ($post_realclean) { - foreach $i (reverse(@BUILD_LIST)) { - $date = localtime; - print LOG "$CMD: =============================================\n"; - print LOG "$CMD: make realclean in $i started at ", $date, "\n"; - open(MAKE, "make -k $MAKEFLAGS -C $i realclean 2>&1 |"); - - while (<MAKE>) { - # Ignore errors.... - } - if (close(MAKE) == 0) { - push @failures, "errors while cleaning $i"; - } - $date = localtime; - print LOG "$CMD: make realclean in $i finished at ", $date, "\n"; - print LOG "$CMD: =============================================\n\n"; - } -} - -print LOG "#################### Config\n"; - -chdir($CHECKOUT . "/" . $MODULE . "/build/" . $BUILD) - || mydie "Cannot chdir to $CHECKOUT/$MODULE/build/$BUILD"; - -open (CONFIG, "perl bin/nightlybuilds/print_config.pl $CHECKOUT/$MODULE/build/$BUILD 2>&1 |") - || mydie "Cannot run print_config.pl script"; -while (<CONFIG>) { - print LOG $_; -} -close (CONFIG) - || mydie "Error while running print_config.pl script"; - -report_errors @failures; - -print LOG "#################### End\n"; -if (open(STATUS, '>'.$DEST_DIR.'/status.txt')) { - print STATUS "SCOREBOARD_STATUS: Inactive\n"; - close STATUS; -} - -close(LOG) - || mydie "cannot close LOGFILE"; - -print HIST "$STATUS\n"; -close(HIST) - || mydie "cannot close history file"; - -unlink $disable_file - || die "cannot unlink disable file"; - -if ($report_success && $STATUS eq "OK") { - report_errors "Congratulations: No errors or warnings detected\n"; -} - -exit 0; diff --git a/bin/auto_compile_wrapper b/bin/auto_compile_wrapper deleted file mode 100755 index f99c8df01a7..00000000000 --- a/bin/auto_compile_wrapper +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/sh -# -# $Id$ -# -# Usually cron setups a really miserable enviroment, this script -# serves two purposes: -# 1. Setup a good enviroment for auto_compile. -# 2. Invoke auto_compile with the proper arguments for each site. -# -# The idea is to modify this script on a per-site basis and leave -# auto_compile unmodified. -# - -# Setup a proper path, remember that cvs, GNU make, perl5 and your -# compiler must be there. -PATH=.:$HOME/bin:/pkg/gnu/bin:/opt/SUNWspro/bin:$PATH -export PATH - -# Obvious enough. -CVSROOT=/project/cvs-repository -export CVSROOT - -# It could be a good idea to set CVSREAD this will make the staging -# area read-only, but our staging areas are public. -# CVSREAD=Y -# export CVSREAD - -# Here we define the cvs working copy for our staging area. -CHECKOUT=$HOME/head - -# In some sites the building directory differs from the cvs working -# copy. The directory is updated running -# $ACE_ROOT/bin/create_ace_build; but it must be setup manually the -# first time. -# TODO: Arrange for automatic creation of platform_macros.GNU & -# config.h. -BUILD=SUNCC - -# Here is where we store auto_compile output and keep a history of -# each run. -LOGDIR=$HOME/head/ACE_wrappers/build/$BUILD/auto_compile - -# Who do we send email when compilation (or anything else) fails. -ADMIN=PUT_YOUR_ADDRESS_HERE ; echo "You must edit this file" ; exit 0 - -# You must select a mail tool that can understand the -s option such -# as: -# -# /usr/bin/mailx Solaris -# /usr/bin/mailx HP-UX -# /usr/sbin/mailx IRIX -# /bin/mail Linux - -exec /pkg/gnu/bin/perl $CHECKOUT/ACE_wrappers/bin/auto_compile \ - $CHECKOUT $BUILD $LOGDIR $ADMIN /usr/bin/mailx - diff --git a/bin/auto_ptr.perl b/bin/auto_ptr.perl deleted file mode 100755 index ca75bb8b4c1..00000000000 --- a/bin/auto_ptr.perl +++ /dev/null @@ -1,16 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -pi -S $0 ${1+"$@"}' - & eval 'exec perl -pi -S $0 $argv:q' - if 0; - -# $Id$ -# -# You may want to run the "find" command with this script, which maybe -# something like this: -# -# find . -type f \( -name "*.i" -o -name "*.h" -o -name "*.C" -o -name "*.cc" -o -name "*.c" -o -name "*.cpp" -o -name "*.hpp" -o -name "*.ipp" \) -print | xargs $ACE_ROOT/bin/auto_ptr.perl - -# The first three lines above let this script run without specifying the -# full path to perl, as long as it is in the user's PATH. -# Taken from perlrun man page. - -s/__TEXT/ACE_TEXT/g; diff --git a/bin/auto_run_tests.pl b/bin/auto_run_tests.pl deleted file mode 100755 index f66932cc7ef..00000000000 --- a/bin/auto_run_tests.pl +++ /dev/null @@ -1,129 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' - & eval 'exec perl -S $0 $argv:q' - if 0; - -# $Id$ -# -*- perl -*- -# This file is for running the run_test.pl scripts listed in -# auto_run_tests.lst. - -use lib "$ENV{ACE_ROOT}/bin"; -use PerlACE::Run_Test; - -use English; -use Getopt::Std; -use Cwd; - -use Env qw(ACE_ROOT PATH); - -################################################################################ -if (!getopts ('ac:ds:t') || $opt_h) { - print "auto_run_tests.pl [-a] [-c config] [-h] [-s sandbox] [-o] [-t]\n"; - print "\n"; - print "Runs the tests listed in auto_run_tests.lst\n"; - print "\n"; - print "Options:\n"; - print " -a ACE tests only\n"; - print " -c config Run the tests for the <config> configuration\n"; - print " -h display this help\n"; - print " -s sandbox Runs each program using a sandbox program\n"; - print " -o ORB test only\n"; - print " -t TAO tests (other than ORB tests) only\n"; - print "\n"; - print "Configs: " . $config_list->list_configs () . "\n"; - exit (1); -} - -my @file_list; - -if ($opt_a) { -push (@file_list, "/bin/ace_tests.lst"); -} - -if ($opt_o) { -push (@file_list, "/bin/tao_orb_tests.lst"); -} - -if ($opt_t) { -push (@file_list, "/bin/tao_other_tests.lst"); -} - -if (scalar(@file_list) == 0) { -push (@file_list, "/bin/ace_tests.lst"); -push (@file_list, "/bin/tao_orb_tests.lst"); -push (@file_list, "/bin/tao_other_tests.lst"); -} - -foreach my$test_lst (@file_list) { - -my $config_list = new PerlACE::ConfigList; - -$config_list->load ($ACE_ROOT.$test_lst); - -# Insures that we search for stuff in the current directory. -$PATH .= $Config::Config{path_sep} . '.'; - -foreach $test ($config_list->valid_entries ()) { - my $directory = "."; - my $program = "."; - - if ($test =~ /(.*)\/([^\/]*)$/) { - $directory = $1; - $program = $2; - } - else { - $program = $test; - } - - print "auto_run_tests: $test\n"; - - chdir ($ACE_ROOT."/$directory") - || die "Error: Cannot chdir to $ACE_ROOT/$directory"; - - if ($program =~ /(.*?) (.*)/) - { - if (! -e $1) - { - print STDERR "Error: $directory.$1 does not exist\n"; - next; - } - } - else - { - if (! -e $program) - { - print STDERR "Error: $directory.$program does not exist\n"; - next; - } - } - - ### Genrate the -ExeSubDir and -Config options - my $inherited_options = " -ExeSubDir $PerlACE::Process::ExeSubDir "; - - foreach my $config ($config_list->my_config_list ()) { - $inherited_options .= " -Config $config "; - } - - $cmd = ''; - if ($opt_s) { - $cmd = "$opt_s \"perl $program $inherited_options\""; - } - else { - $cmd = $program.$inherited_options; - } - - - my $result = 0; - - if (defined $opt_d) { - print "Running: $cmd\n"; - } - else { - $result = system ($cmd); - } - - if ($result > 0) { - print "Error: $test returned with status $result\n"; - } -} -} diff --git a/bin/autoconf_compile b/bin/autoconf_compile deleted file mode 100755 index 8c3a283723d..00000000000 --- a/bin/autoconf_compile +++ /dev/null @@ -1,520 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' - & eval 'exec perl -S $0 $argv:q' - if 0; - -# -*- perl -*- -# $Id$ -# -# This script checkouts ACE from CVS, configures ACE, and compiles -# `ace', `tests' and finally runs `tests/run_tests.sh'. -# -# If it detects any problem it sends e-mail. -# -# DO NOT invoke this script from your crontab, use -# autoconf_compile_wrapper for that. -# -# This script requires Perl 5. -# -# TODO: Modify the script or split it in such a way that the main copy -# can be obtained either using cvs or downloading the latest beta -# from the WWW. -# - -# The first three lines above let this script run without specifying the -# full path to perl, as long as it is in the user's PATH. -# Taken from perlrun man page. - -use File::Basename; -use FileHandle; -require POSIX; - -$directory_mode=0755; - -# This is the module we will checkout, someday someone could define a -# smaller module. -$MODULE='ACE_wrappers'; - -# These are the sub-directories (in the module) we really compile. - -# Find out the command name. -$CMD = basename($0); - -$single_threaded = 0; -$minimum_corba = 0; -$ami = 0; -$dont_update = 0; -$dont_run = 0; -$pre_clean = 0; -$post_clean = 0; -$report_success = 0; -$debug = 0; -@BUILD_LIST= (); - -@ARGS = (); -while ($#ARGV >= 0) { - if (!($ARGV[0] =~ m/-/)) { - push @ARGS, $ARGV[0]; - shift; - } elsif ($ARGV[0] eq "-single_threaded") { - $single_threaded = 1; - shift; - } elsif ($ARGV[0] eq "-minimum_corba") { - $minimum_corba = 1; - shift; - } elsif ($ARGV[0] eq "-ami") { - $ami =1; - shift; - } elsif ($ARGV[0] eq "-build_list") { - shift; - @BUILD_LIST = split (/,/, $ARGV[0]); - shift; - } elsif ($ARGV[0] eq "-dont_update") { - $dont_update = 1; - shift; - } elsif ($ARGV[0] eq "-dont_run") { - $dont_run = 1; - shift; - } elsif ($ARGV[0] eq "-pre_clean") { - $pre_clean = 1; - shift; - } elsif ($ARGV[0] eq "-post_clean") { - $post_clean = 1; - shift; - } elsif ($ARGV[0] eq "-report_success") { - $report_success = 1; - shift; - } elsif ($ARGV[0] eq "-debug") { - $debug = 1; - shift; - } -} - -# Extract configuration information from command line. - # TODO: Some validation and checking should be done here. -$CHECKOUT = $ARGS[0]; -$BUILD = $ARGS[1]; -$LOGDIR = $ARGS[2]; -$ADMIN = $ARGS[3]; -$MAIL = "mail"; -if ($#ARGS >= 4) { - $MAIL = $ARGS[4]; -} - -# We obtain our revision to report errors. -$REVISION='$Revision$ '; - -# When an error is found we try to die gracefully and send some email -# to ADMIN. - -$disable_file = $LOGDIR . '/.disable'; -$histfile = $LOGDIR . '/history'; -$LOGBASE = POSIX::strftime("%b%d_%Y.txt", localtime); -$LOGFILE = $LOGDIR . '/' . $LOGBASE; -$HOST = `hostname`; -chop $HOST; -$LOG_NAME = $HOST . "_" . $BUILD . "_" . $LOGBASE; -$STATUS = "OK"; - -if ($debug) { - print "CHECKOUT = $CHECKOUT\n"; - print "BUILD = $BUILD\n"; - print "LOGDIR = $LOGDIR\n"; - print "ADMIN = $ADMIN\n"; - print "MAIL = $MAIL\n"; -} - -push @INC, $CHECKOUT . '/' . $MODULE . '/bin'; -#require run_all_list; -@RUN_LIST = ('tests'); # Temporary hack - - -if ($#BUILD_LIST == -1) { - @BUILD_LIST= - ('ace', - 'netsvcs', - 'tests', - 'apps/gperf'); -} -if ($debug) { - - @BUILD_LIST = ('ace'); - @RUN_LIST = ('tests'); -# @SINGLE_THREADED_LIST = ('TAO/tests/OctetSeq'); -# @MINIMUM_CORBA_LIST = ('TAO/tests/OctetSeq'); - $ADMIN = $ENV{'LOGNAME'}; - -} - -sub mydie { - unlink $disable_file; - die $_ . "\n"; -} - -sub report_errors { - # First clear the lock, so the next execution works... - unlink $disable_file; # Ignore errors! - - # Now send a summary of the errors to the ADMIN account... - local $to = $ADMIN; - - open (MAIL, "|".$MAIL.' -s "[AUTO_COMPILE] '.$BUILD.'" '.$to) - || mydie "Cannot open mail pipe for: $_\n"; - - print MAIL 'The following message is brought to you by: ', "\n"; - print MAIL $CMD, ' [', $REVISION, "] for $BUILD on $CHECKOUT\n\n"; - - local $m; - foreach $m (@_) { - print MAIL $m, "\n"; - } - - print MAIL "\nPlease check the following log for more info:\n\n"; - print MAIL 'http://www.cs.wustl.edu/~bugzilla/auto_compile_logs/', - $LOG_NAME, "\n\n"; - - close (MAIL); # Ignore errors.... - - # Now send the complete log to bugzilla... - local $bugs = 'bugzilla'.'@cs.wustl.edu'; - open (MAIL, "|".$MAIL.' -s AUTO_COMPILE_LOG='.$LOG_NAME.' '.$bugs) - || mydie "Cannot open mail pipe for: $LOG_NAME\n"; - - print MAIL 'This is the log for: ', "\n"; - print MAIL $CMD, ' [', $REVISION, "] for $BUILD on $CHECKOUT\n"; - - print MAIL "\n================================================================\n"; - - if (open (THELOG, "$LOGFILE")) - { - while (<THELOG>) { - print MAIL $_; - } - close (THELOG); - } - close (MAIL); # Ignore errors.... -} - -### MAIN FUNCTION - -if (-f $disable_file) { - print 'The following message is brought to you by: ', "\n"; - print $CMD, ' [', $REVISION, "] for $BUILD on $CHECKOUT\n"; - - print "DISABLED\n"; - - exit 0; -} - -open (DISABLE, '>' . $disable_file) - || die "cannot open disable file"; -print DISABLE "autoconf_compile <$date> is running\n"; -close (DISABLE) - || die "cannot close disable file"; - -open(HIST, '>>' . $histfile) - # Do not use 'mydie' to report the problem, it tries to remove the - # disable file - || mydie "cannot open history file \"$histfile\"\n"; - -$date = localtime; - -print HIST $CMD, ': running at ', $date, ' '; - -open(LOG, '>' . $LOGFILE) - || mydie "cannot open log file"; - -LOG->autoflush (); - -# The following lines are useful when debugging the script or wrapper. -# print LOG $CHECKOUT, " ", $BUILD, " ", $LOGDIR, " ", $ADMIN, "\n"; -#while (($key,$value) = each %ENV) { -# print LOG $key, " = ", $value, "\n"; -#} - -chdir($CHECKOUT) - || mydie "Cannot chdir to $CHECKOUT"; - -if ($dont_update == 0) { - $date = localtime; - print LOG "$CMD: starting checkout at ", $date, "\n"; - open(CVS, "cvs -q checkout -P $MODULE 2>&1 |") - || mydie "cannot start checkout of $MODULE"; -# open(CVS, "cvsup -g -L 2 -P m ace-supfile 2>&1 |") -# || mydie "cannot start checkout"; - - $conflicts = 0; - while (<CVS>) { - if (m/^C /) { - $conflicts = 1; - } - print LOG $_; - } - close(CVS) - || mydie "error while checking out $MODULE"; - $date = localtime; - print LOG "$CMD: checkout finished at ", $date, "\n"; - - if ($conflicts != 0) { - mydie "conflicts on checkout"; - } -} - -chdir($MODULE) - || mydie "cannot chdir to $MODULE"; - -open (CHLOG, "ChangeLog") - || mydie "cannot open Changelog"; -$_ = <CHLOG>; -chop; -print LOG "ACE ChangeLogTag:", $_, "\n"; -close (CHLOG); - -open (CHLOG, "TAO/ChangeLog") - || mydie "cannot open TAO/Changelog"; -$_ = <CHLOG>; -chop; -print LOG "TAO ChangeLogTag:", $_, "\n"; -close (CHLOG); - -# Bootstrap the workspace -print LOG "$CMD: ==================================================\n\n"; -print LOG "$CMD: bootstrapping the workspace\n"; -open(BOOTSTRAP, "cd $CHECKOUT/ACE_wrappers && " - . "sh bin/bootstrap workspace --enable-deps 2>&1 |") - || mydie "cannot bootstrap workspace for $BUILD"; -while(<BOOTSTRAP>) { - print LOG $_; -} -close(BOOTSTRAP) - || mydie "error while bootstrapping the workspace"; -print LOG "$CMD: ==================================================\n\n"; - -# Begin the workspace configuration -$date = localtime; -print LOG "$CMD: starting configuration at ", $date, "\n"; - -# Check that we're in an ACE "top level" directory. -# We can actually build outside of the top level ACE directory, but -# let's do it this way for now. -(-d 'ace' && -d 'm4') || - die "$0: must be in top level ACE directory!\n"; - -# Create build directories, if needed. --d 'build' || mkdir ('build', $directory_mode); --d "$build" || mkdir ('build/' . "$BUILD", $directory_mode); - -# Now enter the build directory. -chdir('build/' . $BUILD) - || mydie "cannot chdir to $BUILD"; - -# Remove the configuration cache file to make sure a fresh -# configuration is created. -unlink "config.cache"; - -# Run the configuration script. -open(CONFIGURE, "sh $CHECKOUT/ACE_wrappers/configure 2>&1 |") - || mydie "cannot configure for $BUILD"; -while(<CONFIGURE>) { - print LOG $_; -} -close(CONFIGURE) - || mydie "error while configuring ACE"; -$date = localtime; -print LOG "$CMD: configure finished at ", $date, "\n"; - - -@failures = (); - -if ($pre_clean) { - foreach $i (@BUILD_LIST) { - $date = localtime; - print LOG "$CMD: =============================================\n"; - print LOG "$CMD: make clean in $i started at ", $date, "\n"; - open(MAKE, "make -k $MAKEFLAGS -C $i clean 2>&1 |") - || mydie "cannot start make in $i"; - - while (<MAKE>) { - # Ignore errors.... - } - if (close(MAKE) == 0) { - push @failures, "errors while cleaning $i"; - } - $date = localtime; - print LOG "$CMD: make clean in $i finished at ", $date, "\n"; - print LOG "$CMD: ==================================================\n\n"; - } -} - -$MAKEFLAGS .= ""; -foreach $i (@BUILD_LIST) { - $date = localtime; - print LOG "$CMD: =============================================\n"; - print LOG "$CMD: make for $i started at ", $date, "\n"; - open(MAKE, "make -k $MAKEFLAGS -C $i 2>&1 |") - || mydie "cannot start make for $i"; - - local $current_dir = $i; - local $last_error = ""; - while (<MAKE>) { - chop; - if ($^O eq 'hpux' - && m/^Warning:[ \t]+[0-9]+ future errors were detected/) { - next; - } - print LOG $_, "\n"; - - if (m/^make(\[[0-9]+\])?: Entering directory /) { - s/^make(\[[0-9]+\])?: Entering directory //; - $current_dir = $_; - } - if (m/error:/i || m/error /i - || m/^make(\[[0-9]+\])?: \*\*\*/) { - if ($last_error ne $current_dir - || STATUS eq "COMPILATION WARNING") { - $STATUS = "COMPILATION ERROR"; - push @failures, "Error while compiling in $current_dir \n"; - $last_error = $current_dir; - } - } - if (m/warning:/i || m/warning /i) { - if ($last_error ne $current_dir) { - if ($STATUS eq "OK") { - $STATUS = "COMPILATION WARNING"; - } - push @failures, "Warning while compiling in $current_dir\n"; - $last_error = $current_dir; - } - } - } - if (close(MAKE) == 0) { - push @failures, "errors while running make in $i"; - } - $date = localtime; - print LOG "$CMD: make for $i finished at ", $date, "\n"; - print LOG "$CMD: =============================================\n\n"; -} - -if ($dont_run == 0) { - @LIST = @RUN_LIST; - if ($single_threaded) { - @LIST = @SINGLE_THREADED_LIST; - } elsif ($minimum_corba) { - @LIST = @MINIMUM_CORBA_LIST; - } elsif ($ami) { - @LIST = @AMI_CORBA_LIST; - } - - foreach $i (@LIST) { - - $date = localtime; - print LOG "$CMD: ==================================================\n"; - print LOG "$CMD: running checks in $i at ", $date, "\n"; - local $subdir = - $CHECKOUT .'/'. $MODULE .'/build/'. $BUILD .'/'. $i; - chdir ($subdir) - || mydie "cannot chdir to $subdir"; - - $run_error = 0; - open(CHECK, "make -k $MAKEFLAGS -C $subdir check 2>&1 |"); - - local $current_dir = $i; - local $last_error = ""; - while (<CHECK>) { - chop; - if ($^O eq 'hpux' - && m/^Warning:[ \t]+[0-9]+ future errors were detected/) { - next; - } - print LOG $_, "\n"; - - if (m/^make(\[[0-9]+\])?: Entering directory /) { - s/^make(\[[0-9]+\])?: Entering directory //; - $current_dir = $_; - } - if (m/error:/i || m/error /i - || m/^make(\[[0-9]+\])?: \*\*\*/) { - if ($last_error ne $current_dir - || STATUS eq "COMPILATION WARNING") { - $STATUS = "COMPILATION ERROR"; - push @failures, "Error while compiling in $current_dir \n"; - $last_error = $current_dir; - } - } - if (m/warning:/i || m/warning /i) { - if ($last_error ne $current_dir) { - if ($STATUS eq "OK") { - $STATUS = "COMPILATION WARNING"; - } - push @failures, "Warning while compiling in $current_dir\n"; - $last_error = $current_dir; - } - } - if (m/Error/ - || m/ERROR/ - || m/FAILED/ - || m/failed/ - || m/FAIL/ - || m/EXCEPTION/ - || m/pure virtual /i) { - if ($STATUS eq "OK") { - $STATUS = "RUNTIME ERROR"; - } - $run_error = 1; - } - } - - if (close(CHECK) == 0) { - if ($STATUS eq "OK") { - $STATUS = "RUNTIME ERROR"; - } - push @failures, "Error when closing pipe in $i"; - next; - } - $date = localtime; - print LOG "$CMD: check finished ", $date, "\n"; - - if ($run_error != 0) { - push @failures, - "errors detected while making check in $i"; - } - } -} - -if ($post_clean) { - foreach $i (@BUILD_LIST) { - $date = localtime; - print LOG "$CMD: ==================================================\n"; - print LOG "$CMD: make clean in $i started at ", $date, "\n"; - open(MAKE, "make -k $MAKEFLAGS -C $i clean 2>&1 |"); - - while (<MAKE>) { - # Ignore errors.... - } - if (close(MAKE) == 0) { - push @failures, "errors while cleaning $i"; - } - $date = localtime; - print LOG "$CMD: make clean in $i finished at ", $date, "\n"; - print LOG "$CMD: ==================================================\n\n"; - } -} - -if ($#failures >= 0) { - report_errors @failures; -} - -close(LOG) - || mydie "cannot close LOGFILE"; - -print HIST "$STATUS\n"; -close(HIST) - || mydie "cannot close history file"; - -unlink $disable_file - || die "cannot unlink disable file"; - -if ($report_success && $STATUS eq "OK") { - report_errors "Congratulations: No errors or warnings detected\n"; -} - -exit 0; diff --git a/bin/autoconf_compile_wrapper b/bin/autoconf_compile_wrapper deleted file mode 100755 index 3ffddafb1a1..00000000000 --- a/bin/autoconf_compile_wrapper +++ /dev/null @@ -1,56 +0,0 @@ -#! /bin/sh -# -# $Id$ -# -# Usually cron setups a really miserable enviroment, this script -# serves two purposes: -# 1. Setup a good enviroment for auto_compile. -# 2. Invoke auto_compile with the proper arguments for each site. -# -# The idea is to modify this script on a per-site basis and leave -# auto_compile unmodified. -# - -# Setup a proper path, remember that cvs, make, perl5 and your -# compiler must be there. -PATH=.:$HOME/bin:/pkg/gnu/bin:/opt/SUNWspro/bin:$PATH -export PATH - -# Obvious enough. -CVSROOT=/project/cvs-repository -export CVSROOT - -# It could be a good idea to set CVSREAD this will make the staging -# area read-only, but our staging areas are public. -# CVSREAD=Y -# export CVSREAD - -# Here we define the cvs working copy for our staging area. -CHECKOUT=$HOME/head - -# In some sites the building directory differs from the cvs working -# copy. The directory is updated running -# $ACE_ROOT/bin/create_ace_build; but it must be setup manually the -# first time. -# TODO: Arrange for automatic creation of platform_macros.GNU & -# config.h. -BUILD=SUNCC - -# Here is where we store autoconf_compile output and keep a history of -# each run. -LOGDIR=$HOME/head/ACE_wrappers/build/$BUILD/autoconf_compile - -# Who do we send email when compilation (or anything else) fails. -ADMIN=PUT_YOUR_ADDRESS_HERE ; echo "You must edit this file" ; exit 0 - -# You must select a mail tool that can understand the -s option such -# as: -# -# /usr/bin/mailx Solaris -# /usr/bin/mailx HP-UX -# /usr/sbin/mailx IRIX -# /bin/mail Linux - -exec /pkg/gnu/bin/perl $CHECKOUT/ACE_wrappers/bin/autoconf_compile \ - $CHECKOUT $BUILD $LOGDIR $ADMIN /usr/bin/mailx - diff --git a/bin/bootstrap b/bin/bootstrap deleted file mode 100755 index dcb770c3507..00000000000 --- a/bin/bootstrap +++ /dev/null @@ -1,185 +0,0 @@ -#! /bin/sh - -# ------------------------------------------------------------------------- -# $Id$ -# -# Bootstrap ACE/TAO configuration tools when checked out from CVS. -# Requires GNU autoconf, GNU automake and GNU libtool. -# -# This script is only meant to be run by ACE/TAO maintainers. -# -# ------------------------------------------------------------------------- - -# Copyright (C) 1999 Ossama Othman -# -# All Rights Reserved -# -# This library is free software; you can redistribute it and/or -# modify it under the current ACE distribution terms. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - - -set -e - -# If paginator environment variable isn't set then use `more'. -test -z $PAGER && PAGER=more - -# Flag that determines if dependency tracking should be enabled in -# GNU Automake generated Makefile.in files. -enable_deps=no - -# By default, assume that a workspace, not a release, is being bootstrapped. -bootstrap_release=no - -usage() -{ - cat <<EOF | $PAGER -Usage: bootstrap [OPTIONS] [workspace | release] - -Generic options: - --help display this help and exit - -Supported options: - --enable-deps enable dependency tracking for workspace [default=no] - -Workspace Bootstrapping ------------------------ - Bootstrapping a workspace causes all files necessary for - maintainers to build ACE or TAO to be generated. - - Enabling dependency tracking via the \`--enable-deps' option causes - GNU Automake to generate dependency tracking rules in generated - Makefile.in files. Currently those dependency tracking rules only - work with GNU C++, which is why dependency tracking is disabled by - default. - -Release Bootstrapping ---------------------- - Bootstrapping a workspace for release does the same things as the - standard workspace bootstrapping procedure except that files that - are needed to build an ACE/TAO distribution are also generated - (e.g. man pages). Dependency tracking is enabled by default since - Makefile dependencies should be included in ACE/TAO distributions. - -EOF - - exit $1 -} - - -if test $# -gt 2; then - usage 1 -fi - -while test $# -gt 0; do - case "$1" in - --help) - usage 0 - ;; - --enable-deps) - enable_deps=yes - ;; - workspace) - bootstrap_release=no - ;; - release) - bootstrap_release=yes - enable_deps=yes - ;; - esac - shift -done - - -# This script must be run from the top-level ACE source directory -if test -d m4; then - - # Set the PATH containing the GNU tools - if (uname | grep SunOS > /dev/null 2>&1); then - PATH=/project/danzon/pkg/gnu/bin:$PATH - export PATH - fi - - # Provide some "useful" information. - if test $bootstrap_release = yes; then - echo Bootstrapping release... - else - echo Bootstrapping workspace... - fi - - # Update the NEWS file - # For now just copy the contents of the `VERSION' file to make automake - # happy. Eventually, we should start putting real news in to it. - echo Creating a NEWS file - cp VERSION NEWS - - # Generate an `aclocal.m4' file from all existing m4 macro files - # including those in the `m4' directory. - echo Running aclocal - aclocal -I m4 - - # Generate a `config.h.in' configuration header template from `acconfig.h'. - echo 'Running autoheader (expect some "AC_TRY_RUN" warnings)' - autoheader - - # Generate the `configure' script from the `configure.in'. - echo 'Running autoconf (expect some "AC_TRY_RUN" warnings)' - autoconf - - # Generate all `Makefile.in' templates in the directories listed in - # `configure.in' and add any missing files that GNU Automake needs so - # that the distribution and configuration processes will run properly. - echo Running automake - if test $bootstrap_release = no && test $enable_deps = no; then - automake --add-missing --include-deps #--verbose - else - automake --add-missing #--verbose - fi - - # Generate the man pages. - # Only generate man pages if bootstrapping a release. - if test $bootstrap_release = yes; then - if test -f man/man3/ACE.3; then - echo ACE man pages have already been generated. - else - echo 'Generating the ACE man pages (this may take several minutes)' - - (ACE_ROOT=.; \ - export ACE_ROOT; \ - ./bin/generate_doxygen.pl -is_release -exclude_tao > /dev/null) - fi # test -f man/man3/ACE.3 - fi # test $bootstrap_release = yes - - # Regenerate the man pages lists in the man page Makefiles. - - if test -f man/man3/Makefile.am; then - # Only insert man page lists if bootstrapping a release. - if test $bootstrap_release = yes; then - echo 'Inserting ACE man page lists into appropriate Makefile.am files.' - ACE_MAN_PAGES=`(cd man/man3 && echo *.3)` - else - ACE_MAN_PAGES= - fi - - (cd man/man3; \ - eval "sed -e 's/^man_MANS =.*$/man_MANS = $ACE_MAN_PAGES/' \ - Makefile.am > Makefile.am.new"; \ - mv Makefile.am.new Makefile.am) - (cd man/html; \ - eval "sed -e 's/^html_DATA =.*$/html_DATA = $ACE_HTML_MAN_PAGES/' \ - Makefile.am > Makefile.am.new"; \ - mv Makefile.am.new Makefile.am) - else - test -f man/man3/Makefile.am || echo 'man/man3/Makefile.am is missing!' - exit 1; - fi # test -f man/man3/Makefile.am - - # Provide some more "useful" information. - echo Done bootstrapping. -else - echo ACE must be bootstrapped from the top-level ACE source directory. - exit 1; -fi # test -d m4 diff --git a/bin/check_build_logs b/bin/check_build_logs deleted file mode 100755 index 39707d404da..00000000000 --- a/bin/check_build_logs +++ /dev/null @@ -1,176 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' - & eval 'exec perl -S $0 $argv:q' - if 0; - -# $Id$ -# -# Reviews build logs and reports problems, via stdout or mail. - -use strict; - -my $usage = "$0 [-l log directory] [-m mail recipient(s)] " . - "[-p purify output] [-u URL prefix]\n"; - -#### -#### Configuration parameters. -#### -my $subject = 'ACE+TAO build results'; -my $find = -e '/pkg/gnu/bin/find' ? '/pkg/gnu/bin/find' : 'find'; -my $mail = "mail -s '$subject'"; - -my $ostype = $ENV{'OSTYPE'} || `/bin/uname -s`; -if ("$ostype" =~ /(solaris)|(SunOS)/i) { - #### $mail = "/pkg/mh/bin/mhmail -subject '$subject'"; - $mail = "/usr/bin/mailx -s '$subject'"; -} - -$ENV{'LD_LIBRARY_PATH'} = '/opt/SUNWspro_5.0/dt/lib:/usr/openwin/lib:' . - '/usr/lib:/project/danzon/pkg/egcs/lib:' unless $ENV{'LD_LIBRARY_PATH'}; -$ENV{'TMPDIR'} = '/tmp'; -$ENV{'USER'} = $ENV{'LOGNAME'}; - -my $log_directory = '/project/danzontmp/levine/build-logs/'; -my $mail_recipients = ''; -my $purify = ''; -my $urlprefix = ''; - -#### -#### Process command line args. -#### -while ($#ARGV >= $[) { - if ($ARGV[0] eq '-l') { - if ($ARGV[1] =~ /^[^-]/) { - $log_directory = $ARGV[1]; - shift; - } else { - print STDERR "$0: must provide argument for -l option\n"; - die $usage; - } - } elsif ($ARGV[0] eq '-m') { - if ($ARGV[1] =~ /^[\w@\.]+$/) { - $mail_recipients = $ARGV[1]; - shift; - } else { - print STDERR "$0: must provide argument for -m option\n"; - die $usage; - } - } elsif ($ARGV[0] eq '-p') { - if ($ARGV[1] !~ /^-/) { - $purify = $ARGV[1]; - shift; - } else { - print STDERR "$0: must provide argument for -p option\n"; - die $usage; - } - } elsif ($ARGV[0] eq '-u') { - if ($ARGV[1] !~ /^-/) { - $urlprefix = $ARGV[1]; - shift; - } else { - print STDERR "$0: must provide argument for -u option\n"; - die $usage; - } - } elsif ($ARGV[0] eq '-?') { - print "$usage"; - exit; - } else { - print "$0: unknown arg: $ARGV[0]\n"; - print "$usage"; - exit 1; - } - shift; -} - - -#### -#### Find the log files. -#### -chdir $log_directory || - die "$0: unable to cd to \"$log_directory\"\n"; - -(my $log_files = (`$find . -name '*.log' -daystart -ctime 0 -print | sort`)) =~ - tr [\n] [ ]; -$log_files =~ s%\./(make)%$1%g; #### Remove leading ./ from each filename. - - -#### -#### Grep the log files for problems. -#### -my $line_count = 0; -my @output = (); -open (EGREP, "egrep -n \'Error|errors|[^a]Stop|No rule to make|\(undefined symb\)|[Ww]arn|not exist|core dumped|: #[0-9]|cxx:\' $log_files /dev/null |") || - die "$0: unable to open egrep\n"; -while (<EGREP>) { - push @output, $_ unless /calls, 0 errors$/ || - /Found non-pic R_SPARC/ || - /Purify engine: Error: .* Ignoring it\.$/; - ++$line_count; - last if $line_count > 2000; -} -close EGREP; - - -#### -#### Check a Purify output file for bad things. -#### -if ("$purify") { - my $found_anomaly = 0; - - open (PURIFY, "$purify") || - die "$0: unable to open $purify\n"; - while (<PURIFY>) { - if (/^[A-Z][A-Z][A-Z]:/) { - unless ($found_anomaly) { - push @output, "\n"; - push @output, "Purify detected anomalies!!!!\n"; - push @output, "See $purify:\n"; - $found_anomaly = 1; - } - - push @output, $_; - } - } - close PURIFY; -} - - -#### -#### Produce output, if there were any problems. -#### -if ($#output == -1) { - push @output, "No problems to report.\n"; -} - -{ - my $tmp_file; - - if ("$mail_recipients") { - $tmp_file = "/tmp/check_build_logs.$$"; - open (MAIL, "> $tmp_file") || - die "$0: unable to open $tmp_file\n"; - select MAIL; - } - - print "This is an automatically generated message.\n\n" - if "$mail_recipients"; - print "Log files are in $log_directory\n"; - - if ("$urlprefix") { - #### Print URL for each log file, using $urlprefix. - print "They are also available at:\n"; - - foreach my $log (split /\s+/, $log_files) { - print " $urlprefix$log\n"; - } - } - - print "\n"; - print @output; - - if ("$mail_recipients") { - close MAIL; - system ("$mail $mail_recipients < $tmp_file") && - warn "$0: $mail $mail_recipients failed with status $?\n"; - unlink $tmp_file; - } -} diff --git a/bin/cle.pl b/bin/cle.pl deleted file mode 100755 index 72ed9169be5..00000000000 --- a/bin/cle.pl +++ /dev/null @@ -1,233 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' - & eval 'exec perl -S $0 $argv:q' - if 0; - -# ****************************************************************** -# Author: Chad Elliott -# Date: 6/18/2002 -# $Id$ -# ****************************************************************** - -use strict; -use Cwd; -use File::Basename; - -unshift(@INC, getExecutePath($0) . '/ChangeLogEditor'); - -require ChangeLogEdit; -require EmailTranslator; - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub which { - my($prog) = shift; - my($exec) = $prog; - my($part) = ''; - my($envSep) = ($^O eq 'MSWin32' ? ';' : ':'); - - if (defined $ENV{'PATH'}) { - foreach $part (split(/$envSep/, $ENV{'PATH'})) { - $part .= "/$prog"; - if ( -x $part ) { - $exec = $part; - last; - } - } - } - - return $exec; -} - - -sub getExecutePath { - my($prog) = shift; - my($loc) = ''; - - if ($prog ne basename($prog)) { - if ($prog =~ /^[\/\\]/ || - $prog =~ /^[A-Za-z]:[\/\\]?/) { - $loc = dirname($prog); - } - else { - $loc = getcwd() . '/' . dirname($prog); - } - } - else { - $loc = dirname(which($prog)); - } - - if ($loc eq '.') { - $loc = getcwd(); - } - - return $loc; -} - - -sub getDefaultDomain { - my($domain) = undef; - my($host) = `hostname`; - - if (defined $host) { - chop($host); - ## First try the hostname - if ($host =~ /[^\.]+\.(.*)/) { - $domain = $1; - } - else { - ## Next try the hosts file - my($hosts) = ($^O eq 'MSWin32' ? - "$ENV{SystemRoot}/system32/drivers/etc/hosts" : - '/etc/hosts'); - my($fh) = new FileHandle(); - if (open($fh, $hosts)) { - while(<$fh>) { - if (/$host\.(.*)/) { - $domain = $1; - last; - } - } - close($fh); - } - - if (!defined $domain) { - ## Next try ipconfig on Windows - if ($^O eq 'MSWin32') { - if (open($fh, 'ipconfig /all |')) { - while(<$fh>) { - if (/Primary\s+DNS\s+Suffix[^:]+:\s+(.*)/) { - $domain = $1; - } - elsif (/DNS\s+Suffix\s+Search[^:]+:\s+(.*)/) { - $domain = $1; - } - } - close($fh); - } - } - else { - ## Try /etc/resolv.conf on UNIX - if (open($fh, '/etc/resolv.conf')) { - while(<$fh>) { - if (/search\s+(.*)/) { - $domain = $1; - last; - } - } - close($fh); - } - } - } - } - } - return $domain; -} - - -sub usageAndExit { - my($arg) = shift; - my($base) = basename($0); - if (defined $arg) { - print "$arg\n\n"; - } - print "Usage: $base [ChangeLog File] [user name] [email address]\n\n" . - " Uses cvs to determine which files are modified or added\n" . - " and generates a bare ChangeLog entry based on those files.\n" . - " This script should be run at the same directory level in\n" . - " which the ChangeLog exists. The entry is prepended to the\n" . - " existing ChangeLog.\n" . - "\n" . - " Email addresses are generated with a certain set of\n" . - " defaults and can be modified using various environment\n" . - " variables. By default email addresses are generated\n" . - " using the user last name followed by an underscore and\n" . - " the first initial of the user first name followed by the\n" . - " email domain.\n" . - "\n" . - " REPLYTO If this environment variable is set, the value\n" . - " is used as the email address.\n" . - " CL_USERNAME This environment variable is used to override\n" . - " the user name (obtained from the password file).\n" . - "\n" . - " The user name and email address can be passed as a parameter to\n" . - " this script. If either is not passed, then the script will try\n" . - " to determine it automatically.\n"; - exit(0); -} - - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -my($file) = undef; -my($name) = undef; -my($email) = undef; - -foreach my $arg (@ARGV) { - if ($arg eq '-h') { - usageAndExit(); - } - elsif ($arg =~ /^\-/) { - usageAndExit("Unrecognized parameter: $arg"); - } - elsif (!defined $file) { - $file = $arg; - } - elsif (!defined $name) { - $name = $arg; - } - elsif (!defined $email) { - $email = $arg; - } -} - -if (!defined $file) { - $file = 'ChangeLog'; -} -if (!defined $name) { - my(@pwd) = (); - if (defined $ENV{CL_USERNAME}) { - $pwd[6] = $ENV{CL_USERNAME}; - } - else { - if ($^O eq 'MSWin32' || $^O eq 'cygwin') { - $pwd[6] = 'unknown'; - } - else { - @pwd = getpwuid($<); - $pwd[6] =~ s/,//g; - } - } - $name = $pwd[6]; -} - -if (!defined $email) { - my($trans) = new EmailTranslator(getDefaultDomain()); - $email = $trans->translate($name); -} - -my($editor) = new ChangeLogEdit($name, $email); -my($status, $error, $unknown) = $editor->edit($file); - -if (defined $unknown) { - my(@uarray) = @$unknown; - if ($#uarray >= 0) { - print "WARNING: The following files are unknown to CVS:\n"; - foreach my $unk (@uarray) { - print "$unk\n"; - } - print "\n"; - } -} - -if ($status) { - print "You are now ready to edit the $file.\n"; -} -else { - print "$error\n"; -} - -exit($status ? 0 : 1); diff --git a/bin/clean_dsp.pl b/bin/clean_dsp.pl deleted file mode 100755 index a3ff9be8205..00000000000 --- a/bin/clean_dsp.pl +++ /dev/null @@ -1,52 +0,0 @@ -# $Id$ -# DSP cleaner - -$if_depth = 0; -@saved_lines = (); -$dirty = 0; -$in_dependency = 0; - -die "Not enough args" if ($#ARGV < 0); - -open (FILE, "<$ARGV[0]"); - -loop: while (<FILE>) -{ - # Check for dependency information - - if (/^DEP/ || /^NODEP/) { - $in_dependency = 1; - } - - if ($in_dependency) { - $in_dependency = 0 if (!/\\$/); - goto loop; - } - - # Check for empty !IF blocks - - if (/^\!IF/) { - ++$if_depth; - } - - push @saved_lines, $_ - if ($if_depth > 0); - - if (/^\!ENDIF/) { - --$if_depth; - print @saved_lines - if ($if_depth == 0 && $dirty == 1); - @saved_lines = (); - $dirty = 0; - } - elsif ($if_depth == 0) { - print; - } - - $dirty = 1 - if ($if_depth > 0 && !/^\!/ && !/^\s+$/); - - -} - -close (FILE); diff --git a/bin/clean_sems.sh b/bin/clean_sems.sh deleted file mode 100755 index a20f520bc54..00000000000 --- a/bin/clean_sems.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh - -if test "$OSTYPE" = "solaris"; then - semids=`ipcs | grep $USER | awk '{ print ($2) }'` - for p in $semids - do ipcrm -s $p - done -else - # Linux/GNU - ipcs -a | grep $USER | awk '{ print ($2) }' | xargs ipcrm sem; -fi - diff --git a/bin/clone.1 b/bin/clone.1 deleted file mode 100644 index 7c36d90fd85..00000000000 --- a/bin/clone.1 +++ /dev/null @@ -1,297 +0,0 @@ -.TH CLONE 1 "6 June 1989" "" -.SH NAME -clone \- make a clone of an entire directory tree -.SH SYNOPSIS -.B clone -[ -.B -q -] [ -.B -v -] [ -.B -f -] [ -.B -c | -s -] [ -.B -S -] -.I "dir1 dir2" -.SH DESCRIPTION -.I Clone -makes an identical copy of an entire (source) directory tree rooted at -the directory named -.I dir1 -into the (target) directory tree -rooted at -.I dir2. -The target directory -.I dir2 -will be created if it does not already exist. -On the other hand, if the directory -.I dir2 -exists, or if the -.I dir2 -directory has any existing subdirectories, then these -directories will -.B not -be deleted or replaced by -.I clone. -.PP -.I Clone -normally creates the clone -directory tree by creating any new directories needed -beneath -.I dir2 -(possibly including -.I dir2 -itself). -.I Clone -then fills in the new directories with hard links -to all of the files in the original (source) directory tree -.I dir1 -such that the new (target) directory tree appears to also contain -all of the files and subdirectories contained in the original (source) -directory tree. -Hard links are normally used when creating -.I clones -of the files in the source directory tree -inside the new (target) directory tree. -This insures that the cost (in disk space) of -.I cloning -a given source directory tree will be very low. -If desired, the new (clone) directory tree can be filled in with -symbolic links or with actual copies of the original files (instead of -using hard links). -.PP -.I Clone -may be particularly useful for maintaining multiple versions -of nearly identical source trees. -.PP -An important feature of -.I clone -is that the -.I dir2 -argument may already exist and may already contain some -files and subdirectories. In such cases, -.I clone -does not disturb these existing files or subdirectories. -Rather, it simply adds the material from the source directory, -.I dir1, -to the material already present within -.I dir2. -In cases where -there are conflicts between files or directories which -already exist in -.I dir2 -but which also exist in -.I dir1, -.I clone -(by default) leaves the files or directories in the target directory -.I dir2 -untouched unless the -.B -f -(force) flag is used, in which case, -.I clone -will override (i.e. delete) the conflicting entries -from the target directory -.I dir2 -and replace them with clones from the source directory -.I dir1. -.SH OPTIONS -.I Clone -recognizes the following options: -.TP -.BI \-q -Quite mode. Suppress all warnings and non-fatal error messages. -.TP -.BI \-v -Verbose mode. Print verbose messages which describe each individual -linking (or copying) action, as well as all -.I mkdir -actions that -.I clone -executes. -.TP -.BI \-f -Force mode. In cases where an item (i.e. either a file or a directory) -exists in the source directory tree -.I dir1, -and also already exists in the target directory tree -.I dir2, -delete the item (ether a file or a directory) in -the target directory tree and then replace it with a clone -of the corresponding item from the source directory tree. -All such deletions causes warning to be issued to -.I stderr -unless the -.B \-q -(quite mode) -option is also specified. -Note that if a given item already exists in the target directory tree, -and if it also exists in the source directory tree, and if both the -(existing) source and target items are themselves directories, then the -.B \-f -option has no effect for these items. Existing directories in the -target directory tree are never deleted by -.I clone -unless there is a corresponding item in the source directory tree which is -.B not -a directory (i.e. is a regular file) and the -.B \-f -option is in effect. -.TP -.BI \-s -Symbolic link mode (not available on System V). When used, this -option causes all non-directory files to be -.I cloned -by making symbolic links from the target directory tree into the source -directory tree. This mode overrides the default mode in which -hard links are used to clone all non-directory files. -.TP -.BI \-c -Copy mode. -In this mode, a physical copy of each non-directory file in the source directory -tree is created in the target directory tree. Note that when this mode is used, -it is an error for the source directory tree to contain any block or character -device files, or any named pipe files. -.TP -.BI \-S -SCCS mode. -In this mode, only the source tree structure is cloned, not its contents. -Symbolic links are created within the destination tree to subdirectories -in the source tree named -.B SCCS. -This mode is useful when multiple developers work from a common SCCS project -tree. To accomplish this, each developer creates a local project tree by -.I cloning -the common SCCS project directory, specifying the -.B \-S -option. -Individual developers are then able to work within their local project tree while -ensuring that all SCCS operations are applied to the common SCCS project tree. -Use of the -.B \-S -option implies the use of the -.B \-s -option and is thus not available on System V. -.SH EXAMPLES -Assume that you have -two directory trees called -.I src1 -and -.I src2 -and that you wish to combine the contents of these -two directories into a new directory named -.I dst -such that if there are any files with duplicate names in both -.I src1 -and in -.I src2 -the files from the -.I src2 -directory tree will take precedence -over the corresponding files in the directory tree -.I src1. -The following commands would accomplish this task: -.sp 1 -.in +0.4i -.ft B -clone src1 dst -.br -clone -f src2 dst -.sp 1 -.in -0.4i -.ft R -Or alternatively, for this simple case, you could have said: -.ft B -.in +0.4i -.sp 1 -clone src2 dst -.br -clone src1 dst -.br -.sp 1 -.in -04.i -.ft R -.PP -To clone an SCCS project tree, such as -.B /pub/EOS_client_server, -one might use the following command, shown with the resulting output: -.sp 1 -.in +0.4i -.ft B -doc% clone -S -v /pub/EOS_client_server ~/EOS_CS -.br -clone: created new output directory: /home/ebupsn/EOS_CS -.br -clone: created new output directory: /home/ebupsn/EOS_CS/bin -.br -clone: created new output directory: /home/ebupsn/EOS_CS/lib -.br -clone: created new output directory: /home/ebupsn/EOS_CS/include -.br -clone: created new output directory: /home/ebupsn/EOS_CS/cmd -.br -clone: created new output directory: /home/ebupsn/EOS_CS/cmd/clone -.br -clone: created symlink /home/ebupsn/EOS_CS/cmd/clone/SCCS -> /pub/EOS_client_server/cmd/clone/SCCS -.br -clone: created symlink /home/ebupsn/EOS_CS/cmd/SCCS -> /pub/EOS_client_server/cmd/SCCS -.br -clone: created new output directory: /home/ebupsn/EOS_CS/man -.br -clone: created new output directory: /home/ebupsn/EOS_CS/man/man1 -.br -clone: created new output directory: /home/ebupsn/EOS_CS/man/man3 -.br -clone: created new output directory: /home/ebupsn/EOS_CS/man/cat1 -.br -clone: created new output directory: /home/ebupsn/EOS_CS/man/cat3 -.br -clone: created symlink /home/ebupsn/EOS_CS/SCCS -> /pub/EOS_client_server/SCCS -.br -.sp 1 -.in -0.4i -.ft R -.SH CAVEATS -On BSD systems, if there are symbolic links in the source tree, -the effects of -.I cloning -may not be what you expect. -A symbolic link within the source tree results in the creation of an -identical symbolic link within the destination tree. -A warning is issued if the symbolic link is either absolute and points -into the source directory or if the symbolic link is relative and -points out of the source tree. -.PP -If the -.B \-S -option is in effect and the source directory is itself a symbolic link -to a directory, the contents of the symbolic link are cloned in the -destination directory rather than setting the destination directory -to be an identical symbolic link. -The rational for this is as follows. -In networked environments, SCCS project directories are often configured -as NFS file systems managed by an NFS auto-mount daemon. -The NFS auto-mount daemon mounts NFS file systems in a temporary locations -and then creates symbolic links to the temporary locations. -Accesses to this symbolic links trigger the NFS auto-mount daemon. -It is therefore necessary that symbolic links in the destination tree -refer to the NFS auto-mount point symbolic link rather than to the NFS -auto-mount point itself. -Symbolic links within the source tree are ignored. -.SH WARNINGS -There are numerous possible warning and/or error messages which -.I clone -will issue for strange circumstances. -These should all be self-explanatory. -.SH FILES -.ta 1.7i -/usr/local/bin/clone The clone program -.SH "SEE ALSO" -ln(1), link(2), symlink(2), readlink(2), mkdir (1), mkdir (2) -.SH AUTHORS -Written by Ron Guilmette at the Microelectronics and Computer Technology -Corporation. Current E-mail address is rfg@ics.uci.edu. -.PP -SCCS mode added 07-April-1993 by Paul Stephenson at Ericsson Business -Communications. Current E-mail address is paul.stephenson@ebu.ericsson.se. diff --git a/bin/clone.cpp b/bin/clone.cpp deleted file mode 100644 index d3ab5977f6b..00000000000 --- a/bin/clone.cpp +++ /dev/null @@ -1,980 +0,0 @@ -// $Id$ - -#include "ace/OS.h" - -ACE_RCSID(bin, clone, "$Id$") - -#if 0 -#if defined (USG) -#define lstat stat -#else -extern "C" char *getwd (char *); -#define getcwd(str,len) (getwd(str)) -#endif -#endif - -#ifndef MAXPATHLEN -#define MAXPATHLEN 1024 -#endif - -#ifndef BLKDEV_IOSIZE -#define BLKDEV_IOSIZE 1024 -#endif - -#ifndef linux -extern char *sys_errlist[]; -#endif -static void clone (char* s_path, char* d_path, int sroot_flag, int level); - -static char *pname; -static int errors = 0; - -static char* src_path = 0; -static char* dst_path = 0; - -static int quiet_flag = 0; -static int verbose_flag = 0; -static int force_flag = 0; -#ifndef USG -static int symlink_flag = 0; -#endif -static int copy_flag = 0; -static int sccs_flag = 0; - -static void -usage (void) -{ -#ifdef USG - fprintf (stderr, "%s: usage: '%s [-q][-v][-f][-c] pathname1 pathname2'\n", pname, pname); -#else - fprintf (stderr, "%s: usage: '%s [-q][-v][-f][-S][-c | -s | -S] pathname1 pathname2'\n", pname, pname); -#endif - exit (1); -} - -/* abspath(): return the absolutized pathname for the given relative - pathname. Note that if that pathname is already absolute, it may - still be returned in a modified form because this routine also - eliminates redundant slashes and single dots and eliminates double - dots to get a shortest possible pathname from the given input - pathname. The absolutization of relative pathnames is made by - assuming that the given pathname is to be taken as relative to the - first argument (cwd) or to the current directory if cwd is null. */ - -static char * -abspath (char *cwd, char *rel_pathname) -{ - static char cwd_buffer[MAXPATHLEN + 1]; - char abs_buffer[MAXPATHLEN + 1]; - register char *endp; - register char *p; - register char *inp = abs_buffer; - register char *outp = abs_buffer; - - /* Setup the current working directory as needed. */ - - if (!cwd) - { - if (!cwd_buffer[0]) - getcwd (cwd_buffer, MAXPATHLEN); - cwd = cwd_buffer; - } - else if (*cwd != '/') - abort (); /* base path must be absolute */ - - /* Copy the pathname (possibly preceeded by the current working - directory name) into the absolutization buffer. */ - - endp = abs_buffer; - if (rel_pathname[0] != '/') - { - p = cwd; - while (*endp++ = *p++) - continue; - *(endp-1) = '/'; /* overwrite null */ - } - p = rel_pathname; - while (*endp++ = *p++) - continue; - if (endp[-1] == '/') - *endp = (char) 0; - - /* Now make a copy of abs_buffer into abs_buffer, shortening the - pathname (by taking out slashes and dots) as we go. */ - - *outp++ = *inp++; /* copy first slash */ - for (;;) - { - if (!inp[0]) - break; - else if (inp[0] == '/' && outp[-1] == '/') - { - inp++; - continue; - } - else if (inp[0] == '.' && outp[-1] == '/') - { - if (!inp[1]) - break; - else if (inp[1] == '/') - { - inp += 2; - continue; - } - else if ((inp[1] == '.') && (inp[2] == 0 || inp[2] == '/')) - { - inp += (inp[2] == '/') ? 3 : 2; - outp -= 2; - while (outp >= abs_buffer && *outp != '/') - outp--; - if (outp < abs_buffer) - { - /* Catch cases like /.. where we try to backup to a - point above the absolute root of the logical file - system. */ - - fprintf (stderr, "%s: fatal: invalid pathname: %s\n", - pname, rel_pathname); - exit (1); - } - *++outp = (char) 0; - continue; - } - } - *outp++ = *inp++; - } - - /* On exit, make sure that there is a trailing null, and make sure that - the last character of the returned string is *not* a slash. */ - - *outp = (char) 0; - if (outp[-1] == '/') - *--outp = (char) 0; - - /* Make a copy (in the heap) of the stuff left in the absolutization - buffer and return a pointer to the copy. */ - - return strcpy ((char *) malloc (outp - abs_buffer + 1), abs_buffer); -} - -static char* -path_concat (const char* s1, const char* s2) -{ - int s1_len; - char* ret_val = (char *) malloc ((s1_len = strlen (s1)) + strlen (s2) + 2); - - strcpy (ret_val, s1); - ret_val[s1_len] = '/'; - strcpy (&ret_val[s1_len+1], s2); - return ret_val; -} - -/* Decide if the given path (which may be relative to . or absolute) designa -tes - a point within the original "src_path" directory, and return non-zero if -it - does, or zero otherwise. */ - -static int -in_original_tree (char* other_path) -{ - char* abs_src_path = abspath (NULL, src_path); - char* abs_src_path_slash = path_concat (abs_src_path, ""); - char* abs_other_path = abspath (NULL, other_path); - int ret_val = !strncmp (abs_src_path_slash, abs_other_path, strlen (abs_src_path_slash)); - - free (abs_src_path); - free (abs_src_path_slash); - free (abs_other_path); - return ret_val; -} - -static void -fix_mode (int new_mode, char* d_path) -{ - if (chmod (d_path, new_mode)) - { - if (!quiet_flag) - fprintf (stderr, "%s: warning: can't chmod on output entity %s: %s\n", - pname, d_path, sys_errlist[errno]); - } -} - -static int -remove_item (char* s_path, char* d_path) -{ - struct stat dst_stat_buf; - DIR* dirp; - char containing_dir[MAXPATHLEN + 1]; - - if (lstat (d_path, &dst_stat_buf) == -1) - { - if (!quiet_flag) - fprintf (stderr, "%s: error: cannot get status of %s: %s\n", - pname, d_path, sys_errlist[errno]); - return -1; - } - - /* Before wasting a lot of time sniffing at the thing we are trying to - delete, first make sure that we have write permission into the - directory that contains this thing. Otherwise, it is all a waste - of time. */ - - if (*d_path == '/') - strcpy(containing_dir, d_path); - else - { - containing_dir[0] = '.'; - containing_dir[1] = '/'; - strcpy(containing_dir+2, d_path); - } - *(strrchr (containing_dir, '/')) = '\0'; - if (containing_dir[0] == '\0') - { - containing_dir[0] = '/'; - containing_dir[1] = '\0'; - } - if (access (containing_dir, W_OK)) - { - if (!quiet_flag) - fprintf (stderr, "%s: error: don't have write access to %s: %s\n", - pname, containing_dir, sys_errlist[errno]); - return -1; - } - - switch (dst_stat_buf.st_mode & S_IFMT) - { - case S_IFDIR: - if (access (d_path, R_OK) != 0) - { - if (!quiet_flag) - fprintf (stderr, "%s: error: don't have read permission for directory %s\n", - pname, d_path); - return -1; - } - if (access (d_path, X_OK) != 0) - { - if (!quiet_flag) - fprintf (stderr, - "%s: error: don't have search permission for directory %s\n", - pname, d_path); - return -1; - } - if (access (d_path, W_OK) != 0) - { - if (!quiet_flag) - fprintf (stderr, - "%s: error: don't have write permission for directory %s\n", - pname, d_path); - return -1; - } - if ((dirp = opendir (d_path)) == NULL) - { - if (!quiet_flag) - fprintf (stderr, - "%s: error: can't open directory %s for reading: %s\n", - pname, d_path, sys_errlist[errno]); - return -1; - } - for (;;) - { - struct dirent* dir_entry_p; - char* new_s_path; - char* new_d_path; - - if ((dir_entry_p = readdir (dirp)) == NULL) - break; - if (!strcmp (dir_entry_p->d_name, ".")) - continue; - if (!strcmp (dir_entry_p->d_name, "..")) - continue; - new_s_path = path_concat (s_path, dir_entry_p->d_name); - new_d_path = path_concat (d_path, dir_entry_p->d_name); - if (remove_item (new_s_path, new_d_path)) - { - closedir (dirp); - return -1; - } - free (new_s_path); - free (new_d_path); - } - closedir (dirp); - if (rmdir (d_path)) - { - if (!quiet_flag) - fprintf (stderr, "%s: error: can't delete existing directory %s: %s\n", - pname, d_path, sys_errlist[errno]); - return -1; - } - if (!quiet_flag) - fprintf (stderr, "%s: removed directory %s\n", - pname, d_path); - break; - - /* Note that symbolic links can be treated just like normal files - when the time comes for deleting them. Unlinking a symbolic link - just deletes the link and *not* the thing it points to. */ - - default: - if (unlink (d_path)) - { - if (!quiet_flag) - fprintf (stderr, "%s: error: can't delete existing file %s: %s\n", - pname, d_path, sys_errlist[errno]); - return -1; - } - if (!quiet_flag) - fprintf (stderr, "%s: removed file %s\n", - pname, d_path); - break; - } - return 0; -} - -#ifndef USG -static void -mk_symbolic_link (const char *s_path, - const char *d_path, - int level) -{ - int result = 0; - - if (s_path[0] == '/' || level < 2) - result = symlink (s_path, d_path); - else - { - int len; - char *new_s_path = (char *) malloc (len = strlen(s_path) + 3 * level); - int i; - char *cp = new_s_path; - - for (i = 0; i < level-1; i++) - { - strcpy (cp, "../"); - cp += 3; - } - strcpy (cp, s_path); - result = symlink (new_s_path, d_path); - } - if (result) - { - if (!quiet_flag) - fprintf (stderr, "%s: error: can't symlink %s to %s: %s\n", - pname, s_path, d_path, sys_errlist[errno]); - } - else - { - if (verbose_flag) - fprintf (stderr, "%s: created symlink %s -> %s\n", - pname, d_path, s_path); - } -} -#endif - -static void -mk_hard_link (char *s_path, char *d_path) -{ - if (link (s_path, d_path)) - { - if (!quiet_flag) - fprintf (stderr, "%s: error: can't link %s to %s: %s\n", - pname, s_path, d_path, sys_errlist[errno]); - } - else - { - if (verbose_flag) - fprintf (stderr, "%s: created hard link %s = %s\n", - pname, d_path, s_path); - } -} - -static void -copy_file (char *s_path, char *d_path) -{ - int input, output; - struct stat src_stat_buf; - - if (lstat (s_path, &src_stat_buf) == -1) - { - if (!quiet_flag) - { - fprintf (stderr, "%s: error: can't get status of %s: %s\n", - pname, s_path, sys_errlist[errno]); - fprintf (stderr, "%s: input entity %s will be ignored\n", - pname, s_path); - } - return; - } - - if ((input = open (s_path, O_RDONLY, 0)) == -1) - { - if (!quiet_flag) - { - fprintf (stderr, "%s: error: can't open input file %s: %s\n", - pname, d_path, sys_errlist[errno]); - fprintf (stderr, "%s: input file %s will be ignored\n", - pname, s_path); - } - return; - } - - if ((output = open (d_path, O_CREAT | O_WRONLY, src_stat_buf.st_mode & 07777)) == -1) - { - if (!quiet_flag) - { - fprintf (stderr, "%s: error: can't create output file %s: %s\n", - pname, d_path, sys_errlist[errno]); - fprintf (stderr, "%s: input file %s will be ignored\n", - pname, s_path); - } - return; - } - - for (;;) - { - int rlen, wlen; - char block_buf[BLKDEV_IOSIZE]; - - if ((rlen = read (input, block_buf, BLKDEV_IOSIZE)) == -1) - { - if (!quiet_flag) - { - fprintf (stderr, "%s: error: bad read from input file %s: %s\n", - pname, s_path, sys_errlist[errno]); - fprintf (stderr, "%s: input file %s was not fully copied\n", - pname, s_path); - } - break; - } - - if (rlen == 0) - break; - - if ((wlen = write (output, block_buf, rlen)) == -1 || wlen != rlen) - { - if (!quiet_flag) - { - fprintf (stderr, "%s: error: bad write to output file %s: %s\n", - pname, s_path, sys_errlist[errno]); - fprintf (stderr, "%s: input file %s not fully copied\n", - pname, s_path); - } - break; - } - } - - close (output); - close (input); - - fix_mode (src_stat_buf.st_mode & 07777, d_path); - - if (verbose_flag) - fprintf (stderr, "%s: created file copy %s = %s\n", - pname, d_path, s_path); -} - -static void -symlink_SCCS (char* s_path, char* d_path) -{ - struct stat dst_stat_buf; - char symlink_buf[MAXPATHLEN + 1]; - int count; - - if (access (d_path, F_OK)) /* Does d_path exit? */ - { - if (errno != ENOENT) - { - if (!quiet_flag) - { - fprintf (stderr, "%s: error: can't check accessability of %s: %s\n", - pname, d_path, sys_errlist[errno]); - fprintf (stderr, "%s: input %s will be ignored\n", - pname, s_path); - } - return; - } - } - else /* d_path exists. What is it? */ - { - if (lstat (d_path, &dst_stat_buf) == -1) - { - if (!quiet_flag) - { - fprintf (stderr, "%s: error: unable to get status of %s: %s\n", - pname, d_path, sys_errlist[errno]); - fprintf (stderr, "%s: input %s will be ignored\n", - pname, s_path); - } - return; - } - - if (S_ISLNK(dst_stat_buf.st_mode)) /* d_path is a symbolic link */ - { - if ((count = readlink (d_path, symlink_buf, MAXPATHLEN)) == -1) - { - fprintf (stderr, "%s: error: can't read symlink %s: %s\n", - pname, d_path, sys_errlist[errno]); - fprintf (stderr, "%s: input file %s will be ignored\n", - pname, s_path); - return; - } - symlink_buf[count] = '\0'; - - if (!strcmp(s_path, symlink_buf)) /* symlink = s_path. Done */ - { - return; - } - else /* symlink != s_path */ - { - if (force_flag) - { - if (remove_item (s_path, d_path) != 0) - return; - } - else - { - if (!quiet_flag) - { - fprintf (stderr, "%s: error: Symbolic link %s already exists \ - but does not point to %s\n", - pname, d_path, s_path); - fprintf (stderr, "%s: input s %s will be ignored\n", - pname, s_path); - } - return; - } - } - } - else /* d_path is NOT a symbolic link */ - { - if (force_flag) - { - if (remove_item (s_path, d_path)) - return; - } - else - { - if (!quiet_flag) - { - fprintf (stderr, "%s: error: output already exists: %s\n", - pname, d_path); - fprintf (stderr, "%s: input %s will be ignored\n", - pname, s_path); - } - return; - } - } - } - - if (symlink (s_path, d_path)) - { - if (!quiet_flag) - fprintf (stderr, "%s: error: can't symlink %s to %s: %s\n", - pname, s_path, d_path, sys_errlist[errno]); - } - else - { - if (verbose_flag) - fprintf (stderr, "%s: created symlink %s -> %s\n", - pname, d_path, s_path); - } -} - -static void -clone_dir (char* s_path, char* d_path, int level) -{ - DIR* dirp; - - if (access (s_path, R_OK) != 0) - { - if (!quiet_flag) - { - fprintf (stderr, - "%s: error: don't have read permission for input directory %s\n" -, - pname, s_path); - fprintf (stderr, "%s: input directory %s will be ignored\n", - pname, s_path); - } - return; - } - - if (access (s_path, X_OK) != 0) - { - if (!quiet_flag) - { - fprintf (stderr, - "%s: error: don't have search permission for input directory %s\n", - pname, s_path); - fprintf (stderr, "%s: input directory %s will be ignored\n", - pname, s_path); - } - return; - } - - if ((dirp = opendir (s_path)) == NULL) - { - if (!quiet_flag) - { - fprintf (stderr, "%s: error: can't open directory %s for reading: %s\n", - pname, s_path, sys_errlist[errno]); - fprintf (stderr, "%s: input directory %s will be ignored\n", - pname, s_path); - } - return; - } - - for (;;) - { - struct dirent* dir_entry_p; - char* new_s_path; - char* new_d_path; - char symlink_buf[MAXPATHLEN + 1]; - int len; - - if ((dir_entry_p = readdir (dirp)) == NULL) - break; - if (!strcmp (dir_entry_p->d_name, ".")) - continue; - if (!strcmp (dir_entry_p->d_name, "..")) - continue; - - new_s_path = path_concat (s_path, dir_entry_p->d_name); - new_d_path = path_concat (d_path, dir_entry_p->d_name); - - if (sccs_flag && !strcmp (dir_entry_p->d_name, "SCCS")) - symlink_SCCS(new_s_path, new_d_path); - else - clone (new_s_path, new_d_path, 0, level+1); - - free (new_s_path); - free (new_d_path); - } - - closedir (dirp); -} - -static void -clone_symbolic_link (char* s_path,char* d_path) -{ - char symlink_buf[MAXPATHLEN + 1]; - int count; - - if ((count = readlink (s_path, symlink_buf, MAXPATHLEN)) == -1) - { - fprintf (stderr, "%s: error: can't read symlink %s: %s\n", - pname, s_path, sys_errlist[errno]); - fprintf (stderr, "%s: input file %s will be ignored\n", - pname, s_path); - return; - } - symlink_buf[count] = '\0'; - - if (symlink_buf[0] == '/') /* symlink is absolute */ - { - if (in_original_tree (symlink_buf)) - { - if (!quiet_flag) - fprintf (stderr, - "%s: warning: absolute symlink points into source tree %s -> %s\n", - pname, s_path, symlink_buf); - } - } - else /* symlink is relative */ - { - char* src_root_relative = path_concat (s_path, symlink_buf); - int in_orig = in_original_tree (src_root_relative); - - free (src_root_relative); - if (!in_orig) - { - if (!quiet_flag) - fprintf (stderr, - "%s: warning: relative symlink points out of source tree %s -> %s\n", - pname, s_path, symlink_buf); - } - } - - mk_symbolic_link(symlink_buf, d_path, 0); /* Make an identical symlink. */ -} - - -/* clone: clone the item designated by s_path as the new item d_path. */ - -#define IS_DIR(STAT_BUF) (((STAT_BUF).st_mode & S_IFMT) == S_IFDIR) - -static void -clone (char* s_path, char* d_path, int sroot_flag, int level) -{ - struct stat src_stat_buf; - struct stat dst_stat_buf; - int dir_already_exists = 0; - const char* intype = "file"; - - if (lstat (s_path, &src_stat_buf) == -1) - { - if (!quiet_flag) - { - fprintf (stderr, "%s: error: can't get status of %s: %s\n", - pname, s_path, sys_errlist[errno]); - fprintf (stderr, "%s: input entity %s will be ignored\n", - pname, s_path); - } - return; - } - if (sccs_flag && sroot_flag && S_ISLNK (src_stat_buf.st_mode)) - { - - /* If root of the source path is a symbolic link and - SCCS cloning is enabled, clone the target of the link */ - - if (stat(s_path, &src_stat_buf) == -1) - { - if (!quiet_flag) - { - fprintf (stderr, "%s: error: can't get status of %s: %s\n", - pname, s_path, sys_errlist[errno]); - fprintf (stderr, "%s: input entity %s will be ignored\n", - pname, s_path); - } - return; - } - } - if (IS_DIR (src_stat_buf)) - intype = "directory"; - if (access (d_path, 0)) - { - if (errno != ENOENT) - { - if (!quiet_flag) - { - fprintf (stderr, "%s: error: can't check accessability of %s: %s\n", - pname, d_path, sys_errlist[errno]); - fprintf (stderr, "%s: input %s %s will be ignored\n", - pname, intype, s_path); - } - return; - } - } - else - { - const char* outtype = "file"; - - if (lstat (d_path, &dst_stat_buf) == -1) - { - if (!quiet_flag) - { - fprintf (stderr, "%s: error: unable to get status of %s: %s\n" -, - pname, d_path, sys_errlist[errno]); - fprintf (stderr, "%s: input %s %s will be ignored\n", - pname, intype, s_path); - } - return; - } - if (IS_DIR (dst_stat_buf)) - outtype = "directory"; - if (IS_DIR (src_stat_buf) && IS_DIR (dst_stat_buf)) - { - dir_already_exists = -1; - - /* Have to make sure that we have full access to the output - directory (at least temporarily). */ - - chmod (d_path, (dst_stat_buf.st_mode & 07777) | 0700); - if (access (d_path, R_OK | W_OK | X_OK) != 0) - { - if (!quiet_flag) - { - fprintf (stderr, - "%s: error: too few permissions for existing directory %s\n", - pname, d_path); - fprintf (stderr, "%s: input directory %s will be ignored\n", - pname, s_path); - } - return; - } - } - else - { - if (force_flag) - { - if (remove_item (s_path, d_path)) - return; - } - else - { - if (!quiet_flag) - { - fprintf (stderr, "%s: error: output %s already exists: %s\n", - pname, outtype, d_path); - fprintf (stderr, "%s: input %s %s will be ignored\n", - pname, intype, s_path); - } - return; - } - } - } - - switch (src_stat_buf.st_mode & S_IFMT) - { - case S_IFDIR: /* Clone a directory */ - - if (!dir_already_exists) - { - /* Don't let others sneak in. - Only we can write the new directory (for now). */ - - if (mkdir (d_path, 0700)) - { - if (!quiet_flag) - { - fprintf (stderr, "%s: error: can't create output directory %s: %s\n", - pname, d_path, sys_errlist[errno]); - fprintf (stderr, "%s: input directory %s will be ignored\n", - pname, s_path); - } - return; - } - if (verbose_flag) - fprintf (stderr, "%s: created new output directory: %s\n", - pname, d_path); - } - - clone_dir(s_path, d_path, level); - - /* By default, output directories which existed before this - program was executed are reset back to their original - permissions (when we are done adding things to them). For - output directories which are actually created by this program - however, these have their permissions set so that they are - essentially the same as the permissions for their corresponding - input directories, except that the owner is given full - permissions. */ - - if (dir_already_exists) - fix_mode (dst_stat_buf.st_mode & 07777, d_path); - else - fix_mode ((src_stat_buf.st_mode & 07777) | 0700, d_path); - break; - -#ifndef USG - case S_IFLNK: /* Clone a symbolic link */ - - if (!sccs_flag) - clone_symbolic_link (s_path, d_path); - break; -#endif - - default: /* Clone a normal file */ - - if (sccs_flag) - break; - -#ifndef USG - if (symlink_flag) - mk_symbolic_link(s_path, d_path, level); - else -#endif - if (copy_flag) - copy_file(s_path, d_path); - else - mk_hard_link(s_path, d_path); - - break; - } /* switch */ -} - -int -main (int argc, char *argv[]) -{ - char **argn; - - pname = (pname = strrchr (argv[0], '/')) ? pname+1 : argv[0]; - for (argn = argv+1; *argn; argn++) - { - if (**argn != '-') - { - if (!src_path) - src_path = *argn; - else if (!dst_path) - dst_path = *argn; - else - usage (); - } - else - { - switch (* ((*argn)+1)) - { - case 0: - fprintf (stderr, "%s: invalid option: -\n", pname); - errors = -1; - break; - - case 'q': - quiet_flag = -1; - break; - - case 'v': - verbose_flag = -1; - break; - - case 'f': - force_flag = -1; - break; - -#ifndef USG - case 'S': - sccs_flag = -1; - - if (copy_flag) - errors++; - break; -#endif - -#ifndef USG - case 's': - symlink_flag = -1; - if (copy_flag) - errors++; - break; -#endif - - case 'c': - copy_flag = -1; -#ifndef USG - if (symlink_flag) - errors++; - - if (sccs_flag) - errors++; -#endif - break; - - default: - fprintf (stderr, "%s: invalid option: -%c\n", - pname, *((*argn)+1)); - errors = -1; - } - } - } - if (errors || src_path == 0 || dst_path == 0) - usage (); -#if 0 // ndef USG - if (symlink_flag && *src_path != '/') - { - fprintf (stderr, "%s: error: source root pathname must be absolute when using -s\n", - pname); - exit (1); - } -#endif - if (access (src_path, 0) == -1) - { - fprintf (stderr, "%s: error: accessing source root entity %s: %s\n", - pname, src_path, sys_errlist[errno]); - exit (1); - } - umask (0); /* disable all masking */ - clone (src_path, dst_path, 1, 0); - return 0; -} diff --git a/bin/clone.csh b/bin/clone.csh deleted file mode 100644 index 1c14e912d64..00000000000 --- a/bin/clone.csh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/csh - -set src_root=`pwd` -set dst_root=`abspath $1` - -set subdirs=`find * -type d -print` - -mkdir $dst_root -set files=`find * \( -type d -prune \) -o -type f -print` - -if ($#files) then - ln $files $dst_root -endif - -if ($#subdirs) then - foreach subdir ($subdirs) - cd $src_root - mkdir $dst_root/$subdir - cd $src_root/$subdir - set files=`find * \( -type d -prune \) -o -type f -print` - if ($#files) then - ln $files $dst_root/$subdir - endif - end -endif -exit 0 diff --git a/bin/corba-boolean.perl b/bin/corba-boolean.perl deleted file mode 100755 index 92e793fc941..00000000000 --- a/bin/corba-boolean.perl +++ /dev/null @@ -1,19 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -pi -S $0 ${1+"$@"}' - & eval 'exec perl -pi -S $0 $argv:q' - if 0; - -# $Id$ -# -# You may want to run the "find" command with this script, which maybe -# something like this: -# -# find . -type f \( -name "*.i" -o -name "*.h" -o -name "*.C" -o -name "*.cc" -o -name "*.c" -o -name "*.cpp" -o -name "*.hpp" -o -name "*.ipp" \) -print | xargs $ACE_ROOT/bin/corba-boolean.perl - -# The first three lines above let this script run without specifying the -# full path to perl, as long as it is in the user's PATH. -# Taken from perlrun man page. - -s/CORBA::B_FALSE/0/g; -s/CORBA::B_TRUE/1/g; -s/CORBA_B_FALSE/0/g; -s/CORBA_B_TRUE/1/g; diff --git a/bin/count_lines b/bin/count_lines deleted file mode 100755 index e2ba66d945f..00000000000 --- a/bin/count_lines +++ /dev/null @@ -1,234 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' - & eval 'exec perl -S $0 $argv:q' - if 0; - -# -*- perl -*- -# $Id$ -# - -use File::Basename; - -$cmd= basename($0); - -if ($#ARGV < 0) { - die "Usage: $cmd module...\n"; -} - -@match_order = (); -%typeRE = (); - -&initfiletypes; - -foreach $module (@ARGV) { - if ( ! -d $module ) { - warn "$cmd: no such directory $module\n"; - next; - } - - open(DIRS, "find $module -type d|"); - @dirs = grep {if(!/CVS/) {chop;}} <DIRS>; - close(DIRS); - - open(FIND, "find $module -type f|"); - @files = grep {if (!/build/ - && !/CVS/ - && !/rpc\+\+/ - && !/\.bpr$/ - && !/\.mdp$/ - && !/\.MDP$/ - && !/\.dsp$/ - && !/\.DSP$/ - && !/\.dsw$/ - && !/\.DSW$/ - && !/\.mak$/ - && !/\.MAK$/ - && !/\.o$/ - && !/\.sl$/ - && !/\.a$/) {chop;}} <FIND>; - close(FIND); - - $totdirs = $#dirs; - $totfiles = $#files; - $totlines = 0; - %lines = (); - - foreach $file (@files) { - $n = 0; - if (!open(IN, $file)) { - warn "$cmd: cannot open '$file' for reading\n"; - next; - } - while(<IN>) { - $n++; - } - close(IN); - $lines{$file} = $n; - $totlines += $n; - } - - - # Define two associative arrays to keep the results for each kind - # of file. - %linespertype = (); - %filespertype = (); - foreach $type (keys %typeRE) { - $linespertype{$type} = 0; - $filespertype{$type} = 0; - } - # The file is classified and added to the corresponding variable. - FILE: while (($file, $l) = each %lines) { - foreach $type (@match_order) { - $re = $typeRE{$type}; - if($file =~ m/$re/) { - $linespertype{$type} += $l; - $filespertype{$type}++; - next FILE; - } - } - print STDERR "Unmatched file: $file\n"; - } - - format STDOUT_TOP= - @||| - $% - - Lines of code in module @<<<<<<<<<<<<<<<<<<<< - $module - -Files: @>>>>>>>> - $totfiles -Directories: @>>>>>>>> - $totdirs -Lines: @>>>>>>>> - $totlines - -File type lines files ----------------------------- ------------------ ----------------- -. - format STDOUT= -@<<<<<<<<<<<<<<<<<<<<<<<<<<< @>>>>>>>>>>>>>>>>> @>>>>>>>>>>>>>>>> -$type, $typelines, $typefiles -. - - - foreach $type (@match_order) { - $typelines = $linespertype{$type}; - $typefiles = $filespertype{$type}; - if ($typefiles != 0) { - write; - } - } - # Forzamos un newpage para cada modulo. - $- = 0; -} - -sub updateRE { - local $desc = shift; - local $re = shift; - - if (exists $typeRE{$desc}) { - local $mix = $typeRE{$desc} . '|(' . $re . ')'; - $typeRE{$desc} = $mix; - } else { - $typeRE{$desc} = '(' . $re . ')'; - push @match_order, $desc; - } -} - -sub initfiletypes { - # Here we define the regular expressions for each kind of file. - # This RE must be mutually exclusive, a file will not be counted - # twice, but it could be unproperly classified. - - local %filenames = - ('Makefile' => 'Makefile', - 'Makefile.*' => 'Makefile', - 'README' => 'README files', - 'COPYING' => 'Licenses', - 'LICENSE.*' => 'Licenses', - 'ChangeLog.*' => 'ChangeLog', - 'ChangeLog-.*' => 'ChangeLog', - '.cvsignore' => 'Control CVS', - 'run_test.pl' => 'Test driver', - 'run_test' => 'Test driver', - 'run_tests' => 'Test driver', - 'run_test.sh' => 'Test driver'); - local %fileexts = - ('cc' => 'C++ sources', - 'cpp' => 'C++ sources', - 'inl' => 'C++ sources', - 'i' => 'C++ sources', - 'h' => 'Headers', - 'hh' => 'Headers', - 'c' => 'C/C++ sources', - 'idl' => 'IDL sources', - 'IDL' => 'IDL sources', - 'pidl' => 'IDL sources', - 'y' => 'yacc source', - 'yy' => 'yacc source', - 'l' => 'lex source', - 'll' => 'lex source', - 'pm' => 'perl script', - 'pl' => 'perl script', - 'perl' => 'perl script', - 'GNU' => 'GNU make config', - 'tex' => '(La)TeX', - 'txt' => 'Text files', - '1' => 'man pages', - '3' => 'man pages', - 'html' => 'HTML', - 'bib' => 'BibTeX', - 'sty' => 'TeX styles', - 'bld' => 'VxWorks build file', - 'am' => 'Automake file', - 'icc' => 'VisualAge project files', - 'icp' => 'VisualAge project files', - 'vac' => 'VisualAge project files', - 'vcp' => 'Microsof eMbedded Visual Tools project files', - 'vcw' => 'Microsof eMbedded Visual Tools project files', - 'bpr' => 'Borland project files', - 'bor' => 'Borland project files', - 'dsp' => 'DevStudio project files', - 'DSP' => 'DevStudio project files', - 'mdp' => 'MSVC project files', - 'MDP' => 'MSVC project files', - 'dsw' => 'MSVC workspaces', - 'DSW' => 'MSVC workspaces', - 'mak' => 'MSVC MAK files', - 'MAK' => 'MSVC MAK files', - 'java' => 'JAVA source', - 'class' => 'JAVA class', - 'cccc' => 'codecount output', - 'gif' => 'GIF images', - 'conf' => 'Svc_Config files', - 'diff' => 'patches', - 'zip' => 'Compressed files', - 'gz' => 'Compressed files', - 'EXE' => 'Win32 executable', - 'shar' => 'Shar archive', - 'mib' => 'MIB definition files', - 'gperf' => 'GPERF input', - 'phil.*'=> 'Test driver' - ); - local %paths = (); - - local ($desc, $reseed); - while (($reseed, $desc) = each %filenames) { - local $re = '/' . $reseed . '$'; - updateRE($desc, $re); - } - while (($reseed, $desc) = each %fileexts) { - local $re = '/[^/]*\.' . $reseed . '$'; - updateRE($desc, $re); - } - while (($reseed, $desc) = each %paths) { - local $re = $reseed; - updateRE($desc, $re); - } - - updateRE('Others', '.*'); - -# while (($desc, $reseed) = each %typeRE) { -# print STDERR $desc, " ==> ", $reseed, "\n"; -# } -} diff --git a/bin/create_ace_build b/bin/create_ace_build deleted file mode 100755 index 9c917d564b8..00000000000 --- a/bin/create_ace_build +++ /dev/null @@ -1,182 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' - & eval 'exec perl -S $0 $argv:q' - if 0; - -# $Id$ -# -# Creates an ACE build tree in directory "build/<build name>" below the current -# directory, which must be an ACE "top level" directory (such as -# $ACE_ROOT). The build tree directory structure mirrors that of the ACE -# top level directory structure, except that instead of containing any plain -# files, it contains only symlinks to the files in the ACE top level structure. -# -# This program has a similar purpose to "clone", but in addition to -# only creating symlinks (clone creates hard links, by default), this -# script: -# 1) uses relative rather than absolute symlinks, -# 2) tries not to put junk files into the build tree, -# 3) only creates a new tree in a build/ directory below the current, -# top level ACE directory (it's a feature :-), but it does enforce -# consistency). -# -# This program can be re-run on a build tree at any time in order to -# update it. It will add symlinks for newly added files, and remove -# any that are no longer valid. -# -# If the <build name> starts with "build/", that part will be removed -# from it. -# -# The first three lines above let this script run without specifying the -# full path to perl, as long as it is in the user's PATH. -# Taken from perlrun man page. - -$usage = "usage: $0 -? | [-a] [-d <directory mode>] [-v] <build name>\n"; -$directory_mode = 0777; #### Will be modified by umask, also. -$verbose = 0; - -$source='.'; -$absolute= 0; - -$perl_version = $] + 0; -if ($perl_version >= 5) { - #### Use an eval so that this script will compile with perl4. - eval <<'PERL5_CWD' - require Cwd; - sub cwd { - Cwd::getcwd (); - } -PERL5_CWD -} else { - sub cwd { - local ($pwd); - - chop ($pwd = `pwd`); - $pwd; - } -} - -#### -#### Process command line args. -#### -while ($#ARGV >= 0 && $ARGV[0] =~ /^-/) { - if ($ARGV[0] eq '-v') { - $verbose = 1; - } elsif ($ARGV[0] eq '-d') { - if ($ARGV[1] =~ /^\d+$/) { - $directory_mode = eval ($ARGV[1]); shift; - } else { - warn "$0: must provide argument for -d option\n"; - die $usage; - } - } elsif ($ARGV[0] eq '-a') { - $source = &cwd (); - $absolute = 1; - } elsif ($ARGV[0] eq '-?') { - print "$usage"; - exit; - } else { - warn "$0: unknown option $ARGV[0]\n"; - die $usage; - } - shift; -} - -die $usage unless $#ARGV == 0; -$build = $ARGV[0]; -$build =~ s%^build/%%; #### remove leading "build/", if any -$build = "build/$build"; - -if (-e '/usr/bin/find') { - $find = '/usr/bin/find'; -} elsif (-e '/bin/find') { - $find = '/bin/find'; -} else { - $find = '/find'; -} - -#### -#### Check that we're in an ACE "top level" directory. -#### -(-d 'ace' && -d 'include') || - die "$0: must be in an ACE top level (ACE_ROOT) directory!\n"; - -#### -#### Create build directories, if needed. -#### --d 'build' || mkdir ('build', $directory_mode); --d "$build" || mkdir ("$build", $directory_mode); - -#### -#### Get all ACE plain file and directory names. -#### -@files = (`$find . -name CVS -prune \\\ - -o -name build -prune -o \\\ - -name '.*obj' -prune -o -name Templates.DB -prune -o \\\ - \\( ! -type l ! -name core ! -name '*.state' ! -name '*.so' \\\ - ! -name '*.[oa]' ! -name '*~' ! -name '.' ! -name '.#*' \\\ - ! -name '*.log' \\) \\\ - -print`); - -#### -#### Create directories and symlinks to files. -#### -foreach $file (@files) { - chop $file; #### remove trailing newline (from find command above) - $file =~ s%^./%%g; #### excise leading ./ directory component - - if (-d $file) { - unless (-d "$build/$file") { - print "mkdir $build/$file, $directory_mode\n" if $verbose; - mkdir ("$build/$file", $directory_mode); - } - } else { - unless (-e "$build/$file") { - if (!$absolute) { - $up = '../..'; - while ($file =~ m%/%g) { - $up .= '/..'; - } - - print "symlink $up/$file $build/$file\n" if $verbose; - symlink ("$up/$file", "$build/$file") || - warn "$0: symlink to $build/$file failed\n"; - } else { - $path = $source . '/' . $file; - print "symlink $path $build/$file\n" if $verbose; - symlink ("$path", "$build/$file") || - warn "$0: symlink to $build/$file failed\n"; - } - } - } -} - -#### -#### Find all the symlinks in the build directory, and remove ones -#### that are no longer actually linked to a file. -#### -open (LINKS, "$find $build -type l |") || - die "$0: cannot find symlinks in $build\n"; - -while (<LINKS>) { - chop; - local @s = stat $_; - if ($#s == -1) { - print "Removing $_ \n" if $verbose; - unlink $_ || warn "$0: unlink of $_ failed\n"; - } -} -close (LINKS) || - die "$0: cannot close symlinks pipe\n"; - -#### -#### Done: print message. -#### -print "\nCompleted creation of $build/.\n"; - -unless (-e "$build/ace/config.h" && - -e "$build/include/makeinclude/platform_macros.GNU") { - print "Be sure to setup $build/ace/config.h and\n" . - "$build/include/makeinclude/platform_macros.GNU symlinks.\n"; -} - -#### EOF diff --git a/bin/cvslog b/bin/cvslog deleted file mode 100755 index 1330db622f8..00000000000 --- a/bin/cvslog +++ /dev/null @@ -1,169 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' - & eval 'exec perl -S $0 $argv:q' - if 0; - -# $Id$ -# -# Wraps cvs log, and substitutes messages of form "ChangeLogTag" -# with their corresponding ChangeLog entries. -# -# Authors: Luther J. Baker and David L. Levine - -#### -#### global -#### -use strict; -my $dir_sep = $^O eq 'MSWin32' ? '\\' : '/'; -my $cvs_log_options = ''; -my @changelogs = (); -my %changelog_hash = (); - - -#### -#### main (I do this for reading clarity) -#### -{ - #### - #### Save any command line options (beginning with -), to pass to cvs log. - #### - while ($#ARGV >= $[ && $ARGV[0] =~ /^-/) { - $cvs_log_options .= $cvs_log_options ? " " . shift : shift; - } - - #### - #### Build up the array of ChangeLog files to search, - #### - &find_changelogs($ARGV[0]); - - #### - #### Build the hash table of key=tags value=entry - #### - &build_changelog_hash(); - - - #### - #### Print the cvs log for each filename argument. - #### Inserting expanded entries after ChangeLog tags - #### - foreach my $arg (@ARGV) { - &print_log ($arg); - } -} - - -#### -#### Function surrounding cvs log -#### -sub print_log () { - my $file = shift; - - open (CVSLOG, "cvs log $cvs_log_options $file |") || - die "$0: unable to open cvs log\n"; - - while (<CVSLOG>) { - - if (/ChangeLog(Tag)?: *(.*)/i || - /ChangeLog( *Entry)?: *(.*)/i) { - - chomp; - print "$_:\n"; - - # An array reference HAS to be defined, the following will NOT work - # print "$changelog_hash{$2})" || "ChangeLogTag NOT FOUND!!!!\n"; - - if (defined $changelog_hash{$2}) { - print "@{$changelog_hash{$2}}"; - } else { - print "\n\tChangeLogTag \"$2\" NOT FOUND!!!!\n\n"; - } - - } else { - print; - } - } - - close CVSLOG; -} - - -#### -#### Build the hash -#### -sub build_changelog_hash () { - my $key = 0; - my @entry = (); - - foreach my $changelog_file (@changelogs) { - - open (CHANGELOG, $changelog_file) || - die "$0: unable to open '$changelog_file'\n"; - - while (<CHANGELOG>) { - if (/^\w/) { - if ($key) { - if (defined $changelog_hash{$key}) { - #### Deal with multiple identical ChangeLogTags. - push @{$changelog_hash{$key}}, @entry; - } else { - $changelog_hash{$key} = [ @entry ]; - } - } - @entry = (); - chomp; - $key = $_; - } - else { - push @entry, $_; - } - } - - close CHANGELOG; - } -} - - -#### -#### Find the ChangeLog(s) associated with the file. -#### -sub find_changelogs () { - my $file = shift; - - if ($#changelogs >= 0) { - @changelogs; - } else { - my $pwd = &basename ($file) || '.'; - - #### The [C] ensures that the glob will actually look for the file. - while (! (@changelogs = - glob ("$pwd/[C]hangeLog " . - "$pwd/[C]hangeLog-97 " . #### ACE_wrappers/TAO - "$pwd/[C]hangeLog-97b " . #### ACE_wrappers - "$pwd/ChangeLog-9[89]* " . - "$pwd/ChangeLog-0*"))) { - if ($pwd !~ m%^${dir_sep}%) { - #### We're starting with a relative path. Get the - #### absolute path. - chomp ($pwd = `pwd`); - $pwd .= "/$file"; - } - - $pwd = &basename ($pwd); - - if ($pwd eq '') { - warn "$0: ChangeLog NOT FOUND for '$file'!!!!\n"; - return (); - } - } - } -} - - -#### -#### Return directory component of a filename, without trailing $dir_sep. -#### Return '' if there is no directory component. -#### -sub basename () { - my $filename = shift; - - $filename =~ s%[${dir_sep}][^${dir_sep}]+$%% ? $filename : ''; -} diff --git a/bin/doxygen-convert-h.pl b/bin/doxygen-convert-h.pl deleted file mode 100755 index 3fcfc64abe0..00000000000 --- a/bin/doxygen-convert-h.pl +++ /dev/null @@ -1,527 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' - & eval 'exec perl -S $0 $argv:q' - if 0; - -# $Id$ -# doxygen-convert-h.pl is a script that would be used to convert old -# documented style ACE/TAO header files to doxygen style. - -# TODO List: -# (Search for @todo in this script) - -use File::Copy; -use Getopt::Std; - -############################################################################## -# Parse the options - -if (!getopts ('dDhsu') || $opt_h) { - print "doxygen-convert-h.pl [-dDhsu] filename\n"; - print "\n"; - print " -d debug script\n"; - print " -D really verbose debug\n"; - print " -h display this help\n"; - print " -s print result to stdout\n"; - print " -u turn off file verification\n"; - exit (1); -} - -## if verbose debug, also regular debug -$opt_d = 1 if (defined $opt_D); - -############################################################################## -# Find the files - -@files = (); - -foreach $arg (@ARGV) { - my @results = glob $arg; - if ($#results < 0) { - print STDERR "File not Found: $arg\n" - } - push @files, @results; -} - -############################################################################## -# Subroutines used to change the file. - -$fail = 0; - -sub verify (@) -{ - my (@contents) = @_; - - print "Verification\n" if (defined $opt_d); - - my $found_id = 0; - my $found_filename = 0; - - foreach $line (@contents) { - $found_id = 1 if ($line =~ /\$Id\:/); - $found_filename = 1 if ($line =~ /\= FILENAME/); - } - - return 0 if ($found_id == 1 && $found_filename == 1); - - # failed - return 1; -} - -sub format_description (@) -{ - my (@description) = @_; - my @after = (); - - my $line; - - if ($#description < 1) { - foreach $line (@description) { - $line =~ s/\/\// \* \@brief /; - push @after, $line; - } - } - else { - foreach $line (@description) { - $line =~ s/\/\// \*/; - $line =~ s/\* /\* /; - push @after, $line; - } - } - - return @after; -} - -sub fix_file_header (@) -{ - my (@before) = @_; - my @after = (); - my @description = (); - my $id = "\$Id\$\n"; - my $authors = ""; - - my $state = 'before'; - ## state = before, filename, description, author, after, done - - print "Fixing File Header\n" if (defined $opt_d); - - LOOP: foreach $line (@before) { - printf ("%10s %s", $state, $line) if (defined $opt_D); - - if ($state eq 'done') { - push @after, $line; - next LOOP; - } - - if ($state eq 'before') { - if ($line =~ /\-\*\- C\+\+ \-\*\-/) { - push @after, $line; - } - elsif ($line =~ /\$Id\:(.*)\n/) { - $id = "\$Id\:$1"; - } - elsif ($line =~ /===================/) { - push @after, "//========================================". - "=====================================\n"; - push @after, "/**\n"; - } - elsif ($line =~ /\= FILENAME/) { - $state = 'filename'; - next LOOP; - } - elsif ($line !~ /^\s*\/\//) { - push @after, $line; - } - } - - if ($state eq 'filename') { - if ($line =~ /\/\/ (.+)/) { - push @after, " * \@file $1\n"; - push @after, " *\n"; - push @after, " * $id\n"; - push @after, " *\n"; - } - elsif ($line =~ /\= DESCRIPTION/) { - $state = 'description'; - next LOOP; - } - elsif ($line =~ /\= AUTHOR/) { - $state = 'author'; - next LOOP; - } - elsif ($line =~ /===================/) { - $state = 'after'; - ### Fall through so the after can put the ending in - } - } - - if ($state eq 'description') { - if ($line =~ /\= AUTHOR/) { - push @after, format_description (@description); - @description = (); - push @after, " *\n"; - $state = 'author'; - next LOOP; - } - elsif ($line =~ /===================/) { - push @after, format_description (@description); - @description = (); - push @after, " *\n"; - $state = 'after'; - ### Fall through - } - push @description, $line; - } - if ($state eq 'author') { - if ($line =~ /\/\/ (.+)\n/) { - $authors .= $1; - } - elsif ($line =~ /===================/ - || $line =~ /\= DESCRIPTION/) { - ## print the authors - - if ($authors ne "") { - @authors = split /\,/, $authors; - - foreach $author (@authors) { - if ($author =~ /^ (.*)/) { - $author = $1; - } - push @after, " * \@author $author\n"; - } - } - - if ($line =~ /\= DESCRIPTION/) { - push @after, " *\n"; - $state = 'description'; - next LOOP; - } - else { - $state = 'after'; - ## Fall through - } - } - } - - if ($state eq 'after') { - if ($line =~ /===================/) { - ## print the rest - push @after, " */\n"; - push @after, "//========================================". - "=====================================\n"; - push @after, "\n"; - $state = 'done'; - } - - next LOOP; - } - } - - return @after; -} - - -sub fix_class_headers (@) -{ - my (@before) = @_; - my @after = (); - my @store = (); - my $classname = ""; - - my $state = 'outside'; - ## state = - ## outside = not in class - ## template = stored template line - ## class = started collecting lines, in case of a class - ## header = after a class foo, but before any methods - - print "Fixing class headers\n" if (defined $opt_d); - - LOOP: foreach $line (@before) { - printf ("%10s %s", $state, $line) if (defined $opt_D); - - if ($state eq 'outside') { - if ($line =~ /^\s*template/) { - push @store, $line; - $state = 'template'; - next LOOP; - } - elsif ($line =~ /^\s*class/) { - $state = 'class'; - ## Fall through - } - else { - push @after, $line; - } - - } - - if ($state eq 'template') { - if ($line =~ /^\s*class/) { - $state = 'class'; - ## Fall through - } - else { - push @after, @store; - @store = (); - push @after, $line; - $state = 'outside'; - next LOOP; - } - } - - if ($state eq 'class') { - if ($line =~ /^\s*class(.*)\n/) { - push @store, $line; - my @s = split / /, $1; - if ($s[1] =~ /export$/i) { - $classname = $s[2]; - } - else { - $classname = $s[1]; - } - } - elsif ($line =~ /^\s*\{/) { - push @store, $line; - } - elsif ($line =~ /^\s*\/\//) { - $state = 'header'; - ### Fall through - } - else { - push @after, @store; - @store = (); - push @after, $line; - $state = 'outside'; - next LOOP; - } - } - - if ($state eq 'header') { - if ($line =~ /^\s*\/\//) { - push @headers, $line; - } - else { - my $prefix = ''; - - $line =~ /^(\s*)[\w\/]/; ### used to get indent - my $indent = $1; - push @after, "$indent/**\n"; - push @after, "$indent * \@class $classname\n"; - - foreach $header (@headers) { - if ($header =~ /\= TITLE/) { - push @after, "$indent *\n"; - $prefix = "$indent * \@brief"; - } - elsif ($header =~ /\= DESCRIPTION/) { - push @after, "$indent *\n"; - $prefix = "$indent *"; - } - elsif ($header !~ /\/\/\s*\n/) { - my $myline = $header; - $myline =~ s/\s*\/\/\s*/$prefix /; - push @after, $myline; - $prefix = "$indent *"; - - } - } - push @after, "$indent */\n"; - @headers = (); - - push @after, @store; - push @after, $line; - @store = (); - $state = 'outside'; - next LOOP; - } - } - } - - return @after; -} - - -sub format_comment (@) -{ - my (@comments) = @_; - my @after = (); - - my $line; - - if ($#comments < 2) { - foreach $line (@comments) { - $line =~ s/\/\//\/\/\//; - push @after, $line; - } - } - else { - my $line = $comments[0]; - $line =~ /^(\s*)\//; - my $indent = $1; - - push @after, "$indent/**\n"; - foreach $line (@comments) { - $line =~ s/\/\// */; - push @after, $line; - } - push @after, "$indent */\n"; - } - - return @after; -} - -sub fix_class_members (@) -{ - my (@before) = @_; - my @after = (); - my @method = (); - my @comment = (); - - my $classfound = 0; - my $classlevel = 0; - my $level = 0; - - print "Fixing class methods\n" if (defined $opt_d); - - LOOP: foreach $line (@before) { - if ($line =~ /\{/ && $line !~ /^\s*\/\//) { - $level++; - } - - if ($line =~ /^\s*class/ - && $line !~ /\;/ - && $level == $classlevel) - { - $classlevel++; - } - - if ($line =~ /\}/ && $line !~ /^\s*\/\//) { - if ($classlevel == $level) { - $classlevel--; - } - $level--; - } - - printf ("%2d%2d", $level, $classlevel) if (defined $opt_D); - - if ($level == $classlevel && $level > 0) { - if ($line =~ /^\s*public/ - || $line =~ /^\s*private/ - || $line =~ /\s*protected/ - || $line =~ /^\s*\n$/ - || $line =~ /^\s*\{/ - || $line =~ /^\s*\}/ - || $line =~ /^\s*\#/) - { - push @after, format_comment (@comment); - push @after, @method; - @comment = (); - @method = (); - - print " $line" if (defined $opt_D); - push @after, $line; - } - elsif ($line =~ /^\s*\/\//) { - print "C $line" if (defined $opt_D); - - if ($#method >= 0) { - push @comment, $line; - } - else { - push @after, $line; - } - } - else { - print "M $line" if (defined $opt_D); - push @method, $line; - } - - } - else { - push @after, format_comment (@comment); - push @after, @method; - @comment = (); - @method = (); - - print " $line" if (defined $opt_D); - push @after, $line; - } - } - - if ($level > 0 || $classlevel > 0) { - $fail = 1; - $failmessage = "Brace level recognition failed" - } - - return @after; -} - -############################################################################## -# Read in the files. - -FILELOOP: foreach $file (@files) { - print "\n" if (defined $opt_d); - print "$file\n"; - print "\n" if (defined $opt_d); - - $fail = 0; - - my @contents = (); - - ### Read file into @contents - print "Reading\n" if (defined $opt_d); - - unless (open (FILE, "<$file")) { - print STDERR "$file: $!\n"; - next FILELOOP; - } - - @contents = <FILE>; - - close (FILE); - - ### Verify file - print "Verifying file\n" if (defined $opt_d); - - if (!defined $opt_u) { - if (verify (@contents) == 1) { - print "$file did not pass verification\n"; - next FILELOOP; - } - elsif (defined $opt_d) { - print "Passed verification\n"; - } - } - - ### Fix up parts of it - print "Fixing file\n" if (defined $opt_d); - - @contents = fix_file_header (@contents); - @contents = fix_class_headers (@contents); - @contents = fix_class_members (@contents); - - if ($fail != 0) { - print "$file: $failmessage\n"; - } - else { - if (defined $opt_s) { - print @contents; - } - elsif (!defined $opt_D) { - ### Save @contents back to the file - print "Saving\n" if (defined $opt_d); - - unless (open (FILE, ">$file")) { - print STDERR "$file: $!\n"; - next FILELOOP; - } - - foreach $line (@contents) { - print FILE $line; - } - - close (FILE); - } - } -} - diff --git a/bin/dsp2dsp.pl b/bin/dsp2dsp.pl deleted file mode 100755 index 962127a8f11..00000000000 --- a/bin/dsp2dsp.pl +++ /dev/null @@ -1,29 +0,0 @@ -# $Id$ -# -# File: dsp2dsp.pl -# Description: This perl script is used to "create" new dsp files -# by modifying an existing dsp file. -# Requirement: perl for Win32. -# Usage: perl dsp2dsp.pl Basic_Types_Test Atomic_Op_Test -# This will create Atomic_Op_Test.dsp by using -# Basic_Types_Test.dsp as a template. -# -# Author: Nanbor Wang <nanbor@cs.wustl.edu> - -die "$0 requires two arguments.\n" if $#ARGV < 1; -$TOFILE="$ARGV[1].dsp" ; -die "$TOFILE already exists. Remove it first.\n" if -e $TOFILE; - -$FROM = $ARGV[0]; -$TO = $ARGV[1]; - -open (FROM, "<$FROM.dsp"); -open (TO, ">$TO.dsp"); - -while (<FROM>) -{ - s/$FROM/$TO/g; - print TO ; -} - -close (TO); diff --git a/bin/envinfo.cpp b/bin/envinfo.cpp deleted file mode 100644 index ff05e328f48..00000000000 --- a/bin/envinfo.cpp +++ /dev/null @@ -1,29 +0,0 @@ -// $Id$ - -#include "ace/ACE.h" - -ACE_RCSID(bin, envinfo, "$Id$") - -int -main (int, ACE_TCHAR *[]) -{ - cerr << "ACE: " - << ACE::major_version() << "." - << ACE::minor_version() << "." - << ACE::beta_version() << "\n"; - - ACE_utsname uname; - ACE_OS::uname(&uname); - cerr << "OS: " - << uname.sysname << " " - << uname.release << "\n"; - - cerr << "Compiler: " - << ACE::compiler_name() << " " - << ACE::compiler_major_version() << "." - << ACE::compiler_minor_version() << "." - << ACE::compiler_beta_version() << "\n"; - - return 0; -} - diff --git a/bin/footprint_stats.sh b/bin/footprint_stats.sh deleted file mode 100755 index edb28f70c4b..00000000000 --- a/bin/footprint_stats.sh +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/sh -# -# $Id$ -# - - -if [ $# -lt 2 ]; then - echo "Usage: $0 [ACE_ROOT] [DEST]" - exit 0 -fi - -ACE_ROOT=$1 -DEST=$2 -DATE=`date +%Y/%m/%d-%H:%M` - -BINS="TAO/tests/ORB_init/ORB_init TAO/tests/ORB_destroy/ORB_destroy" - -LIBS="ace/libACE.a \ - TAO/tao/libTAO.a \ - TAO/tao/PortableServer/libTAO_PortableServer.a \ - TAO/tao/Strategies/libTAO_Strategies.a \ - TAO/tao/DynamicAny/libTAO_DynamicAny.a \ - TAO/tao/DynamicInterface/libTAO_DynamicInterface.a \ - TAO/tao/IFR_Client/libTAO_IFR_Client.a \ - TAO/tao/BiDir_GIOP/libTAO_BiDirGIOP.a \ - TAO/tao/Domain/libTAO_Domain.a \ - TAO/tao/IORManipulation/libTAO_IORManip.a \ - TAO/tao/IORTable/libTAO_IORTable.a \ - TAO/tao/TypeCodeFactory/libTAO_TypeCodeFactory.a \ - TAO/tao/SmartProxies/libTAO_SmartProxies.a \ - TAO/tao/RTCORBA/libTAO_RTCORBA.a \ - TAO/tao/RTPortableServer/libTAO_RTPortableServer.a" - -cd $ACE_ROOT - -for i in $BINS; do - b=`basename $i` - if [ -x $i ]; then - ( - echo -n $DATE " "; - size $i | - grep -v text | - awk '{print $4}' - ) >> $DEST/source/${b}_size.txt - fi -done - -for i in $LIBS; do - b=`basename $i`; - if [ -f $i ]; then - ( - echo -n $DATE " "; - size $i | - awk '{s += $4} END {print s}' - ) >> $DEST/source/${b}_size.txt - fi -done - -cd $DEST/source - -for i in $LIBS $BINS; do - b=`basename $i` - /usr/bin/tac ${b}_size.txt > $DEST/data/${b}_size.txt - /usr/bin/tail -5 ${b}_size.txt > $DEST/data/LAST_${b}_size.txt - $ACE_ROOT/bin/generate_footprint_chart.sh ${b}_size.txt $DEST/images/${b}_size.png $b -done diff --git a/bin/fuzz.pl b/bin/fuzz.pl deleted file mode 100755 index 9033e63f048..00000000000 --- a/bin/fuzz.pl +++ /dev/null @@ -1,904 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' - & eval 'exec perl -S $0 $argv:q' - if 0; - -# $Id$ -# Fuzz is a script whose purpose is to check through ACE/TAO files for -# easy to spot (by a perl script, at least) problems. - -use File::Find; -use File::Basename; -use Getopt::Std; - -###### TODO -# -# Add tests for these: -# -# - Using TAO_TRY macros instead of ACE_TRY -# - no relative path to tao_idl in the .dsp files -# - Linking to wrong type of library in dsp's -# - not setting up the release configs correctly in dsp files -# - Guards in .h files -# - no global functions -# - other commit_check checks, tabs, trailing spaces. -# - _narrow() should always have ACE_ENV_ARG_PARAMETER -# - Using ACE_TRY_NEW_ENV (Nanbor suggests using ACE_DECLARE_NEW_CORBA_ENV) -# -# And others in ACE_Guidelines and Design Rules -# -# Also add a -g flag to ignore tao_idl generated files -# -###### END TODO - -# Lists of all the files -@files_cpp = (); -@files_inl = (); -@files_h = (); -@files_html = (); -@files_dsp = (); -@files_idl = (); -@files_pl = (); -@files_changelog = (); - -# To keep track of errors and warnings -$errors = 0; -$warnings = 0; - -############################################################################## - -# Find_Modified_Files will use 'cvs -nq' to get a list of locally modified -# files to look through -sub find_mod_files () -{ - unless (open (CVS, "cvs -nq up |")) { - print STDERR "Error: Could not run cvs\n"; - exit (1); - } - - while (<CVS>) { - if (/^[M|A] (.*)/) { - store_file ($1); - } - } - close (CVS); -} - - - -# Find_Files will search for files with certain extensions in the -# directory tree -sub find_files () -{ - # wanted is only used for the File::Find - sub wanted - { - store_file ($File::Find::name); - } - - find (\&wanted, '.'); -} - -# -sub store_file ($) -{ - my $name = shift; - if ($name =~ /\.(c|cc|cpp|cxx)$/i) { - push @files_cpp, ($name); - } - elsif ($name =~ /\.(inl|i)$/i) { - push @files_inl, ($name); - } - elsif ($name =~ /\.(h|hh|hpp|hxx)$/i) { - push @files_h, ($name); - } - elsif ($name =~ /\.(htm|html)$/i) { - push @files_html, ($name); - } - elsif ($name =~ /\.(dsp|vcp)$/i) { - push @files_dsp, ($name); - } - elsif ($name =~ /\.(pidl|idl)$/i) { - push @files_idl, ($name); - } - elsif ($name =~ /\.pl$/i) { - push @files_pl, ($name); - } - elsif ($name =~ /ChangeLog/i && -f $name) { - push @files_changelog, ($name); - } -} - -############################################################################## -## Just messages - -sub print_error ($) -{ - my $msg = shift; - print "Error: $msg\n"; - ++$errors; -} - - -sub print_warning ($) -{ - my $msg = shift; - print "Warning: $msg\n"; - ++$warnings; -} - - -############################################################################## -## Tests - -# The point of this test is to check for the existence of ACE_INLINE -# or ASYS_INLINE in a .cpp file. This is most commonly caused by -# copy/pasted code from a .inl/.i file -sub check_for_inline_in_cpp () -{ - print "Running ACE_INLINE/ASYS_INLINE check\n"; - foreach $file (@files_cpp) { - my $line = 0; - if (open (FILE, $file)) { - print "Looking at file $file\n" if $opt_d; - while (<FILE>) { - ++$line; - if (/^ACE_INLINE/) { - print_error ("ACE_INLINE found in $file on line $line"); - } - if (/^ASYS_INLINE/) { - print_error ("ASYS_INLINE found in $file on line $line"); - } - } - close (FILE); - } - else { - print STDERR "Error: Could not open $file\n"; - } - } -} - -# This test checks to make sure files have the $Id string in them. -# Commit_check should find these when checking in files, but this can -# be used locally or to check for files -sub check_for_id_string () -{ - print "Running \$Id\$ string check\n"; - foreach $file (@files_cpp, @files_inl, @files_h, - @files_html, @files_idl, @files_pl) { - my $found = 0; - if (open (FILE, $file)) { - print "Looking at file $file\n" if $opt_d; - while (<FILE>) { - if (/\$Id\:/ or /\$Id\$/) { - $found = 1; - } - } - close (FILE); - if ($found == 0) { - print_error ("No \$Id\$ string found in $file"); - } - } - else { - print STDERR "Error: Could not open $file\n"; - } - } -} - - -# This test checks for the newline at the end of a file -sub check_for_newline () -{ - print "Running newline check\n"; - foreach $file (@files_cpp, @files_inl, @files_h, - @files_html, @files_idl, @files_pl) { - if (open (FILE, $file)) { - my $line; - print "Looking at file $file\n" if $opt_d; - while (<FILE>) { - $line = $_ - } - close (FILE); - if ($line !~ /\n$/) { - print_error ("No ending newline found in $file"); - } - } - else { - print STDERR "Error: Could not open $file\n"; - } - } -} - - - -# This test checks for the use of "inline" instead of ACE_INLINE -sub check_for_inline () -{ - print "Running inline check\n"; - foreach $file (@files_inl) { - my $line = 0; - if (open (FILE, $file)) { - my $disable = 0; - print "Looking at file $file\n" if $opt_d; - while (<FILE>) { - ++$line; - if (/FUZZ\: disable check_for_inline/) { - $disable = 1; - } - if (/FUZZ\: enable check_for_inline/) { - $disable = 0; - } - if ($disable == 0 and m/^\s*inline/) { - print_error ("inline found in $file on line $line"); - } - } - close (FILE); - } - else { - print STDERR "Error: Could not open $file\n"; - } - } -} - - -# This test checks for the inclusion of math.h. math.h should be avoided -# since on some platforms, "exceptions" is defined as a struct, which will -# cause problems with exception handling -sub check_for_math_include () -{ - print "Running math.h test\n"; - foreach $file (@files_h, @files_cpp, @files_inl) { - my $line = 0; - if (open (FILE, $file)) { - my $disable = 0; - print "Looking at file $file\n" if $opt_d; - while (<FILE>) { - ++$line; - if (/FUZZ\: disable check_for_math_include/) { - $disable = 1; - } - if (/FUZZ\: enable check_for_math_include/) { - $disable = 0; - } - if ($disable == 0 - and /^\s*#\s*include\s*(\/\*\*\/){0,1}\s*\<math\.h\>/) { - print_error ("math.h included in $file on line $line"); - } - } - close (FILE); - } - else { - print STDERR "Error: Could not open $file\n"; - } - } -} - -# For general readability, lines should not contain more than 80 characters -sub check_for_line_length () -{ - print "Running line length test\n"; - foreach $file (@files_h, @files_cpp, @files_inl) { - my $line = 0; - if (open (FILE, $file)) { - print "Looking at file $file\n" if $opt_d; - while (<FILE>) { - ++$line; - - # Make sure to ignore ACE_RCSID lines, since they - # are difficult to get under 80 chars. - if (/.{80,}/ and !/^ACE_RCSID/) { - print_error ("Over 80 chars on line $line in $file"); - } - } - close (FILE); - } - else { - print STDERR "Error: Could not open $file\n"; - } - } -} - - -# For preprocessor directives, only the old C style comments (/* */) -# should be used, not the newer // style. -sub check_for_preprocessor_comments () -{ - print "Running preprocessor comment test\n"; - foreach $file (@files_h, @files_cpp, @files_inl) { - my $line = 0; - if (open (FILE, $file)) { - print "Looking at file $file\n" if $opt_d; - while (<FILE>) { - ++$line; - if (/^\#.*\/\//) { - print_error ("C++ comment in directive on " - ."line $line in $file"); - } - } - close (FILE); - } - else { - print STDERR "Error: Could not open $file\n"; - } - } -} - - -# This test checks for the use of the Win32 Unicode string defines -# or outdated ASYS_* macros -# We should only be using the ACE_TCHAR, ACE_TEXT macros instead. -sub check_for_tchar -{ - print "Running TCHAR test\n"; - foreach $file (@files_h, @files_cpp, @files_inl) { - my $line = 0; - if (open (FILE, $file)) { - my $disable = 0; - print "Looking at file $file\n" if $opt_d; - while (<FILE>) { - ++$line; - if (/FUZZ\: disable check_for_tchar/) { - $disable = 1; - } - if (/FUZZ\: enable check_for_tchar/) { - $disable = 0; - } - if ($disable == 0) { - if (/LPTSTR/) { - print_error ("LPTSTR found on line $line in $file"); - } - - if (/LPCTSTR/) { - print_error ("LPCTSTR found on line $line in $file"); - } - - if (/ASYS_TCHAR/) { - print_error ("ASYS_TCHAR found on " - ."line $line in $file"); - } - elsif (/TCHAR/ and !/ACE_TCHAR/) { - ### Do a double check, since some macros do have TCHAR - ### (like DEFAULTCHARS) - if (/^TCHAR[^\w_]/ or /[^\w_]TCHAR[^\w_]/) { - print_error ("TCHAR on line $line in $file"); - } - } - - if (/ASYS_TEXT/) { - print_error ("ASYS_TEXT on line $line in $file"); - } - elsif (/TEXT/ and !/ACE_TEXT/) { - ### Do a double check, since there are several macros - ### that end with TEXT - if (/^TEXT\s*\(/ or /[^\w_]TEXT\s*\(/) { - print_error ("TEXT found on line $line in $file"); - } - } - } - } - close (FILE); - } - else { - print STDERR "Error: Could not open $file\n"; - } - } -} - - - -# This checks to make sure files include ace/post.h if ace/pre.h is included -# and vice versa. -sub check_for_pre_and_post () -{ - print "Running pre.h/post.h test\n"; - foreach $file (@files_h) { - my $pre = 0; - my $post = 0; - if (open (FILE, $file)) { - my $disable = 0; - print "Looking at file $file\n" if $opt_d; - while (<FILE>) { - if (/FUZZ\: disable check_for_pre_and_post/) { - $disable = 1; - } - if (/FUZZ\: enable check_for_pre_and_post/) { - $disable = 0; - } - if ($disable == 0) { - if (/^\s*#\s*include\s*\"ace\/pre\.h\"/) { - ++$pre; - } - if (/^\s*#\s*include\s*\"ace\/post\.h\"/) { - ++$post; - } - } - } - close (FILE); - - if ($disable == 0 && $pre != $post) { - print_error ("pre.h/post.h mismatch in $file"); - } - } - else { - print STDERR "Error: Could not open $file\n"; - } - } -} - -# This test verifies that the same number of "#pragma warning(push)" and -# "#pragma warning(pop)" pragmas are used in a given header. -sub check_for_push_and_pop () -{ - print "Running #pragma (push)/(pop) test\n"; - foreach $file (@files_h) { - my $push_count = 0; - my $pop_count = 0; - if (open (FILE, $file)) { - my $disable = 0; - print "Looking at file $file\n" if $opt_d; - while (<FILE>) { - if (/FUZZ\: disable check_for_push_and_pop/) { - $disable = 1; - } - if (/FUZZ\: enable check_for_push_and_pop/) { - $disable = 0; - } - if ($disable == 0) { - if (/^\s*#\s*pragma\s*warning\s*\(\s*push[,1-4]*\s*\)/) { - ++$push_count; - } - if (/^\s*#\s*pragma\s*warning\s*\(\s*pop\s*\)/) { - ++$pop_count; - } - } - } - close (FILE); - - if ($disable == 0 && $push_count != $pop_count) { - print_error ("#pragma warning(push)/(pop) mismatch in $file"); - } - } - else { - print STDERR "Error: Could not open $file\n"; - } - } -} - -# Check doxygen @file comments -sub check_for_mismatched_filename () -{ - print "Running doxygen \@file test\n"; - foreach $file (@files_h, @files_cpp, @files_inl, @files_idl) { - if (open (FILE, $file)) { - my $disable = 0; - print "Looking at file $file\n" if $opt_d; - while (<FILE>) { - if (m/\@file\s*([^\s]*)/){ - # $file includes complete path, $1 is the name after - # @file. We must strip the complete path from $file. - # we do that using the basename function from - # File::BaseName - $filename = basename($file,""); - if (!($filename eq $1)){ - print_error ("\@file mismatch in $file, found $1"); - } - } - } - close (FILE); - } - else { - print STDERR "Error: Could not open $file\n"; - } - } -} - -# check for bad run_test -sub check_for_bad_run_test () -{ - print "Running run_test.pl test\n"; - foreach $file (@files_pl) { - if (open (FILE, $file)) { - my $is_run_test = 0; - my $line = 0; - my $sub = 0; - - print "Looking at file $file\n" if $opt_d; - - while (<FILE>) { - ++$line; - - if (m/PerlACE/ || m/ACEutils/) { - $is_run_test = 1; - } - - if ($is_run_test == 1) { - if (m/ACEutils/) { - print_error ("ACEutils.pm still being used in $file ($line)"); - } - - if (m/unshift \@INC/) { - print_error ("Still unshifting \@INC, should \"use lib\"" - ." instead in $file ($line)"); - } - - if (m/\$EXEPREFIX/) { - print_error ("Still using \$EXEPREFIX in $file ($line)"); - } - - if (m/\$EXE_EXT/) { - print_error ("Still using \$EXE_EXT in $file ($line)"); - } - - if (m/\$DIR_SEPARATOR/) { - print_error ("Still using \$DIR_SEPARATOR in $file ($line)"); - } - if (m/ACE\:\:/ && !m/PerlACE\:\:/) { - print_error ("Still using ACE::* in $file ($line)"); - } - - if (m/Process\:\:/ && !m/PerlACE\:\:Process\:\:/) { - print_error ("Still using Process::* in $file ($line)"); - } - - if (m/Process\:\:Create/) { - print_error ("Still using Process::Create in $file ($line)"); - } - - if ((m/\.ior/ || m/\.conf/) && !m/LocalFile/) { - print_error ("Not using PerlACE::LocalFile at $file ($line)"); - } - - if (m/^ [^ ]/) { - print_warning ("Still using two-space indentation in $file ($line)"); - } - - if (m/^\s*\t/) { - print_error ("Indenting using tabs in $file ($line)"); - } - - if (m/^\s*\{/ && $sub != 1) { - print_warning ("Using Curly Brace alone on $file ($line)"); - } - - if (m/timedout/i && !m/\#/) { - print_error ("timedout message found on $file ($line)"); - } - - if (m/^\s*sub/) { - $sub = 1; - } - else { - $sub = 0; - } - } - } - - close (FILE); - - if ($is_run_test) { - my @output = `perl -wc $file 2>&1`; - - foreach $output (@output) { - chomp $output; - if ($output =~ m/error/i) { - print_error ($output); - } - elsif ($output !~ m/syntax OK/) { - print_warning ($output); - } - } - } - } - else { - print STDERR "Error: Could not open $file\n"; - } - } -} - - -# Check for links to ~schmidt/ACE_wrappers/, which should not be in the -# documentation -sub check_for_absolute_ace_wrappers() -{ - print "Running absolute ACE_wrappers test\n"; - foreach $file (@files_html) { - if (open (FILE, $file)) { - my $line = 0; - print "Looking at file $file\n" if $opt_d; - while (<FILE>) { - ++$line; - if (m/\~schmidt\/ACE_wrappers\//) { - chomp; - print_error ("~schmidt/ACE_wrappers found in $file on " - . "line $line"); - print_error ($_) if (defined $opt_v); - } - } - close (FILE); - } - else { - print STDERR "Error: Could not open $file\n"; - } - } -} - -# Make sure ACE_[OS_]TRACE matches the function/method -sub check_for_bad_ace_trace() -{ - print "Running TRACE test\n"; - foreach $file (@files_inl, @files_cpp) { - if (open (FILE, $file)) { - my $line = 0; - my $class; - my $function; - - print "Looking at file $file\n" if $opt_d; - while (<FILE>) { - ++$line; - - # look for methods or functions - if (m/(^[^\s][^\(]*)\:\:([^\:^\(]*[^\s^\(])\s*/) { - $class = $1; - $function = $2; - } - elsif (m/^([^\s^\(^\#]*) \(/i) { - $class = ""; - $function = $1; - } - elsif (m/^(operator.*) \(/i) { - $class = ""; - $function = $1; - } - - # Look for TRACE statements - if (m/ACE_OS_TRACE\s*\(\s*\"(.*)\"/ - || m/ACE_TRACE\s*\(\s*\"(.*)\"/) { - my $trace = $1; - - # reduce the classname - if ($class =~ m/([^\s][^\<^\s]*)\s*\</) { - $class = $1; - } - - if ($class =~ m/([^\s^\&^\*]*)\s*$/) { - $class = $1; - } - - if ($trace !~ m/\Q$function\E/ - || ($trace =~ m/\:\:/ && !($trace =~ m/\Q$class\E/ && $trace =~ m/\Q$function\E/))) { - print_error ("Mismatched TRACE in $file on line $line"); - print_error (" I see \"$trace\" but I think I'm in \"" - . $class . "::" . $function . "\"") if (defined $opt_v); - } - } - } - close (FILE); - } - else { - print STDERR "Error: Could not open $file\n"; - } - } -} - - - -# This test checks missing ACE_ENV_ARG_PARAMETER when using -# resolve_initial_references -sub check_for_missing_rir_env () -{ - print "Running resolve_initial_references() check\n"; - foreach $file (@files_cpp, @files_inl) { - my $line = 0; - if (open (FILE, $file)) { - my $disable = 0; - my $native_try = 0; - my $in_rir = 0; - my $found_env = 0; - - print "Looking at file $file\n" if $opt_d; - while (<FILE>) { - ++$line; - if (/FUZZ\: disable check_for_missing_rir_env/) { - $disable = 1; - } - if (/FUZZ\: enable check_for_missing_rir_env/) { - $disable = 0; - } - if ($disable == 0) { - next if m/^\s*\/\//; - - if (m/^\s*try/) { - $disable = 1; - next; - } - - if (m/[^\:]resolve_initial_references\s*\(/) { - $found_env = 0; - $in_rir = 1; - } - - if (m/ACE_ENV_ARG_PARAMETER/) { - $found_env = 1; - } - - if ($in_rir == 1 && m/\;\s*$/) { - $in_rir = 0; - if ($found_env != 1) { - print_error ("Missing ACE_ENV_ARG_PARAMETER in" - . " resolve_initial_references" - . " in $file ($line)"); - } - $found_env = 0; - } - - } - } - close (FILE); - } - else { - print STDERR "Error: Could not open $file\n"; - } - } -} - -# This test checks for usage of ACE_CHECK/ACE_TRY_CHECK -sub check_for_ace_check () -{ - print "Running ACE_CHECK check\n"; - foreach $file (@files_cpp, @files_inl) { - my $line = 0; - if (open (FILE, $file)) { - my $disable = 0; - my $in_func = 0; - my $in_return = 0; - my $found_env = 0; - - print "Looking at file $file\n" if $opt_d; - while (<FILE>) { - ++$line; - if (/FUZZ\: disable check_for_ace_check/) { - $disable = 1; - } - if (/FUZZ\: enable check_for_ace_check/) { - $disable = 0; - } - - if (/FUZZ\: ignore check_for_ace_check/) { - next; - } - - next if m/^\s*\/\//; - next if m/^\s*$/; - - if ($disable == 0) { - if (m/[,\(]\s*ACE_TRY_ENV[,\)]/) { - $found_env = 1; - $in_func = 1; - $env_line = $line; - } - - # ignore quoted ACE_TRY_ENV's - if (m/^[^\"]*\"[^\"]*ACE_TRY_ENV[^\"]*\"[^\"]*$/) { - $found_env = 0; - } - - if (m/ACE_TRY_ENV.*ACE_TRY_ENV/) { - print_error ("Multiple ACE_TRY_ENV in $file ($line)"); - } - - if ($in_func && m/\)/) { - $in_func = 0; - } - elsif (!$in_func && $found_env) { - if (!m/_CHECK/ && !m/^\}/ && !$in_return) { - print_error ("Missing ACE_CHECK/ACE_TRY_CHECK for $file ($env_line)"); - } - $found_env = 0; - } - - if (m/^\s*return/) { - $in_return = 1; - } - else { - $in_return = 0; - } - } - } - close (FILE); - } - else { - print STDERR "Error: Could not open $file\n"; - } - } -} - -# This test checks for broken ChangeLog entries. -sub check_for_changelog_errors () -{ - print "Running ChangeLog check\n"; - foreach $file (@files_changelog) { - my $line = 0; - if (open (FILE, $file)) { - my $found_backslash = 0; - my $found_cvs_conflict = 0; - - print "Looking at file $file\n" if $opt_d; - while (<FILE>) { - ++$line; - - next if m/^\s*\/\//; - next if m/^\s*$/; - - # Check for backslashes in paths. - if (m/\*.*\\[^ ]*:/) { - print_error ("Backslashes in file path - $file ($line)"); - } - - # Check for CVS conflict tags - if (m/^<<<<</ || m/^=====/ || m/^>>>>>/) { - print_error ("CVS conflict markers in $file ($line)"); - } - } - close (FILE); - } - else { - print STDERR "Error: Could not open $file\n"; - } - } -} - -############################################################################## - -use vars qw/$opt_c $opt_d $opt_h $opt_l $opt_m $opt_v/; - -if (!getopts ('cdhl:mv') || $opt_h) { - print "fuzz.pl [-cdhm] [-l level] [file1, file2, ...]\n"; - print "\n"; - print " -c only look at the files passed in\n"; - print " -d turn on debugging\n"; - print " -h display this help\n"; - print " -l level set detection level (default = 5)\n"; - print " -m only check locally modified files (uses cvs)\n"; - print " -v verbose mode\n"; - exit (1); -} - -if (!$opt_l) { - $opt_l = 5; -} - -if ($opt_c) { - foreach $file (@ARGV) { - store_file ($file); - } -} -elsif ($opt_m) { - find_mod_files (); -} -else { - find_files (); -} - -print "--------------------Configuration: Fuzz - Level ",$opt_l, - "--------------------\n"; - -check_for_inline_in_cpp () if ($opt_l >= 2); -check_for_id_string () if ($opt_l >= 1); -check_for_newline () if ($opt_l >= 1); -check_for_inline () if ($opt_l >= 2); -check_for_math_include () if ($opt_l >= 3); -check_for_line_length () if ($opt_l >= 8); -check_for_preprocessor_comments () if ($opt_l >= 7); -check_for_tchar () if ($opt_l >= 4); -check_for_pre_and_post () if ($opt_l >= 4); -check_for_push_and_pop () if ($opt_l >= 4); -check_for_mismatched_filename () if ($opt_l >= 2); -check_for_bad_run_test () if ($opt_l >= 6); -check_for_absolute_ace_wrappers () if ($opt_l >= 3); -check_for_bad_ace_trace () if ($opt_l >= 4); -check_for_missing_rir_env () if ($opt_l >= 5); -check_for_ace_check () if ($opt_l >= 3); -check_for_changelog_errors () if ($opt_l >= 4); - -print "\nFuzz.pl - $errors error(s), $warnings warning(s)\n"; - -exit (1) if $errors > 0; diff --git a/bin/g++dep b/bin/g++dep deleted file mode 100755 index 226f7ef68d5..00000000000 --- a/bin/g++dep +++ /dev/null @@ -1,117 +0,0 @@ -#! /bin/sh -# $Id$ - -# This utility is a lightly editted version of the freed Berkeley -# script `mkdep'. The current script is intended to work for GNU G++. - -# Here is the original BSD header: -# @(#)mkdep.sh 1.7 (Berkeley) 10/13/87 -# - -if [ $# = 0 ] ; then - echo 'usage: g++dep [-p] [-f makefile] [flags] file ...' - exit 1 -fi - -DO_ACE_MAKE_DEPEND=0 -MAKE=Makefile -STOPNOW=0 -while [ $STOPNOW -eq 0 ] -do -case $1 in - # -f allows you to select a makefile name - -f) MAKE=$2 - shift; shift ;; - - # the -p flag produces "program: program.c" style dependencies - # so .o's don't get produced - -p) SED='-e s;\.o;;' - shift ;; - - # -r allows the use of relative pathnames... - -r) REL="-e s;$ACE_ROOT;\$(ACE_ROOT);g ${ACE_DEPEND_SED_CMD}" - REL="-e s;${TAO_ROOT:=$ACE_ROOT/TAO};\$(TAO_ROOT);g "$REL - shift ;; - # -A uses relative pathnames and fixes the .obj line - # and it implies -r - -A) REL="-e s;$ACE_ROOT;\$(ACE_ROOT);g ${ACE_DEPEND_SED_CMD}" - REL="-e s;${TAO_ROOT:=$ACE_ROOT/TAO};\$(TAO_ROOT);g "$REL - DO_ACE_MAKE_DEPEND=1 - shift ;; - # -R VARNAME allows you to specify a variable which should be used - # to generate relative paths if it's defined. You can use multiple - # -R options, but be careful if one of the values is a proper - # subset of a subsequent value, because I suspect that sed will - # substitute for the first value properly, but not for the second. You might - # Be able to get around this by reordering and having the more specific - # values lead the less specific values. - -R) varname=$2 - eval "echo \$${varname}" >/tmp/$$.vv - varval=`eval cat /tmp/$$.vv`; rm /tmp/$$.vv - if [ -n "$varval" ]; then - REL="-e s;$varval;\$($varname);g "$REL - fi - shift; shift;; - *) STOPNOW=1 -esac -done - -# Dependencies on local files are better expressed like that, instead -# of using $(TAO_ROOT) or $(ACE_ROOT). This is specially important -# for IDL generated files. -REL="-e s;`pwd`/;;g "$REL - -if [ ! -w $MAKE ]; then - echo "g++dep: no writeable file \"$MAKE\"" - exit 1 -fi - -TMP=/tmp/g++dep$$ - -trap 'rm -f $TMP; exit 1' 1 2 3 13 15 - -cp $MAKE ${MAKE}.bak - -sed -e '/DO NOT DELETE THIS LINE/,$d' < $MAKE > $TMP - -cat << _EOF_ >> $TMP -# DO NOT DELETE THIS LINE -- g++dep uses it. -# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. - -_EOF_ - -g++ -MM -DACE_LACKS_PRAGMA_ONCE $* | \ - sed -e "s; \./; ;g" $SED $REL | \ - awk '{ if ($1 != prev) \ - { if (rec != "") print rec; rec = $0; prev = $1; } \ - else \ - { if (length(rec $2) > 78) { print rec; rec = $0; } \ - else rec = rec " " $2 } } \ - END { print rec }' >> $TMP - -if [ $DO_ACE_MAKE_DEPEND -eq 1 ] -then - SCRIPT=${TMP}_script - echo "s;\([-a-zA-Z0-9._+]*\)\.o:;\\" > $SCRIPT - echo ".obj/\1.o .obj/\1.${SOEXT} ${VSHDIR}\1.o ${VSHDIR}\1.${SOEXT}:;" >> $SCRIPT - TMP2=${TMP}_2 - cat $TMP | \ - sed \ - -e '/$(ACE_ROOT)\/ace\/config[^\.]*\.h/d' \ - -e "s; /[-a-zA-Z0-9_./+]*\.h;;g" \ - -e 's/\\[ \t][ \t]*\\/\\/g' \ - -f $SCRIPT > $TMP2 - mv $TMP2 $TMP - rm -f $TMP2 - rm -f $SCRIPT -fi - -cat << _EOF_ >> $TMP - -# IF YOU PUT ANYTHING HERE IT WILL GO AWAY -_EOF_ - -# copy to preserve permissions -cp $TMP $MAKE -rm -f ${MAKE}.bak $TMP -exit 0 diff --git a/bin/generate_doxygen.pl b/bin/generate_doxygen.pl deleted file mode 100755 index af7c306a996..00000000000 --- a/bin/generate_doxygen.pl +++ /dev/null @@ -1,235 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' - & eval 'exec perl -S $0 $argv:q' - if 0; - -# -*- perl -*- -# $Id$ -# - -require POSIX; -require File::Path; - -# Configuration and default values - -$is_release = 0; -$exclude_ace = 0; -$exclude_tao = 0; -$verbose = 0; -$perl_path = '/usr/bin/perl'; -$dot_path = '/usr/local/bin'; -@ACE_DOCS = ('ace', - 'ace_man', - 'ace_rmcast', - 'ace_ssl', - 'ace_qos', - 'acexml'); -@TAO_DOCS = ('tao' - ,'tao_portableserver' - ,'tao_rtportableserver' - ,'tao_rtcorba' - ,'tao_dynamicany' - ,'tao_dynamicinterface' - ,'tao_iormanip' - ,'tao_iortable' - ,'tao_esf' - ,'tao_rtevent' - ,'tao_cosevent' - ,'tao_cosnotification' - ,'tao_implrepo' - ,'tao_strategies' - ,'tao_smartproxies' - ,'tao_av' - ,'tao_security' - ,'tao_ssliop' - ,'tao_cosnaming' - ,'tao_costime' - ,'tao_costrader' - ,'tao_portablegroup' - ,'tao_pss' - ); - -# Modify defaults using the command line arguments -&parse_args (); - -open(CONFIG_H, ">ace/config.h") - || die "Cannot create config file\n"; -print CONFIG_H "#include \"ace/config-doxygen.h\"\n"; -close (CONFIG_H); - -&generate_doxy_files ('ACE', 'VERSION', @ACE_DOCS) if (!$exclude_ace); -&generate_doxy_files ('TAO', 'TAO/VERSION', @TAO_DOCS) if (!$exclude_tao); - -unlink "ace/config.h"; - -exit 0; - -sub parse_args { - my @ARGS = (); - while ($#ARGV >= 0) { - if (!($ARGV[0] =~ m/^-/)) { - push @ARGS, $ARGV[0]; - } elsif ($ARGV[0] eq "-is_release") { - $is_release = 1; - } elsif ($ARGV[0] eq "-exclude_ace") { - $exclude_ace = 1; - } elsif ($ARGV[0] eq "-exclude_tao") { - $exclude_tao = 1; - } elsif ($ARGV[0] eq "-verbose") { - $verbose = 1; - } elsif ($ARGV[0] eq "-perl_path" && $#ARGV >= 1) { - $perl_path = $ARGV[1]; - shift; - } elsif ($ARGV[0] eq "-dot_path" && $#ARGV >= 1) { - $dot_path = $ARGV[1]; - shift; - } else { - print "Ignoring option $ARGV[0]\n"; - } - shift @ARGV; - } - @ARGV = @ARGS; -} - -sub generate_doxy_files { - - my $KIT = shift; - my $VERSION_FILE = shift; - my @DOCS = @_; - - my $VERSION = 'Snapshot ('. - POSIX::strftime("%Y/%m/%d-%H:%M", localtime) - .')'; - - foreach my $i (@DOCS) { - if ($is_release) { - my ($major, $minor, $beta) = &get_versions ($KIT, $VERSION_FILE); - $VERSION = $major.'.'.$minor.'.'.$beta; - } - - my $input = "etc/".$i.".doxygen"; - my $output = "/tmp/".$i.".".$$.".doxygen"; - - open(DOXYINPUT, $input) - || die "Cannot open doxygen input file $input\n"; - open(DOXYOUTPUT, ">$output") - || die "Cannot open doxygen output file $output\n"; - - my $generate_man = 0; - my $generate_html = 0; - my @output_dirs = (); - while (<DOXYINPUT>) { - chomp; - if (/^PROJECT_NUMBER/) { - print DOXYOUTPUT "PROJECT_NUMBER = ", $VERSION, "\n"; - next; - } elsif (/^PERL_PATH /) { - print DOXYOUTPUT "PERL_PATH = $perl_path\n"; - next; - } elsif (/^DOT_PATH /) { - print DOXYOUTPUT "DOT_PATH = $dot_path\n"; - next; - } elsif (/^QUIET / && $verbose) { - print DOXYOUTPUT "QUIET = NO\n"; - next; - } elsif (/^INLINE_SOURCES/ && $is_release) { - print DOXYOUTPUT "INLINE_SOURCES = NO\n"; - next; - } elsif (/^SOURCE_BROWSER/ && $is_release) { - print DOXYOUTPUT "SOURCE_BROWSER = NO\n"; - next; - } elsif (/^VERBATIM_HEADERS/ && $is_release) { - print DOXYOUTPUT "VERBATIM_HEADERS = NO\n"; - next; -# } elsif (/^INCLUDE_GRAPH/ && $is_release) { -# print DOXYOUTPUT "INCLUDE_GRAPH = NO\n"; -# next; -# } elsif (/^INCLUDED_BY_GRAPH/ && $is_release) { -# print DOXYOUTPUT "INCLUDED_BY_GRAPH = NO\n"; -# next; - } elsif (/^GENERATE_MAN/ && /= YES/) { - $generate_man = 1; - } elsif (/^GENERATE_HTML/ && /= YES/) { - $generate_html = 1; - } elsif ($generate_html && /^HTML_OUTPUT/) { - my @field = split(' = '); - if ($#field >= 1) { - push @output_dirs, $field[1]; - } - } elsif ($generate_html && /^MAN_OUTPUT/) { - my @field = split(' = '); - if ($#field >= 1) { - push @output_dirs, $field[1]; - } - } - print DOXYOUTPUT $_, "\n"; - } - close (DOXYOUTPUT); - close (DOXYINPUT); - - foreach my $i (@output_dirs) { - File::Path::mkpath($i, 0, 0755); - } - - &run_doxy ($output); - - unlink $output; - } - - open(FIND, "find man -type f -print |") or die "Can't run find\n"; - while (<FIND>) { - chop; - my $name_with_whitespace = $_; - next unless ($name_with_whitespace =~ /\s/); - my $name_without_whitespace = $name_with_whitespace; - $name_without_whitespace =~ s/\s+//g; - rename $name_with_whitespace, $name_without_whitespace; - } - close FIND; -} - -sub run_doxy { - my $config = shift; - open(DOX,"doxygen $config 2>&1 |") - || die "cannot start ACE doxygen process\n"; - while (<DOX>) { - print $_; - } - close (DOX) - || die "error while running doxygen on $config\n"; -} - -######## -######## Retrieve version information from VERSION file(s). -######## -sub get_versions () { - my $KIT = shift; - my $VERSION_FILE = shift; - my ($major_version, $minor_version, $beta_version); - - open (VERSION, '<'.$VERSION_FILE) || - die "$0: unable to open VERSION\n"; - while (<VERSION>) { - chomp; - if (/$KIT version (\d+)\.(\d+)\.(\d+)/) { - $major_version = $1; - $minor_version = $2; - $beta_version = $3; - last; - } elsif (/$KIT version (\d+)\.(\d+)[^\.]/) { - #### Previous release was a minor. - $major_version = $1; - $minor_version = $2; - $beta_version = '0'; - last; - } elsif (/$KIT version (\d+)[^\.]/) { - #### Previous release was a major. - $major_version = $1; - $minor_version = '0'; - $beta_version = '0'; - last; - } - } - close VERSION; - - return ($major_version, $minor_version, $beta_version); -} diff --git a/bin/generate_export_file.pl b/bin/generate_export_file.pl deleted file mode 100755 index eb9492ffca2..00000000000 --- a/bin/generate_export_file.pl +++ /dev/null @@ -1,160 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' - & eval 'exec perl -S $0 $argv:q' - if 0; - -# $Id$ -# Replacement for the old trusty GenExportH.bat -# Creates the nice little *_export file which is used for -# importing and exporting of symbols in DLLs. -# (they are soooo cute!) - -use Getopt::Std; - -############################################################################## -# Grab the options - -$flags = join (" ", @ARGV); - -if (!getopts ('df:hs') || $opt_h) { - print "generate_export_file.pl [-d] [-f dependency] [-s] library_name\n"; - print "\n"; - print " -d Turn on debug mode\n"; - print " -f Adds a dependency to another *_HAS_DLL macro\n"; - print " -s Add in ACE_AS_STATIC_LIBS check\n"; - print "\n"; - print "generate_export_file creates the *_export files that are used\n"; - print "in exporting of symbols for DLLs (and not exporting them when\n"; - print "the library is static). If library_name is something like\n"; - print "\"Foo\", then the file will contain definitions for Foo_Export\n"; - print "and FOO_SINGLETON_DECLARE, etc. which will be controlled by\n"; - print "FOO_HAS_DLL, etc.\n"; - exit (1); -} - -if (defined $opt_d) { - print "Debugging Turned on\n"; - - if (defined $opt_f) { - print "Dependency to $opt_f\n"; - } - - if (defined $opt_s) { - print "ACE_AS_STATIC_LIBS turned on\n"; - } -} - - -if ($#ARGV < 0) { - print STDERR "No library_name specified, use -h for help\n"; - exit (1); -} - -$name = shift @ARGV; -$ucname = uc $name; - -############################################################################## -# Prologue - -$prologue = ' -// -*- C++ -*- -// ' . '$' . 'Id' . '$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl '."$flags".' -// ------------------------------'." -#ifndef -UC-_EXPORT_H -#define -UC-_EXPORT_H - -#include \"ace/config-all.h\" -"; - - -############################################################################## -# Static Stuff - -if (defined $opt_s) -{ - $static_stuff = " -#if defined (ACE_AS_STATIC_LIBS) && !defined (-UC-_HAS_DLL) -# define -UC-_HAS_DLL 0 -#endif /* ACE_AS_STATIC_LIBS && -UC-_HAS_DLL */ -"; -} - -############################################################################## -# Dependencies - -if (defined $opt_f) -{ - $has_dll = " -#if defined ($opt_f) -# if !defined (-UC-_HAS_DLL) -# define -UC-_HAS_DLL 0 -# endif /* ! -UC-_HAS_DLL */ -#else -# if !defined (-UC-_HAS_DLL) -# define -UC-_HAS_DLL 1 -# endif /* ! -UC-_HAS_DLL */ -#endif -"; -} -else -{ - $has_dll = " -#if !defined (-UC-_HAS_DLL) -# define -UC-_HAS_DLL 1 -#endif /* ! -UC-_HAS_DLL */ -"; -} - -############################################################################## -# Epilogue - -$epilogue = " -#if defined (-UC-_HAS_DLL) && (-UC-_HAS_DLL == 1) -# if defined (-UC-_BUILD_DLL) -# define -NC-_Export ACE_Proper_Export_Flag -# define -UC-_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define -UC-_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* -UC-_BUILD_DLL */ -# define -NC-_Export ACE_Proper_Import_Flag -# define -UC-_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define -UC-_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* -UC-_BUILD_DLL */ -#else /* -UC-_HAS_DLL == 1 */ -# define -NC-_Export -# define -UC-_SINGLETON_DECLARATION(T) -# define -UC-_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* -UC-_HAS_DLL == 1 */ - -// Set -UC-_NTRACE = 0 to turn on library specific tracing even if -// tracing is turned off for ACE. -#if !defined (-UC-_NTRACE) -# if (ACE_NTRACE == 1) -# define -UC-_NTRACE 1 -# else /* (ACE_NTRACE == 1) */ -# define -UC-_NTRACE 0 -# endif /* (ACE_NTRACE == 1) */ -#endif /* !-UC-_NTRACE */ - -#if (-UC-_NTRACE == 1) -# define -UC-_TRACE(X) -#else /* (-UC-_NTRACE == 1) */ -# define -UC-_TRACE(X) ACE_TRACE_IMPL(X) -#endif /* (-UC-_NTRACE == 1) */ - -#endif /* -UC-_EXPORT_H */ - -// End of auto generated file. -"; - -############################################################################## -# Print the stuff out - -foreach $export ($prologue, $static_stuff, $has_dll, $epilogue) -{ -## -NC- stands for normal case, the name as it is -## -UC- stands for the name all upper case - map { s/-NC-/$name/g; s/-UC-/$ucname/g; } $export; - - print $export; -}; diff --git a/bin/generate_footprint_chart.sh b/bin/generate_footprint_chart.sh deleted file mode 100755 index a3aaa1768fd..00000000000 --- a/bin/generate_footprint_chart.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# -# $Id$ -# - -gnuplot <<_EOF_ >/dev/null 2>&1 - set xdata time - set timefmt '%Y/%m/%d-%H:%M' - set xlabel 'Date (MM/DD)' - set ylabel 'Size (KBytes)' - set terminal png small color - set yrange [0:3000] - set output "$2" - plot '$1' using 1:(\$2/1024.0) title '$3' w l - exit -_EOF_ - diff --git a/bin/generate_performance_chart.sh b/bin/generate_performance_chart.sh deleted file mode 100755 index b72311b9338..00000000000 --- a/bin/generate_performance_chart.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh -# -# $Id$ -# - -gnuplot <<_EOF_ >/dev/null 2>&1 - set xdata time - set timefmt '%Y/%m/%d-%H:%M' - set xlabel 'Date (YYYYMMDD)' - set ylabel 'Throughput (Requests/Second)' - set terminal png small color - set yrange [2000:12000] - set output "$2" - plot '$1' using 1:2 title '$3' w l - exit -_EOF_ diff --git a/bin/generate_topinfo_charts.sh b/bin/generate_topinfo_charts.sh deleted file mode 100755 index ab9a995b31a..00000000000 --- a/bin/generate_topinfo_charts.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh -# -# $Id$ -# - -gnuplot <<_EOF_ >/dev/null 2>&1 - set xdata time - set timefmt '%Y/%m/%d-%H:%M' - set xlabel 'Date (MM/DD)' - set ylabel 'Size (KBytes)' - set terminal png small color - set output "$2" - plot '$1' using 1:2 title '$3' w l - exit -_EOF_ - diff --git a/bin/indent_macros.perl b/bin/indent_macros.perl deleted file mode 100755 index 3429d746dba..00000000000 --- a/bin/indent_macros.perl +++ /dev/null @@ -1,59 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -i -S $0 ${1+"$@"}' - & eval 'exec perl -i -S $0 $argv:q' - if 0; - -# $Id$ - -# This perl script re-arrange the macro indentation so it's easier to -# see the layering relationship. - -$lineno = 0; -$indent = 0; - -sub inc_indent -{ - $indent += 2; -} - -sub dec_indent -{ - $indent -= 2; -} - -sub get_indent -{ - $retv = 0; - print STDERR "$0 (", $lineno, "): Unbalanced macro pairs\n" if ($indent < 0); - $retv = $indent - 1 if ($indent > 0); - $retv; -} - -while (<>) { - $lineno++; - if (/^[ \t]*\#[ \t]*((if|el|en|).*)/) - { - $cont = $1; - $temp = $2; - if ($temp =~ /if/) { - print "#", " " x &get_indent (), $cont,"\n"; - inc_indent (); - } - elsif ($temp =~ /el/) { - dec_indent (); - print "#", " " x &get_indent (), $cont,"\n"; - inc_indent (); - } - elsif ($temp =~ /en/) { - dec_indent (); - print "#", " " x &get_indent (), $cont,"\n"; - } - else { - print "#", " " x &get_indent (), $cont,"\n"; - } - } - else { - print $_; - } -} - -die ("$0 (EOF): Unbalanced macro pairs\n") if ($indent != 0); diff --git a/bin/libsize.pl b/bin/libsize.pl deleted file mode 100755 index 3fd3a468b10..00000000000 --- a/bin/libsize.pl +++ /dev/null @@ -1,192 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' - & eval 'exec perl -S $0 $argv:q' - if 0; - -# $Id$ -# -# Provides size breakdown of ACE, TAO, or orbsvcs libs. -# -# Assumes (or builds) the lib with debug=0. Allows other make args, -# such as -j 4, to be passed on the command line. - -$usage = - "$0 [-h, for html output] [-s, for shared libs] [-v] [make arguments]\n"; - -#### -#### Configuration parameters. -#### -$build_args = - 'debug=0 optimize=1 static_libs_only=1 DEFFLAGS=-DACE_USE_RCSID=0'; -$ACE_COMPONENTS = - 'OS Utils Logging Threads Demux Connection Sockets IPC Svcconf ' . - 'Streams Memory Token Other'; -$TAO_COMPONENTS = - 'POA Pluggable_Protocols Default_Resources Interpretive_Marshaling ' . - 'IDL_Compiler ORB_Core Dynamic_Any'; -$ORBSVCS_COMPONENTS = - 'Naming ImplRepo Time Concurrency Property Trader LifeCycle Sched ' . - 'Event CosEvent Event2 AV'; - - -#### The following are only used for VxWorks libraries, and -#### only if the corresponding environment variable isn't set. -$default_toolenv = '386'; -$default_wind_base = '/project/doc/pkg/wind'; -$default_host_type = 'sun4-solaris2'; - -#### Use gmake if it's on the user's PATH, otherwise use make. Use -#### sh -c to avoid warning if gmake isn't found. -$make = - system ("sh -c \"gmake --version\" > /dev/null 2>&1") ? 'make' : 'gmake'; - -$ACE_ROOT = $ENV{'ACE_ROOT'} || - die "$0: ACE_ROOT was not set!\n"; - - -$html = $verbose = 0; -$lib_extension = 'a'; - -#### -#### Process command line args. -#### -while ($#ARGV >= $[ && $ARGV[0] =~ /^-/) { - if ($ARGV[0] eq '-h') { - $html = 1; - chop ($sysname = `uname -s`); - chop ($sysrev = `uname -r`); - shift; - } elsif ($ARGV[0] eq '-s') { - $lib_extension = 'so'; - $build_args =~ s/ static_libs_only=1//; - shift; - } elsif ($ARGV[0] eq '-v') { - $verbose = 1; - shift; - } elsif ($ARGV[0] eq '-?') { - print "$usage"; - exit; - } else { - #### Pass remaining args to make. - } -} - -$make_args = join (' ', @ARGV) . $build_args; - -chop ($pwd = `pwd`); - -if ($pwd =~ m%/ace$%) { - #### libACE - $COMPONENTS = "$ACE_COMPONENTS"; - $LIB_COMPONENTS = 'ACE_COMPONENTS'; - $libname = 'ACE'; -} elsif ($pwd =~ m%/tao$%) { - $COMPONENTS = "$TAO_COMPONENTS"; - $LIB_COMPONENTS = 'TAO_COMPONENTS'; - $libname = 'TAO'; -} elsif ($pwd =~ m%/orbsvcs/orbsvcs$%) { - $COMPONENTS = "$ORBSVCS_COMPONENTS"; - $LIB_COMPONENTS = 'TAO_ORBSVCS'; - $libname = 'orbsvcs'; -} else { - die "$0: unsupported directory; $pwd\n"; -} - -$lib = "lib${libname}.$lib_extension"; - - -#### -#### Select the size command based on ACE_ROOT setting. -#### -if ($ACE_ROOT =~ /vxworks/) { - $TOOLENV = $ENV{'TOOLENV'} || $default_toolenv; - $WIND_BASE = $ENV{'WIND_BASE'} || $default_wind_base; - $WIND_HOST_TYPE = $ENV{'WIND_HOST_TYPE'} || $default_host_type; - $size = "$WIND_BASE/host/$WIND_HOST_TYPE/bin/size$TOOLENV"; -} elsif ($ACE_ROOT =~ /lynx-ppc/) { - $size = '/usr/lynx/3.0.0/ppc/cdk/sunos-xcoff-ppc/bin/size'; -} elsif ($ACE_ROOT =~ /lynx/) { - $size = '/usr/lynx/3.0.0/x86/cdk/sunos-coff-x86/bin/size'; -} elsif ($ACE_ROOT =~ /chorus/) { - $size = '/project/doc/mvme/green68k/gnu/bin/size'; -} else { - $size = 'size'; -} - - -#### -#### Measure the size of the entire library. -#### -$sizeTotal = build_lib ("$LIB_COMPONENTS=\"$COMPONENTS\""); -$components = " <th>Platform\n <th>Component\n <th>Total"; -$componentSize = " <th>Size, bytes\n <td align=center>$sizeTotal"; -$componentPercentage = - " <th>Percentage of<br>total size\n <td align=center>100"; -print "Total $sizeTotal (100)\n" unless $html; - - -#### -#### Measure the size of each library component. -#### -foreach my $i (split (' ', $COMPONENTS)) { - $sizeLib = build_lib ("$LIB_COMPONENTS=\"$i\""); - $components .= "\n <th>$i"; - $componentSize .= "\n <td align=center>$sizeLib"; - $thisPercentage = percentage ($sizeLib, $sizeTotal); - $componentPercentage .= "\n <td align=center>$thisPercentage"; - print "$i $sizeLib ($thisPercentage)\n" unless $html; -} - -#### -#### Produce HTML output, if requested. -#### -if ($html) { - print '<center><table cellpadding=4 border=4>' . "\n"; - print ' <tr>' . "\n"; - print "$echoArgs $components\n"; - print ' <tr>' . "\n"; - print " <th rowspan=2>$sysname $sysrev $ACE_ROOT\n"; - print "$echoArgs $componentSize\n"; - print ' <tr>' . "\n"; - print "$echoArgs $componentPercentage\n"; - print '</table></center><p>' . "\n"; -} - - -#### -#### Build library with componnents specified in argument. -#### -sub build_lib () -{ - my ($lib_components) = @_; - - unlink "$lib"; - - print "$make $make_args $lib_components\n" if $verbose; - - system ("$make $make_args $lib_components >> make.log 2>&1") && - die "$0: command failed; $make $make_args $lib_components\n"; - - my $libSize = 0; - - open (SIZE, "$size $lib |") || - die "$0: unable to open $size\n"; - while (<SIZE>) { - my (@field) = split; - $libSize += $field[3] if $field[3] =~ /\d/; #### Skip size header line. - } - close (SIZE); - - $libSize; -} - - -#### -#### Return percentage of first argument as fraction of second. -#### Returns a string with two-decimal place precision. -#### -sub percentage () -{ - my ($size, $total) = @_; - - sprintf ("%.2f", $size * 100 / $total); -} diff --git a/bin/main2TMAIN.pl b/bin/main2TMAIN.pl deleted file mode 100755 index bbbb558194b..00000000000 --- a/bin/main2TMAIN.pl +++ /dev/null @@ -1,16 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -pi -S $0 ${1+"$@"}' - & eval 'exec perl -pi -S $0 $argv:q' - if 0; - -# $Id$ -# -# You may want to run the "find" command with this script, which maybe -# something like this: -# -# find . -type f \( -name "*.C" -o -name "*.cc" -o -name "*.c" -o -name "*.cpp" \) -print | xargs $ACE_ROOT/bin/auto_ptr.perl - -# The first three lines above let this script run without specifying the -# full path to perl, as long as it is in the user's PATH. -# Taken from perlrun man page. - -s/main( *\(int[ A-Za-z]*, *ACE_TCHAR)/ACE_TMAIN$1/g; diff --git a/bin/make-components b/bin/make-components deleted file mode 100755 index a2b9c782807..00000000000 --- a/bin/make-components +++ /dev/null @@ -1,17 +0,0 @@ -#! /bin/sh -# $Id$ - -# Allow each ACE component to be built in a simple way, as follows: -# -# $ACE_ROOT/bin/make-components "your flags" -# -# to build libACE.$(SOEXT), libACE_OS.$(SOEXT), etc. - -flags="$*" -cd $ACE_ROOT/ace -make $flags -for component in `cat $ACE_ROOT/ace/ACE_COMPONENTS.list` -do - make $flags LIBACE=libACE_$component ACE_COMPONENTS=$component -done -exit 0 diff --git a/bin/make_pretty.pl b/bin/make_pretty.pl deleted file mode 100755 index 08305f3eb5e..00000000000 --- a/bin/make_pretty.pl +++ /dev/null @@ -1,694 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' - & eval 'exec perl -S $0 $argv:q' - if 0; - -# $Id$ -# Make the build output prettier. - -use Getopt::Std; -use English; -use FileHandle; -use strict; - -use vars qw/$opt_b $opt_c $opt_h $opt_i $opt_m $opt_o $opt_p $opt_t/; - -if (!getopts ('bc:hi:m:o:pt') || $opt_h) { - print "Output Beautifier\n"; - print "\n"; - print "make_pretty.pl [-bpthr] [-c compiler] [-m msg] [-i file] [-o file]\n"; - print " -b Brief-ify the output (only errors and warnings)\n"; - print " -c compiler Specify the compiler type [msvc/makefile]\n"; - print " -h Show this help output\n"; - print " -i file Use file as input (defaults to stdin)\n"; - print " -m Message to attach to the end of the output\n"; - print " -o file Use file as output (defaults to stdout)\n"; - print " -p Plain text mode (default is html)\n"; - print " -t Only give totals for warnings and errors (auto -b)\n"; - exit (1); -} - -if (!defined $opt_c) { - $opt_c = 'makefile'; - $opt_c = 'msvc' if ($OSNAME eq 'Win32'); -} - -if ($opt_c ne 'makefile' && $opt_c ne 'msvc') { - print STDERR "Error: Must specify msvc or makefile as the compiler type\n"; - exit (1); -} - -my $input; -my $output; - -if (!defined $opt_i) { - $input = *STDIN; -} -else { - $input = new FileHandle ("$opt_i", "r"); - if (!defined $input) { - print STDERR "Error: Could not open file <$opt_i> for input\n"; - exit 1; - } - } - -if (!defined $opt_o) { - $output = *STDOUT; -} -else { - $output = new FileHandle ("$opt_o", "w"); - if (!defined $output) { - print STDERR "Error: Could not open file <$opt_o> for output\n"; - exit 1; - } - } - -$opt_b = 1 if ($opt_t); - -my $header; -my $trailer; -my $bookmark_table_header; -my $bookmark_table_config; -my $bookmark_table_cvs; -my $bookmark_table_compiler; -my $bookmark_table_tests; -my $bookmark_table_footer; -my $bookmark_config; -my $bookmark_cvs; -my $bookmark_compiler; -my $bookmark_tests; -my $pre_section_title; -my $post_section_title; -my $pre_error; -my $post_error; -my $pre_warning; -my $post_warning; -my $pre_config; -my $post_config; -my $line_break; -my $separator; - -############################################################################### -sub set_html_output () -{ - $header = "<html>". - "<head>". - "<title>Error/Warning Summary of Daily Build</title></head>". - "<body bgcolor=\"white\">". - "<h1>Error/Warning Summary of Daily Build</h1>". - "<TT>\n"; - - $trailer = "</TT></body></html>"; - - $bookmark_table_header = "<hr>". - "<h2>Quick links</h2>". - "<ul>"; - - $bookmark_table_config = "<li><a href=\"#config\">Config</a>"; - $bookmark_table_cvs = "<li><a href=\"#cvs\">CVS</a>"; - $bookmark_table_compiler = "<li><a href=\"#compiler\">Compilation</a>"; - $bookmark_table_tests = "<li><a href=\"#tests\">Tests</a>"; - - $bookmark_table_footer = "</ul>"; - - $bookmark_config = "<a name=\"config\"></a>"; - $bookmark_cvs = "<a name=\"cvs\"></a>"; - $bookmark_compiler = "<a name=\"compiler\"></a>"; - $bookmark_tests = "<a name=\"tests\"></a>"; - - $pre_section_title = "<H2>"; - $post_section_title = "</H2>"; - - $pre_error = "<FONT COLOR=\"FF0000\">"; - $post_error = "</FONT>"; - - $pre_warning = "<FONT COLOR=\"FF7700\">"; - $post_warning = "</FONT>"; - - $pre_config = ""; - $post_config = ""; - - $line_break = "<BR>"; - $separator = "<HR>"; -} - -sub set_text_output () -{ - $header = "" ; - $trailer = "" ; - - $bookmark_table_header = ""; - $bookmark_table_config = ""; - $bookmark_table_cvs = ""; - $bookmark_table_compiler = ""; - $bookmark_table_tests = ""; - $bookmark_table_footer = ""; - - $bookmark_cvs = ""; - $bookmark_compiler = ""; - $bookmark_tests = ""; - - $pre_section_title = "\n================================================". - "================================\n"; - $post_section_title = "\n================================================". - "================================\n"; - - $pre_error = ""; - $post_error = ""; - - $pre_warning = ""; - $post_warning = ""; - - $pre_config = ""; - $post_config = ""; - - $line_break = ""; - $separator = "------------------------------------------------". - "--------------------------------\n"; -} - -# is_warning checks for warnings. It returns -# 0 = no warning -# 1 = warning line -# 2 = possible warning -# 3 = false warning -sub is_warning () -{ - # Look for any warnings we should ignore - return 3 if (/^LINK : warning LNK4089:/); - - # For some reason, there's a false license warning - return 3 if (/\(W\).*Compilation will proceed shortly./); - - # AIX reports a bazillion multiple defines when doing templates. - return 3 if (m/^ld: \d+\-\d+ WARNING: Duplicate symbol:/); - - # HP-UX uses 'nocompatwarnings' as an option to the compiler. - return 3 if (m/vnocompatwarnings/); - - # SUN CC 5.0 defines __pthread_cleanup_push as a macro which causes - # warnings. See /usr/include/pthread.h and - # $ACE_ROOT/examples/Timer_Queue/Thread_Timer_Queue_Test.cpp for more - # information. - return 0 if (m/in call to __pthread_cleanup_push\(extern/); - - # Look for lines that also should be color coded, but not counted - # as warnings. - return 2 if (/see declaration of/); - - # Look for warnings - - return 1 if ((/warning/i && !/ warning\(s\)/ && !/pragma warning\(s\)/) - || /info: /i - || /^make.*\*\*\*/ - || /^error \(future\)/i); - - if (/^.*\.h: / - || /^.*\.i: / - || /^.*\.inl: / - || /^.*\.cpp: / - || /^.*\.java: /) { - return 1; - } - - # IBM's compilers don't say the word "warning" - check for their code - return 1 if (m/^.*\d+\-\d+:? \(W\)/); - - # didn't find anything - return 0; -} - -# is_error checks for errors. It returns -# 0 = no error -# 1 = error line -# 2 = possible error -# 3 = false errors -sub is_error () -{ - # Look for any errors we should ignore - - # AIX reports a bazillion multiple defines when doing templates; some - # have the word 'error' in the symbol name - ignore those. - return 0 if (m/^ld: \d+\-\d+ WARNING: Duplicate symbol:/); - - # Linux has this annoying mktemp, mkstemp stuff. Ignore that - # for the timebeing - return 0 if (/is dangerous, better use/); - - # Look for lines that also should be color coded, but not counted - # as errors. - return 2 if (/Types pointed to are unrelated/ - || /while compiling class-template/ - || /requires an explicit cast/); - - if (/^.*:[0-9]+: / - && !/^.*:[0-9]+: warning:/) { - return 1; - } - - # AIX linking errors from ld - # But don't report the extra "check the map" message - return 0 if (/^ld: 0711\-345/); - return 1 if (/^ld: \d+\-\d+/); - - # Look for linking errors too - return 1 if (/undefined reference to/ - || /: cannot open/ - || /: multiple definition of/ - || /path name does not exist/); - - # Look for possible errors - return 1 if ((/error/i && !/ error\(s\), / && !/error \(future\)/i) - || /^Fatal\:/ - || /: fatal:/); - - # Again, IBM's compilers speak in code langauge - if (m/.*\d+\-\d+:? \([SI]\)/) { - # Ignore licensing messages - return 3 if (/.*Compilation will proceed shortly./); - return 1; - } - - # didn't find anything - return 0; -} - -sub print_build_header ($$) -{ - my $directory = shift; - my $config = shift; - - print $output "$separator$line_break"; - print $output "$pre_config$directory$post_config$line_break\n"; - print $output "$pre_config$config$post_config$line_break$line_break"; -} - -################################################################################ -sub config_output (@) -{ - if (!$opt_t) { - print $output $separator; - print $output $bookmark_config; - print $output $pre_section_title."Configuration".$post_section_title; - } - - foreach (@_) { - s/</</g if !$opt_p; - s/>/>/g if !$opt_p; - - if (m/^\s*MAKE_PRETTY_COMPILER\:\s*(.*)\s*$/) { - $opt_c = $1; - } - elsif (!$opt_b) { - print $output "$_$line_break"; - } - } -} - -sub cvs_output (@) -{ - my $patched = 0; - my $updated = 0; - my $modified = 0; - my $conflicts = 0; - my $unknown = 0; - - if (!$opt_t) { - print $output $separator; - print $output $bookmark_cvs; - print $output $pre_section_title."CVS".$post_section_title; - } - - foreach (@_) { - my $error = 0; - - ++$patched if (/^P /); - ++$updated if (/^U /); - ++$modified if (/^M /); - ++$conflicts if (/^C /); - ++$unknown if (/^\? /); - - ### Isn't really a conflict, but easiest place to put it. - if (/aborted/i || /cannot access/i || /no such file/i) { - $error = 1; - ++$conflicts; - } - - if ($opt_t) { - } - elsif ($error) { - print $output "$pre_error$_$post_error$line_break"; - } - elsif (/^C /) { - print $output "$pre_error$_$post_error$line_break"; - } - elsif (/^M /) { - print $output "$pre_warning$_$post_warning$line_break"; - } - elsif (!$opt_b) { - print $output "$_$line_break"; - } - } - - print $output $line_break; - print $output "\nCVS Totals: "; - print $output " Patched: $patched Updated:$updated Modified: $modified ". - " Conflicts: $conflicts Unknown: $unknown\n\n$line_break"; -} - -sub compiler_output (@) -{ - makefile_compiler_output (@_) if ($opt_c eq 'makefile'); - msvc_compiler_output (@_) if ($opt_c eq 'msvc'); -} - -sub msvc_compiler_output (@) -{ - my $project = "NULL"; - my $configuration = "NULL"; - my $dsp = "NULL"; - my $first_problem = 1; - my $total_warnings = 0; - my $total_errors = 0; - my $bogus_warnings = 0; - my $bogus_errors = 0; - - if (!$opt_t) { - print $output $separator; - print $output $bookmark_compiler; - print $output $pre_section_title."Compilation".$post_section_title; - } - - foreach (@_) { - s/</</g if !$opt_p; - s/>/>/g if !$opt_p; - - my $is_warning = is_warning (); - my $is_error = is_error (); - - if (/^Auto_compiling (.*)/) { - print $output $separator, $line_break, $pre_config, $_, $post_config, $line_break - if (!$opt_b && !$opt_t); - $dsp = $1; - $first_problem = 1; - } - elsif (/^--------------------Configuration: (.*) - (.*)--------------------/) { - print $output $pre_config.$_.$post_config.$line_break - if (!$opt_b && !$opt_t); - $project = $1; - $configuration = $2; - $first_problem = 1; - } - elsif (/\- (.*) error\(s\)\, (.*) warning\(s\)/) { - my $errors = $1 - $bogus_errors; - my $warnings = $2 - $bogus_warnings; - print $output "$project - $errors error(s), $warnings warnings(s)$line_break\n" - if (!$opt_b || ($opt_t && ($errors > 0 || $warnings > 0))); - $total_errors = $total_errors + $errors; - $total_warnings = $total_warnings + $warnings; - - $bogus_warnings = 0; - $bogus_errors = 0; - } - elsif ($is_error == 3) { - ++$bogus_errors; - } - elsif ($is_error == 2 || $is_error == 1) { - if (!$opt_t) { - print_build_header ($dsp, "$project: $configuration") - if ($first_problem && $opt_b); - $first_problem = 0; - print $output $pre_error, $_, $post_error, $line_break; - } - } - elsif ($is_warning == 3) { - ++$bogus_warnings; - } - elsif ($is_warning == 2 || $is_warning == 1) { - if (!$opt_t) { - print_build_header ($dsp, "$project: $configuration") - if ($first_problem && $opt_b); - $first_problem = 0; - print $output $pre_warning, $_, $post_warning, $line_break; - } - } - else - { - print $output $_, $line_break - if (!$opt_b && !$opt_t); - } - } - print $output $line_break; - print $output "\nCompiler Totals: "; - print $output " Errors: $total_errors Warnings: $total_warnings\n\n$line_break"; -} - -sub makefile_compiler_output (@) -{ - use vars qw/$directory $total_warnings $total_errors/; - use vars qw/$project_warnings $project_errors/; - local $directory = 'NULL'; - my $first_problem = 1; - local $total_warnings = 0; - local $total_errors = 0; - local $project_warnings = 0; - local $project_errors = 0; - - if (!$opt_t) { - print $output $separator; - print $output $bookmark_compiler; - print $output $pre_section_title."Compilation".$post_section_title; - } - - sub print_summary () - { - print $output $_.$line_break if (!$opt_b); - $total_errors = $total_errors + $project_errors; - $total_warnings = $total_warnings + $project_warnings; - $project_errors = 0; - $project_warnings = 0; - $directory = 'NULL'; - } - - sub set_directory ($) - { - my $dir = shift; - - # Strip off the ACE_wrappers stuff - if ($dir =~ /ACE_wrappers\/build\/[^\/]*\/(.*)/) { - $dir = $1; - } - elsif ($dir =~ /ACE_wrappers\/(.*)/) { - $dir = $1; - } - - # Strip of trailing ' - - if ($dir =~ /(.*)\'$/) { - $dir = $1; - } - - $directory = $dir; - } - - foreach (@_) { - s/</</g if !$opt_p; - s/>/>/g if !$opt_p; - - my $is_warning = is_warning (); - my $is_error = is_error (); - - if (/Entering directory (.*)/) { - print_summary () if ($directory ne 'NULL'); - - print $output $pre_config, $1, $post_config, "\n", $line_break - if (!$opt_b && !$opt_t); - set_directory ($1); - $first_problem = 1; - - } - elsif ($is_error == 3) { - # Do Nothing - } - elsif ($is_error == 2 || $is_error == 1) { - if (!$opt_t) { - print_build_header ($directory, "") - if ($first_problem && $opt_b); - $first_problem = 0; - print $output $pre_error, $_, $post_error, $line_break; - } - if ($is_error == 1) { - ++$project_errors; - } - } - elsif ($is_warning == 3) { - # Do Nothing - } - elsif ($is_warning == 2 || $is_warning == 1) { - if (!$opt_t) { - print_build_header ($directory, "") - if ($first_problem && $opt_b); - $first_problem = 0; - print $output $pre_warning, $_, $post_warning, $line_break; - } - if ($is_warning == 1) { - ++$project_warnings; - } - } - else { - print $output $_, $line_break - if (!$opt_b && !$opt_t); - } - } - print_summary () if ($directory ne 'NULL'); - print $output $line_break; - print $output "\nCompiler Totals: "; - print $output " Errors: $total_errors Warnings: $total_warnings\n\n$line_break"; -} - -sub tests_output (@) -{ - use vars qw/$first_problem $run_test $tests_failed/; - local $first_problem = 1; - local $run_test = 'NULL'; - local $tests_failed = 0; - - sub check_result () - { - if ($first_problem == 0) { - if ($opt_t) { - print $output $pre_error."Failure in $run_test\n".$post_error.$line_break; - } - ++$tests_failed; - } - } - - if (!$opt_t) { - print $output $separator; - print $output $bookmark_tests; - print $output $pre_section_title."Tests".$post_section_title; - } - - foreach (@_) { - s/</</g if !$opt_p; - s/>/>/g if !$opt_p; - - if (/auto_run_tests: (.*)/) { - check_result (); - - print $output $pre_config.$1.$post_config."\n".$line_break - if (!$opt_b && !$opt_t); - $run_test = $1; - $first_problem = 1; - } - elsif (m/Error/ - || m/ERROR/ - || m/FAILED/ - || m/EXCEPTION/ - || m/pure virtual /i) { - if (!$opt_t) { - print_build_header ($run_test, "") if ($first_problem && $opt_b); - print $output "$pre_error$_$post_error$line_break"; - } - $first_problem = 0; - } - else - { - print $output "$_$line_break" - if (!$opt_b && !$opt_t); - } - } - check_result (); - - print $output $line_break; - print $output "\nTest Failures: $tests_failed\n\n$line_break"; -} - -############################################################################## -if ($opt_p) { - set_text_output (); -} -else { - set_html_output (); -} - -my @configdata; -my @cvsdata; -my @compiledata; -my @testdata; - -my %statemap = (nowhere => -1, - unknown => -2, - cvsdata => 1, - configdata => 2, - compiledata => 3, - testdata => 4); - -my $state = 0; - -my $endfound = 1; -my $multiplelogs = 0; - -# Read in the input - -while (<$input>) { - if (m/^#################### CVS/) { - $state = %statemap->{cvsdata}; - } - elsif (m/^#################### Config/) { - $state = %statemap->{configdata}; - } - elsif (m/^#################### Compile/) { - $state = %statemap->{compiledata}; - } - elsif (m/^#################### Tests/) { - $state = %statemap->{testdata}; - } - elsif (m/^#################### End/) { - $state = %statemap->{nowhere}; - $endfound++; - } - elsif (m/^####################/) { - $state = %statemap->{unknown}; - } - - # if we find that we are starting a new log in the - # same file, delete the - if ($state != %statemap->{nowhere} && $endfound > 0) { - $endfound = 0; - @cvsdata = (); - @configdata = (); - @compiledata = (); - @testdata = (); - } - - next if (m/^####################/); - - if ($state == %statemap->{cvsdata}) { #CVS - push @cvsdata, $_; - } - elsif ($state == %statemap->{configdata}) { #Config - push @configdata, $_; - } - elsif ($state == %statemap->{compiledata}) { #Compile - push @compiledata, $_; - } - elsif ($state == %statemap->{testdata}) { #Test - push @testdata, $_; - } -} - -print $output $header; -print $output $bookmark_table_header; -print $output $bookmark_table_config if ($#configdata >= 0); -print $output $bookmark_table_cvs if ($#cvsdata >= 0); -print $output $bookmark_table_compiler if ($#compiledata >= 0); -print $output $bookmark_table_tests if ($#testdata >= 0); -print $output $bookmark_table_footer; - -config_output (@configdata) if ($#configdata >= 0); -cvs_output (@cvsdata) ; # CVS Section isn't optional -compiler_output (@compiledata) if ($#compiledata >= 0); -tests_output (@testdata) if ($#testdata >= 0); - -print $output "$line_break\n\n$opt_m\n\n$line_break" if $opt_m; -print $output $trailer; diff --git a/bin/make_release b/bin/make_release deleted file mode 100755 index be18ad2d019..00000000000 --- a/bin/make_release +++ /dev/null @@ -1,903 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' - & eval 'exec perl -S $0 $argv:q' - if 0; - -# $Id$ -# -# Creates an ACE or TAO kit. Intended to be called from the -# ACE or TAO top-level Makefiles. -# -# The first three lines above let this script run without specifying the -# full path to perl, as long as it is in the user's PATH. -# Taken from perlrun man page. - -use strict; -require Cwd; - -my $usage="usage: $0 [-?] [-i] [-g] [-k <kit>] [-n] [-v <version>] " . - "[-ta <ACE tag>] [-tt <TAO tag>] " . - "[-c <controlled files>] [-r <release files>] [-l <release lib files] " . - "[-u] [-z]\n"; -my $long_usage=" -? option prints this message\n" . - " -i to install to public web server directory\n" . - " -g to generate the man pages\n" . - " -k <kit>, where <kit> is ace, tao, or ace+tao\n" . - " -n option prints what would be done, but doesn't do it\n" . - " -v <version>, where <version> is major, minor, or beta (default)\n" . - " -ta <ACE tag>, to specify ACE tag to be use for checkout (export)\n" . - " -tt <TAO tag>, to specify TAO tag to be use for checkout (export)\n" . - " -c <controlled files> lists the CVS-controlled files\n" . - " -r <release files> lists the files to be released\n" . - " -l <release lib files> list the files to put in the lib kit\n" . - " -u to update versions\n" . - " -z to suppress creation of .zip files\n"; - - -######## -######## Sanity checks. -######## -$ENV{'SIGNATURE'} || - die "$0: must set your SIGNATURE environment variable\n"; - -my $which_host = $ENV{'OSTYPE'}; - -my $release_host = substr ($which_host, 0, 5); - -## We are not going to use any Sun boxes for the release anymore.. - -if (! ($release_host eq 'linux')){ - die "$0: You are on the wrong OS, please move to linux box\n"; -} - -my $perl_path = '/usr/bin/perl'; - -&can_run($perl_path.' -V') || - die "$0: perl path is incorrect, please fix the script\n"; - -my $dot_path = '/usr/bin'; -&can_run($dot_path.'/dot -V') || - die "$0: dot path is incorrect, please fix the script\n"; - -my $doxy_path = '/project/deuce/doxygen/bin'; - -my $doxy_version = '1.2.18'; - -&can_run($doxy_path.'/doxygen --version | grep '.$doxy_version.' >/dev/null') || - die "$0: doxygen path or version incorrect, please fix the script\n"; - -$ENV{'PATH'} = $ENV{'PATH'}.':'.$doxy_path; - -my $hostname; -chomp ($hostname = $ENV{'HOSTNAME'} || `uname -n`); -unless ("$hostname" eq 'deuce.doc.wustl.edu') { - #### For efficiency sake . . . - die "$0: must run on host deuce.doc.wustl.edu\n"; -} - - -$ENV{'CVSROOT'} || - die "$0: must set your CVSROOT environment variable\n"; - -$ENV{'ACE_ROOT'} || - die "$0: must set your CVSROOT environment variable\n"; - -######## -######## Configuration parameters. -######## -my $gnu = '/bin'; - -####### Add the path to /bin unconditionally.. - -$ENV{'PATH'} = "$gnu" . ':' . $ENV{'PATH'}; - -### Any tools in /usr/local/bin can also be added. We dont need that -### for deuce.doc -my $gnu2 = '/usr/bin'; - -####### Add the path to /usr/bin unconditionally.. -$ENV{'PATH'} = "$gnu2" . ':' . $ENV{'PATH'}; - -my $export_dir = '/project/deuce/ftp/pub/ACE+TAO-distribution'; -my $old_versions_dir = '/project/deuce/ftp/pub/previous_versions'; -my $diffs_dir = "$export_dir/diffs"; -my $exec_prefix = ''; -my $generate_man_pages = 0; -my $install = 0; -my $kit = ''; -my $release_type = 'beta'; -my $ace_tag = my $tao_tag = ''; -my $controlled_files = my $release_files = my $release_lib_files = ''; -my $release_tag_files = ''; -my $release_filter = '\\( -name CVS -o -name build \\) -prune -o ' . - '! -name \'.\#*\' ! -name \'\#*\' ! -name \'*~\' ' . - '! -name \'*.MAK\' -print'; -my $update_versions = 0; -my $create_zips = 1; - - -######## -######## Process command line args. -######## -while ($#ARGV >= $[ && $ARGV[0] =~ /^-/) { - if ($ARGV[0] eq '-i') { - $install = 1; - } elsif ($ARGV[0] eq '-g') { - $generate_man_pages = 0; - } elsif ($ARGV[0] eq '-k') { - if ($ARGV[1] =~ /^[^-]+/ && - ($ARGV[1] eq 'ace' || $ARGV[1] eq 'tao' || $ARGV[1] eq 'ace+tao')) { - $kit = $ARGV[1]; shift; - } else { - print STDERR "$0: must provide argument for -k option\n"; - die "$usage$long_usage"; - } - } elsif ($ARGV[0] eq '-n') { - $exec_prefix = 'echo '; - } elsif ($ARGV[0] eq '-v') { - if ($ARGV[1] =~ /^[^-]+/ && - ($ARGV[1] eq 'major' || $ARGV[1] eq 'minor' || - $ARGV[1] eq 'beta')) { - $release_type = $ARGV[1]; shift; - } else { - print STDERR "$0: must provide argument for -v option\n"; - die "$usage$long_usage"; - } - } elsif ($ARGV[0] eq '-ta') { - if ($ARGV[1] =~ /^[^-]+/) { - $ace_tag = $ARGV[1]; shift; - } else { - print STDERR "$0: must provide argument for -ta option\n"; - die "$usage$long_usage"; - } - } elsif ($ARGV[0] eq '-tt') { - if ($ARGV[1] =~ /^[^-]+/) { - $tao_tag = $ARGV[1]; shift; - } else { - print STDERR "$0: must provide argument for -tt option\n"; - die "$usage$long_usage"; - } - } elsif ($ARGV[0] eq '-c') { - if ($ARGV[1] =~ /^[^-]+/) { - $controlled_files = $ARGV[1]; shift; - } else { - print STDERR "$0: must provide argument for -c option\n"; - die "$usage$long_usage"; - } - } elsif ($ARGV[0] eq '-r') { - if ($ARGV[1] =~ /^[^-]+/) { - $release_files = $ARGV[1]; shift; - } else { - print STDERR "$0: must provide argument for -r option\n"; - die "$usage$long_usage"; - } - } elsif ($ARGV[0] eq '-l') { - if ($ARGV[1] =~ /^[^-]+/) { - $release_lib_files = $ARGV[1]; shift; - } else { - print STDERR "$0: must provide argument for -l option\n"; - die "$usage$long_usage"; - } - } elsif ($ARGV[0] eq '-u') { - $update_versions = 1; - } elsif ($ARGV[0] eq '-z') { - $create_zips = 0; - } elsif ($ARGV[0] eq '-?') { - print "$usage$long_usage"; - exit; - } else { - print STDERR "$0: unknown option $ARGV[0]\n"; - die "$usage$long_usage"; - } - shift; - -} - -die "$0: must specify a -k option\n" unless "$kit"; -my $KIT; -if ($kit eq 'ace') { - $KIT = 'ACE'; -} elsif ($kit eq 'tao') { - $KIT = 'TAO'; -} else { - #### Creating combined ACE+TAO kit. Don't use $KIT. -}; - -my $chmod = 'chmod'; -# All of them had gnu suffixes. Removed them.. -my $chgrp = 'chgrp'; -my $cpio = 'cpio'; -my $cvs = 'cvs'; -my $date = 'date'; -my $egrep = 'egrep'; -my $find = 'find'; -my $gzip = 'gzip'; -my $bzip2 = 'bzip2'; -my $make = 'make -s'; -my $mv = 'mv -f'; -my $rm = 'rm -f'; -my $cp = 'cp -f'; -my $md5sum = 'md5sum'; -chop (my $now = `$date +"%a %b %d %T %Y"`); - -unless ("$controlled_files") { - chomp ($controlled_files = `$make show_controlled_files`); -} - -unless ("$release_files") { - chomp ($release_files = `$make show_release_files`); -} - -unless ("$release_lib_files") { - chomp ($release_lib_files = `$make show_release_lib_files`); -} - -unless ("$release_tag_files") { - chomp ($release_tag_files = `$make show_release_tag_files`); -} - -######## -######## Setup signal handlers. -######## -my $status = 1; #### Must get set to 0 explicitly to indicate success. -$SIG{'HUP'} = $SIG{'INT'} = $SIG{'QUIT'} = $SIG{'TERM'} = 'cleanup'; - - -######## -######## Defend against fascist umasks. -######## -umask 022; - - -my $major_version = my $minor_version = my $beta_version = 0; -my $previous_version = my $version = ''; -my $ace_version = ''; - -######## -######## Main execution thread. -######## -if ($update_versions && "$kit" ne 'ace+tao') { - #### Update versions and tag, but don't create the kit. - - $status = - &check_workspace () || - &get_versions () || - &update_version_files () || - &update_changelog () || - &tag (); -} else { - #### Create the kit. - - #### If a tag was specified, export using the tag from a staging area. - #### If not, create a kit from the current directory. - my $stage_dir = '..'; - if ("$ace_tag" || "$tao_tag") { - $stage_dir = "/tmp/ACE_wrappers_stage-$$/"; - unless ("$exec_prefix") { - mkdir "$stage_dir", 0755 || - die "$0: unable to mkdir $stage_dir\n"; - } - } - - if ("$exec_prefix") { - print "chdir $stage_dir\n"; - } else { - chdir $stage_dir || die "$0: unable to chdir $stage_dir\n"; - } - - if ("$ace_tag") { - &ex ("$cvs -q export -r$ace_tag -kv ACE_wrappers > /dev/null") && - die "$0: failed cvs export of $ace_tag in $stage_dir\n"; - unless ("$exec_prefix") { - mkdir "ACE_wrappers/man", 0755 || - die "$0: unable to mkdir $stage_dir/ACE_wrappers/man\n"; - mkdir "ACE_wrappers/man/man3", 0755 || - die "$0: unable to mkdir $stage_dir/ACE_wrappers/man/man3\n"; - } - if ($generate_man_pages) { - &ex ("cd ACE_wrappers && bin/generate_doxygen.pl -is_release -exclude_tao -perl_path $perl_path -dot_path $dot_path") - && die "$0: failed to generate ACE man pages in $stage_dir\n"; - -## DONT generate the windex database on Linux. Things get screwed. -## &ex ("cd ACE_wrappers/man && catman -w -M .") -## && die "$0: failed to generate man page index in $stage_dir\n"; - } - &ex ("cd ACE_wrappers && $make ACE-INSTALL") && - die "$0: failed make ACE-INSTALL in $stage_dir/ACE_wrappers\n"; - } - - if ("$tao_tag") { - &ex ("$cvs -q export -r$tao_tag -kv ACE_wrappers/TAO > /dev/null") && - die "$0: failed cvs export of $tao_tag in $stage_dir\n"; - &ex ("cd ACE_wrappers/TAO && $make INSTALL orbsvcs/README") && - die "$0: failed make INSTALL TAO/orbsvcs/README in " . - "$stage_dir/ACE_wrappers/TAO\n"; - - if ($generate_man_pages) { - &ex ("cd ACE_wrappers && bin/generate_doxygen.pl -is_release -exclude_ace -perl_path $perl_path -dot_path $dot_path") - && die "$0: failed to generate TAO man pages in $stage_dir\n"; - } - } - - $status = &generate_makefiles (); - if ($status != 0) { - die "$0: failed to generate makefiles\n"; - } - - $status = &create_kit (); - - if (! $status && $install) { - if ("$ace_tag") { - my $major_v = 0; - my $minor_v = 0; - my $beta_v = 0; - if ($ace_tag =~ /(\d+)_(\d+)_(\d+)/o) { - my $major_v = $1; - my $minor_v = $2; - my $beta_v = $3; - - ## There is a small problem here and was reported by Don - ## Hinton<don@gmx.net> . The problem is that - ## $previous_version = "$major_v.$minor_v.$previous_beta"; - ## // and hence if $previous_beta == 0 then the current beta - ## == 1 and so $previous_version == "X.Y.0" - ## &diff ('ACE_wrappers', "ACE-$previous_version", "$ace_tag"); - ## // so "ACE-$previous_version" == "ACE-X.Y.0" - ## Which gets sent to cvs as "ACE-X_Y_0" but since the real - ## tag is "ACE-X_Y", rdiff doesn't find anything. This problem - ## needs fixing. Will fix this when we get time. - - #### $previous_version is used by diff (). - if ($beta_v > 0) { - my $previous_beta = $beta_v - 1; - $previous_version = "$major_v.$minor_v.$previous_beta"; - - &diff ('ACE_wrappers', "ACE-$previous_version", "$ace_tag"); - } - } - } - - if ("$tao_tag") { - my $major_v = 0; - my $minor_v = 0; - my $beta_v = 0; - if ($tao_tag =~ /(\d+)_(\d+)_(\d+)/o) { - my $major_v = $1; - my $minor_v = $2; - my $beta_v = $3; - - #### $previous_version is used by diff (). - if ($beta_v > 0) { - my $previous_beta = $beta_v - 1; - $previous_version = "$major_v.$minor_v.$previous_beta"; - - &diff ('ACE_wrappers/TAO', "TAO-$previous_version", "$tao_tag"); - } - } - } - } - - if ("$ace_tag" || "$tao_tag") { - if ($install) { - chdir ".."; - &ex ("$rm -r $stage_dir") && - warn "$0: failed to remove $stage_dir\n"; - } else { - warn "$0: kits are in $stage_dir\n"; - } - } -} -&cleanup; - - -######## -######## Clean up when done or on signal. -######## -sub cleanup { - exit $status; -} - - -######## -######## Check that the workspace is up-to-date, if releasing from -######## the official release directory. -######## -sub check_workspace () { - my $module; - - if ($kit =~ /^ace/) { - chdir '..' || die "$0: unable to chdir ..\n"; - $module = 'ACE_wrappers'; - } elsif ($kit =~ /tao/) { - chdir '../..' || die "$0: unable to chdir ../..\n"; - $module = 'ACE_wrappers/TAO'; - } - - my @out_of_date = (); - open (CVS, "$cvs -nq checkout -P $module 2>&1 |") || - die "$0: unable to open $cvs\n"; - while (<CVS>) { - next if m%^U %; #### Allow others to update the repository. - next if m%^cvs server: New directory `.*' -- ignored$%; #### empty dirs. - next if m%^\? ACE_wrappers/include/makeinclude/platform_macros.GNU$%; - next if m%^\? ACE_wrappers/ace/config.h$%; - - push (@out_of_date, $_) if "$_"; - } - close CVS; - - if ($kit =~ /^ace/) { - chdir 'ACE_wrappers' || die "$0: unable to chdir ACE_wrappers\n"; - } elsif ($kit =~ /tao/) { - chdir 'ACE_wrappers/TAO' || die "$0: unable to chdir ACE_wrappers/TAO\n"; - } - - if (@out_of_date) { - warn "ERROR: workspace must be updated (with cvs -q up -d) or " . - "cleaned:\n " . - join ("\n ", @out_of_date) . "\n"; - return 1; - } - - 0; -} - - -######## -######## Retrieve version information from VERSION file(s). -######## -sub get_versions () { - open (VERSION, '< VERSION') || - die "$0: unable to open VERSION\n"; - while (<VERSION>) { - if (/$KIT version (\d+)\.(\d+)\.(\d+)/o) { - $major_version = $1; - $minor_version = $2; - $beta_version = $3; - last; - } elsif (/$KIT version (\d+)\.(\d+)[^\.]/o) { - #### Previous release was a minor. - $major_version = $1; - $minor_version = $2; - last; - } elsif (/$KIT version (\d+)[^\.]/o) { - #### Previous release was a major. - $major_version = $1; - last; - } - } - close VERSION; - - if ($release_type eq 'beta') { - ++$beta_version; - } elsif ($release_type eq 'minor' ) { - $beta_version = 0; - ++$minor_version; - } elsif ($release_type eq 'major' ) { - $minor_version = $beta_version = 0; - ++$major_version; - } - - # How much of redundancy in code thinking that we will do ACE+TAO - # releases seperately! - if ($release_type eq 'beta') { - $version = "$major_version.$minor_version.$beta_version"; - } elsif ($release_type eq 'minor' ) { - $version = "$major_version.$minor_version"; - } - - print "new $KIT version: $version\n"; - - if ($kit =~ /tao/) { - my $ace_major_version = my $ace_minor_version = my $ace_beta_version = 0; - open (ACE_VERSION, '< ../VERSION') || - die "$0: unable to open ../VERSION\n"; - while (<ACE_VERSION>) { - if (/ACE version (\d+)\.(\d+)\.(\d+)/o) { - $ace_major_version = $1; - $ace_minor_version = $2; - $ace_beta_version = $3; - last; - } elsif (/ACE version (\d+)\.(\d+)[^\.]/o) { - #### ACE release was a minor. - $ace_major_version = $1; - $ace_minor_version = $2; - last; - } elsif (/ACE version (\d+)[^\.]/o) { - #### ACE release was a major. - $ace_major_version = $1; - last; - } - } - close ACE_VERSION; - - if ($release_type eq 'beta') { - $ace_version = "$ace_major_version.$ace_minor_version.$ace_beta_version"; - } elsif ($release_type eq 'minor' ) { - $ace_version = "$ace_major_version.$ace_minor_version"; - } - - } - - 0; -} - - -######## -######## Update VERSION file(s). -######## -sub update_version_files () { - &ex ("perl -pi -e " . - "'s/$KIT version .*/$KIT version $version, released $now./' VERSION"); - return 1 if $? >> 8; - - &ex ("perl -pi -e 's/$KIT VERSION:.*/$KIT VERSION: $version/' " . - "PROBLEM-REPORT-FORM"); - return 1 if $? >> 8; - - if ($kit =~ /^tao/) { - &ex ("perl -pi -e 's/ACE VERSION:.*/ACE VERSION: $ace_version/' " . - "PROBLEM-REPORT-FORM"); - return 1 if $? >> 8; - - if ("$exec_prefix") { - print "TAO version ${major_version}.${minor_version}.${beta_version}\n"; - } else { - &ex ("perl -pi -e 's/version =.*/version = $version/' " . - "../bin/MakeProjectCreator/config/taoversion.mpb"); - return 1 if $? >> 8; - - open (TAO_VERSION_H, "> tao/Version.h") || - die "$0: unable to open tao/Version.h\n"; - - print TAO_VERSION_H - "// \$Id\$\n" . - "// This is an automatically generated file.\n\n" . - "\#define TAO_MAJOR_VERSION ${major_version}\n" . - "\#define TAO_MINOR_VERSION ${minor_version}\n" . - "\#define TAO_BETA_VERSION ${beta_version}\n" . - "\#define TAO_VERSION \"${version}\"\n"; - - close TAO_VERSION_H; - } - } - - if ($kit =~ /^ace/) { - if ("$exec_prefix") { - print "ACE version ${major_version}.${minor_version}.${beta_version}\n"; - } else { - &ex ("perl -pi -e 's/version =.*/version = $version/' " . - "bin/MakeProjectCreator/config/aceversion.mpb"); - return 1 if $? >> 8; - - open (ACE_VERSION_H, "> ace/Version.h") || - die "$0: unable to open ace/Version.h\n"; - - print ACE_VERSION_H - "// \$Id\$\n" . - "// This is an automatically generated file.\n\n" . - "\#define ACE_MAJOR_VERSION ${major_version}\n" . - "\#define ACE_MINOR_VERSION ${minor_version}\n" . - "\#define ACE_BETA_VERSION ${beta_version}\n" . - "\#define ACE_VERSION \"${version}\"\n"; - - close ACE_VERSION_H; - } - } - - 0; -} - - -######## -######## Add ChangeLog entries, and make sure that they have proper -######## permissions. -######## -sub update_changelog () { - my $logname = $ENV{'LOGNAME'}; - if (! "$logname") { - chop ($logname = `/usr/ucb/whoami`); - } - my $signature = $ENV{'SIGNATURE'} || $logname; - my $message = "$now $signature <$logname\@cs.wustl.edu>\n\n" . - " * $KIT version $version released.\n\n"; - - if ("$exec_prefix") { - print "Adding to ChangeLog: \n", $message, "\n"; - return 0; - } - open (NEW_CHANGELOG, ">ChangeLog.bak") - || return 1; - open (CHANGELOG, "ChangeLog") - || return 1; - print NEW_CHANGELOG $message; - while (<CHANGELOG>) { - print NEW_CHANGELOG $_; - } - close (CHANGELOG) - || return 1; - close (NEW_CHANGELOG) - || return 1; - rename "ChangeLog.bak", "ChangeLog" - || return 1; - - my $version_h = $kit =~ /^ace/ ? 'ace/Version.h' : 'TAO/tao/Version.h'; - my $version_mpb = $kit =~ /^ace/ ? 'bin/MakeProjectCreator/config/aceversion.mpb' : 'bin/MakeProjectCreator/config/taoversion.mpb'; - -# Incase you are wondering what is all this about. We are trying to -# commit from ACE_wrappers and hence the mess. Why not commit from TAO -# and make lives simpler. Sorry it wouldnt work for taoversion.mpb! -# Using "cvs commit ../file" is not acceptable to CVS and is known bug -# from 1.10.X versions. Hence this maze of things. - - my $ch_pos = $kit=~ /^tao/ ? 1 : 0; - - if ("$ch_pos") { - &ex ("cd ..; $cvs commit -m'$version' " . - "TAO/VERSION TAO/PROBLEM-REPORT-FORM TAO/ChangeLog $version_h $version_mpb && " . - "chmod 0644 VERSION PROBLEM-REPORT-FORM ChangeLog $version_h $version_mpb; " . - "chgrp doc VERSION PROBLEM-REPORT-FORM ChangeLog $version_h $version_mpb"); - } else { - &ex ("$cvs commit -m'$version' " . - "VERSION PROBLEM-REPORT-FORM ChangeLog $version_h $version_mpb &&" . - "chmod 0644 VERSION PROBLEM-REPORT-FORM ChangeLog $version_h $version_mpb; " . - "chgrp doc VERSION PROBLEM-REPORT-FORM ChangeLog $version_h $version_mpb"); - } - - return 1 if $? >> 8; - - 0; -} - - -######## -######## Tag the release. -######## -sub tag () { - my $tag = "$KIT-$version"; - #### cvs tag does not allow dots. - $tag =~ tr/./_/; - - print "start tagging $tag\n"; - if ($KIT eq "TAO") { - chdir ".."; - } - &ex ("$cvs -q tag $tag $controlled_files $release_tag_files > /dev/null"); - if ($KIT eq "TAO") { - chdir "TAO"; - } - return 1 if $? >> 8; - print "finished tagging $tag\n"; - - 0; -} - - -######## -######## If building a beta, create a diff from the previous version. -######## -sub diff () { - my ($module, $previous_tag, $tag) = @_; - - if ("$previous_version") { - #### Only create a diff for a beta version. - - #### cvs tag does not allow dots. - $previous_tag =~ tr/./_/; - $tag =~ tr/./_/; - - &ex ("nice -15 $cvs -q rdiff -u -r $previous_tag -r $tag " . - "$module 2>/dev/null | " . - "nice -15 sed 's%ACE_wrappers-repository/%ACE_wrappers/%g' | " . - "nice -15 $gzip -9 > $diffs_dir/$previous_tag-$tag.diff.gz") - if -d "$diffs_dir"; - } - - #### Ignore return value. No promises on diffs. - 0; -} - - -######## -######## Generate Makefiles and workspace/project files. -######## -sub generate_makefiles () { - if ($kit =~ /^ace/) { - # At this point, the only mwc/mpc files are in ace and tests. When more - # are available, this needs to be updated, maybe by cycling through - # all non-TAO directories looking for mwc (or mpc?) files. - # - # The current ACE_ROOT setting is where this script started from, not - # the staging area we want to generate files in. So, we need to - # specifically set the -relative option on mwc to replace ACE_ROOT - # correctly in generated files. - # - # Need todo a common chmod on the file lists! - my $here = Cwd::getcwd(); - &ex ("cd ACE_wrappers/ace; \ - ../bin/mwc.pl -type vc7 -relative ACE_ROOT=$here/ACE_wrappers ace.mwc;\ - ../bin/mwc.pl -type em3 -relative ACE_ROOT=$here/ACE_wrappers ace.mwc;\ - chmod 0644 *.vcproj *.vcp *.sln *.vcw"); - &ex ("cd ACE_wrappers/tests; \ - ../bin/mwc.pl -type vc7 -relative ACE_ROOT=$here/ACE_wrappers tests.mwc;\ - ../bin/mwc.pl -type em3 -relative ACE_ROOT=$here/ACE_wrappers tests.mwc;\ - chmod 0644 *.vcproj *.vcp *.sln *.vcw"); - } - if ($kit =~ /^tao/) { - # A TAO-knowledgable person needs to decide what, if anything, is to be - # done here. - 0; - } -} - - -######## -######## Create the tar file(s) and move to their proper location. -######## -sub create_kit () { - - #### Create kits with group write permission. - umask 002; - - my $dest = $install ? "$export_dir" : 'created'; - my $dispose = $install ? "$mv" : 'echo'; - my $checksum = $install ? "$md5sum" : 'echo'; - my $cksum_ext = 'md5'; - my $redirect = $install ? '>' : '\>'; - my $shell_cd = $install ? 'cd' : 'echo cd'; - - (my $local_ace_tag = $ace_tag) =~ s|_|.|g; - (my $local_tao_tag = $tao_tag) =~ s|_|.|g; - - # These files don't get LF->CRLF conversions done when making the zip. - my $bin_files = - "\"\\.dsp|\\.dsw|\\.mak|\\.mdp|\\.ide|\\.exe\|\\.ico\|\\.gz\|\\.zip\|" . - "\\.gif|\\.vcp|\\.vcproj|\\.vcw|\\.sln\""; - - my $build_command; - my $archives; - - ##### @@ DISABLED UNTIL READY FOR GENERAL USE -- Ossama - ## Temporary ACE+autoconf hack to bootstrap autoconf support into - ## ACE distribution. - #&ex("cd ACE_wrappers && bin/bootstrap"); - - if ($kit eq 'ace' || $kit eq 'ace+tao') { - - if ($create_zips) { - $build_command = - "$rm ACE.zip ACE-lib.zip; " . - "$find $release_files $release_filter | $egrep $bin_files | " . - "zip ACE.zip -q9@ &&" . - "$find $release_files $release_filter | $egrep -v $bin_files | " . - "zip ACE.zip -qlg9@ &&" . - "$find $release_lib_files $release_filter | $egrep $bin_files | " . - "zip ACE-lib.zip -q9@ &&" . - "$find $release_lib_files $release_filter | $egrep -v $bin_files | " . - "zip ACE-lib.zip -qlg9@ &&" . - "$find $release_files $release_filter | $cpio -o -H ustar | " . - "$gzip -9 > ACE.tar.gz && " . - "$find $release_files $release_filter | $cpio -o -H ustar | " . - "$bzip2 > ACE.tar.bz2 && " . - "$find $release_lib_files $release_filter | $cpio -o -H ustar | " . - "$gzip -9 > ACE-lib.tar.gz && " . - "$find $release_lib_files $release_filter | $cpio -o -H ustar | " . - "$bzip2 > ACE-lib.tar.bz2 && " . - "$chmod 664 ACE.tar.gz ACE-lib.tar.gz ACE.tar.bz2 ACE-lib.tar.bz2 ". - "ACE.zip ACE-lib.zip && " . - "$chgrp doc ACE.tar.gz ACE-lib.tar.gz ACE.tar.bz2 ACE-lib.tar.bz2 ". - "ACE.zip ACE-lib.zip && " . - "$dispose ACE.zip ACE-lib.zip $dest && " . - "$dispose ACE.tar.gz ACE-lib.tar.gz ACE.tar.bz2 ACE-lib.tar.bz2 $dest && " . - "$cp $dest/ACE.zip $old_versions_dir/$local_ace_tag.zip &&". - "$cp $dest/ACE-lib.zip $old_versions_dir/$local_ace_tag-lib.zip &&". - "$cp $dest/ACE.tar.gz $old_versions_dir/$local_ace_tag.tar.gz &&". - "$cp $dest/ACE-lib.tar.gz $old_versions_dir/$local_ace_tag-lib.tar.gz &&". - "$cp $dest/ACE.tar.bz2 $old_versions_dir/$local_ace_tag.tar.bz2 &&". - "$cp $dest/ACE-lib.tar.bz2 $old_versions_dir/$local_ace_tag-lib.tar.bz2;"; - $archives = " ACE.tar.gz ACE-lib.tar.gz ". - "ACE.zip ACE-lib.zip ACE.tar.bz2 ACE-lib.tar.bz2 "; - } else { - $build_command = - "$find $release_files $release_filter | $cpio -o -H ustar | " . - "$gzip -9 > ACE.tar.gz && " . - "$find $release_lib_files $release_filter | $cpio -o -H ustar | " . - "$gzip -9 > ACE-lib.tar.gz && " . - "$find ACE_wrappers/html $release_filter | $cpio -o -H tar | " . - "$gzip -9 > ACE-html.tar.gz && ". - "$chmod 664 ACE.tar.gz ACE-lib.tar.gz ACE-html.tar.gz && " . - "$chgrp doc ACE.tar.gz ACE-lib.tar.gz ACE-html.tar.gz && " . - "$dispose ACE.tar.gz ACE-lib.tar.gz ACE-html.tar.gz $dest && ". - "$cp $dest/ACE.tar.gz $old_versions_dir/$local_ace_tag.tar.gz &&". - "$cp $dest/ACE-lib.tar.gz $old_versions_dir/$local_ace_tag-lib.tar.gz &&". - "$cp $dest/ACE-html.tar.gz $old_versions_dir/ACE-$local_ace_tag-html.tar.gz &&". - "$cp $dest/ACE.tar.bz2 $old_versions_dir/ACE-$local_ace_tag.tar.bz2 &&". - "$cp $dest/ACE-lib.tar.bz2 $old_versions_dir/ACE-$local_ace_tag-lib.tar.bz2 &&". - "$cp $dest/ACE-html.tar.bz2 $old_versions_dir/ACE-$local_ace_tag-html.tar.bz2; "; - $archives = " ACE.tar.gz ACE.tar.bz2 ACE-lib.tar.gz ACE-html.tar.gz ACE-html.bz2"; - } - } - - if ($kit eq 'ace+tao') { - $release_files .= ' ACE_wrappers/TAO'; - - if ($create_zips) { - $build_command .= - "$rm ACE+TAO.zip; " . - "$find $release_files $release_filter | $egrep $bin_files | " . - "zip ACE+TAO.zip -q9@ &&" . - "$find $release_files $release_filter | $egrep -v $bin_files | " . - "zip ACE+TAO.zip -qlg9@ &&" . - "$find $release_files $release_filter | $cpio -o -H ustar | " . - "$gzip -9 > ACE+TAO.tar.gz && " . - "$find $release_files $release_filter | $cpio -o -H ustar | " . - "$bzip2 > ACE+TAO.tar.bz2 && " . - "$chmod 664 ACE+TAO.tar.gz ACE+TAO.zip ACE+TAO.tar.bz2 && " . - "$chgrp doc ACE+TAO.tar.gz ACE+TAO.zip ACE+TAO.tar.bz2 && " . - "$dispose ACE+TAO.tar.gz ACE+TAO.zip ACE+TAO.tar.bz2 $dest &&" . - "$cp $dest/ACE+TAO.zip $old_versions_dir/$local_ace_tag+$local_tao_tag.zip &&". - "$cp $dest/ACE+TAO.tar.gz $old_versions_dir/$local_ace_tag+$local_tao_tag.tar.gz &&". - "$cp $dest/ACE+TAO.tar.bz2 $old_versions_dir/$local_ace_tag+$local_tao_tag.tar.bz2; "; - $archives .= " ACE+TAO.tar.gz ACE+TAO.zip ACE+TAO.tar.bz2 "; - } else { - $build_command .= - "$find $release_files $release_filter | $cpio -o -H ustar | " . - "$gzip -9 > ACE+TAO.tar.gz && " . - "$find $release_files $release_filter | $cpio -o -H ustar | " . - "$bzip2 > ACE+TAO.tar.bz2 && " . - "$chmod 664 ACE+TAO.tar.gz && " . - "$chmod 664 ACE+TAO.tar.bz2 && " . - "$chgrp doc ACE+TAO.tar.gz && " . - "$chgrp doc ACE+TAO.tar.bz2 && " . - "$dispose ACE+TAO.tar.gz ACE+TAO.tar.bz2 $dest &&" . - "$cp $dest/ACE+TAO.tar.gz $old_versions_dir/$local_ace_tag+$local_tao_tag.tar.gz &&" . - "$cp $dest/ACE+TAO.tar.bz2 $old_versions_dir/$local_ace_tag+$local_tao_tag.tar.bz2; "; - $archives .= " ACE+TAO.tar.gz ACE+TAO.tar.bz2 "; - } - } - - # The "$dest/\$p" is going to look a bit funny if the release isn't - # being installed in the FTP directory since it will expand to - # `created/ACE.tar.gz', for example. No big deal, I guess. - my $checksum_command = - "$shell_cd $dest; " . - "for p in $archives; do " . - "$rm \${p}.${cksum_ext}; " . - "$checksum \$p $redirect \${p}.${cksum_ext}; " . - "done"; - - &ex ($build_command); - &ex ($checksum_command); -} - - -######## -######## Execute a command, unless -n had been specified. Return value -######## of 0 indicates success. -######## -sub ex () -{ - my ($command) = @_; - - if ("$exec_prefix") { - print $command . "\n"; - 0; - } else { - system ("$command"); - } -} - -######## -######## Verify that a command can be executed, return 1 on sucess -######## -sub can_run { - my $command = shift; - - open (RUN, "$command 2>&1 |") - || return 0; - while (<RUN>) {} - close(RUN) - || return 0; - return 1; -} - - diff --git a/bin/mpc.pl b/bin/mpc.pl deleted file mode 100755 index b4f4cd37241..00000000000 --- a/bin/mpc.pl +++ /dev/null @@ -1,98 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' - & eval 'exec perl -S $0 $argv:q' - if 0; - -# ****************************************************************** -# Author: Chad Elliott -# Date: 6/17/2002 -# $Id$ -# ****************************************************************** - -# ****************************************************************** -# Pragma Section -# ****************************************************************** - -use strict; -use Cwd; -use File::Basename; - -my($basePath) = getExecutePath($0) . "/MakeProjectCreator"; -unshift(@INC, $basePath . "/modules"); - -require Driver; - -# ************************************************************ -# Data Section -# ************************************************************ - -my(@creators) = ('GNUACEProjectCreator', - 'NMakeProjectCreator', - 'VC6ProjectCreator', - 'VC7ProjectCreator', - 'BorlandProjectCreator', - 'GHSProjectCreator', - 'EM3ProjectCreator', - 'VA4ProjectCreator', - 'MakeProjectCreator', - ); - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub which { - my($prog) = shift; - my($exec) = "$prog"; - my($part) = ""; - my($isWin) = ($^O eq "MSWin32"); - my($envSep) = ($isWin ? ";" : ":"); - - if (defined $ENV{'PATH'}) { - foreach $part (split(/$envSep/, $ENV{'PATH'})) { - $part .= "/$prog"; - if ( -x $part ) { - $exec = $part; - last; - } - } - } - - return $exec; -} - - -sub getExecutePath { - my($prog) = shift; - my($loc) = ""; - - if ($prog ne basename($prog)) { - if ($prog =~ /^[\/\\]/ || - $prog =~ /^[A-Za-z]:[\/\\]?/) { - $loc = dirname($prog); - } - else { - $loc = getcwd() . "/" . dirname($prog); - } - } - else { - $loc = dirname(which($prog)); - } - - if ($loc eq ".") { - $loc = getcwd(); - } - - if ($loc ne "") { - $loc .= "/"; - } - - return $loc; -} - - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -my($driver) = new Driver($basePath, basename($0), @creators); -exit($driver->run(@ARGV)); diff --git a/bin/msvc_auto_compile.pl b/bin/msvc_auto_compile.pl deleted file mode 100755 index abafef8529b..00000000000 --- a/bin/msvc_auto_compile.pl +++ /dev/null @@ -1,356 +0,0 @@ -# $Id$ -# Win32 auto_compile script. - -use File::Find; -use Cwd; - -if (!$ENV{ACE_ROOT}) { - $ACE_ROOT = getcwd ()."\\"; - warn "ACE_ROOT not defined, defaulting to ACE_ROOT=$ACE_ROOT"; -} -else { - $ACE_ROOT = $ENV{ACE_ROOT}; -} - -@directories = (); - -@ace_dirs = ("$ACE_ROOT\\ace", - "$ACE_ROOT\\ACEXML\\common", - "$ACE_ROOT\\ACEXML\\parser", - "$ACE_ROOT\\ACEXML\\apps", - "$ACE_ROOT\\ACEXML\\tests", - "$ACE_ROOT\\ACEXML\\examples", - "$ACE_ROOT\\apps", - "$ACE_ROOT\\ASNMP", - "$ACE_ROOT\\examples", - "$ACE_ROOT\\netsvcs", - "$ACE_ROOT\\performance-tests", - "$ACE_ROOT\\tests", - "$ACE_ROOT\\websvcs"); - -$debug = 0; -$verbose = 0; -$print_status = 0; -$Ignore_errors = 0; # By default, bail out if an error occurs. -$Build_DLL = 0; -$Build_LIB = 0; -$Build_Debug = 0; -$Build_Release = 0; -$Build_All = 1; -$build_core_only = 0; -$Build_Cmd = "/BUILD"; -$use_custom_dir = 0; -$useenv = ''; - -# Find_dsp will search a directory for *.dsp files and return a list -# of strings that include the project name and the configuration -sub Find_dsp (@) -{ - my (@dir) = @_; - @array = (); - my @config_array = (); - - # wanted is only used for the File::Find - sub wanted - { - $array[++$#array] = $File::Find::name if ($File::Find::name =~ /\.dsp$/i); - } - - # get_config grabs the configurations out of a dsp file. - sub get_config ($) - { - my ($file) = @_; - my @configs = (); - - print "Looking at $file\n" if ($verbose); - - open (DSP, "< $file") || die $!; - - while (<DSP>) - { - push @configs, $1 if (/# Name \"([^\"]+)\"/); - } - - close (DSP); - return @configs; - } - - unshift @dir, (\&wanted); - - find @dir; - - for ($i = 0; $i <= $#array; ++$i) { - my $filename = "$array[$i]"; - - $filename =~ s@/./@/@g; - $filename =~ s@/@\\@g; - my @dsp_configs = get_config ($array[$i]); - - for ($j = 0; $j <= $#dsp_configs; ++$j) { - push @config_array, "$filename--$dsp_configs[$j]"; - } - } - - return @config_array; -} - - -# Build_Config takes in a string of the type "project--configuration" and -# runs msdev to build it. -sub Build_Config ($) -{ - my ($arg) = @_; - my ($project, $config) = split /--/, $arg; - - return Build ($project, $config); -} - -# Build -sub Build ($$) -{ - my ($project, $config) = @_; - - if ($debug == 1) { - print "$project\n"; - return 0; - } - else { - print "Auto_compiling $project : $config\n"; - - print "Building $project $config\n" if $verbose; - - return system ("msdev.com $project /MAKE \"$config\" $Build_Cmd $useenv"); - } -} - -# Only builds the core libraries. -sub Build_Core () -{ - print STDERR "Building Core of ACE/TAO\n" if ($print_status == 1); - print "Building Core of ACE/TAO\n" if ($verbose == 1); - - print "Build \n" if ($verbose); - print "Debug " if ($verbose) && ($Build_Debug); - print "Release " if ($verbose) && ($Build_Release); - print "DLL " if ($verbose) && ($Build_DLL); - print "LIB " if ($verbose) && ($Build_LIB); - print "\n" if ($verbose); - - my @core_list = (); - - if ($Build_DLL) { - @core_list = ($ACE_ROOT."\\TAO\\TAOACE.dsw"); - - foreach $c (@core_list) { - if ($Build_Debug) { - $Status = Build ($c, "ALL - Win32 Debug"); - return if $Status != 0 && !$Ignore_errors; - } - if ($Build_Release) { - $Status = Build ($c, "ALL - Win32 Release"); - return if $Status != 0 && !$Ignore_errors; - } - } - } - if ($Build_LIB) { - @core_list = ($ACE_ROOT."\\ace\\ace_lib.dsp", - $ACE_ROOT."\\apps\\gperf\\src\\gperf.dsp", - $ACE_ROOT."\\TAO\\TAO_IDL\\TAO_IDL_BE_LIB.dsp", - $ACE_ROOT."\\TAO\\TAO_IDL\\TAO_IDL_FE_LIB.dsp", - $ACE_ROOT."\\TAO\\TAO_IDL\\tao_idl_static.dsp", - $ACE_ROOT."\\TAO\\tao\\TAO_Static.dsp", - $ACE_ROOT."\\TAO\\tao\\PortableServer\\TAO_PortableServer_Static.dsp", - $ACE_ROOT."\\TAO\\tao\\DynamicAny\\TAO_DynamicAny_Static.dsp", - $ACE_ROOT."\\TAO\\tao\\IORManipulation\\TAO_IORManip_Static.dsp", - $ACE_ROOT."\\TAO\\tao\\IORTable\\TAO_IORTable_Static.dsp", - $ACE_ROOT."\\TAO\\tao\\Messaging\\TAO_Messaging_Static.dsp", - $ACE_ROOT."\\TAO\\tao\\Strategies\\TAO_Strategies_Static.dsp", - $ACE_ROOT."\\TAO\\tao\\RTCORBA\\TAO_RTCORBA_Static.dsp", - $ACE_ROOT."\\TAO\\tao\\RTPortableServer\\TAO_RTPortableServer_Static.dsp", - $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\Svc_Utils_Static.dsp", - $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\CosNaming_Static.dsp", - $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\CosProperty_Static.dsp", - $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\CosTrading_Static.dsp", - $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\AV_Static.dsp", - $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\RTEvent_Static.dsp", - $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\RTSched_Static.dsp", - $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\RTSchedEvent_Static.dsp", - $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\RTOLDEvent_Static.dsp", - $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\CosEvent_Static.dsp", - $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\CosConcurrency_Static.dsp", - $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\CosLifeCycle_Static.dsp", - $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\CosTime_Static.dsp", - $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\DsLogAdmin_Static.dsp", - $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\CosNotification_Static.dsp", - $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\PortableGroup_Static.dsp", - $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\CosLoadBalancing_Static.dsp", - $ACE_ROOT."\\TAO\\orbsvcs\\Naming_Service\\Naming_Server_static.dsp"); - - foreach $c (@core_list) { - if ($Build_Debug) { - $Status = Build ($c, "ALL - Win32 Static Debug"); - return if $Status != 0 && !$Ignore_errors; - } - if ($Build_Release) { - $Status = Build ($c, "ALL - Win32 Static Release"); - return if $Status != 0 && !$Ignore_errors; - } - } - } -} - -sub Build_All () -{ - my @configurations = Find_dsp (@directories); - - print STDERR "First pass (libraries)\n" if ($print_status == 1); - print "\nmsvc_auto_compile: First Pass (libraries)\n"; - - foreach $c (@configurations) { - if ($Build_All - || ($Build_DLL && $Build_Debug && $c =~ /Win32 Debug/) - || ($Build_DLL && $Build_Release && $c =~ /Win32 Release/) - || ($Build_LIB && $Build_Debug && $c =~ /Win32 Static Debug/) - || ($Build_LIB && $Build_Release && $c =~ /Win32 Static Release/)) - { - my $Status = 0; - $Status = Build_Config ($c) - if (($c =~ /Library/) || ($c =~ / DLL /) || ($c =~ / LIB /)); - return if ($Status != 0 && !$Ignore_errors); - } - } - - - print STDERR "Second pass \n" if ($print_status == 1); - print "\nmsvc_auto_compile: Second Pass\n"; - - $count = 0; - foreach $c (@configurations) { - print STDERR "Configuration ".$count++." of ".$#configurations."\n" if ($print_status == 1); - Build_Config ($c) - if (($Build_DLL && $Build_Debug && $c =~ /Win32 Debug/) - || ($Build_DLL && $Build_Release && $c =~ /Win32 Release/) - || ($Build_LIB && $Build_Debug && $c =~ /Win32 Static Debug/) - || ($Build_LIB && $Build_Release && $c =~ /Win32 Static Release/)); - } -} - - -## Parse command line argument -while ( $#ARGV >= 0 && $ARGV[0] =~ /^(-|\/)/ ) -{ - if ($ARGV[0] =~ '-k') { # Ignore errors - print "Ignore errors\n" if ( $verbose ); - $Ignore_errors = 1; - } - elsif ($ARGV[0] =~ /^-d$/i) { # debug - $debug = 1; - } - elsif ($ARGV[0] =~ '-v') { # verbose mode - $verbose = 1; - } - elsif ($ARGV[0] =~ '-s') { # status messages - $print_status = 1; - } - elsif ($ARGV[0] =~ '-u') { # USEENV - print "Using Environment\n" if ($verbose); - $useenv = '/USEENV'; - } - elsif ($ARGV[0] =~ '-CORE') { # Build the core of ace/tao - print "Building only Core\n" if ( $verbose ); - $build_core_only = 1; - } - elsif ($ARGV[0] =~ '-ACE') { # Build ACE and its programs - print "Building ACE\n" if ( $verbose ); - $use_custom_dir = 1; - push @directories, @ace_dirs; - } - elsif ($ARGV[0] =~ '-TAO') { # Build TAO and its programs - print "Building TAO\n" if ( $verbose ); - $use_custom_dir = 1; - push @directories, ("$ACE_ROOT\\TAO"); - } - elsif ($ARGV[0] =~ '-dir') { # Compile only a specific directory - shift; - print "Adding directory $ARGV[0]\n" if ( $verbose ); - $use_custom_dir = 1; - push @directories, $ARGV[0]; - } - elsif ($ARGV[0] =~ '-rebuild') { # Rebuild all - print "Rebuild all\n" if ( $verbose ); - $Build_Cmd = "/REBUILD"; - } - elsif ($ARGV[0] =~ '-clean') { # Clean - print "Cleaning all\n" if ( $verbose ); - $Build_Cmd = "/CLEAN"; - } - elsif ($ARGV[0] =~ '-Debug') { # Debug versions - print "Building Debug Version\n" if ( $verbose ); - $Build_Debug = 1; - $Build_All = 0; - } - elsif ($ARGV[0] =~ '-Release') { # Release versions - print "Building Release Version\n" if ( $verbose ); - $Build_Release = 1; - $Build_All = 0; - } - elsif ($ARGV[0] =~ '-DLL') { # Build DLL only - print "Build DLL only\n" if ( $verbose ); - $Build_DLL = 1; - $Build_All = 0; - } - elsif ($ARGV[0] =~ '-LIB') { # Build LIB only - print "Build LIB only\n" if ( $verbose ); - $Build_LIB = 1; - $Build_All = 0; - } - elsif ($ARGV[0] =~ '-(\?|h)') { # Help information - print "Options\n"; - print "-d = Debug (only print out projects)\n"; - print "-k = Ignore Errors\n"; - print "-v = Script verbose Mode\n"; - print "-s = Print status messages to STDERR\n"; - print "-u = Tell MSVC to use the environment\n"; - print "\n"; - print "-CORE = Build the Core libraries\n"; - print "-ACE = Build ACE and its programs\n"; - print "-TAO = Build TAO and its programs\n"; - print "-dir <dir> = Compile custom directories\n"; - print "\n"; - print "-rebuild = Rebuild All\n"; - print "-clean = Clean\n"; - print "-Debug = Compile Debug versions\n"; - print "-Release = Compile Release versions\n"; - print "-DLL = Comple DLL Configurations\n"; - print "-LIB = Comple LIB Configurations\n"; - exit; - } - else { - warn "$0: unknown option $ARGV[0]\n"; - die -1; - } - shift; -} - -if (!$Build_DLL && !$Build_LIB) { - $Build_DLL = 1; - $Build_LIB = 1; -} - -if (!$Build_Debug && !$Build_Release) { - $Build_Debug = 1; - $Build_Release = 1; -} - -if ($#directories < 0) { - @directories = ($ACE_ROOT); -} - -print "msvc_auto_compile: Begin\n"; -print STDERR "Beginning Core Build\n" if ($print_status == 1); -Build_Core if (!$use_custom_dir || $build_core_only); -print STDERR "Beginning Full Build\n" if ($print_status == 1); -Build_All if !$build_core_only; - -print "msvc_auto_compile: End\n"; -print STDERR "End\n" if ($print_status == 1); diff --git a/bin/mwc.pl b/bin/mwc.pl deleted file mode 100755 index 8560dfe1836..00000000000 --- a/bin/mwc.pl +++ /dev/null @@ -1,98 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' - & eval 'exec perl -S $0 $argv:q' - if 0; - -# ****************************************************************** -# Author: Chad Elliott -# Date: 6/17/2002 -# $Id$ -# ****************************************************************** - -# ****************************************************************** -# Pragma Section -# ****************************************************************** - -use strict; -use Cwd; -use File::Basename; - -my($basePath) = getExecutePath($0) . "/MakeProjectCreator"; -unshift(@INC, $basePath . "/modules"); - -require Driver; - -# ************************************************************ -# Data Section -# ************************************************************ - -my(@creators) = ('GNUACEWorkspaceCreator', - 'NMakeWorkspaceCreator', - 'VC6WorkspaceCreator', - 'VC7WorkspaceCreator', - 'BorlandWorkspaceCreator', - 'GHSWorkspaceCreator', - 'EM3WorkspaceCreator', - 'VA4WorkspaceCreator', - 'MakeWorkspaceCreator', - ); - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub which { - my($prog) = shift; - my($exec) = "$prog"; - my($part) = ""; - my($isWin) = ($^O eq "MSWin32"); - my($envSep) = ($isWin ? ";" : ":"); - - if (defined $ENV{'PATH'}) { - foreach $part (split(/$envSep/, $ENV{'PATH'})) { - $part .= "/$prog"; - if ( -x $part ) { - $exec = $part; - last; - } - } - } - - return $exec; -} - - -sub getExecutePath { - my($prog) = shift; - my($loc) = ""; - - if ($prog ne basename($prog)) { - if ($prog =~ /^[\/\\]/ || - $prog =~ /^[A-Za-z]:[\/\\]?/) { - $loc = dirname($prog); - } - else { - $loc = getcwd() . "/" . dirname($prog); - } - } - else { - $loc = dirname(which($prog)); - } - - if ($loc eq ".") { - $loc = getcwd(); - } - - if ($loc ne "") { - $loc .= "/"; - } - - return $loc; -} - - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -my($driver) = new Driver($basePath, basename($0), @creators); -exit($driver->run(@ARGV)); diff --git a/bin/nightlybuilds/builds.lst b/bin/nightlybuilds/builds.lst deleted file mode 100644 index a1224341204..00000000000 --- a/bin/nightlybuilds/builds.lst +++ /dev/null @@ -1,97 +0,0 @@ -# -# $Id$ -# -# This is a listing of the web directories and the builds contained in -# them. -# -# Each entry starts with the name in brackets such as [build_name]. -# The name cannot contain spaces. -# -# Then several properties that can be used: -# -# LIST = URL for the directory of build logs (required) -# WEB = Link to a build specific page for the builds -# STATUS = URL to a page that contains build status info -# GROUP = Name of the group that the build belongs in -# MANUAL = URL to someplace that can start the build -# ORANGE = Number of hours until timestamp turns orange (default: 24) -# RED = Number of hours until timestamp turns red (default: 48) -# - -#[Win2000_DLL_Core] -#LIST = http://tao.doc.wustl.edu/bugzilla/Core/ -#WEB = http://tao.doc.wustl.edu/bugzilla/cgi/show_log_dir.pl?core -#STATUS = http://tao.doc.wustl.edu/bugzilla/core/status.txt - -#[Win2000_DLL_Debug] -#LIST = http://tao.doc.wustl.edu/bugzilla/DLL_Debug/ -#WEB = http://tao.doc.wustl.edu/bugzilla/cgi/show_log_dir.pl?dll_debug -#STATUS = http://tao.doc.wustl.edu/bugzilla/DLL_Debug/status.txt - -#[WinXP_DLL_Release] -#LIST = http://tao.doc.wustl.edu/bugzilla/DLL_Release/ -#WEB = http://tao.doc.wustl.edu/bugzilla/cgi/show_log_dir.pl?dll_release -#STATUS = http://tao.doc.wustl.edu/bugzilla/DLL_Release/status.txt - -#[Win2000_Borland] -#LIST = http://tao.doc.wustl.edu/bugzilla/Borland/ -#WEB = http://tao.doc.wustl.edu/bugzilla/cgi/show_log_dir.pl?borland -#STATUS = http://tao.doc.wustl.edu/bugzilla/Borland/status.txt - -#[Win2000_Borland_Wchar] -#LIST = http://tao.doc.wustl.edu/bugzilla/Borland_Wchar/ -#WEB = http://tao.doc.wustl.edu/bugzilla/cgi/show_log_dir.pl?borland_wchar -#STATUS = http://tao.doc.wustl.edu/bugzilla/Borland_Wchar/status.txt - -#[Win2000_Fuzz] -#LIST = http://tao.doc.wustl.edu/bugzilla/Fuzz/ -#WEB = http://tao.doc.wustl.edu/bugzilla/cgi/show_log_dir.pl?fuzz -#STATUS = http://tao.doc.wustl.edu/bugzilla/Fuzz/status.txt - -#[Win2000_WChar_Unicode] -#LIST = http://tao.doc.wustl.edu/bugzilla/Unicode/ -#WEB = http://tao.doc.wustl.edu/bugzilla/cgi/show_log_dir.pl?unicode -#STATUS = http://tao.doc.wustl.edu/bugzilla/Unicode/status.txt - -#[Win2000_WChar] -#LIST = http://tao.doc.wustl.edu/bugzilla/wchar/ -#WEB = http://tao.doc.wustl.edu/bugzilla/cgi/show_log_dir.pl?wchar -#STATUS = http://tao.doc.wustl.edu/bugzilla/wchar/status.txt - -# Temporarily disabled -#[Tru64_4.0f_CXX_63] -#LIST = http://spe121.mro-x.dec.com/~buildlog/auto_compile_logs/spe121.mro-x.dec.com_Tru64_CXX/ -#WEB = http://spe121.mro-x.dec.com/cgi-bin/show_log_dir.cgi?spe121_Tru64_CXX -#GROUP = External - -# Temporarily disabled -#[VxWorks_5.4_GCC] -#LIST = http://prince.ociweb.com/buildlogs/auto_compile_logs/maggie_VXWORKS_GCC/ -#WEB = http://prince.ociweb.com/buildlogs/show_log_dir.cgi?maggie_VXWORKS_GCC -#GROUP = External - -# Temporarily disabled -#[Chorus_4.0.1_GCC] -#LIST = http://prince.ociweb.com/buildlogs/auto_compile_logs/lisa_CHORUS_4_0_1_GCC/ -#WEB = http://prince.ociweb.com/buildlogs/show_log_dir.cgi?lisa_CHORUS_4_0_1_GCC -#GROUP = External - -# Temporarily disabled -#[HPUX_ACC] -#LIST = http://prince.ociweb.com/buildlogs/auto_compile_logs/herb_HPUX_ACC/ -#WEB = http://prince.ociweb.com/buildlogs/show_log_dir.cgi?herb_HPUX_ACC -#GROUP = External - -# Commented out for the timebeing -#[AIX_VAC] -#LIST = http://prince.ociweb.com/buildlogs/auto_compile_logs/tripoli_AIX_VAC/ -#WEB = http://prince.ociweb.com/buildlogs/show_log_dir.cgi?tripoli_AIX_VAC -#GROUP = External - -#[Lynx_I386] -#LIST = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/danzon_LYNX_I386/ -#WEB = http://ace.cs.wustl.edu/~bugzilla/cgi-bin/show_log_dir.cgi?danzon_LYNX_I386 -#STATUS = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/danzon_LYNX_I386/status.txt - -ORANGE = 48 -RED = 72 diff --git a/bin/nightlybuilds/clean_logs.pl b/bin/nightlybuilds/clean_logs.pl deleted file mode 100755 index c31ee0c88f0..00000000000 --- a/bin/nightlybuilds/clean_logs.pl +++ /dev/null @@ -1,73 +0,0 @@ -# $Id$ - -# The purpose of this script is to clean out a log directory that -# is used usually with the scoreboard and show_log_dir stuff. - -use DirHandle; - -$keptlogs = 20; -$debug = 0; - -while ($#ARGV >= 0) -{ - if ($ARGV[0] =~ m/^-debug/i) { - $debug = 1; - } - elsif ($ARGV[0] =~ m/^-keptlogs/i) { - $keptlogs = $ARGV[1]; - shift; - } - elsif ($ARGV[0] =~ m/^-(\?|h)/i) { # Help information - print "clean_logs.pl [-debug] [-keptlogs <num>] (dirs...)\n"; - print "\n"; - print "Cleans out directories of YYYY_MM_DD_HH_MM logs\n"; - print "\n"; - print "Options\n"; - print "-debug - Do not delete, just print\n"; - print "-keptlogs <num> - Delete all but <num> sets of logs (default:20)\n"; - exit; - } - elsif ($ARGV[0] =~ m/^-/) { - warn "$0: unknown option $ARGV[0]\n"; - exit 1; - } - else { - my $dir = $ARGV[0]; - $dir =~ s/\\/\//g; - push @dirs, $dir; - } - shift; -} - -if (!defined @dirs) { - push @dirs , "."; -} - -foreach $dir (@dirs) { - my @existing; - $d = new DirHandle ($dir); - - if (defined $d) { - while (defined($_ = $d->read)) { - if ($_ =~ m/^(....)_(..)_(..)_(..)_(..)/) { - push @existing, $dir . '/' . $_; - } - } - undef $d; - } - - @existing = reverse sort @existing; - - for ($i = 0; $i < $keptlogs; ++$i) { - shift @existing; - shift @existing; - shift @existing; - } - - foreach my $file (@existing) { - print " Removing $file\n"; - if ($debug == 0) { - unlink $file; - } - } -} diff --git a/bin/nightlybuilds/pace.lst b/bin/nightlybuilds/pace.lst deleted file mode 100644 index cbbef091cb2..00000000000 --- a/bin/nightlybuilds/pace.lst +++ /dev/null @@ -1,20 +0,0 @@ -# This is a listing of the web directories and the builds contained in -# them. -# The types used are: -# - WIN32 - This is the naming style used by Darrell's scripts -# where there are 3 files per build and Build_MMDD_HHMM.txt -# or Build_MMDD.txt -# - UNIX - This is the naming style used by Carlos's scripts, where -# they are named Build_MonDD_YYYY.txt or .log -# - TIMEONLY - This is new naming scheme which is in the format -# YYYY_MM_DD_HH_MM.txt - -[Win32_DLL_Debug] -TYPE = TIMEONLY -LIST = http://tao.doc.wustl.edu/bugzilla/DLL_Debug/ -WEB = http://tao.doc.wustl.edu/bugzilla/cgi/show_log_dir.pl?dll_debug - -[SunOS_EGCS] -TYPE = TIMEONLY -LIST = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/danzon_SUNOS_EGCS/ -WEB = http://ace.cs.wustl.edu/~bugzilla/cgi-bin/show_log_dir.cgi?danzon_SUNOS_EGCS diff --git a/bin/nightlybuilds/print_config.pl b/bin/nightlybuilds/print_config.pl deleted file mode 100644 index 68a685b94b4..00000000000 --- a/bin/nightlybuilds/print_config.pl +++ /dev/null @@ -1,76 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' - & eval 'exec perl -S $0 $argv:q' - if 0; - -# -# @file print_config.pl -# -# $Id$ -# -# @author Darrell Brunsch <brunsch@doc.ece.uci.edu> -# -# Print out the build configuration, i.e. the contents of the config.h -# file, the latest ChangeLog entries and (if present) the -# platform_macros.GNU file. -# - -use strict; -use FileHandle; - -############################################################################## - -sub print_file ($$) -{ - my $filename = shift; - my $printall = shift; - - my $filehandle = new FileHandle ($filename, "r"); - - while (<$filehandle>) { - print $_; - - last if ($printall == 0); - } -} - -############################################################################## - -if ($#ARGV < 0) { - print STDERR "Not enough arguments, pass in ACEROOT\n"; - exit 1; -} - -my $root = shift @ARGV; - -# convert to forward slash -$root =~ s/\\/\//g; - -# chop off trailing slash -if ($root =~ m/^(.*)\/$/) { - $root = $1; -} - -# last ACE Changelog Entry - -if (-r "$root/ChangeLog") { - print "================ ACE ChangeLog ================\n"; - print_file ("$root/ChangeLog", 0); -} - -# last TAO Changelog Entry -if (-r "$root/TAO/ChangeLog") { - print "================ TAO ChangeLog ================\n"; - print_file ("$root/TAO/ChangeLog", 0); -} - -# config.h, if it exists -if (-r "$root/ace/config.h") { - print "================ config.h ================\n"; - print_file ("$root/ace/config.h", 1); -} - -# platform_macros.GNU, if it exists -if (-r "$root/include/makeinclude/platform_macros.GNU") { - print "================ platform_macros.GNU ================\n"; - print_file ("$root/include/makeinclude/platform_macros.GNU", 1); -} diff --git a/bin/nightlybuilds/scoreboard_update.pl b/bin/nightlybuilds/scoreboard_update.pl deleted file mode 100755 index 44b075eea3c..00000000000 --- a/bin/nightlybuilds/scoreboard_update.pl +++ /dev/null @@ -1,981 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' - & eval 'exec perl -S $0 $argv:q' - if 0; - -# $Id$ - -use Getopt::Std; -use strict; -use English; -use FileHandle; -use File::Path; -use LWP::UserAgent; -use Time::Local; - -############################################################################### -# Big bad variables - -# %builds->{$name}->{GROUP} <- Group this build is in -# ->{LATEST_FILE} <- The filename of the latest build -# ->{LATEST_TIME} <- The timestamp of the latest build -# ->{LIST_LINK} <- Link to use to download builds from -# ->{WEB_LINK} <- Link to use for directing to all logs -# ->{STATUS_LINK} <- Link to grab the build status from -# ->{MANUAL_LINK} <- Link to use to manually start a build -# ->{ORANGE_TIME} <- Number of hours before build turns orange -# ->{RED_TIME} <- Number of hours before build turns red -# ->{STATUS} <- Results of query of status link - -my %builds; - -# %groups->{$name} <- list of builds for $name - -my %groups; - -my @nogroup; - -my $orange_default = 24; -my $red_default = 48; - -############################################################################### -# -# load_build_list -# -# Reads the list of builds from a file -# -# Arguments: $ - file to read -# $ - report flag -# -# Returns: Nothing -# -############################################################################### -sub load_build_list ($$) -{ - my $file = shift; - my $report = shift; - my @latest = (); - - print "Loading Build List\n"; - - my $filehandle = new FileHandle; - - unless ($filehandle->open ("<$file")) { - warn 'Cannot open: ', $file, ' ', $_; - return; - }; - - my @data = <$filehandle>; - - $filehandle->close (); - - my $buildname = undef ; - - foreach (@data) { - chomp; - - # Skip blank lines and comments - if (m/^\s*$/) { next; }; - if (m/^\#/) { next; } - - # Remove trailing and leading spaces - s/^\s*//; - s/\s*$//; - - if (m/\[(.*)\]/) { - $buildname = $1; - - # $todo: Could probably check for other bad character (\:) here - - if (defined %builds->{$buildname}) { - print "ERROR: Build [$buildname] redefined, skipping\n"; - $buildname = undef; - } - elsif ($buildname =~ m/\s/) { - print "ERROR: Name [$buildname] contains spaces, skipping\n"; - $buildname = undef; - } - - next; - } - - if (defined $buildname) { - if (m/^\s*TYPE\s*=\s*(.*)/) { - print "WARNING: TYPE is deprecated\n"; - } - if (m/^\s*GROUP\s*=\s*(.*)/) { - %builds->{$buildname}->{GROUP} = $1; - } - if (m/^\s*LIST\s*=\s*(.*)/) { - %builds->{$buildname}->{LIST_LINK} = $1; - } - if (m/^\s*ORANGE\s*=\s*(.*)/) { - %builds->{$buildname}->{ORANGE_TIME} = $1; - } - if (m/^\s*RED\s*=\s*(.*)/) { - %builds->{$buildname}->{RED_TIME} = $1; - } - - if (!$report) { - if (m/^\s*WEB\s*=\s*(.*)/) { - %builds->{$buildname}->{WEB_LINK} = $1; - } - if (m/^\s*STATUS\s*=\s*(.*)/) { - %builds->{$buildname}->{STATUS_LINK} = $1; - } - if (m/^\s*MANUAL\s*=\s*(.*)/) { - %builds->{$buildname}->{MANUAL_LINK} = $1; - } - } - } - } -} - -############################################################################### -# -# build_group_hash -# -# Looks at all the groups specified and collects the builds together -# -# Arguments: Nothing -# -# Returns: Nothing -# -############################################################################### -sub build_group_hash () -{ - print "Grouping builds\n"; - - foreach my $buildname (keys %builds) { - if (defined %builds->{$buildname}->{GROUP}) { - push @{%groups->{%builds->{$buildname}->{GROUP}}}, $buildname; - } - else { - push @nogroup, $buildname; - } - } -} - - - -############################################################################### -# -# query_latest -# -# Queries the web servers to figure out the latest build available and saves -# the list in LATEST_FILE and LATEST_TIME -# -# Arguments: Nothing -# -# Returns: Nothing -# -############################################################################### -sub query_latest () -{ - print "Getting file lists\n"; - - foreach my $buildname (keys %builds) { - my @files = load_web_dir (%builds->{$buildname}->{LIST_LINK}); - - my $latest_time= 0; - my $latest_file = ""; - - foreach my $file (@files) { - if ($file =~ m/(....)_(..)_(..)_(..)_(..)\.txt/) { - my $time = scalar ($1.$2.$3.$4.$5); - - if ($time > $latest_time) { - $latest_time = $time; - $latest_file = $file; - } - } - elsif ($file =~ m/\Q$buildname\E\_(...)(..)_(....)\.txt/) { - my %mon = ('Jan' => 1, 'Feb' => 2, 'Mar' => 3, - 'Apr' => 4, 'May' => 5, 'Jun' => 6, - 'Jul' => 7, 'Aug' => 8, 'Sep' => 9, - 'Oct' => 10, 'Nov' => 11, 'Dec' => 12); - - my $time = scalar (sprintf ('%0.4s%0.2s%0.2s0000', $3, $mon{$1}, $2)); - - if ($time > $latest_time) { - $latest_time = $time; - $latest_file = $file; - } - } - elsif ($file =~ m/\Q$buildname\E\_(....)_(....)\.txt/) { - - my $time = scalar ("2001".$1.$2); - - if ($time > $latest_time) { - $latest_time = $time; - $latest_file = $file; - } - } - elsif ($file =~ m/\Q$buildname\E\_(....)\.txt/) { - my $time = scalar ("2001".$1."0000"); - - if ($time > $latest_time) { - $latest_time = $time; - $latest_file = $file; - } - } - } - - # Save the latest results - if ($latest_time > 0) { - %builds->{$buildname}->{LATEST_FILE} = $latest_file; - %builds->{$buildname}->{LATEST_TIME} = $latest_time; - } - } -} - - -############################################################################### -# -# query_status -# -# Queries the status links to figure out the latest status and stores in -# STATUS -# -# Arguments: Nothing -# -# Returns: Nothing -# -############################################################################### -sub query_status () -{ - print "Getting status messages\n"; - - foreach my $buildname (keys %builds) { - my $link = %builds->{$buildname}->{STATUS_LINK}; - if (defined $link) { - print " Status [$buildname] from $link\n"; - - my $ua = LWP::UserAgent->new; - - ### We are impatient, so don't wait more than 20 seconds for a - ### response (the default was 180 seconds) - $ua->timeout(20); - - my $request = HTTP::Request->new('GET', $link); - my $response = $ua->request($request); - - if (!$response->is_success ()) { - print " ERROR: Could not load status\n"; - next; - } - - my @contents = split /\n/, $response->content (); - - ### Now look for files - - foreach my $line (@contents) { - if ($line =~ m/SCOREBOARD_STATUS\:(.*)$/) { - %builds->{$buildname}->{STATUS} = $1; - } - } - } - } -} - - - -############################################################################### -# -# load_web_dir -# -# Loads the listing from a web resource, works with both Apache and IIS. -# -# Arguments: $ - The URI of the directory on the web -# -# Returns: @ - Listing of the files in that directory -# -############################################################################### -sub load_web_dir ($) -{ - my $address = shift; - my $web_dir = ''; - my @files = (); - - print " Loading list from $address\n"; - - ### Split web_dir up a bit - - if ($address =~ m/^http:\/\/[\w.]*(.*)/) { - $web_dir = $1; - } - else { - warn "load_web_dir (): Badly formed http address"; - return (); - } - - ### Request the web dir page - - my $ua = LWP::UserAgent->new; - - ### We are impatient, so don't wait more than 20 seconds for a - ### response (the default was 180 seconds) - $ua->timeout(20); - - my $request = HTTP::Request->new('GET', $address); - my $response = $ua->request($request); - - if (!$response->is_success ()) { - print " ERROR: Could not load web dir\n"; - return (); - } - - ### Pull out the contents based on the server type - - my $content = $response->content (); - my $server = $response->server (); - - if ($server =~ m/Microsoft-IIS/) { - - ### split it up based on \n and <BR> and <P> - - $content =~ s/<BR>/\n/gi; - $content =~ s/<P>/\n/gi; - my @contents = split /\n/, $content; - - ### Now look for files - - foreach my $line (@contents) { - if ($line =~ m/\"$web_dir([^\"\/]*)\"/) { - push (@files, $1); - } - } - } - elsif ($server =~ m/Apache/ || $server =~ m/Boa/) { - my @contents = split /\n/, $content; - - ### Now look for files - foreach my $line (@contents) { - if ($line =~ m/A HREF=\"([^\"\/\?]*)\"/i) { - push (@files, $1); - } - } - } - else { - warn 'load_web_dir (): Unrecognized server: '.$server; - } - - return @files; -} - - -############################################################################### -# -# decode_timestamp -# -# Decodes a YYYYMMDDHHMM timestamp -# -# Arguments: $ - encoded timestamp -# -# Returns: $ - timestamp description -# -############################################################################### -sub decode_timestamp ($) -{ - my $timestamp = shift; - my $description = ''; - - if ($timestamp =~ m/(....)(..)(..)(..)(..)/) { - my %mon = ( 1 => 'Jan', 2 => 'Feb', 3 => 'Mar', - 4 => 'Apr', 5 => 'May', 6 => 'Jun', - 7 => 'Jul', 8 => 'Aug', 9 => 'Sep', - 10 => 'Oct', 11 => 'Nov', 12 => 'Dec'); - $description = - sprintf ('%s %s, %s - %s:%s', $mon{int ($2)}, $3, $1, $4, $5); - - } - else { - warn 'Unable to decode time'; - $description = 'Unknown Time'; - } - - return $description; -} - -############################################################################### -# -# update_cache -# -# Updates the local cache -# -# Arguments: $ - directory to place files in -# -# Returns: Nothing -# -############################################################################### -sub update_cache ($) -{ - my $directory = shift; - - print "Updating Local Cache\n"; - - if (!-w $directory) { - warn "Cannot write to $directory"; - return; - } - - foreach my $buildname (keys %builds) { - ### Check to see if we had problems. If there is no latest time, - ### we had problems downloading. - if (!defined %builds->{$buildname}->{LATEST_TIME}) { - next; - } - - my $time = %builds->{$buildname}->{LATEST_TIME}; - my $oldtime = ''; - my $address = %builds->{$buildname}->{LIST_LINK} . "/" . %builds->{$buildname}->{LATEST_FILE}; - - my $filename = $buildname.'_'.$time.'.txt'; - - print " Looking at $buildname\n"; - - mkpath "$directory/$buildname"; - - if (! -r "$directory/$buildname/$filename") { - print " Downloading\n"; - my $ua = LWP::UserAgent->new; - my $request = HTTP::Request->new('GET', $address); - my $response = $ua->request($request, "$directory/$buildname/$filename"); - - if (!$response->is_success ()) { - print "WARNING: Unable to download $address\n"; - return; - } - } - - my @existing = glob ($directory . '/' . $buildname - . '/' . $buildname . '_*'); - - @existing = reverse sort @existing; - - # shift off the ones we want to keep - shift @existing; # for now, just the current one - - foreach my $file (@existing) { - print " Removing $file\n"; - unlink $file; - - } - } -} - - -############################################################################### -# -# timestamp_color -# -# Decodes a YYYYMMDDHHMM timestamp and figures out the color -# -# Arguments: $ - encoded timestamp -# $ - orange hours -# $ - red hours -# -# Returns: $ - color -# -############################################################################### -sub timestamp_color ($$$) -{ - my $timestamp = shift; - my $orange = shift; - my $red = shift; - - if ($timestamp =~ m/(....)(..)(..)(..)(..)/) { - my $buildtime = timegm (0, $5, $4, $3, $2 - 1, $1); - - my $nowtime = timegm (gmtime ()); - - if ($nowtime - $buildtime > (60 * 60 * $red)) { - return 'red'; - } - - if ($nowtime - $buildtime > (60 * 60 * $orange)) { - return 'orange'; - } - - return 'white' - } - - warn 'Unable to decode time'; - - return 'gray'; -} - - -############################################################################### -# -# determine_type -# -# Figures out whether a log is msvc or makefile -# -# Arguments: $ - log file -# -# Returns: Nothing -# -############################################################################### -sub determine_type ($) -{ - my $file = shift; - my $msvc = 0; - - my $log = new FileHandle; - - unless ($log->open ("<$file")) { - warn 'Error: Could not open '.$file.' '.$_; - return 'makefile'; - } - - while (<$log>) { - if (m/^--------------------Configuration/) { - $msvc = 1; - last; - } - } - $log->close (); - - if ($msvc == 1) { - return 'msvc'; - } - else { - return 'makefile'; - } -} - - -############################################################################### -# -# get_color -# -# Returns a color based on errors/warnings -# -# Arguments: $ - input file -# $ - Total type (cvs/compiler/tests) -# -# Returns: Nothing -# -############################################################################### -sub get_color ($$) -{ - my $file = shift; - my $type = shift; - - my $errors = 0; - my $warnings = 0; - my $found = 0; - - my $results = new FileHandle; - - unless ($results->open ("<$file")) { - print STDERR 'Error: Could not open '.$file.": $!\n"; - return 'gray'; - } - - while (<$results>) { - if ($type eq 'cvs') { - if (m/^CVS Totals.*Modified:(.*) Conflicts:(.*) Unknown/) { - $found = 1; - $errors += $2; - $warnings += $1; - } - } - elsif ($type eq 'compiler') { - if (m/Compiler Totals: Errors:(.*) Warnings:(.*)/) { - $found = 1; - $errors += $1; - $warnings += $2; - } - } - elsif ($type eq 'tests') { - if (m/Test Failures:(.*)/) { - $found = 1; - $errors += $1; - } - } - } - $results->close (); - - if ($errors > 0) { - return 'red'; - } - elsif ($warnings > 0) { - return 'orange'; - } - elsif ($found == 1) { - return 'lime'; - } - else { - return 'white'; - } -} - - -############################################################################### -# -# found_section -# -# Returns 1 if the file contains a section -# -# Arguments: $ - input file -# $ - type (config) -# -# Returns: Nothing -# -############################################################################### -sub found_section ($$) -{ - my $file = shift; - my $type = shift; - - my $found = 0; - - my $results = new FileHandle; - - unless ($results->open ("<$file")) { - print STDERR 'Error: Could not open '.$file.": $!\n"; - return 0; - } - - while (<$results>) { - if ($type eq 'config') { - if (m/#config/) { - $found = 1; - last; - } - } - } - $results->close (); - - return $found; -} - - - -############################################################################### -# -# update_html -# -# Runs make_pretty on a bunch of files and creates an index.html -# -# Arguments: $ - directory -# $ - make_pretty script -# -# Returns: Nothing -# -############################################################################### -sub update_html ($$) -{ - my $dir = shift; - my $script = shift; - my $filename = "$dir/index.html"; - - my $indexhtml = new FileHandle; - - print "Generating Scoreboard\n"; - - unless ($indexhtml->open (">$filename")) { - warn 'Could not create file: '.$filename." ".$_; - return; - } - - ### Print Header - - print $indexhtml "<HTML>\n<HEAD>\n<TITLE>Build Scoreboard</TITLE>\n</HEAD>\n"; - - ### Start body - - print $indexhtml "<BODY bgcolor=white>\n<H1>Build Scoreboard</H1>\n<HR>\n"; - - ### Print link to new scoreboard - - print $indexhtml "<h2>Most nightly builds have been moved to the "; - print $indexhtml "<A HREF=\"http://doc.ece.uci.edu/scoreboard\">New "; - print $indexhtml "Scoreboard</A>. Don't forget to check it out.</h2><HR>\n"; - - ### Print tables (first the empty one) - - update_html_table ($dir, $script, $indexhtml, undef); - foreach my $group (sort keys %groups) { - update_html_table ($dir, $script, $indexhtml, $group); - } - - ### Print timestamp - - print $indexhtml '<BR>Last updated at '.scalar (gmtime ())." UTC<BR>\n"; - - ### Print the Footer - - print $indexhtml "</BODY>\n</HTML>\n"; - - $indexhtml->close (); -} - - -############################################################################### -# -# update_html_table -# -# helper for update_html that prints a single table -# -# Arguments: $ - directory -# $ - make_pretty script -# $ - output file handle -# $ - group name -# -# Returns: Nothing -# -############################################################################### -sub update_html_table ($$$@) -{ - my $dir = shift; - my $script = shift; - my $indexhtml = shift; - my $name = shift; - my $havestatus = 0; - my $havemanual = 0; - - my @builds; - - ### Table - - # check to see if we are doing the "NONE" group - if (!defined $name) { - print " Building table for ungrouped\n"; - @builds = sort @nogroup; - } - else { - print " Building table for group $name\n"; - @builds = sort @{%groups->{$name}}; - print $indexhtml "<A NAME=\"$name\"><H2></A>$name</H2>\n"; - } - - foreach my $buildname (@builds) { - if (defined %builds->{$buildname}->{STATUS}) { - $havestatus = 1; - } - if (defined %builds->{$buildname}->{MANUAL_LINK}) { - $havemanual = 1; - } - } - - print $indexhtml "<TABLE border=1><TH>Build Name<TH>Last Finished"; - print $indexhtml "<TH>Config<TH>CVS<TH>Compile<TH>Tests"; - print $indexhtml "<TH>Manual" if ($havemanual); - print $indexhtml "<TH>Status" if ($havestatus); - print $indexhtml "\n"; - - foreach my $buildname (@builds) { - mkpath "$dir/$buildname/pretty"; - - print " Looking at $buildname\n"; - - print $indexhtml '<TR><TD>'; - - if (defined %builds->{$buildname}->{WEB_LINK}) { - print $indexhtml "<A HREF=\"".%builds->{$buildname}->{WEB_LINK} ."\">" ; - print $indexhtml $buildname; - print $indexhtml "</A> "; - } - else { - print $indexhtml $buildname; - } - - my $webfile; - my $newfile; - - if (defined %builds->{$buildname}->{LATEST_TIME}) { - my $time = %builds->{$buildname}->{LATEST_TIME}; - - my $log = $dir . '/' . $buildname . '/' . $buildname . '_' . $time . ".txt"; - - $webfile = "$buildname/pretty/$buildname" . "_$time"; - $newfile = "$dir/$webfile"; - - $newfile =~ s/\//\\/g if ($OSNAME eq "MSWin32"); - $log =~ s/\//\\/g if ($OSNAME eq "MSWin32"); - - if (!-e $newfile.'.html') { - print " Creating HTML for $time\n"; - - my $command = 'perl ' . $script . ' -c ' . determine_type ($log) . - ' -i ' . $log . ' -o ' . $newfile . '.html'; - - system ($command); - } - - if (!-e $newfile.'_Brief.html') { - print " Creating HTML Brief for $time\n"; - - my $command = 'perl '.$script.' -b -c ' . determine_type ($log) . - ' -i ' . $log . ' -o ' . $newfile . '_Brief.html'; - - system ($command); - } - - my $orange = $orange_default; - my $red = $red_default; - - if (defined %builds->{$buildname}->{ORANGE_TIME}) { - $orange = %builds->{$buildname}->{ORANGE_TIME}; - } - - if (defined %builds->{$buildname}->{RED_TIME}) { - $red = %builds->{$buildname}->{RED_TIME}; - } - - print $indexhtml '<TD bgcolor='; - print $indexhtml timestamp_color ($time, $orange, $red); - print $indexhtml '>',decode_timestamp ($time); - - my $color; - - print $indexhtml '<TD>'; - if (found_section ($newfile.'.html', 'config')) { - print $indexhtml "[<A HREF=\"".$webfile.".html#config\">Config</A>] "; - } - else { - print $indexhtml " "; - } - - $color = get_color ($newfile.'_Brief.html', 'cvs'); - print $indexhtml "<TD bgcolor=$color>"; - if ($color ne 'gray' && $color ne 'white') { - print $indexhtml "[<A HREF=\"".$webfile.".html#cvs\">Full</A>] "; - print $indexhtml "[<A HREF=\"".$webfile."_Brief.html#cvs\">Brief</A>]"; - } - else { - print $indexhtml " "; - } - - $color = get_color ($newfile.'_Brief.html', 'compiler'); - print $indexhtml "<TD bgcolor=$color>"; - if ($color ne 'gray' && $color ne 'white') { - print $indexhtml "[<A HREF=\"".$webfile.".html#compiler\">Full</A>] "; - print $indexhtml "[<A HREF=\"".$webfile."_Brief.html#compiler\">Brief</A>]"; - } - else { - print $indexhtml " "; - } - - $color = get_color ($newfile.'_Brief.html', 'tests'); - print $indexhtml "<TD bgcolor=$color>"; - if ($color ne 'gray' && $color ne 'white') { - print $indexhtml "[<A HREF=\"".$webfile.".html#tests\">Full</A>] "; - print $indexhtml "[<A HREF=\"".$webfile."_Brief.html#tests\">Brief</A>]"; - } - else { - print $indexhtml " "; - } - } - else { - print $indexhtml '<TD bgcolor=gray> '; # Time - print $indexhtml '<TD bgcolor=gray> '; # Config - print $indexhtml '<TD bgcolor=gray> '; # CVS - print $indexhtml '<TD bgcolor=gray> '; # Compiler - print $indexhtml '<TD bgcolor=gray> '; # Tests - } - - - if ($havemanual) { - print $indexhtml "<TD align=center>"; - if (defined %builds->{$buildname}->{MANUAL_LINK}) { - print $indexhtml "<INPUT TYPE=\"BUTTON\" VALUE=\"Start\" "; - print $indexhtml "ONCLICK=\"window.location.href='"; - print $indexhtml %builds->{$buildname}->{MANUAL_LINK}; - print $indexhtml "'\">"; - } - else { - print $indexhtml " "; - } - } - if ($havestatus) { - print $indexhtml "<TD>"; - if (defined %builds->{$buildname}->{STATUS}) { - print $indexhtml "<A HREF=\"", %builds->{$buildname}->{STATUS_LINK}, "\"\>"; - print $indexhtml %builds->{$buildname}->{STATUS}; - print $indexhtml "</A>"; - } - else { - print $indexhtml " "; - } - } - - print $indexhtml "\n"; - - my @existing = glob ($dir . '/' . $buildname . '/pretty/' . $buildname . '_*.html'); - - @existing = reverse sort @existing; - - # shift off the ones we want to keep - # shift only twice to keep the last *.html and *_Brief.html - shift @existing; - shift @existing; - - foreach my $file (@existing) { - print " Removing $file\n"; - unlink $file; - - } - } - - print $indexhtml "</TABLE>\n"; -} - - - -############################################################################### -############################################################################### - -# Getopts - -use vars qw/$opt_c $opt_h $opt_m $opt_o $opt_r/; - -if (!getopts ('c:hm:o:r') || defined $opt_h) { - print "scoreboard_update.pl [-c file] [-h] [-o dir] [-m script] [-r]\n"; - print "\n"; - print " -c file use <file> as the configuration file [def: bin/nightlybuilds/builds.lst]\n"; - print " -h display this help\n"; - print " -m script make pretty with this script [def:bin/make_pretty.pl\n"; - print " -o dir directory to place files [def: html]\n"; - print " -r generate report\n"; - exit (1); -} - -my $pretty = "bin/make_pretty.pl"; -my $file = "bin/nightlybuilds/builds.lst"; -my $dir = "html"; -my $report = 0; - -if (defined $opt_c) { - $file = $opt_c; -} - -if (defined $opt_o) { - $dir = $opt_o; -} - -if (defined $opt_m) { - $pretty = $opt_m; -} - -if (defined $opt_r) { - $report = 1; -} - -# Do the stuff - -print 'Running Scoreboard Update at '.scalar (gmtime ())."\n"; - -load_build_list ($file, $report); -build_group_hash (); -query_latest (); -update_cache ($dir); -query_status (); -update_html ($dir, $pretty); - -print 'Finished Scoreboard Update at '.scalar (gmtime ())."\n"; - -############################################################################### -############################################################################### diff --git a/bin/performance_stats.sh b/bin/performance_stats.sh deleted file mode 100755 index d22a0783412..00000000000 --- a/bin/performance_stats.sh +++ /dev/null @@ -1,127 +0,0 @@ -#!/bin/sh -# -# $Id$ -# - -if [ $# -lt 2 ]; then - echo "Usage: $0 <ACE_ROOT> <DEST>" - exit 0 -fi - -ACE_ROOT=$1 -DEST=$2 -DATE=`date +%Y/%m/%d-%H:%M` - -COMMON_TESTS="AMI DII DSI Deferred Single_Threaded Thread_Per_Connection Thread_Pool" - -cd $DEST/source - -/bin/sync -sleep 10 -( - cd $ACE_ROOT/performance-tests/TCP; - ./run_test.pl -) >tcp_test.log 2>&1 - -if grep -q 'Client throughput: ' tcp_test.log; then - ( - echo -n $DATE " "; - awk '/^Client throughput:/ {print $3}' tcp_test.log - ) >> TCP.txt; -fi - -/bin/sync -sleep 10 -( - cd $ACE_ROOT/TAO/performance-tests/Latency/Single_Threaded; - ./default_configuration.pl > $DEST/source/Default.log 2>&1 -) -if grep -q 'Total throughput: ' Default.log; then - ( - echo -n $DATE " "; - awk '/^Total throughput:/ {print $3}' Default.log - ) >> Default.txt -fi - -for i in $COMMON_TESTS; do - /bin/sync - sleep 10 - ( - cd $ACE_ROOT/TAO/performance-tests/Latency/${i}; - ./run_test.pl > $DEST/source/${i}.log 2>&1 - ) - if grep -q 'Total throughput: ' ${i}.log; then - ( - echo -n $DATE " "; - awk '/^Total throughput:/ {print $3}' ${i}.log - ) >> ${i}.txt - fi -done - -for i in $COMMON_TESTS TCP Default; do - $ACE_ROOT/bin/generate_performance_chart.sh ${i}.txt ${i}.png "$i" - /bin/cp ${i}.png $DEST/images/${i}.png - /usr/bin/tac ${i}.txt > $DEST/data/${i}.txt - /usr/bin/tail -5 ${i}.txt > $DEST/data/LAST_${i}.txt -done - -gnuplot <<_EOF_ >/dev/null 2>&1 - set xdata time - set timefmt '%Y/%m/%d-%H:%M' - set xlabel 'Date (YYYYMMDD)' - set ylabel 'Throughput (Requests/Second)' - set yrange [0:] - set terminal png small color - set output "/dev/null" - plot 'DII.txt' using 1:2 title 'DII' w l - replot 'DSI.txt' using 1:2 title 'DSI' w l - replot 'Deferred.txt' using 1:2 title 'Deferred' w l - replot 'Single_Threaded.txt' using 1:2 title 'Single_Threaded' w l - replot 'Default.txt' using 1:2 title 'Single_Threaded (Defaults)' w l - replot 'Thread_Per_Connection.txt' using 1:2 title 'Thread_Per_Connection' w l - replot 'Thread_Pool.txt' using 1:2 title 'Thread_Pool' w l - replot 'TCP.txt' using 1:2 title 'TCP/IP' w l - set output "All.png" - replot - exit -_EOF_ - -gnuplot <<_EOF_ >/dev/null 2>&1 - set xdata time - set timefmt '%Y/%m/%d-%H:%M' - set xlabel 'Date (YYYYMMDD)' - set ylabel 'Throughput (Requests/Second)' - set yrange [0:10000] - set terminal png small color - set output "/dev/null" - plot 'DII.txt' using 1:2 title 'DII' w l - replot 'DSI.txt' using 1:2 title 'DSI' w l - replot 'Deferred.txt' using 1:2 title 'Deferred' w l - replot 'Single_Threaded.txt' using 1:2 title 'Single_Threaded' w l - replot 'Default.txt' using 1:2 title 'Single_Threaded (Defaults)' w l - replot 'Thread_Per_Connection.txt' using 1:2 title 'Thread_Per_Connection' w l - replot 'Thread_Pool.txt' using 1:2 title 'Thread_Pool' w l - set output "CORBA.png" - replot - exit -_EOF_ - -/bin/cp CORBA.png All.png $DEST/images/ - -( - cd $DEST/images - /bin/cp *.png thumbnails - for i in *.png; do - /usr/bin/X11/mogrify -geometry '25%' thumbnails/$i - done -) - -cd $DEST/data -/bin/uname -a > uname.txt -/usr/bin/gcc -v > gcc.txt 2>&1 -/lib/libc.so.6 | sed -e 's/</\</g' -e 's/>/\>/g' > libc.txt -cat /proc/cpuinfo > cpuinfo.txt -cat /proc/meminfo > meminfo.txt - -cat $ACE_ROOT/ace/config.h > config.h.txt -cat $ACE_ROOT/include/makeinclude/platform_macros.GNU > platform_macros.GNU.txt diff --git a/bin/perltest2cpp.pl b/bin/perltest2cpp.pl deleted file mode 100755 index bbaefa6808c..00000000000 --- a/bin/perltest2cpp.pl +++ /dev/null @@ -1,2251 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' - & eval 'exec perl -S $0 $argv:q' - if 0; - -# ****************************************************************** -# Author: Chad Elliott (elliott_c@ociweb.com) -# Date: 4/4/2001 -# $Id$ -# Description: Generate run_test.cpp from run_test.pl for VxWorks -# ****************************************************************** - -# ****************************************************************** -# Pragma Section -# ****************************************************************** - -use strict; -use FileHandle; -use File::Basename; - -# ****************************************************************** -# Data Section -# ****************************************************************** - -my($firstExecutable) = 1; -my($needMain) = 0; -my($indent) = 0; -my($pindent) = 0; -my($taodebug) = undef; -my(@cppheader) = (); -my(@cppsubs) = (); -my(@cppbody) = (); -my(@subs) = (); -my($timefactor) = 2; -my($insub) = 0; -my($indsc) = 0; -my(%argsList) = (); -my($shortString) = 256; -my($unknownArgCount) = 20; -my($defaultTimeout) = 60; -my($status) = 0; -my($lineCount) = 0; -my($needReadLine) = 1; -my($needReadFile) = 1; -my(%timeoutVars) = (); - -my($UNDEFINED_VARIABLE) = 1; -my($UNKNOWN_VARIABLE_TYPE) = 2; -my($UNSUPPORTED_CONSTRUCT) = 3; - -# ****************************************************************** -# Subroutine Section -# ****************************************************************** - -sub generateError { - my($error) = shift; - my($extra) = shift; - if ($error == $UNDEFINED_VARIABLE) { - print STDERR "Error: Undefined variable ($extra) at line $lineCount\n"; - $status++; - } - elsif ($error == $UNKNOWN_VARIABLE_TYPE) { - print STDERR "Error: Unknown variable type " . - "for ($extra) at line $lineCount\n"; - $status++; - } - elsif ($error == $UNSUPPORTED_CONSTRUCT) { - print STDERR "Error: Unsupported construct ($extra) at line $lineCount\n"; - $status++; - } -} - - -sub getIndent { - if ($pindent != $indent) { - my($str) = " " x ($pindent * 2); - $pindent = $indent; - return $str; - } - return " " x ($indent * 2); -} - - -sub concatenate { - my($value) = shift; - my($length) = length($value); - my($indouble) = 0; - my($insingle) = 0; - - for(my $i = 0; $i < $length; $i++) { - my($ch) = substr($value, $i, 1); - if (!$insingle && $ch eq '"') { - $indouble ^= 1; - } - elsif (!$indouble && $ch eq '\'') { - $insingle ^= 1; - } - elsif ($ch eq '.' && !$indouble && !$insingle) { - my($rc) = undef; - my($lc) = $i; - for($i++; $i < $length; $i++) { - my($a) = substr($value, $i, 1); - if ($a !~ /\s/) { - if ($a eq '\'' || $a eq '"') { - $rc = $i + 1; - } - elsif ($a eq '$') { - $rc = $i; - } - last; - } - } - for($lc--; $lc >= 0; $lc--) { - my($a) = substr($value, $lc, 1); - if ($a !~ /\s/) { - if ($a ne '\'' && $a ne '"') { - $lc++; - } - last; - } - } - if (defined $rc) { - my($rold) = substr($value, $rc - 1, 1); - my($lold) = substr($value, $lc, 1); - - substr($value, $lc, $rc - $lc) = ""; - $length = length($value); - my($front) = substr($value, 0, $lc); - my($back) = substr($value, $lc); - if ($lold eq '"') { - if ($rold eq '"') { - $indouble ^= 1; - } - else { - if ($back !~ /\"/) { - $indouble = 1; - } - } - } - elsif ($lold =~ /\s/ && $rold eq '"' && $front =~ /\"/) { - $indouble ^= 1; - } - elsif ($lold eq '\'') { - if ($rold eq '\'') { - $insingle ^= 1; - } - else { - if ($back !~ /\'/) { - $insingle = 1; - } - } - } - elsif ($lold =~ /\s/ && $rold eq '\'' && $front =~ /\'/) { - $insingle ^= 1; - } - - if ($back =~ /^([\$\@][^\s;]+)/) { - my($target) = $1; - if ($indouble) { - $back =~ s/[\$\@][^\s;]+/$target\"/; - } - elsif ($insingle) { - $back =~ s/[\$\@][^\s;]+/$target\'/; - } - $value = $front . $back; - $length++; - } - - $i = $lc - 1; -######################################################### -# Fix for $debug = $debug . " -d"; -######################################################### - if (!$indouble && !$insingle && - substr($value, 0, $i) !~ /$rold/) { - for(my $j = $i; $j >= 0; $j--) { - my($ich) = substr($value, $j, 1); - if ($ich eq '$') { - substr($value, $j, 1) = "$rold\$"; - $i++; - if ($rold eq '"') { - $indouble ^= 1; - } - else { - $insingle ^= 1; - } - last; - } - } - } -######################################################### - } - } - } - - if ($indouble || $insingle) { - print "DEBUG1: $value\n" . - " indouble = $indouble insingle = $insingle\n\n"; - } - - return $value; -} - - -sub typeToCPPType { - my($str) = shift; - if ($str eq "%d") { - return "int"; - } - if ($str eq "%f") { - return "float"; - } - if ($str eq "%s") { - return "char"; - } - return "void"; -} - -my(@mainList) = (); -sub getMainList { - if (!defined $mainList[0]) { - my($fh) = new FileHandle(); - if (open($fh, "Makefile")) { - my($line) = ""; - while(<$fh>) { - $line .= $_; - if ($line =~ /\\\s*$/) { - $line =~ s/\\\s*$//; - } - else { - if ($line =~ /BIN(_UNCHECKED|2)?\s*[\+]?=/ && - $line !~ /\$\(/ && $line !~ /run_test/) { - if ($line =~ /\s*=\s*(.*)/) { - my($bins) = $1; - if ($bins =~ /patsubst/) { - ## TBD: Fix for pattern substitution - } - else { - foreach my $main (split(/\s+/, $bins)) { - $main =~ s/\-/_/g; - push(@mainList, $main . "_main"); - } - } - } - } - $line = ""; - } - } - close($fh); - } - } - return @mainList; -} - - -my(%declared) = ("!" => "%s"); -my(%decscope) = ("!" => -1); -sub addParameterToCurrentSub { - my($var) = shift; - my($type) = shift; - if (!defined $type) { - $type = "char*"; - } - - for(my $i = $#cppsubs; $i >= 0; $i--) { - if ($cppsubs[$i] =~ /\/\*params\*\//) { - if ($cppsubs[$i] =~ /\(\/\*params/) { - $cppsubs[$i] =~ s/\/\*params/$type $var \/\*params/; - } - else { - $cppsubs[$i] =~ s/\/\*params/, $type $var \/\*params/; - } - $declared{$var} = "%s"; - $decscope{$var} = $indent; - last; - } - } -} - - -sub getTop { - my($os) = "OSNAME"; - my($top) = "// \$Id\$\n\n" . - "#include <ace/OS.h>\n" . - "#include <ace/Get_Opt.h>\n" . - "#include <tao/debug.h>\n" . - "#include <tests/TestUtils/TestCombinedThreads.h>\n\n" . - "static const char* $os = \"VxWorks\";\n\n"; - - $declared{$os} = "%s"; - $decscope{$os} = -1; - - foreach my $main (getMainList()) { - $top .= "TEST_MAIN_FUNC_DECLARE($main);\n"; - } - $top .= "\n" . - "static int\nunlocated_main(int, char**)\n" . - "{\n" . - " ACE_OS::printf(\"Translation of this module did \"\n" . - " \"not work. Please check the code.\\n\");\n" . - " return 0;\n" . - "}\n\n\n" . - - "TEST_MAIN_TYPE_FUNC\n" . - "translateStringToMainFunction(const char* string)\n" . - "{\n" . - " ACE_UNUSED_ARG(string);\n"; - foreach my $main (getMainList()) { - my($stripped) = $main; - $stripped =~ s/_main//; - $top .= " if (ACE_OS_String::strcmp(string, \"$stripped\") == 0) {\n" . - " return $main;\n" . - " }\n"; - } - $top .= " return unlocated_main;\n" . - "}\n\n"; - - return $top; -} - - -sub incrementIndent { - $pindent = $indent; - $indent++; -} - - -sub decrementIndent { - $indent--; - foreach my $key (keys %decscope) { - if ($decscope{$key} > $indent) { - delete $declared{$key}; - delete $decscope{$key}; - } - } - $pindent = $indent; -} - -sub getMainBeginning { - return "\n\nint main(int argc, char* argv[])\n" . - "{\n" . - " // Silence the compiler\n" . - " ACE_UNUSED_ARG(argc);\n" . - " ACE_UNUSED_ARG(argv);\n" . - " ACE_UNUSED_ARG(OSNAME);\n" . - " translateStringToMainFunction(\"\");\n\n"; -} - - -sub getMainEnding { - my($ending) = " return 0;\n}\n\n"; - decrementIndent(); - return $ending; -} - - -my($currentBuild) = ""; -sub buildLine { - my($line) = shift; - my($length) = length($line); - my($previous) = ""; - my($insideDouble) = 0; - my($insideSingle) = 0; - my($copy) = ""; - - $currentBuild .= $line; - for(my $i = 0; $i < $length; $i++) { - my($ch) = substr($line, $i, 1); - if ($previous ne '\\') { - if (!$insideSingle && $ch eq '"') { - $insideDouble ^= 1; - } - elsif (!$insideDouble && $ch eq '\'') { - $insideSingle ^= 1; - } - } - - if (($ch eq ';' || $ch eq '{' || $ch eq '}') && - (!$insideDouble && !$insideSingle)) { - $copy = $currentBuild; - $currentBuild = ""; - last; - } - $previous = $ch; - } - - return $copy; -} - - -sub stringToArray { - my($str) = shift; - my(@array) = (); - my($length) = length($str); - my($previous) = 0; - for(my $i = 0; $i < $length; $i++) { - my($ch) = substr($str, $i, 1); - if ($ch =~ /\s/) { - push(@array, substr($str, $previous, $i - $previous)); - $previous = $i; - while(substr($str, $i, 1) =~ /\s/) { - $i++; - } - push(@array, substr($str, $previous, $i - $previous)); - $previous = $i; - } - } - push(@array, substr($str, $previous)); - return @array; -} - - -sub lineNeedsToSplit { - my($line) = shift; - if ($line =~ /ACE_OS/) { - if ($line =~ /(ACE_OS.*\((\w+),\s*)(.*)(\);)/ && - $line !~ /argv\[[^\]]+\]/) { - return $1, $2, $3, $4; - } - } - elsif ($line =~ /(.*\s+(\w+)\[.*\]\s+=\s+)(.*)(;)$/) { - return $1, $2, $3, $4; - } - return undef; -} - - -my($genstr) = 0; -sub splitProcessArguments { - my($av) = shift; - my($line) = shift; - my($assign) = shift; - my($argcount) = 0; - my(@array) = stringToArray($av); - my($stillString) = 0; - my($needACE) = 1; - my($needClosing) = 0; - my($stored) = ""; - - for(my $a = 0; $a <= $#array; $a++) { - $array[$a] =~ s/^[\"\']//; - $array[$a] =~ s/[\"\']$//; - if ($array[$a] =~ /\"\s*$/ || $array[$a] eq "") { - } - else { - my($needQuotes) = 1; - $argcount++; - if ($array[$a] =~ /\$/) { - $needQuotes = 0; - if ($array[$a] !~ /^\$/) { - ## Part string, part variable - my($foo) = $array[$a]; - $foo =~ /([^\$]+)(\$\w+)/; - my($p1) = $1; - my($source) = $2; - $p1 =~ s/^\"//; - $stillString = 1; - splice(@array, $a + 1, 1, $source); - $array[$a] = $p1; - } - else { - $stillString = 0; - $needACE = 1; - } - } - else { - $stillString = 1; - } - $array[$a] =~ s/[\$\"\']//g; - if ($needACE) { - if ($needClosing) { - if ($stored ne "") { - $$line .= $stored; - $stored = ""; - } - $$line .= "\");\n" . (" " x (2 * $indent)); - } - setNeedMain(); - $stored = "ACE_OS_String::strcat($assign, "; - if ($needQuotes) { - $stored .= "\""; - } - $needACE = 0; - $needClosing = 0; - } - if ($stored ne "") { - if (defined $declared{$array[$a]} && - $declared{$array[$a]} ne "%s") { - my($newstr) = "char genstr$genstr" . "[64] = \"\";\n" . - getIndent() . - "ACE_OS::sprintf(genstr$genstr, \"%d\", " . - "$array[$a]);\n"; - $stored = "$newstr$stored"; - $array[$a] = "genstr$genstr"; - $genstr++; - } - $$line .= $stored; - $stored = ""; - } - if ($stillString) { - $$line .= "$array[$a]"; - $needClosing = 1; - } - else { - $$line .= "$array[$a]);\n" . (" " x (2 * $indent)); - if ($a != $#array) { - setNeedMain(); - $stored = "ACE_OS_String::strcat($assign, \""; - $stillString = 1; - $needACE = 0; - $needClosing = 1; - } - else { - $needClosing = 0; - } - } - } - } - if ($needClosing) { - if ($stored ne "") { - $$line .= $stored; - $stored = ""; - } - $$line .= "\");\n"; - } - return $argcount; -} - - -my($gencount) = 0; -sub splitArguments { - my($av) = shift; - my($line) = shift; - my($sep) = shift; - my($argcount) = 0; - my(@array) = (); - if (defined $sep) { - @array = split($sep, $av); - for(my $i = 0; $i <= $#array; $i++) { - $array[$i] =~ s/^\s+//; - $array[$i] =~ s/\s+$//; - if ($array[$i] eq "") { - splice(@array, $i, 1); - } - } - } - else { - @array = split(/\s+/, $av); - } - for(my $a = 0; $a <= $#array; $a++) { - if ($array[$a] =~ /-ORBDebugLevel/i) { - $a++; - $array[$a] =~ s/[\$\"\']//g; - if (defined $declared{$array[$a]} && - $declared{$array[$a]} eq "%d") { - $taodebug = $array[$a]; - } - elsif ($array[$a] =~ /^[-+]?\d+$/) { - $taodebug = $array[$a]; - } - else { - $taodebug = "ACE_OS::atoi(\"$array[$a]\")"; - } - } - elsif ($array[$a] eq '"') { - } - else { - my($needQuotes) = 1; - $argcount++; - if ($array[$a] =~ /\$/) { - $needQuotes = 0; - if ($array[$a] !~ /^\$/) { - ## Part string, part variable - my($foo) = $array[$a]; - $foo =~ /([^\$]+)\$(\w+)/; - my($p1) = $1; - my($source) = $2; - $p1 =~ s/^\"//; - my($old) = $$line; - my($str) = "gen_partial$gencount"; - $$line = "char $str" . "[BUFSIZ] = \"$p1\";\n" . - (" " x (2 * $indent)); - if (defined $declared{$source} && $declared{$source} eq "%s") { - setNeedMain(); - $$line .= "ACE_OS_String::strcat($str"; - } - elsif (defined $declared{$source} && $declared{$source} eq "%d") { - setNeedMain(); - $$line .= "char gen_partial" . ($gencount + 1) . - "[$shortString] = \"\";\n" . - (" " x (2 * $indent)) . - "ACE_OS::sprintf(gen_partial" . ($gencount + 1) . - ", \"%d\", $source);\n" . (" " x (2 * $indent)) . - "ACE_OS_String::strcat($str"; - $gencount++; - $source = "gen_partial$gencount"; - } - else { - $$line .= "// *** Unknown source type for: "; - generateError($UNKNOWN_VARIABLE_TYPE, $source); - } - $$line .= ", $source);\n" . (" " x (2 * $indent)) . $old; - $array[$a] = $str; - $gencount++; - } - } - $array[$a] =~ s/[\$\"\']//g; - if ($needQuotes) { - $array[$a] = "\"$array[$a]\""; - } - $$line .= "$array[$a], "; - } - } - return $argcount; -} - -sub handleAssignment { - my($line) = shift; - my($concat) = (/\$(\w+)\s*\.=\s*(.*);/); - - if ($line =~ /\$(\w+)\s*[\.]?=\s*(.*);/) { - ## Regular assignment - my($var) = $1; - my($val) = $2; - - if ($val =~ /time/) { - if (!defined $declared{$var}) { - $declared{$var} = "%d"; - $decscope{$var} = $indent; - $line = "time_t "; - } - else { - $line = ""; - } - $line .= "$var = time(NULL);"; - } - elsif ($val =~ /^new\s+([\w:]+)\s*\((.*)\)/) { - my($params) = $2; - if ($1 eq "PerlACE::Process") { - if (!defined $declared{$var}) { - $declared{$var} = 0; - } - else { - $declared{$var}++; - } - if ($params =~ /.*\s*(,\s*.*)?/) { - my($mv) = undef; - my($av) = ""; - if ($params =~ /(.*)\s*,\s*([\"\$].*)/) { - $mv = $1; - $av = $2; - } - elsif ($params =~ /(.*)/) { - $mv = $1; - } -#if ($av eq "") { -# print "DEBUG4: '$mv' '$av'\n"; -#} - my($argcount) = 1; - my($argvar) = $var; - if ($declared{$argvar} != 0) { - $argvar .= $declared{$argvar}; - } - $line = "char* $argvar" . "Args[] = { "; - if ($mv =~ /\$(\w+)/) { - $mv = $1; - } - $line .= "$mv, "; - my($arguments) = ""; - splitArguments($av, \$arguments); - ## Determine if the result of splitArguments - ## should be added to $argcount - $argsList{$var} = $argcount; - - ## Is there a splitable variable in the argument list? - my($resplit) = 1; - if ($arguments =~ /^\w+,\s*$/ || $arguments =~ /,\s*\w+\s*,/) { - my(@arr) = split(/\n/, $arguments); - foreach my $test (split(",", $arr[$#arr])) { - $test =~ s/^\s+//; - $test =~ s/\s+$//; - if (defined $declared{$test} && $declared{$test} eq "%s" && - $test !~ /ior/ && $test !~ /conf/ && $test !~ /gen_/) { - $resplit = 0; - last; - } - } - if (!$resplit) { - $line =~ s/\[\]/\[$unknownArgCount\]/; - $line .= "0 };\n"; - for(my $l = 0; $l < $#arr; $l++) { - if ($l == 0) { - $line .= (" " x (2 * $indent)); - } - $line .= "$arr[$l]\n"; - } - $arguments = $arr[$#arr]; - $arguments =~ s/^(\w)/\$$1/; - $arguments =~ s/,\s*(\w)/, \$$1/g; - $line .= (" " x (2 * $indent)) . - handleArguments($line, $var, $arguments, ","); - } - } - if ($resplit) { - splitArguments($av, \$line); - $line .= "0 };\n"; - } - - $line .= (" " x (2 * $indent)) . - ($declared{$var} > 0 ? "$var = TAO_TestCombinedThreads" : - "TAO_TestCombinedThreads $var") . - "(" . - ($mv =~ /\"(.*)\"/ ? $mv = "$1" ."_main" : - "translateStringToMainFunction($mv)") . - ", $argvar" . "Args);"; - } - if (!$insub && $line =~ /ACE_OS/) { - setNeedMain(); - } - } - } - elsif ($val =~ /->/) { - if (!defined $declared{$var}) { - $declared{$var} = "%d"; - $decscope{$var} = ($firstExecutable ? -1 : $indent); - $line = ($firstExecutable && !$insub ? "static " : "") . - typeToCPPType($declared{$var}) . " "; - } - else { - $line = ""; - } - $line .= "$var = "; - if ($val =~ /Spawn/) { - my($wait) = ""; - if ($val =~ /\((.*)\)/) { - my($tout) = $1; - if ($tout =~ /^\d+$/ && $tout > $defaultTimeout) { - $defaultTimeout = $tout; - } - $wait = "($tout * $timefactor)"; - } - my($spvar, $spval) = handleSpawn($val); - $line = "$spvar$spval\n" . (" " x (2 * $indent)) . - $line . "$spvar.wait($wait);"; - } - elsif ($val =~ /[\$]?([\w\[\]\$]+)->WaitKill/) { - my($var) = $1; - my($ovar) = $var; - my($op) = "."; - my($tfix) = $var; - $var =~ s/\$//g; - $tfix =~ s/\[.*//; - if ($var =~ /\[/) { - $ovar =~ s/[\[\]\$]//g; - $op = "->"; - } -# elsif ($declared{$tfix} != 0) { -# $var .= $declared{$tfix}; -# } - handleWaitKill($val, $ovar); - $line .= "$var$op" . "wait($ovar" . "Timeout);"; - } - elsif ($val =~ /WaitKill/) { - handleWaitKill($val); - $line .= "0;"; - } - } - elsif ($val =~ /[\"\']([^\"\']+)?[\"\']/ || $val =~ /(\w+)\[([^\]]+)\]/) { - my($value) = ""; - my($needQuotes) = 1; - if ($val =~ /[\"\'](.*)[\"\']/) { -# Quoted double quotes don't work with this regexp 8/21/2001 -# $val =~ /[\"\']([^\"\']+)[\"\']/) { - $value = $1; - } - elsif ($val =~ /(\w+)\[([^\]]+)\]/) { - $value = $1 . "[$2]"; - $needQuotes = 0; - } - - my($pre) = ""; - my($post) = ""; - my($edit) = $val; - $edit =~ s/\\\"//g; - $edit =~ s/\\\'//g; - my($fch) = substr($edit, 0, 1); - - if (($fch eq '"' || $fch eq '\'') && $edit =~ /$fch$/) { - } - elsif ($edit =~ /(\w+)\s+[\"\'][^\"\']+[\"\']/) { - $pre = "$1 "; - } - if (!defined $declared{$var}) { - $declared{$var} = "%s"; - $decscope{$var} = ($firstExecutable ? -1 : $indent); - $line = ($firstExecutable && !$insub ? "static " : "") . - typeToCPPType($declared{$var}) . " "; - if ($pre ne "") { - $post = "[BUFSIZ]"; - } - else { - $post = "[$shortString]"; - } - $line .= "$var$post = "; - if ($needQuotes) { - $line .= "$pre\"$value\";"; - } - else { - if (defined $declared{$value} && $declared{$value} ne "%s") { - $line .= "\"\"; ACE_OS::sprintf($var, \"$declared{$value}\", $value);"; - } - else { - $line .= "\"\"; ACE_OS_String::strcpy($var, $value);"; - } - } - } - else { - if (defined $declared{$var} && $declared{$var} eq "%d") { - $line = "$var = ACE_OS::atoi($pre"; - } - elsif (defined $declared{$var} && $declared{$var} eq "%f") { - $line = "$var = ACE_OS::atof($pre"; - } - else { - setNeedMain(); - $line = "ACE_OS_String::str" . ($concat ? "cat" : "cpy") . - "($var, $pre"; - } - if ($needQuotes) { - $line .= "\"$value\");"; - } - else { - $line .= "$value);"; - } - } - - if ($line =~ /[^\\]\$/) { - my($left, $var, $right, $end) = lineNeedsToSplit($line); - if (defined $left) { - my($newStr) = ""; - - setNeedMain(); - splitProcessArguments($right, \$newStr, $var); - $line = ($left =~ /strcat/ ? "" : - $left . "\"\"$end\n" . (" " x (2 * $indent))) . - $newStr; - } - else { - $line =~ s/\$//g; - } - } - } - elsif ($val =~ /^[+\-\d]+$/) { - if (!defined $declared{$var}) { - $declared{$var} = "%d"; - $decscope{$var} = ($firstExecutable ? -1 : $indent); - $line = ($firstExecutable && !$insub ? "static " : "") . - typeToCPPType($declared{$var}) . " "; - } - else { - $line = ""; - } - $line .= "$var = $val;"; - } - elsif ($val =~ /^[+\-\d\.]+$/) { - if (!defined $declared{$var}) { - $declared{$var} = "%f"; - $decscope{$var} = ($firstExecutable ? -1 : $indent); - $line = ($firstExecutable && !$insub ? "static " : "") . - typeToCPPType($declared{$var}) . " "; - } - else { - $line = ""; - } - $line .= "$var = $val;"; - } - elsif ($val =~ /TAO_TestCombinedThreads.*[+\-\d]+/) { - if (!defined $declared{$var}) { - $declared{$var} = "%d"; - $decscope{$var} = ($firstExecutable ? -1 : $indent); - $line = ($firstExecutable && !$insub ? "static " : "") . - typeToCPPType($declared{$var}) . " "; - } - else { - $line = ""; - } - $line .= "$var = $val;"; - } - elsif ($val =~ /shift/) { - $line = "// Parameters converted from: $var = $val;"; - if ($insub) { - addParameterToCurrentSub($var); - } - } - elsif ($val =~ /[+\-\d\s\w]+/) { ## Come up with a better regexp - ## for var to var assignment - ## Strip of \* from FILE handles - $val =~ s/\\\*//g; - - $val =~ s/\$//g; - my($type) = "%d"; - my($vtype) = $declared{$val}; - - if (!defined $vtype) { - $vtype = $type; - } - - if (!defined $declared{$var}) { - $declared{$var} = $vtype; - $decscope{$var} = ($firstExecutable ? -1 : $indent); - $line = ($firstExecutable && !$insub ? "static " : "") . - typeToCPPType($declared{$var}) . " "; - } - else { - $line = ""; - } - - if (defined $vtype && $type ne $vtype) { - if ($type eq "%d") { - $line .= "$var = "; - if ($vtype eq "%s") { - $line .= "ACE_OS::atoi("; - } - elsif ($vtype eq "%f") { - $line .= "int("; - } - else { - $line .= "("; - } - } - elsif ($type eq "%s") { - $line .= "ACE_OS::sprintf($var, \"$vtype\", "; - } - elsif ($type eq "%f") { - $line .= "$var = "; - if ($vtype eq "%s") { - $line .= "ACE_OS::atof("; - } - elsif ($vtype eq "%d") { - $line .= "float("; - } - else { - $line .= "("; - } - } - else { - $line .= "$var = ("; - } - } - else { - $line .= "$var = "; - } - $line .= $val; - if (defined $vtype && $type ne $vtype) { - $line .= ")"; - } - $line .= ";"; - } - else { - if (!$declared{$var}) { - $declared{$var} = "%x"; - $decscope{$var} = $indent; - $line = "// Assignment: "; - } - else { - $line = ""; - } - $line .= "$var = $val;"; - } - } - elsif ($line =~ /\@(\w+)\s*=\s*(.*);/) { - my($var) = $1; - my($val) = $2; - my($arrtype) = "char*"; - my($count) = 0; - - $val =~ s/^\(//; - $val =~ s/\)$//; - - ## This is horrible code - CAE - ## By convention only, the processes are called SV and CL. - if ($var =~ /^[A-Z]+$/) { - $arrtype = "TAO_TestCombinedThreads*"; - } - - if (!$declared{$var}) { - $declared{$var} = "%s"; - $decscope{$var} = $indent; - - $line = "$arrtype $var\[\] = { "; - foreach my $v (split(/,/, $val)) { - $v =~ s/^\s+//; - $v =~ s/\s+$//; - my($embedded) = handleEmbeddedVar($v); - if ($v ne $embedded) { - $v = "gen_partial$gencount"; - $line = ($count != 0 ? getIndent() : "") . - "static char $v" . "[BUFSIZ] = \"\";\n" . - (" " x (2 * $indent)) . - "ACE_OS::sprintf($v, $embedded);\n" . $line; - if ($count != 0) { - $v = ", $v"; - } - $gencount++; - } - else { - if ($count != 0) { - $line .= getIndent(); - $v = ", $v"; - } - } - ## - $line .= $v; - $count++; - } - if ($count == 0) { - $line = "$arrtype $var" . "[256] = { 0 };"; - $declared{$var} = "%x"; - } - else { - $line .= " };\n" . - (" " x (2 * $indent)) . - "int $var" . "_length = $count;\n" . - (" " x (2 * $indent)) . - "ACE_UNUSED_ARG($var" . "_length);"; - $declared{$var . "_length"} = "%d"; - $decscope{$var . "_length"} = $indent; - } - } - else { - $line = ""; - foreach my $v (split(/,/, $val)) { - $v =~ s/^\s+//; - $v =~ s/\s+$//; - my($embedded) = handleEmbeddedVar($v); - if ($v ne $embedded) { - $v = "gen_partial$gencount"; - $line = ($count != 0 ? getIndent() : "") . - "static char $v" . "[BUFSIZ] = \"\";\n" . - (" " x (2 * $indent)) . - "ACE_OS::sprintf($v, $embedded);\n" . $line; - $gencount++; - } - if ($count != 0) { - $line .= getIndent(); - } - ## - $line .= $var . "[$count] = $v;\n"; - $count++; - } - } - } - elsif ($line =~ /\$(\w+)\s*(\[[^\]]+\])\s*([\.]?=)\s*(.*);/) { - my($name) = $1; - my($index) = $2; - my($op) = $3; - my($value) = $4; - my($fake) = handleAssignment("\$$name $op $value;"); - - $index =~ s/\$//g; - if ($fake =~ /TAO_TestCombinedThreads/) { - $line = $fake; - $line =~ s/\w+\s+=/$name$index = new/; - ## Need to reset this because of the above call to handleAssignemnt - $declared{$name} = "%x"; - } - elsif ($fake =~ /$name[\s,=]+(.*)[\);]+/) { - $value = $1; - $value =~ s/\)$//; - $line = "$name$index $op $value;"; - } - else { - $line = "// Unconverted Assignment: $line"; - generateError($UNSUPPORTED_CONSTRUCT, "assignment"); - } - } - else { - $line = "// Unsupported Assignment: $line"; - generateError($UNSUPPORTED_CONSTRUCT, "assignment"); - } - return $line; -} - - -sub setNeedMain { - if ($firstExecutable && !$insub) { - $needMain = 1; - $firstExecutable = 0; - incrementIndent(); - ## Fix up so the first line in main() is properly indented - $pindent = $indent; - } -} - - -my($foreachcount) = 0; -sub handleForeach { - my($line) = shift; - setNeedMain(); - - incrementIndent(); - - my($newline) = "{ // Unsupported foreach"; - if ($line =~ /foreach\s+\$(\w+)\s*\((.*)\)/) { - - my($var) = $1; - my($var_count) = $var . "_count"; - my($arg) = $2; - - $newline = "for(int $var_count = "; - if ($arg =~ /\@ARGV/) { - $newline .= "1; $var_count < argc; $var_count++) {\n" . - (" " x (2 * $indent)) . - "char* $var = argv[$var_count];"; - $declared{$var} = "%s"; - $decscope{$var} = $indent; - } - else { - $arg =~ s/\@//; - if ($arg !~ /^\w+$/) { - my($arrtype) = "char*"; - my($avar) = "gen_foreach$foreachcount"; - $foreachcount++; - if (!$declared{$avar}) { - $declared{$avar} = "%s"; - $decscope{$avar} = $indent; - } - my($dcount) = $arg; - $dcount =~ s/[^,]//g; - $newline = "$arrtype $avar\[\] = { $arg };\n" . - (" " x (2 * ($indent - 1))) . "int $avar" . - "_length = " . (length($dcount) + 1) . ";\n" . - (" " x (2 * ($indent - 1))) . $newline; - $arg = $avar; - } - $newline .= "0; $var_count < $arg" . "_length; $var_count++) {\n" . - (" " x (2 * $indent)) . - "char* $var = $arg" . "[$var_count];"; - $declared{$var} = "%s"; - $decscope{$var} = $indent; - } - } - else { - generateError($UNSUPPORTED_CONSTRUCT, "foreach"); - } - - return $newline; -} - - -sub handleFor { - my($line) = shift; - setNeedMain(); - - my($newline) = "{ // Unsupported for"; - if ($line =~ /for\s*\(\$(\w+)/) { - $newline = $line; - if (!defined $declared{$1}) { - $declared{$1} = "%d"; - $decscope{$1} = $indent; - $newline = typeToCPPType($declared{$1}) . - " $1;\n" . (" " x (2 * $indent)) . $newline; - } - $newline =~ s/\$//g; - } - else { - generateError($UNSUPPORTED_CONSTRUCT, "for"); - } - - if ($newline =~ /argc/ && $newline =~ /=\s*0\s*;/) { - $newline =~ s/=\s*0\s*;/= 1;/; - } - - incrementIndent(); - - return $newline; -} - - -sub convertFILEtoInt { - my($name) = shift; - $name =~ s/STDIN/fileno(stdin)/g; - $name =~ s/STDOUT/fileno(stdout)/g; - $name =~ s/STDERR/fileno(stderr)/g; - return $name; -} - -my($genopen) = 0; -sub handleOpen { - my($line) = shift; - my($fromIf) = shift; - my($above) = undef; - $fromIf = (defined $fromIf ? $fromIf : 0); - - if ($line =~ /(.*(!)?)open\s*\((.*),\s*(.*)\)(.*)/) { - my($before) = $1; - my($fh) = $3; - my($file) = $4; - my($after) = $5; - my($newline) = ""; - - $fh = convertFILEtoInt($fh); - ## Dup'ing - if ($file =~ /\"\>\&(.*)\"/) { - my($other) = convertFILEtoInt($1); - if ($fh =~ /fileno/) { - $newline = "ACE_OS::dup2($fh, $other)"; - } - else { - if (!defined $declared{$fh}) { - $declared{$fh} = "%d"; - $decscope{$fh} = $indent - ($fromIf ? 1 : 0); - $newline = "int "; - } - $newline .= "$fh = ACE_OS::dup($other)"; - } - } - ## Regular open (write) - elsif ($file =~ /\">(.*)\"/) { - my($other) = $1; - $other =~ s/\$//g; - my($name) = "genopen$genopen"; - if ($fh =~ /fileno/) { - $genopen++; - $newline = "ACE_OS::dup2($fh, $name)"; - } - else { - $name = $fh; - $newline = $name; - } - $above = (defined $declared{$name} ? "" : "int ") . - "$name = " . - "ACE_OS::open($other, O_WRONLY|O_CREAT, " . - "S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH);\n"; - if (!defined $declared{$name}) { - $declared{$name} = "%d"; - $decscope{$name} = $indent - ($fromIf ? 1 : 0); - } - } - ## Regular open (read) - elsif ($file =~ /(.*)/) { - my($other) = $1; - $other =~ s/\$//g; - $other =~ s/[\"\']//g; - $other =~ s/\<//g; - my($name) = $fh; - $newline = $name; - $above = (defined $declared{$name} ? "" : "int ") . - "$name = " . - "ACE_OS::open($other, O_RDONLY);\n"; - if (!defined $declared{$name}) { - $declared{$name} = "%d"; - $decscope{$name} = $indent - ($fromIf ? 1 : 0); - } - } - $line = (!$fromIf && defined $above ? $above : "") . - "$before$newline$after"; - } - else { - generateError($UNSUPPORTED_CONSTRUCT, "open"); - } - return $line, $above; -} - -sub handleIf { - my($line) = shift; - setNeedMain(); - - my($newline) = $line; - $newline =~ s/if\s*\(.*/if \(/; - - my($conditions) = undef; - if ($line =~ /if\s*\((.+)\)\s*{/) { - $conditions = $1; - } - - if ($line =~ /elsif/) { - $newline =~ s/elsif/else if/; - } - if ($line !~ /}.*{/) { - incrementIndent(); - } - - foreach my $inside (split(/(\&\&|\|\|)/, $conditions)) { - if ($inside eq '&&' || $inside eq '||') { - $newline .= " $inside "; - } -# elsif ($inside =~ /\$\^O\s+[nltgeq]+\s+[\"\']MSWin32[\"\']/) { -# $newline .= "0"; -# } - elsif ($inside =~ /open\s*\(.*\)/) { - my($above) = undef; - ($inside, $above) = handleOpen($inside, 1); - if (defined $above) { - $newline = $above . getIndent() . $newline; - } - $newline .= " $inside "; - } - elsif ($inside =~ /(.*)\s+([nltgeq]+)\s+(.*)/) { - my($left) = $1; - my($op) = $2; - my($right) = $3; - my($var) = undef; - my($constant) = undef; - - if ($left =~ /\$(\w+)/) { - $var = $1; - } - elsif ($right =~ /\$(\w+)/) { - $var = $1; - } - if ($left =~ /\$?(\w+\[[^\]]+\])/) { - $var = $1; - $var =~ s/\$//g; - } - elsif ($right =~ /\$?(\w+\[[^\]]+\])/) { - $var = $1; - $var =~ s/\$//g; - } - - if ($left =~ /\"[^\"]*\"/) { - $constant = $left; - } - elsif ($right =~ /\"[^\"]*\"/) { - $constant = $right; - } - if ($left =~ /\'([^\']*)\'/) { - $constant = "\"$1\""; - } - elsif ($right =~ /\'([^\']*)\'/) { - $constant = "\"$1\""; - } - if (defined $var && defined $constant) { - my($check) = undef; - if ($op eq 'eq') { - $check = "== 0"; - } - elsif ($op eq 'ne') { - $check = "!= 0"; - } - elsif ($op eq 'lt') { - $check = "< 0"; - } - elsif ($op eq 'le') { - $check = "<= 0"; - } - elsif ($op eq 'gt') { - $check = "> 0"; - } - elsif ($op eq 'ge') { - $check = ">= 0"; - } - - $inside =~ s/.*\s+$op\s+.*/\($var != 0 && ACE_OS_String::strcmp\($var, $constant\) $check\)/; - $newline .= "$inside"; - } - } - elsif ($inside =~ /([^!<=]+)\s*([!<>=]+)\s*([^!<>=]+)/) { - my($left) = $1; - my($op) = $2; - my($right) = $3; - my($var) = undef; - my($constant) = undef; - - $left =~ s/\s+$//; - $right =~ s/^\s+//; - - if ($left =~ /\$(\w+)/) { - $var = $left; - $var =~ s/\$//g; - } - elsif ($left =~ /\'([^\']+)\'/) { - $var = "\"$1\""; - } - else { - $var = $left; - } - - if ($right =~ /\$(\w+)/) { - $constant = $1; - } - elsif ($right =~ /\'([^\']+)\'/) { - $constant = "\"$1\""; - } - else { - $constant = $right; - } - - if ($var =~ /Spawn/) { - my($wait) = ""; - if ($var =~ /\((.*)\)/) { - my($tout) = $1; - if ($tout =~ /^\d+$/ && $tout > $defaultTimeout) { - $defaultTimeout = $tout; - } - $wait = "($tout * $timefactor)"; - } - my($spvar, $spval) = handleSpawn($var); - $newline = "$spvar$spval\n" . (" " x (2 * ($indent - 1))) . - $newline; - $var = "$spvar.wait($wait)"; - } - elsif ($var =~ /[\$]?([\w\[\]\$]+)->WaitKill/) { - my($wvar) = $1; - my($ovar) = $wvar; - my($iop) = "."; - my($tfix) = $wvar; - $wvar =~ s/\$//g; - $tfix =~ s/\[.*//; - if ($wvar =~ /\[/) { - $ovar =~ s/[\[\]\$]//g; - $iop = "->"; - } -# if (defined $declared{$wvar} && $declared{$wvar} != 0) { -# $wvar .= $declared{$wvar}; -# } - handleWaitKill($var, $ovar); - $var = "$wvar$iop" . "wait($ovar" . "Timeout)"; - } - - $newline .= "$var $op $constant"; - } - elsif ($inside =~ /testGetopts/) { - $newline .= $inside; - } - elsif ($inside =~ /(.*)defined\s+\$([^\)]+)/) { - my($op) = $1; - my($var) = $2; - $newline .= ($op ne "" ? "$op(" : "") . - $var . "[0] != '\\0'" . ($op ne "" ? ")" : ""); - } - elsif ($inside =~ /(!)?(.*)/) { - my($op) = $1; - my($right) = $2; - $right =~ s/\$//g; - $inside = (defined $op ? $op : "") . $right; - $newline .= "$inside"; - } - else { - $newline .= "/*$inside*/0"; - } - } - $newline .= ") {"; - - return $newline; -} - - -my($argindexcount) = 0; -my($azlengthcount) = 0; -my($genargcount) = 0; -sub handleArguments { - my($line) = shift; - my($var) = shift; - my($args) = shift; - my($sep) = shift; - my($newline) = "// Arguments: $line"; - my($ok) = 0; - - if (defined $var && defined $args) { - $ok = 1; - } - elsif ($line =~ /\$(\w+)->Arguments\s*\((.*)\)/) { - $ok = 1; - $var = $1; - $args = $2; - } - - if ($ok) { - my($argline) = ""; - my($argcount) = splitArguments($args, \$argline, $sep); - $argline .= "0"; - my(@lines) = split(/\n/, $argline); - $newline = "int argindex$argindexcount = " . - (defined $argsList{$var} ? "$argsList{$var}" : - "1 /*undefined*/") . ";\n"; - for(my $i = 0; $i <= $#lines; $i++) { - if ($i == $#lines) { - my($current) = 0; - my($varargs) = $var . "Args"; - foreach my $newarg (split(/,/, $lines[$i])) { - $newarg =~ s/^\s+//; - $newarg =~ s/\s+$//; - if (defined $declared{$newarg} && $declared{$newarg} eq "%s" && - $newarg !~ /ior/ && $newarg !~ /conf/ && $newarg !~ /gen_/) { - $current = $unknownArgCount; - $newline .= (" " x (2 * $indent)) . $varargs . - "[argindex$argindexcount" . "++] = $newarg;\n" . - (" " x (2 * $indent)) . "int azlength$azlengthcount = ACE_OS::strlen($newarg);\n" . - (" " x (2 * $indent)) . "for(int az = 0; az < azlength$azlengthcount; az++) {\n" . - (" " x (2 * $indent)) . " if (isspace($newarg" . "[az])) {\n" . - (" " x (2 * $indent)) . " $newarg" . "[az] = '\\0';\n" . - (" " x (2 * $indent)) . " for(;ACE_OS_String::ace_isspace($newarg" . "[az]); az++);\n" . - (" " x (2 * $indent)) . " $varargs" . "[argindex$argindexcount" . "++] = $newarg + az + 1;\n" . - (" " x (2 * $indent)) . " }\n" . - (" " x (2 * $indent)) . "}\n"; - $azlengthcount++; - } - elsif (defined $declared{$newarg} && $declared{$newarg} eq "%d") { - $newline .= (" " x (2 * $indent)) . - "char gen_args$genargcount" . "[$shortString] = \"\";\n" . - (" " x (2 * $indent)) . - "ACE_OS::sprintf(gen_args$genargcount, \"%d\", $newarg);\n" . - (" " x (2 * $indent)) . - $varargs . "[argindex$argindexcount" . - "++] = gen_args$genargcount;\n"; - $genargcount++; - $current++; - } - else { - $newline .= (" " x (2 * $indent)) . - $varargs . "[argindex$argindexcount" . - "++] = $newarg;\n"; - $current++; - } - } - $argindexcount++; - my($foundInBody) = 0; - for(my $i = $#cppbody; $i >= 0; $i--) { - if ($cppbody[$i] =~ /char\* $varargs\[(.*)\]/) { - my($index) = $1; - my($max) = $argsList{$var} + $current; - if (!defined $index || defined $index && - ($index eq "" || ($index =~ /^\d+$/ && $index < $max))) { - $cppbody[$i] =~ s/$varargs\[.*\]/$varargs\[$max\]/; - $foundInBody = 1; - last; - } - } - } - for(my $i = $#cppheader; $i >= 0; $i--) { - if ($cppheader[$i] =~ /char\* $varargs\[(.*)\]/) { - my($index) = $1; - my($max) = $argsList{$var} + $current; - if (!defined $index || defined $index && - ($index eq "" || ($index =~ /^\d+$/ && $index < $max))) { - $cppheader[$i] =~ s/$varargs\[.*\]/$varargs\[$max\]/; - last; - } - } - } - } - else { - $newline .= "$lines[$i]\n"; - } - } - } - return $newline; -} - - -sub handleWhile { - my($line) = shift; - generateError($UNSUPPORTED_CONSTRUCT, "while"); - return "while(0) {"; -} - - -sub handleKeyword { - my($key) = shift; - my($line) = shift; - setNeedMain(); - $line =~ s/\$(\w+)/$1/; - if ($line =~ /$key\s*[^(]/) { - if ($line =~ /[\(\)]+/) { - $line =~ s/$key\s*/ACE_OS::$key/; - } - else { - $line =~ s/$key\s*/ACE_OS::$key\(/; - $line =~ s/;/\);/; - } - } - else { - $line = "ACE_OS::$line"; - } - return $line; -} - - -sub handlePrint { - my($line) = shift; - setNeedMain(); - - my($stream) = undef; - my($value) = undef; - if ($line =~ /print\s+(\w+)\s+(.+);/) { - $stream = lc($1); - $value = $2; - } - elsif ($line =~ /print\s+(.+);/) { - $value = $1; - } - - $value = handleEmbeddedVar($value); - - if (defined $stream) { - $line = "ACE_OS::fprintf($stream, $value);"; - } - else { - $line = "ACE_OS::printf($value);"; - } - - return $line; -} - - -sub handleSpawn { - my($line) = shift; - setNeedMain(); - my(@parts) = (); - if ($line =~ /([\w\[\$\]]+)->Spawn[\w]*\s*\(([^\)]*)\)/) { - if (defined $taodebug) { - my($part) = (" " x (2 * $indent)) . "TAO_debug_level = $taodebug;\n"; - if ($insub) { - push(@cppsubs, $part); - } - else { - push(@cppbody, $part); - } - $taodebug = undef; - } - my($var) = $1; - my($timeout) = $2; - $var =~ s/\$//g; - -# if (defined $declared{$var} && $declared{$var} != 0) { -# $var .= $declared{$var}; -# } - if ($timeout =~ /^\d+$/ && $timeout > $defaultTimeout) { - $defaultTimeout = $timeout; - } - my($time) = ($timeout ne "" ? "($timeout * $timefactor)" : ""); - if ($time eq "") { - my($varfix) = $var; - $varfix =~ s/[\[\]]+//g; - $time = "$varfix" . "Timeout"; - } - my($typeCheck) = $var; - $typeCheck =~ s/\[.*//; - @parts = ($var, ($declared{$typeCheck} eq "%x" ? - "->" : ".") . "run($time);"); - } - return @parts; -} - - -sub handleWaitKill { - my($line) = shift; - my($var) = shift; - setNeedMain(); - - if (!defined $var) { - if ($line =~ /(\w+)->.*Kill\s*\(([\w\$]*)\)/) { - $var = $1; - } - } - if ($line =~ /->.*Kill\s*\(([\w\$]*)\)/) { - my($time) = $var . "Timeout"; - my($tout) = $1; - if ($tout =~ /^\d+$/ && $tout > $defaultTimeout) { - $defaultTimeout = $tout; - } - if (!defined $declared{$time}) { - $timeoutVars{$time} = $tout; - $declared{$time} = "%d"; - $decscope{$time} = -1; - } - } -} - - -sub handleSubroutine { - my($line) = shift; - incrementIndent(); - - if ($line =~ /sub\s+(\w+)\s*(\(.*\))?\{/) { - $insub = 1; - $indsc = $indent - 1; - $line = "void $1(/*params*/) {"; - push(@subs, $1); - } - else { - $line = "// Subroutine call??? $line"; - } - return $line; -} - - -my($firstSplit) = 1; -sub handleSplit { - my($line) = shift; - if ($firstSplit) { - $firstSplit = 0; - push(@cppheader, "void split(char** arr, int& length, const char* delim, char* str)\n" . - "{\n" . - " int slength = strlen(str);\n" . - " int delimLength = strlen(delim);\n" . - " int previous = 0;\n" . - " int index = 0;\n" . - " for(int i = 0; i <= slength; i++) {\n" . - " if (str[i] == '\\0' || strncmp(str + i, delim, delimLength) == 0) {\n" . - " arr[index++] = str + previous;\n" . - " str[i] = '\\0';\n" . - " i += delimLength;\n" . - " previous = i;\n" . - " }\n" . - " }\n" . - " length = index;\n" . - "}\n" . - "\n" . - "void split(char** arr, int& length, char delim, char* str)\n" . - "{\n" . - " char delimStr[2] = \"\\0\";\n" . - " delimStr[0] = delim;\n" . - " split(arr, length, delimStr, str);\n" . - "}\n\n"); - } - - if ($line =~ /\@(\w+)\s*=\s*split\s*\((.*)\)/) { - my($var) = $1; - my($params) = $2; - $params =~ s/\$//g; - $params =~ s/^\/([^\/]+)\//\'$1\'/; - $line = "split($var, $var" . "_length, $params);"; - } - else { - $line = "// Unhandled split: $line"; - } - return $line; -} - - -sub handleLocal { - my($line) = shift; - if ($line =~ /local\s*\((.*)\)/) { - my($list) = $1; - foreach my $var (split(/,/, $list)) { - $var =~ s/^\s+//; - $var =~ s/\s+//; - $var = handleAssignment($var . " = \"\";"); - if ($var !~ /^static/) { - $var = "static $var"; - } - push(@cppheader, "$var\n"); - } - } -} - -my($firstGetopts) = 1; -sub handleGetopts { - my($line) = shift; - my(%vars) = (); - - $line =~ s/\'/\"/g; - if ($line =~ /getopts\s*\(([^\)]+)\)/) { - my($param) = $1; - my($length) = length($param); - my($current) = ""; - for(my $i = 0; $i < $length; $i++) { - my($ch) = substr($param, $i, 1); - if ($ch ne '"') { - if ($ch eq ':') { - $vars{$current} = 1; - } - else { - $current = $ch; - $vars{$current} = 0; - } - } - } - } - - if ($firstGetopts) { - push(@cppsubs, "int testGetopts(int argc, char* argv[], const char* str)\n" . - "{\n" . - " ACE_Get_Opt get_opts(argc, argv, str);\n" . - " int status = 1;\n" . - " for(int c = 0; c != -1; c = get_opts()) {\n" . - " switch(c) {\n" . - " case 0:\n" . - " break;\n"); - foreach my $key (keys %vars) { - push(@cppsubs, " case '$key':\n"); - if ($vars{$key} == 0) { - push(@cppsubs, " ACE_OS_String::strcpy(opt_$key, \"1\");"); - } - else { - push(@cppsubs, " ACE_OS_String::strcpy(opt_$key, get_opts.optarg);\n"); - } - push(@cppsubs, " break;\n"); - } - push(@cppsubs, " default:\n" . - " status = 0;\n" . - " break;\n" . - " }\n" . - " }\n" . - " return status;\n" . - "}\n\n"); - } - - $line =~ s/getopts\s*\(/testGetopts\(argc, argv, /g; - $firstGetopts = 0; - return $line; -} - - -sub handleEmbeddedVar { - my($value) = shift; - - while ($value =~ /\$(\w+)\[([\$]?\w+)\]/) { - my($param) = $1; - my($index) = $2; - $index =~ s/\$//; - $value =~ s/([^\\])\$\w+\[[\$]?\w+\]/$1$declared{$param}/; - $value .= ", $param" . "[$index]"; - } - while ($value =~ /\.\s*([\$\"\']+)/) { - my($param) = $1; - $param =~ s/\$//; - $value =~ s/\.\s*[\$\"\']+/ \"%s\"/; - $value .= ", $param"; - $value =~ s/\"\s*\.\s*\"//; - $value =~ s/\"\s+\"//; - } - while ($value =~ /[^\\]\$(\w+)/) { - my($param) = $1; - - ## Perl Script Error - if (!defined $declared{$param}) { - generateError($UNDEFINED_VARIABLE, $param); - $value =~ s/([^\\])\$\w+/$1%x/; - } - else { - $value =~ s/([^\\])\$\w+/$1$declared{$param}/; - } - $value .= ", $param"; - } -# my($length) = length($value); -# my($prev) = ""; -# for(my $i = 0; $i < $length; $i++) { -# my($ch) = substr($value, $i, 1); -# if ($prev ne '\\' && $ch eq '$') { -# ## TBD? -# } -# $prev = $ch; -# } - return $value; -} - - -my($subcallcount) = 0; -sub handleSubCall { - my($line) = shift; - my($newline) = "// Sub Call:"; - if ($line =~ /(\"[^\"]+\")/) { - my($orig) = $1; - my($str) = handleEmbeddedVar($orig); - if ($orig ne $str) { - $newline = "char gen_subcall$subcallcount" . "[$shortString] = \"\";\n" . - (" " x (2 * $indent)) . - "ACE_OS::sprintf(gen_subcall$subcallcount, $str);\n"; - $line =~ s/\"[^\"]+\"/gen_subcall$subcallcount/; - $line = $newline . (" " x (2 * $indent)) . $line; - $subcallcount++; - } - } - else { - $line =~ s/\$//g; - } - return $line; -} - -sub convertAngleToRead { - my($line) = shift; - my($length) = length($line); - my($indouble) = 0; - my($insingle) = 0; - my($inangle) = 0; - - for(my $i = 0; $i < $length; $i++) { - my($ch) = substr($line, $i, 1); - if (!$insingle && $ch eq '"') { - $indouble ^= 1; - } - elsif (!$indouble && $ch eq '\'') { - $insingle ^= 1; - } - elsif ($ch eq '<' && !$indouble && !$insingle) { - $inangle = $i; - } - elsif ($ch eq '>' && $inangle && !$indouble && !$insingle) { - my($func) = "read_line"; - if ($line =~ /while/) { - if ($needReadLine) { - push(@cppsubs, "static char* read_line (int fd)\n" . - "{\n" . - " static const size_t blen = 2048;\n" . - " static char buffer[blen];\n" . - "\n" . - " buffer[0] = '\\0';\n" . - " off_t current = lseek(fd, 0, SEEK_CUR);\n" . - " ssize_t amount = read (fd, buffer, blen);\n" . - " if (amount > 0)\n" . - " {\n" . - " for(ssize_t i = 0; i < amount; i++)\n" . - " {\n" . - " if (buffer[i] == '\\n')\n" . - " {\n" . - " buffer[i + 1] = '\\0';\n" . - " lseek (fd, current + i + 1, SEEK_SET);\n" . - " break;\n" . - " }\n" . - " }\n" . - " }\n" . - "\n" . - " return buffer;\n" . - "}\n" . - "\n" . - "\n"); - $needReadLine = 0; - } - } - else { - $func = "read_file"; - if ($needReadFile) { - push(@cppsubs, "static char* read_file (int fd)\n" . - "{\n" . - " static const size_t blen = 5120;\n" . - " static char buffer[blen];\n" . - "\n" . - " buffer[0] = '\\0';\n" . - " ssize_t amount = read (fd, buffer, blen);\n" . - " if (amount > 0)\n" . - " buffer[amount] = '\\0';\n" . - "\n" . - " return buffer;\n" . - "}\n"); - $needReadFile = 0; - } - } - substr($line, $i, 1) = ")"; - substr($line, $inangle, 1) = "$func("; - $inangle = 0; - $length = length($line); - $i += length($func); - } - } - - return $line; -} - - -sub usageAndExit { - my($str) = shift; - if (defined $str) { - print "$str\n"; - } - print "Usage: " . basename($0) . " [-t <time factor>] <input> <output>\n\n" . - " -t <time factor> The multiple to be applied to " . - "each timeout value.\n" . - " <input> Input perl script.\n" . - " <output> Output c++ file.\n"; - exit(0); -} - -# ****************************************************************** -# Main Section -# ****************************************************************** - -my($ifile) = "run_test.pl"; -my($ofile) = "-"; - -while(1) { - if ($ARGV[0] eq "-h") { - usageAndExit(); - } - elsif ($ARGV[0] eq "-t") { - shift(@ARGV); - $timefactor = $ARGV[0]; - if (!defined $timefactor || $timefactor !~ /^\d+$/) { - usageAndExit("Invalid timeout factor"); - } - } - elsif ($ARGV[0] =~ /^\-/) { - usageAndExit("Unknown option: $ARGV[0]"); - } - else { - last; - } - shift(@ARGV); -} - -if (defined $ARGV[0]) { - $ifile = $ARGV[0]; -} -if (defined $ARGV[1]) { - $ofile = $ARGV[1]; -} - -my($fh) = new FileHandle(); -if (open($fh, $ifile)) { - my($oh) = new FileHandle(); - if (open($oh, ">$ofile")) { - my($line) = ""; - my($inspect) = ""; - my($hostValue) = "localhost"; - - push(@cppheader, getTop()); - while(<$fh>) { - my($injected) = undef; - my($output) = undef; - $line = $_; - $lineCount++; - - ## For now, comment out anything using $ENV{} or - ## PerlACE::check_n_cleanup_files - if ($line =~ /\$ENV/ || - $line =~ /PerlACE::check_n_cleanup_files/) { - $line = "## $line"; - } - - ## Convert die's - if ($line =~ /(.*)\s+(or|and)\s+die\s*(.*);/) { - my($left) = $1; - my($op) = $2; - my($right) = $3; - $line = "if (" . ($op eq "or" ? "!" : "") . "$left) {\n"; - $right =~ s/\((.*)\)/$1/; - my($space) = getIndent(); - $injected = "$space ACE_OS::fprintf(stderr, $right);\n" . - "$space exit(1);\n" . - "$space}\n"; - } - - ## Convert $^O to $OSNAME - $line =~ s/\$\^O/\$OSNAME/g; - - $line =~ s/^\s+//g; - $line =~ s/[^\$\\]#.*//g; - $line =~ s/^#.*//; - $line =~ s/\s+$//g; - - ## PerlACE transform - $line =~ s/PerlACE::LocalFile\s*\((.*)\)/FULL_PATH $1/g; - $line =~ s/PerlACE::waitforfile_timed/TAO_TestCombinedThreads::waitForFileTimed/g; - $line =~ s/TAO_TestCombinedThreads::waitForFileTimed\s*\(([^,]+),([^\)]+)\)/TAO_TestCombinedThreads::waitForFileTimed \($1, \($2 * $timefactor\)\)/; - $line =~ s/PerlACE::uniqueid\s*/TAO_TestCombinedThreads::getRandomPortBase/g; - - ## time transform - $line =~ s/time/time_variable/g; - - ## main arguments transform - $line =~ s/\$#ARGV/\(argc - 1\)/g; - $line =~ s/\$ARGV\[([^\]]+)\]/argv\[$1\]/g; - if ($line =~ /argv\[(\d+)\]/) { - my($val) = $1 + 1; - $line =~ s/argv\[\d+\]/argv\[$val\]/; - } - - ## TARGETHOSTNAME transform - if ($line =~ /\$TARGETHOSTNAME\s*=\s*\"(.*)\"/) { - $hostValue = $1; - $line = ""; - } - $line =~ s/\$TARGETHOSTNAME/$hostValue/g; - - $inspect = concatenate(buildLine($line)); - - if ($inspect =~ /getopts/) { - $inspect = handleGetopts($inspect); - } - - if ($inspect eq "") { - $output = ""; - } - elsif ($inspect =~ /^eval\s+/) { - } - elsif ($inspect =~ /^use\s+/) { - } - elsif ($inspect =~ /^require\s+/) { - } - elsif ($inspect =~ /split\s*\(/) { - $output = handleSplit($inspect); - } - elsif ($inspect =~ /^(my\s+)?[\$\%\@]\w+(\s*\[[\$\w]+\])?\s*(\.)?=/) { - $output = handleAssignment($inspect); - } - elsif ($inspect =~ /^foreach\s+/) { - $output = handleForeach($inspect); - } - elsif ($inspect =~ /^for\s+/) { - $output = handleFor($inspect); - } - elsif ($inspect =~ /^while\s+/) { - $output = handleWhile($inspect); - } - elsif ($inspect =~ /^if\s*\(/ || $inspect =~ /[}]?\s*elsif\s*\(/) { - $output = handleIf($inspect); - } - elsif ($inspect =~ /else/) { - $output = $inspect; - if ($inspect =~ /}/) { - decrementIndent(); - } - if ($inspect =~ /{/) { - incrementIndent(); - } - } - elsif ($inspect =~ /}/) { - $output = $inspect; - decrementIndent(); - } - elsif ($inspect =~ /\$(\w+)\+\+/) { - $output = $inspect; - $output =~ s/\$//g; - } - elsif ($inspect =~ /^exit/) { - if ($inspect =~ /exit(\s*\(\s*\))?;/) { - $inspect = "exit(0);"; - } - $output = handleKeyword("exit", $inspect); - } - elsif ($inspect =~ /^unlink/) { - $output = handleKeyword("unlink", $inspect); - } - elsif ($inspect =~ /^sleep/) { - $output = handleKeyword("sleep", $inspect); - } - elsif ($inspect =~ /^close/) { - $output = handleKeyword("close", $inspect); - } - elsif ($inspect =~ /^print[\s\(]/) { - $output = handlePrint($inspect); - } - elsif ($inspect =~ /\->Spawn/) { - my(@parts) = handleSpawn($inspect); - $output = "$parts[0]$parts[1]"; - } - elsif ($inspect =~ /->WaitKill/) { - handleWaitKill($inspect); - } - elsif ($inspect =~ /->Kill/) { - handleWaitKill($inspect); - } - elsif ($inspect =~ /->Arguments/) { - $output = handleArguments($inspect); - } - elsif ($inspect =~ /local\s*\(/) { - handleLocal($inspect); - } - elsif ($inspect =~ /sub\s+\w+\s*/) { - $output = handleSubroutine($inspect); - } - elsif ($inspect =~ /open\s*\(/) { - my(@parts) = handleOpen($inspect); - $output = $parts[0]; - } - else { - if ($inspect ne "") { - my($needError) = 1; - $output = "// Needs to be implemented: $inspect"; - foreach my $sub (@subs) { - if ($inspect =~ /$sub/) { - $output = handleSubCall($inspect); - $needError = 0; - last; - } - } - if ($needError) { - generateError($UNSUPPORTED_CONSTRUCT, $inspect); - } - } - } - - if (defined $output) { - ## Post-processing - $output = convertFILEtoInt($output); - $output = convertAngleToRead($output); - - if ($needMain) { - push(@cppbody, getMainBeginning()); - if (defined $injected) { - push(@cppbody, $injected); - decrementIndent(); - } - $needMain = 0; - } - if ($output =~ /}\s*elsif/) { - decrementIndent(); - } - my($part) = ($output ne "" ? getIndent() : "") . "$output\n"; - if ($insub) { - push(@cppsubs, $part); - if (defined $injected) { - push(@cppsubs, $injected); - decrementIndent(); - } - } - else { - if (!$firstExecutable) { - push(@cppbody, $part); - if (defined $injected) { - push(@cppbody, $injected); - decrementIndent(); - } - } - else { - push(@cppheader, $part); - if (defined $injected) { - push(@cppheader, $injected); - decrementIndent(); - } - } - } - if ($insub == 1 && $indent == $indsc) { - $insub = 0; - } - if ($output =~ /}\s*elsif/) { - $indent++; - } - } - } - push(@cppbody, getMainEnding()); - - ## Put in the definition of the timeout's now that - ## the defaultTimeout is as large as it's going to get. - foreach my $timeout (sort keys %timeoutVars) { - my($val) = ($timeoutVars{$timeout} eq "" ? $defaultTimeout : - $timeoutVars{$timeout}); - unshift(@cppbody, "static int $timeout = ($val * $timefactor);\n"); - } - - foreach my $line (@cppheader, @cppsubs, @cppbody) { - print $oh $line; - } - } - else { - print STDERR "Unable to open $ofile for output\n"; - $status++; - } - close($fh); -} -else { - print STDERR "Unable to open $ifile for input\n"; - $status++; -} - -## Remove the file if there was an error -if ($status) { - unlink($ofile); -} - -exit($status); diff --git a/bin/pippen.pl b/bin/pippen.pl deleted file mode 100755 index 8c8c55b8a04..00000000000 --- a/bin/pippen.pl +++ /dev/null @@ -1,419 +0,0 @@ -# $Id$ - -BEGIN { - use Cwd; - if (!$ENV{ACE_ROOT}) { - $ACE_ROOT = getcwd ()."\\"; - print STDERR "Error: ACE_ROOT not defined\n"; - exit 1; - } - else { - $ACE_ROOT = $ENV{ACE_ROOT}; - } -} -use lib "$ACE_ROOT/bin"; -use PerlACE::MSProject::DSP; -use PerlACE::MSProject::VCP; -use File::DosGlob 'glob'; -use DirHandle; -use strict; - -################################################################################ - -my $extension; -my $recurse = 0; -my $list = 0; -my $verbose = 0; -my @arguments; -my @configs; -my @roots; -my $auto_compile = 0; -my $clean = 0; -my $debug = 0; - -my $aceroot = 0; - -################################################################################ - -# Parse command line arguments - -while ( $#ARGV >= 0) -{ - if ($ARGV[0] =~ m/^-list/i) { - $list = 1; - } - elsif ($ARGV[0] =~ m/^-evc3/i) { - $extension = "vcp"; - } - elsif ($ARGV[0] =~ m/^-msvc6/i) { - $extension = "dsp"; - } - elsif ($ARGV[0] =~ m/^-msvc7/i) { - $extension = "vcproj"; - } - elsif ($ARGV[0] =~ m/^-config/i) { - push @configs, $ARGV[1]; - shift; - } - elsif ($ARGV[0] =~ m/^-r/i) { - $recurse = 1; - } - elsif ($ARGV[0] =~ m/^-v/i) { - $verbose = 1; - } - elsif ($ARGV[0] =~ m/^-auto_compile/i) { - $auto_compile = 1; - } - elsif ($ARGV[0] =~ m/^-clean/i) { - $clean = 1; - } - elsif ($ARGV[0] =~ m/^-useroot/i) { - push @roots, $ARGV[1]; - shift; - } - elsif ($ARGV[0] =~ m/^-aceroot/i) { - $aceroot = 1; - } - elsif ($ARGV[0] =~ m/^-(\?|h)/i) { # Help information - print "Options\n"; - print "-list - Prints out the list of project files\n"; - print "-config <c> - Use <c> as a configuratoin\n"; - print "-evc3 - Looks for eMbedded Visual C++ 3.0 projects\n"; - print "-msvc6 - Looks for Visual C++ 5.0/6.0 projects\n"; - print "-msvc7 - Looks for Visual C++ 7.0 projects\n"; - print "-clean - Clean instead of building\n"; - print "-recurse - Recurse into directories\n"; - print "-verbose - Make some noise\n"; - print "-auto_compile - Print out auto_compile info during build\n"; - print "-useroot <dir> - Use <dir> as a root to look for dependencies\n"; - print "-aceroot - Use %ACE_ROOT% as a dependency root\n"; - exit; - } - elsif ($ARGV[0] =~ m/^-/) { - warn "$0: unknown option $ARGV[0]\n"; - exit 1; - } - else { - push @arguments, $ARGV[0]; - } - shift; -} - -if ($#configs < 0) { - if (defined $ENV{WINMAKE_CONFIGS}) { - @configs = split /:/, $ENV{WINMAKE_CONFIGS}; - } - elsif (defined $ENV{PIPPEN_CONFIGS}) { - @configs = split /:/, $ENV{PIPPEN_CONFIGS}; - } - else { - print STDERR "Error: No config specified\n"; - exit 1; - } -} - -if (!defined $extension) { - my $compiler = ''; - if (defined $ENV{WINMAKE_COMPILER}) { - $compiler = $ENV{WINMAKE_COMPILER}; - } - elsif (defined $ENV{PIPPEN_COMPILER}) { - $compiler = $ENV{PIPPEN_COMPILER}; - } - else { - print STDERR "Error: No compiler specified\n"; - exit 1; - } - - if ($compiler eq "evc3") { - $extension = "vcp"; - } - elsif ($compiler eq "msvc6") { - $extension = "dsp"; - } - elsif ($compiler eq "msvc7") { - $extension = "vcproj"; - } -} - -################################################################################ - -# I like these variables - -# %projects->{$file}->{BUILD} <- Are we supposed to build this file? -# ->{PROJ} <- MSProject object -# ->{CONFIGS}->{$config}->{DEPS} <- List of dependencies -# ->{DONE} <- Have we compiled it yet? - -my %projects; - -# %names->{$output} <- points to the $file used in the above %projects - -my %names; - -################################################################################ - -# Expand all the files/directories passed in on the command line - -sub ProjectSearch ($@) -{ - my $build = shift; - my @targets = @_; - - while ($#targets >= 0) { - my $target = $targets[0]; - if (-d $target) { - print " Reading Directory $target\n" if ($verbose); - if ($recurse) { - my $dh = new DirHandle ($target); - - if (defined $dh) { - foreach my $entry ($dh->read ()) { - if (-d "$target/$entry" && $entry ne "." && $entry ne "..") { - $entry =~ s/^.\\//; # / <- fix for color coding in devenv - push @targets, ($target . "\\". $entry); - } - } - } - else { - print STDERR "Error: Cannot read $target: $!\n"; - } - } - - foreach my $t (glob ($target . "\\*." . $extension)) { - print " Adding project $t\n" if ($verbose); - %projects->{$t}->{BUILD} = $build; - } - } - else { - foreach my $t (glob ($target)) { - print " Adding project $t\n" if ($verbose); - %projects->{$t}->{BUILD} = $build; - } - } - shift @targets; - } -} - -print "=== Expanding Command line Arguments\n" if ($verbose); - -if ($#arguments < 0) { - print " No files specified, defaulting to \".\"\n" if ($verbose); - push @arguments, ("."); -} - -ProjectSearch (1, @arguments); - -print "=== Expanding Root Arguments\n" if ($verbose); - -ProjectSearch (0, @roots); - -if ($aceroot == 1) { - my $oldrecurse = $recurse; - $recurse = 1; - my @aceroots = ($ENV{ACE_ROOT}."\\ace", - $ENV{ACE_ROOT}."\\apps\\gperf\\src", - $ENV{ACE_ROOT}."\\TAO\\TAO_IDL", - $ENV{ACE_ROOT}."\\TAO\\tao", - $ENV{ACE_ROOT}."\\TAO\\orbsvcs\\orbsvcs"); - ProjectSearch (0, @aceroots); - $recurse = $oldrecurse; -} - -################################################################################ - -# Read each project file to gather dependency and output information - -print "=== Reading Project Files\n" if ($verbose); - -foreach my $project (keys %projects) { - my $proj; - - if ($project =~ m/\.dsp$/i) { - $proj = new PerlACE::MSProject::DSP ($project); - } - elsif ($project =~ m/\.vcp$/i) { - $proj = new PerlACE::MSProject::VCP ($project); - } - elsif ($project =~ m/\.vcproj$/i) { - print STDERR "Error: MSVC7 not supported yet\n"; - } - else { - print STDERR "Error: Unrecognized file: $project\n"; - } - - print " Loading $project:" if ($verbose); - - $proj->Load (); - - foreach my $config (@configs) { - foreach my $proj_config ($proj->Configs ()) { - if ($proj_config =~ m/\Q$config\E/i) { - print " \"$proj_config\"" if ($verbose); - my $name = $proj->DepOutputFile ($proj_config); - - %names->{lc $name} = $project; - my @deps = split / /, $proj->Libs ($proj_config); - - foreach my $dep (@deps) { -# $dep =~ s/.*[\/\\]//g; - push (@{%projects->{$project}->{CONFIGS}->{$proj_config}->{DEPS}}, $dep); - } - if ($proj->UsesTAOIDL () == 1) { - push @{%projects->{$project}->{CONFIGS}->{$proj_config}->{DEPS}}, ("gperf.exe", "tao_idl.exe"); - } - } - } - } - - print "\n" if ($verbose); - - %projects->{$project}->{PROJ} = $proj; -} - -################################################################################ - -# Clean out the dependency lists, we only keep the libraries which we know -# how to generate - -print "=== Cleaning out Dependency Lists\n" if ($verbose); - -foreach my $project (keys %projects) { - foreach my $config (keys %{%projects->{$project}->{CONFIGS}}) { - print " Cleaning Dependencies: $project ($config)\n" if ($verbose); - print " Before:", join (" ", @{%projects->{$project}->{CONFIGS}->{$config}->{DEPS}}), "\n" if ($verbose); - my @newdeps; - foreach my $dep (@{%projects->{$project}->{CONFIGS}->{$config}->{DEPS}}) { - $dep =~ s/.*[\/\\]//g; - - if (defined %names->{lc $dep}) { - push @newdeps, $dep; - } - } - print " After:", join (" ", @newdeps), "\n" if ($verbose); - @{%projects->{$project}->{CONFIGS}->{$config}->{DEPS}} = @newdeps; - } -} - -################################################################################ - -# Make sure to build any dependencies found - -print "=== Walking Dependency Lists\n" if ($verbose); - -my $finished = 0; - -do { - $finished = 1; - foreach my $project (keys %projects) { - foreach my $config (keys %{%projects->{$project}->{CONFIGS}}) { - if (%projects->{$project}->{BUILD} == 1) { - foreach my $dep (@{%projects->{$project}->{CONFIGS}->{$config}->{DEPS}}) { - if (%projects->{%names->{lc $dep}}->{BUILD} != 1) { - %projects->{%names->{lc $dep}}->{BUILD} = 1; - $finished = 0; - } - } - } - } - } - -} while (!$finished); - - -################################################################################ - -# Output a list, if requested - -if ($debug) { - print "List of Dependencies\n"; - print "--------------------\n"; - foreach my $project (keys %projects) { - print "=== $project\n"; - foreach my $config (keys %{%projects->{$project}->{CONFIGS}}) { - print " Config: $config\n"; - print " Depends: ", join (" ", @{%projects->{$project}->{CONFIGS}->{$config}->{DEPS}}), "\n"; - } - } - - print "\n"; - print "List of Outputs\n"; - print "---------------\n"; - - foreach my $name (keys %names) { - print "$name\n"; - } -} - -################################################################################ - -# Loop through and - -print "=== Compiling\n" if ($verbose); - -my $compilations; # Keep track of the number of compiles done during a pass -my $unfinished; -my $loop = 1; - -do { - $compilations = 0; - $unfinished = 0; - - foreach my $project (keys %projects) { - if (%projects->{$project}->{BUILD} == 1) { - foreach my $config (keys %{%projects->{$project}->{CONFIGS}}) { - if (%projects->{$project}->{CONFIGS}->{$config}->{DONE} != 1) { - my $depsleft = 0; - foreach my $dep (@{%projects->{$project}->{CONFIGS}->{$config}->{DEPS}}) { - if (%projects->{%names->{lc $dep}}->{CONFIGS}->{$config}->{DONE} != 1) { - ++$depsleft; - } - } - - if ($depsleft == 0) { - ++$compilations; - print "Auto_compiling $project : $config\n" if ($auto_compile); - - if ($list == 1) { - if ($clean == 1) { - print "Cleaning "; - } - else { - print "Compiling "; - } - - print "$project : $config\n"; - } - elsif ($clean == 1) { - %projects->{$project}->{PROJ}->Clean ($config); - } - else { - %projects->{$project}->{PROJ}->Build ($config); - } - - %projects->{$project}->{CONFIGS}->{$config}->{DONE} = 1; - } - else { - ++$unfinished; - } - } - } - } - } - - print " === Loop $loop: $compilations compiles, $unfinished left\n" if ($verbose); - ++$loop; -} while ($compilations != 0); - -# Loop through and see if anything wasn't compiled. If so, this means either there is -# an error in the script or that there are circular dependencies - -foreach my $project (keys %projects) { - if (%projects->{$project}->{BUILD} == 1) { - foreach my $config (keys %{%projects->{$project}->{CONFIGS}}) { - if (%projects->{$project}->{CONFIGS}->{$config}->{DONE} != 1) { - print STDERR "Error: Project not compiled: $project - $config\n", - } - } - } -} diff --git a/bin/regenerate_exports.pl b/bin/regenerate_exports.pl deleted file mode 100755 index 95e6bf67986..00000000000 --- a/bin/regenerate_exports.pl +++ /dev/null @@ -1,54 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' - & eval 'exec perl -S $0 $argv:q' - if 0; - -# $Id$ -# Goes through ACE/TAO and replaces - -use File::Find; -use Cwd; - -$args = ''; -$root = cwd.'/'; - -while ($#ARGV >= 0) { - $args = $args . ' ' . shift @ARGV; -} - -# wanted is only used for the File::Find -sub wanted -{ - my $file = $File::Find::name; - - $file =~ s/\.\//$root/; - - if ($File::Find::name =~ /\_export\.h$/i) { - my $flag = 0; - my $name = ''; - - if (!open (FILE, $file)) { - print STDERR "Error: Could not open $file\n"; - } - - while (<FILE>) { - $flag = 1 if ((/generate_export/ || /GenExportH/) && $flag == 0); - $name = $1 if (/define (\w*)_Export/); - } - - if ($flag == 1) { - print "Regenerating: $file\n"; - if ($OSNAME eq 'MSWIn32') { - $file =~ s/\//\\/g; - } - system ("perl -S generate_export_file.pl $args $name > $file"); - } - else { - print "Skipping: $file\n"; - } - close FILE; - } -} - - -find (\&wanted, "."); - diff --git a/bin/rename-ace.pl b/bin/rename-ace.pl deleted file mode 100755 index 0e1bd66069f..00000000000 --- a/bin/rename-ace.pl +++ /dev/null @@ -1,184 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -pi -S $0 ${1+"$@"}' - & eval 'exec perl -pi -S $0 $argv:q' - if 0; - -# $Id$ - -# The first three lines above let this script run without specifying the -# full path to perl, as long as it is in the user's PATH. -# Taken from perlrun man page. - -s/\bAcceptor\b/ACE_Acceptor/g; -s/\bAddr\b/ACE_Addr/g; -s/\bArgument_Vector\b/ACE_ARGV/g; -s/\bAtomic_Op\b/ACE_Atomic_Op/g; -s/\bCORBA_Handler\b/ACE_CORBA_Handler/g; -s/\bCondition\b/ACE_Condition/g; -s/\bConnector\b/ACE_Connector/g; -s/\bControl_Block\b/ACE_Control_Block/g; -s/\bControl_Mode\b/ACE_Control_Mode/g; -s/\bData_Block\b/ACE_Data_Block/g; -s/\bDummy_Node\b/ACE_Dummy_Node/g; -s/\bDynamic_Node\b/ACE_Dynamic_Node/g; -s/\bElapsed_Time\b/ACE_Elapsed_Time/g; -s/\bEvent_Handler\b/ACE_Event_Handler/g; -s/\bEvent_Handler_T\b/ACE_Event_Handler_T/g; -s/\bFIFO\b/ACE_FIFO/g; -s/\bFIFO_Recv\b/ACE_FIFO_Recv/g; -s/\bFIFO_Recv_Msg\b/ACE_FIFO_Recv_Msg/g; -s/\bFIFO_Send\b/ACE_FIFO_Send/g; -s/\bFIFO_Send_Msg\b/ACE_FIFO_Send_Msg/g; -s/\bFunction_Node\b/ACE_Function_Node/g; -s/\bGet_Opt\b/ACE_Get_Opt/g; -s/\bGuard\b/ACE_Guard/g; -s/\bHANDLE\b/ACE_HANDLE/g; -s/\bHandle_Set_Iterator\b/ACE_Handle_Set_Iterator/g; -s/\bHandle_Set\b/ACE_Handle_Set/g; -s/\bHigh_Res_Timer\b/ACE_High_Res_Timer/g; -s/\bINET_Addr\b/ACE_INET_Addr/g; -s/\bIO_Cntl_Cmds\b/ACE_IO_Cntl_Cmds/g; -s/\bIO_Cntl_Msg\b/ACE_IO_Cntl_Msg/g; -s/\bIO_Vector\b/ACE_IO_Vector/g; -s/\bIPC_SAP\b/ACE_IPC_SAP/g; -s/\bLSOCK\b/ACE_LSOCK/g; -s/\bLSOCK_Acceptor\b/ACE_LSOCK_Acceptor/g; -s/\bLSOCK_Aceeptor\b/ACE_LSOCK_Aceeptor/g; -s/\bLSOCK_CODgram\b/ACE_LSOCK_CODgram/g; -s/\bLSOCK_Connector\b/ACE_LSOCK_Connector/g; -s/\bLSOCK_Dgram\b/ACE_LSOCK_Dgram/g; -s/\bLSOCK_Stream\b/ACE_LSOCK_Stream/g; -s/\bLocal_Memory_Pool\b/ACE_Local_Memory_Pool/g; -s/\bLocation_Node\b/ACE_Location_Node/g; -s/\bLog_Msg\b/ACE_Log_Msg/g; -s/\bLog_Priority\b/ACE_Log_Priority/g; -s/\bLog_Record\b/ACE_Log_Record/g; -s/\bMalloc\b/ACE_Malloc/g; -s/\bMalloc_Align\b/ACE_Malloc_Align/g; -s/\bMalloc_Header\b/ACE_Malloc_Header/g; -s/\bMalloc_Stats\b/ACE_Malloc_Stats/g; -s/\bMap_Entry\b/ACE_Map_Entry/g; -s/\bMap_Iterator\b/ACE_Map_Iterator/g; -s/\bMap_Manager\b/ACE_Map_Manager/g; -s/\bMem_Map\b/ACE_Mem_Map/g; -s/\bMMAP_Memory_Pool\b/ACE_MMAP_Memory_Pool/g; -s/\bMT_SYNCH\b/ACE_MT_SYNCH/g; -s/\bMemory_Pool\b/ACE_Memory_Pool/g; -s/\bMessage_Block\b/ACE_Message_Block/g; -s/\bMessage_Queue\b/ACE_Message_Queue/g; -s/\bMessage_Type\b/ACE_Message_Type/g; -s/\bModule\b/ACE_Module/g; -s/\bModule_Link\b/ACE_Module_Link/g; -s/\bModule_Type\b/ACE_Module_Type/g; -s/\bMultiplexor\b/ACE_Multiplexor/g; -s/\bMutex\b/ACE_Mutex/g; -s/\bNull_Condition\b/ACE_Null_Condition/g; -s/\bNull_Mutex\b/ACE_Null_Mutex/g; -s/\bNULL_SYNCH\b/ACE_NULL_SYNCH/g; -s/\bObchunk\b/ACE_Obchunk/g; -s/\bObject_Node\b/ACE_Object_Node/g; -s/\bObstack\b/ACE_Obstack/g; -s/\bOneshot_Acceptor\b/ACE_Oneshot_Acceptor/g; -s/\bParse_Node\b/ACE_Parse_Node/g; -s/\bProcess_Mutex\b/ACE_Process_Mutex/g; -s/\bProfile_Timer\b/ACE_Profile_Timer/g; -s/\bQ_Entry\b/ACE_Q_Entry/g; -s/\bQueue\b/ACE_Queue/g; -s/\bRW_Mutex\b/ACE_RW_Mutex/g; -s/\bRaw_Data_Block\b/ACE_Raw_Data_Block/g; -s/\bReactor\b/ACE_Reactor/g; -s/\bReactor_Mask\b/ACE_Reactor_Mask/g; -s/\bReactor_Token\b/ACE_Reactor_Token/g; -s/\bRead_Guard\b/ACE_Read_Guard/g; -s/\bRecursive_Lock\b/ACE_Recursive_Lock/g; -s/\bRemove_Node\b/ACE_Remove_Node/g; -s/\bRequest_Queue\b/ACE_Request_Queue/g; -s/\bResume_Node\b/ACE_Resume_Node/g; -s/\bSOCK\b/ACE_SOCK/g; -s/\bSOCK_Acceptor\b/ACE_SOCK_Acceptor/g; -s/\bSOCK_CODgram\b/ACE_SOCK_CODgram/g; -s/\bSOCK_Connector\b/ACE_SOCK_Connector/g; -s/\bSOCK_DGRAM\b/ACE_SOCK_DGRAM/g; -s/\bSOCK_Dgram\b/ACE_SOCK_Dgram/g; -s/\bSOCK_Dgram_Bcast\b/ACE_SOCK_Dgram_Bcast/g; -s/\bSOCK_Dgram_Mcast\b/ACE_SOCK_Dgram_Mcast/g; -s/\bSOCK_IO\b/ACE_SOCK_IO/g; -s/\bSOCK_Stream\b/ACE_SOCK_Stream/g; -s/\bSPIPE\b/ACE_SPIPE/g; -s/\bSPIPE_Acceptor\b/ACE_SPIPE_Acceptor/g; -s/\bSPIPE_Addr\b/ACE_SPIPE_Addr/g; -s/\bSPIPE_Connector\b/ACE_SPIPE_Connector/g; -s/\bSPIPE_IO\b/ACE_SPIPE_Stream/g; -s/\bSPIPE_Msg\b/ACE_SPIPE_Msg/g; -s/\bSString\b/ACE_SString/g; -s/\bSV_Message\b/ACE_SV_Message/g; -s/\bSV_Message_Queue\b/ACE_SV_Message_Queue/g; -s/\bSV_Semaphore\b/ACE_SV_Semaphore/g; -s/\bSV_Semaphore_Complex\b/ACE_SV_Semaphore_Complex/g; -s/\bSV_Semaphore_Simple\b/ACE_SV_Semaphore_Simple/g; -s/\bSV_Shared_Memory\b/ACE_SV_Shared_Memory/g; -s/\bSemaphore\b/ACE_Semaphore/g; -s/\bService_Config\b/ACE_Service_Config/g; -s/\bService_Manager\b/ACE_Service_Manager/g; -s/\bService_Object\b/ACE_Service_Object/g; -s/\bService_Object_Type\b/ACE_Service_Object_Type/g; -s/\bService_Record\b/ACE_Service_Record/g; -s/\bService_Repository\b/ACE_Service_Repository/g; -s/\bService_Repository_Iterator\b/ACE_Service_Repository_Iterator/g; -s/\bService_Type\b/ACE_Service_Type/g; -s/\bShared_Malloc\b/ACE_Shared_Malloc/g; -s/\bShared_Malloc_MM\b/ACE_Shared_Malloc_MM/g; -s/\bShared_Malloc_SV\b/ACE_Shared_Malloc_SV/g; -s/\bShared_Memory\b/ACE_Shared_Memory/g; -s/\bShared_Memory_Pool\b/ACE_Shared_Memory_Pool/g; -s/\bShared_Object\b/ACE_Shared_Object/g; -s/\bSig_Action\b/ACE_Sig_Action/g; -s/\bSig_Handler\b/ACE_Sig_Handler/g; -s/\bSig_Set\b/ACE_Sig_Set/g; -s/\bSignalHandler\b/ACE_SignalHandler/g; -s/\bSignalHandlerV\b/ACE_SignalHandlerV/g; -s/\bSignal_Guard\b/ACE_Signal_Guard/g; -s/\bSignal_Handler\b/ACE_Signal_Handler/g; -s/\bStatic_Node\b/ACE_Static_Node/g; -s/\bStr_Buf\b/ACE_Str_Buf/g; -s/\bStream\b/ACE_Stream/g; -s/\bStream_Head\b/ACE_Stream_Head/g; -s/\bStream_Iterator\b/ACE_Stream_Iterator/g; -s/\bStream_Modules\b/ACE_Stream_Modules/g; -s/\bStream_Node\b/ACE_Stream_Node/g; -s/\bStream_Tail\b/ACE_Stream_Tail/g; -s/\bSTREAM_Type\b/ACE_STREAM_Type/g; -s/\bSuspend_Node\b/ACE_Suspend_Node/g; -s/\bSvc_Handler\b/ACE_Svc_Handler/g; -s/\bSvc_Manager\b/ACE_Svc_Manager/g; -s/\bSvc_Tuple\b/ACE_Svc_Tuple/g; -s/\bSynch\b/ACE_Synch/g; -s/\bSynch_Options\b/ACE_Synch_Options/g; -s/\bTHR_FUNC\b/ACE_THR_FUNC/g; -s/\bTLI\b/ACE_TLI/g; -s/\bTLI_Acceptor\b/ACE_TLI_Acceptor/g; -s/\bTLI_Connector\b/ACE_TLI_Connector/g; -s/\bTLI_Stream\b/ACE_TLI_Stream/g; -s/\bTask\b/ACE_Task/g; -s/\bThread\b/ACE_Thread/g; -s/\bThread_Control\b/ACE_Thread_Control/g; -s/\bThread_Manager\b/ACE_Thread_Manager/g; -s/\bThread_Mutex\b/ACE_Thread_Mutex/g; -s/\bThread_Spawn\b/ACE_Thread_Spawn/g; -s/\bThread_Specific\b/ACE_Thread_Specific/g; -s/\bThru_Task\b/ACE_Thru_Task/g; -s/\bTime_Value\b/ACE_Time_Value/g; -s/\bTimer_Handle\b/ACE_Timer_Handle/g; -s/\bTimer_Queue\b/ACE_Timer_Queue/g; -s/\bToken\b/ACE_Token/g; -s/\bTrace\b/ACE_Trace/g; -s/\bTry_Guard\b/ACE_Try_Guard/g; -s/\bTyped_SV_Message\b/ACE_Typed_SV_Message/g; -s/\bTyped_SV_Message_Queue\b/ACE_Typed_SV_Message_Queue/g; -s/\bUNIX_Addr\b/ACE_UNIX_Addr/g; -s/\bUPIPE\b/ACE_UPIPE/g; -s/\bUPIPE_Addr\b/ACE_UPIPE_Addr/g; -s/\bUPIPE_Stream\b/ACE_UPIPE_Stream/g; -s/\bUPIPE_Acceptor\b/ACE_UPIPE_Acceptor/g; -s/\bUPIPE_Connector\b/ACE_UPIPE_Connector/g; -s/\bWrite_Guard\b/ACE_Write_Guard/g; -s@ace/ACE_@ace/@g; diff --git a/bin/reverse_clean b/bin/reverse_clean deleted file mode 100755 index 29f205a5bbe..00000000000 --- a/bin/reverse_clean +++ /dev/null @@ -1,22 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' - & eval 'exec perl -S $0 $argv:q' - if 0; -# -*- perl -*- -# $Id$ -# -# This script does a realclean of the list in the reverse order that -# is passed to this. This is just a utility script - -@ARGS = (); - -if ($ARGV[0] eq ''){ - print STDERR "$0: No directories provided\n"; - die "provide list of directories"; -} - -@BUILD_LIST = @ARGV; - - -foreach $i (reverse (@BUILD_LIST)) { - system ("make -k -C $i realclean"); -} diff --git a/bin/run_all.pl b/bin/run_all.pl deleted file mode 100755 index dfa4841262c..00000000000 --- a/bin/run_all.pl +++ /dev/null @@ -1,224 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' - & eval 'exec perl -S $0 $argv:q' - if 0; - -# -*- perl -*- -# $Id$ -# -# This script execute the test programs (usually, other scripts) in -# the RUN_LIST defined below. If it detects any problem it send email. -# -# This script requires ActivePerl for Win32 and libnet from CPAN. -# -# Usage: run_all.pl <log directory> <admin email address> -# -# For example: run_all.pl /tmp/log peter_pan@neverland.org - -use Net::SMTP; -use File::Basename; -use FileHandle; -require POSIX; - -push @INC, $ENV{'ACE_ROOT'}.'/bin'; -require run_all_list; - -# Find out the command name. -$CMD = basename($0); - -$single_threaded = 0; -$minimum_corba = 0; -$dont_run = 0; -$report_success = 0; -$debug = 0; -$ami=0 -@ARGS = (); -while ($#ARGV >= 0) { - if (!($ARGV[0] =~ m/-/)) { - push @ARGS, $ARGV[0]; - shift; - } elsif ($ARGV[0] eq "-single_threaded") { - $single_threaded = 1; - shift; - } elsif ($ARGV[0] eq "-minimum_corba") { - $minimum_corba = 1; - shift; - } elsif ($ARGV[0] eq "-ami") { - $ami = 1; - shift; - } elsif ($ARGV[0] eq "-report_success") { - $report_success = 1; - shift; - } elsif ($ARGV[0] eq "-debug") { - $debug = 1; - shift; - } -} - -# We obtain our revision to report errors. -$REVISION='$Revision$ '; - -# Extract configuration information from command line. - # TODO: Some validation and checking should be done here. -$LOGDIR = $ARGS[0]; -$ADMIN = $ARGS[1]; -$MAIL = "mail"; -if ($#ARGS >= 2) { - $MAIL = $ARGS[2]; -} - -$disable_file = $LOGDIR . '/.disable'; -$histfile = $LOGDIR . '/history'; -$LOGBASE = POSIX::strftime("%b%d_%Y.log", localtime); -$LOGFILE = $LOGDIR . '/' . $LOGBASE; -$HOST = `hostname`; -chop $HOST; -$LOG_NAME = $HOST . "_" . $BUILD . "_" . $LOGBASE; -$STATUS = "OK"; - -sub report_errors { - # Now send a summary of the errors to the ADMIN account... - local $to = $ADMIN; - - open (MAIL, "|".$MAIL.' -s [AUTO_COMPILE] '.$to) - || die "Cannot open mail pipe for: $_\n"; - - print MAIL 'The following message is brought to you by: ', "\n"; - print MAIL $CMD, ' [', $REVISION, "] for $BUILD on $CHECKOUT\n"; - - local $m; - foreach $m (@_) { - print MAIL $m, "\n"; - } - - print MAIL "\nPlease check the following log for more info:\n\n"; - print MAIL 'http://www.cs.wustl.edu/~bugzilla/auto_compile_logs/', - $LOG_NAME, "\n\n"; - - close (MAIL); # Ignore errors.... - -# # Now send the complete log to bugzilla... -# local $bugs = 'bugzilla'.'@cs.wustl.edu'; -# open (MAIL, "|".$MAIL.' -s AUTO_COMPILE_LOG='.$LOG_NAME.' '.$bugs) -# || die "Cannot open mail pipe for: $LOG_NAME\n"; - -# print MAIL 'This is the log for: ', "\n"; -# print MAIL $CMD, ' [', $REVISION, "] for $BUILD on $CHECKOUT\n"; - -# print MAIL "\n================================================================\n"; - -# if (open (THELOG, "$LOGFILE")) -# { -# while (<THELOG>) { -# print MAIL $_; -# } -# close (THELOG); -# } -# close (MAIL); # Ignore errors.... -} - -### MAIN FUNCTION - -$histfile = $LOGDIR . '/history'; -open(HIST, '>>' . $histfile) - # Do not use 'die' to report the problem, it tries to use HIST.... - || die "cannot open history file \"$histfile\"\n"; - -$date = localtime; - -print HIST $CMD, ': running at ', $date, ' '; - -if (-f $disable_file) { - print HIST "DISABLED\n"; - exit 0; -} - -open (DISABLE, '>' . $disable_file) - || die "cannot open disable file"; -print DISABLE "auto_compile <$date> is running\n"; -close (DISABLE) - || die "cannot close disable file"; - -$LOGFILE = $LOGDIR . '/' . POSIX::strftime("%b%d_%Y.log", localtime); -open(LOG, '>' . $LOGFILE) - || die "cannot open log file"; - -LOG->autoflush (); - -@failures = (); - -if ($dont_run == 0) { - @LIST = @RUN_LIST; - if ($single_threaded) { - @LIST = @SINGLE_THREADED_LIST; - } elsif ($minimum_corba) { - @LIST = @MINIMUM_CORBA_LIST; - } elsif ($ami) { - @LIST = @AMI_CORBA_LIST; - } - - $DIR = $ENV{'PWD'}; - foreach $i (@LIST) { - local @test_info = split (/\ \,\ /, $i); - local $directory = $test_info[0]; - local $program = $test_info[1]; - - $date = localtime; - print LOG "$CMD: =============================================\n"; - print LOG "$CMD: running $program in $directory at ", $date, "\n"; - local $subdir = $DIR . '/' . $directory; - chdir ($subdir) - || die "cannot chdir to $subdir"; - - $run_error = 0; - if (open(RUN, "perl $program 2>&1 |") == 0) { - push @failures, "cannot run $program in $directory"; - next; - } - while (<RUN>) { - print LOG $_; - if (m/Error/ - || m/FAILED/ - || m/EXCEPTION/ - || m/pure virtual /i) { - if ($STATUS eq "OK") { - $STATUS = "RUNTIME ERROR"; - } - $run_error = 1; - } - } - if (close(RUN) == 0) { - if ($STATUS eq "OK") { - $STATUS = "RUNTIME ERROR"; - } - push @failures, "Error when closing pipe for $program in $directory"; - next; - } - $date = localtime; - print LOG "$CMD: $program finished ", $date, "\n"; - - if ($run_error != 0) { - push @failures, - "errors detected while running $program in $directory"; - } - } -} - -if ($#failures >= 0) { - report_errors @failures; -} - -close(LOG) - || die "cannot close LOGFILE"; - -print HIST "$STATUS\n"; -close(HIST) - || die "cannot close history file"; - -unlink $disable_file - || die "cannot unlink disable file"; - -if ($report_success) { - report_errors "Congratulations: No errors or warnings detected\n"; -} - -exit 0; diff --git a/bin/run_all_win32.pl b/bin/run_all_win32.pl deleted file mode 100755 index 84021c3a8d9..00000000000 --- a/bin/run_all_win32.pl +++ /dev/null @@ -1,180 +0,0 @@ -# -*- perl -*- -# $Id$ -# -# This script execute the test programs (usually, other scripts) in -# the RUN_LIST defined below. If it detects any problem it send email. -# -# This script requires ActivePerl for Win32 and libnet from CPAN. -# -# Usage: run_all_win32.pl <log directory> <admin email address> -# -# For example: run_all_win32.pl c:\log peter_pan@neverland.org - -use Net::SMTP; -use File::Basename; -use FileHandle; -require POSIX; - -use lib "$ENV{ACE_ROOT}/bin"; -require run_all_list; - -# This is the module we will checkout, someday someone could define a -# smaller module. -$MODULE='ACE_wrappers'; - -# The following are for redirecting execution results to temporary files. -$exe_log_name='run_test.log'; # Name of the tempfile used. - -# If using 'sh'. -$sh_cmd="c:/bin/sh "; -$sh_redirection=" > $exe_log_name 2>&1"; - -#if using '4nt', 4nt is not quite working yet. -$four_nt_cmd="d:/Utils/4NT301/4NT.EXE "; -$four_nt_redirection=" >& $exe_log_name"; - -# Pick the one your like. -$shell_invoke = $sh_cmd; -$redirect_output = $sh_redirection; - -# We obtain our revision to report errors. -#$REVISION='$Revision$'; - -# Find out the command name. -$CMD = basename($0); - -# Extract configuration information from command line. -# TODO: Some validation and checking should be done here. -$LOGDIR = $ARGV[0]; -$ADMIN = $ARGV[1]; - -# When an error is found we try to die gracefully and send some email -# to ADMIN. - -$disable_file = $LOGDIR . '/.disable'; - -sub mywarn { - local @msg = @_; - - # Need more error checking here. - - $smtp = Net::SMTP->new('mail.cs.wustl.edu'); - $smtp->mail( "$ADMIN" ); # sender's address - $smtp->to("$ADMIN"); # recipient's address - $smtp->data(); # Start the mail - - # Mail Header - $smtp->datasend("To: $ADMIN\n"); - $smtp->datasend("Subject: Auto run results\n"); - $smtp->datasend("From: $ADMIN\n"); - $smtp->datasend("\n"); - - # Now the message body - $smtp->datasend ('The following message is brought to you by: ', "\n"); - $smtp->datasend ("$CMD, [ $REVISION ] for $BUILD on $CHECKOUT\n\n"); - - local $m; - foreach $m (@msg) { - $smtp->datasend ("$m \n"); - } - - $smtp->datasend ("\nPlease check log files for more info\n"); - - $smtp->dataend(); # Finish sending the mail - $smtp->quit; # Close the SMTP connection -} - -sub mydie { - mywarn @_; - print HIST 'FAILED', "\n"; - unlink $disable_file - || die "cannot unlink disable file"; - exit 0; -} - -### MAIN FUNCTION - -### MAIN FUNCTION - -$histfile = $LOGDIR . '/history'; -open(HIST, '>>' . $histfile) - # Do not use 'mydie' to report the problem, it tries to use HIST.... - || die "cannot open history file \"$histfile\"\n"; - -$date = localtime; - -print HIST $CMD, ': running at ', $date, ' '; - -if (-f $disable_file) { - print HIST "DISABLED\n"; - exit 0; -} - -open (DISABLE, '>' . $disable_file) - || mydie "cannot open disable file"; -print DISABLE "auto_compile <$date> is running\n"; -close (DISABLE) - || mydie "cannot close disable file"; - -$LOGFILE = $LOGDIR . '/' . POSIX::strftime("%b%d_%Y.log", localtime); -open(LOG, '>' . $LOGFILE) - || mydie "cannot open log file"; - -LOG->autoflush (); - -foreach $i (@RUN_LIST) { - local @test_info = split (/\ \,\ /, $i); - local $directory = $test_info[0]; - local $program = $test_info[1]; - print "$directory, $program\n"; - - $date = localtime; - print LOG "$CMD: =============================================\n"; - print LOG "$CMD: running $program in $directory at ", $date, "\n"; - local $subdir = - $ENV{ACE_ROOT} . '/'. $directory; - chdir ($subdir) - || mydie "cannot chdir to $subdir"; - - $run_error = 0; - - system ($shell_invoke . " " . $program . " " . $redirect_output); - - open (RUN, "$exe_log_name") || push @failures, "Can't open execution log file $exe_log_name\n"; - - while (<RUN>) { - print LOG $_; - if (m/^Error/ || m/FAILED/ || m/EXCEPTION/) { - $run_error = 1; - } - } - if (close(RUN) == 0) { - push @failures, "Error when closing log file $program in $directory"; - next; - } - $date = localtime; - print LOG "$CMD: $program finished ", $date, "\n"; - - if ($run_error != 0) { - push @failures, - "errors detected while running $program in $directory"; - } - - unlink ("$exe_log_name"); -} - -if ($#failures >= 0) { - mydie @failures; -} - -close(LOG) - || mydie "cannot close LOGFILE"; - -print HIST "OK\n"; -close(HIST) - || mydie "cannot close history file"; - -unlink $disable_file - || mydie "cannot unlink disable file"; - -exit 0; diff --git a/bin/sandbox.cpp b/bin/sandbox.cpp deleted file mode 100644 index fce69dedcb6..00000000000 --- a/bin/sandbox.cpp +++ /dev/null @@ -1,167 +0,0 @@ -// -// $Id$ -// -#include <stdio.h> -#include <stdlib.h> - -#include <unistd.h> -#include <signal.h> -#include <sys/wait.h> -#include <sys/types.h> - -/// Run by the child process -static int child(int argc, char* argv[]); - -static int max_child_time = 300; -const char *child_name = 0; - -static int parse_args(int& argc, char* argv[]); - -int -main(int argc, char* argv[]) -{ - if (parse_args(argc, argv) != 0) - return 1; - - pid_t pid = fork(); - if (pid == -1) { - fprintf(stderr, "Error in fork\n"); - return 1; - } - - if (pid == 0) { - // In the child... - return child(argc, argv); - } - - int status; - pid_t child = waitpid(pid, &status, 0); - if (child == -1) { - fprintf(stderr, "sandbox: error waiting for child\n"); - return 1; - } - // Return whatever status the child has... - return status; -} - -sig_atomic_t child_died = 0; - -extern "C" void -sigchld_handler(int signal) -{ - child_died = 1; -} - - -static int -child (int /* argc */, char* argv[]) -{ - // The child becomes its own session, implicitly this turns the - // child process into its own process group leader, allowing us to - // terminate a hierarchy of children easily. - pid_t sid = setsid(); - if (sid == -1) - { - fprintf(stderr, "sandbox: error in setid\n"); - return 1; - } - - // Setup the signal handler to receive SIGCHLD signals: - (void) signal(SIGCHLD, sigchld_handler); - - // Now we must fork again to wait for the grandchild process... - - pid_t grandchild = fork(); - if (grandchild == 0) { - // Exec the arguments... - int r = execvp(child_name, argv); - if (r == -1) { - fprintf(stderr, "sandbox: error in execvp()\n"); - return 1; - } - } - - // As the process leader we wait until the child returns or there is - // a timeout... - - int status; - int remaining_time = max_child_time; - - while (remaining_time != 0) - { - // We use the signal handler to return from sleep before all the - // time expires - remaining_time = sleep(remaining_time); - - // We could exit - if (child_died) - { - pid_t child = waitpid(grandchild, &status, WNOHANG); - if (child == -1) - { - fprintf(stderr, - "sandbox: no grandchild process (%d), panic\n", - grandchild); - return 1; - } - if (child != 0) - { - //printf("sandbox: grandchild %d exits with status %d\n", - // child, status); - return status; - } - } - } - - printf("sandbox: timeout for grandchild %d\n", grandchild); - - // timeout, try to kill the child - (void) kill(grandchild, SIGTERM); - - // Second chance, if the child does not die, then really kill it: - pid_t killed = waitpid(grandchild, &status, WNOHANG); - if (killed == 0) - { - // TERM did not work, use the heavy duty signal - (void) kill(grandchild, SIGQUIT); sleep(1); - killed = waitpid(grandchild, &status, WNOHANG); - } - if (killed == -1) - { - fprintf(stderr, "No such child (%d), panic\n", - grandchild); - return 1; - } - sleep(1); - - printf("sandbox: killing session %d\n", sid); - - // OK, now commit suicide, kill the session ID and all their friends - (void) killpg(sid, SIGQUIT); - fprintf(stderr, "sandbox: ooops! I should be dead!\n"); - - return 1; -} - -static int -parse_args(int &argc, char* argv[]) -{ - if (argc < 3) { - fprintf(stderr, "Usage: sandbox max_time program arguments\n"); - return 1; - } - - max_child_time = atoi(argv[1]); - child_name = argv[2]; - argc -= 2; - for (int i = 0; i != argc; ++i) - { - argv[i] = argv[i + 2]; - } - argv[argc] = 0; - - if (child_name == 0) - return 1; - - return 0; -} diff --git a/bin/show_log_dir.pl b/bin/show_log_dir.pl deleted file mode 100755 index 0aee8dc61a9..00000000000 --- a/bin/show_log_dir.pl +++ /dev/null @@ -1,178 +0,0 @@ -#!/usr/bin/perl -# -# $Id$ -# - -use Cwd; - -# Customize the following variables for your installation - -# The URL prefix that should be generated for each log file -$BASE_URL='http://doc.ece.uci.edu/~bugzilla/auto_compile_logs'; - -# The real location of the logs -$BASE_DIR='/home/bugzilla/.www-docs/auto_compile_logs'; - -# The subdirectories that contain logs, all other directories are ignored -@KNOWN_DIRS= ('balar_Minimum', - 'doc_KCC', - 'kelvar_Static', - 'sirion_Full', - 'tango_Core', - 'tango_Exceptions' - ); - -# After customizing the variables above, you must remove or comment -# out the following code -print "Content-Type: text/html\n\n"; -print "Error: You must customize this script before installation\n"; -exit (0); - -# END OF CUSTOMIZABLE SECTION - -$title = $ENV{QUERY_STRING}; - -### Set up the directory for the configs we support - -@matches = grep {/^$title$/} @KNOWN_DIRS; - -if ($#matches == -1) { - print "Content-Type: text/html\n\n"; - print "Error: Unknown config: $title\n"; - exit (0); -} - -$dir = $title; - -### Get the directory list - -if (!opendir (DIR, "$BASE_DIR/$dir")) -{ - print "Content-Type: text/html\n\n"; - print "Error Could not open $dir<br>$!"; - exit (1); -} - -@log_files = grep !/^\./, readdir (DIR); -closedir (DIR); - -############################################################################ -#### -sub one_liner ($$) -{ - my $basename = shift; - my $datetime = shift; - - my @months = qw (blank January February March April May June July August - September October November December); - ### Decode the time/date - - if ($datetime =~ /(.{4}?)_(.{2}?)_(.{2}?)_(.{2}?)_(.{2}?)/) { - $datetime = "$months[$2] $3 at $4\:$5"; - } - - return "$title build for $datetime : " - . "<a href = \"$BASE_URL/$dir/$basename.txt\">[TXT]</a> " - . "<a href = \"$BASE_URL/$dir/$basename.html\">[HTML]</a> " - . "<a href = \"$BASE_URL/$dir/$basename\_brief.html\">[Brief]</a>"; -} - -sub log_detail ($$) -{ - my $basename = shift; - my $datetime = shift; - my $string = ""; - - if (!open (LOG, "<$BASE_DIR/$dir/$basename\_brief.html")) { - return "Error: Could not open $dir/$basename\_brief.html"; - } - - while (<LOG>) { - if (/^Compiler Totals: Errors: (\d*) Warnings: (\d*)/) { - if ($1 > 0) { - $string = $string."<font -color=\"FF0000\">".$_."</font><br>"; - } - elsif ($2 > 0) { - $string = $string."<font -color=\"FF7700\">".$_."</font><br>"; - } - else { - $string = $string.$_."<br>"; - } - } - - if (/^Test Failures: (\d*)/) { - if ($1 > 0) { - $string = $string."<font -color=\"FF0000\">".$_."</font><br>"; - } - else { - $string = $string.$_."<br>"; - } - } - } - - close (LOG); - - return $string; -} - -############################################################################ -#### - -print "Content-Type: text/html\n\n"; - -print <<HEADER; -<html> -<head> -<title>Nightly Build Results for $title</title> -</head> -HEADER - -print "<body bgcolor=\"#FFFFFF\">\n"; - -print "<h1>Nightly Build Results for $title</h1>\n"; - -### Remove all non-logs from the list - -@new_logs = (); -foreach $log (@log_files) { - if ($log =~ /_brief.html$/) { - push @new_logs, ($log); - } -} -@log_files = @new_logs; - -### Sort in reverse order, so the latest date comes first - -@log_files = sort {$b cmp $a} @log_files; - -### Print out latest log - -$latest = shift @log_files; - -print "<h2>Latest Log</h2>"; -$latest =~ /(.*)_brief\.html/; - -print log_detail ("$1", $1)."<br>"; -print one_liner ("$1", $1); - -### Print out a list of the files - -print "<h2>Old Logs</h2>"; -print "<ul>\n"; -foreach $log (@log_files) { - if ($log =~ /(.*)_brief\.html$/) { - my $basename = $1; - - $log =~ /(.*)_brief\.html/; - - print "<li> ".one_liner ($basename, $1)."\n"; - } -} -print "</ul>\n"; - -print "<a href = \"../\">Back</a>"; -print "</body>\n"; -print "</html>\n"; diff --git a/bin/split-cpp b/bin/split-cpp deleted file mode 100755 index 513c52a946c..00000000000 --- a/bin/split-cpp +++ /dev/null @@ -1,422 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -w -S $0 ${1+"$@"}' - & eval 'exec perl -w -S $0 $argv:q' - if 0; - -# Splits C++ source files into one file per function or data item. -# -# Author: David L. Levine, with much help and encouragment from -# Umar Syyid and Gonzalo A. Diethelm. -# Completed by Andrew Gilpin, July 2000 -# Date: 10 November 1998 -# -# For each C++ source file: -# 1) Extracts the "intro" code, i.e., #includes and declarations. -# 2) Identifies function definitions, relying on {, and } at the -# beginning of a line, to delineate the function begin and -# end. -# -# Assumptions: (applies only to the files being split, i.e. .cpp files) -# * Function definition bodies are terminated with } appearing at -# the beginning of a line. -# * Free-standing (outside of functions) macro invocations must be -# followed by a blank line, or terminated with a semicolon. -# * A function must not have a blank line between its header -# (signature) and its body. -# * There aren't multiple C-style comments on one line, with code -# between them. -# * typedefs are on a single line -# * A #endif doesn't have a multi-line C comment starting on that line. - -# The first three lines above let this script run without specifying the -# full path to perl, as long as it is in the user's PATH. -# Taken from perlrun man page. - -# Changes made by Andrew Gilpin (June - July 2000) -# * Added option -c to use .c extension instead of .cpp extension -# * Prints message when no filenames are specified on the command line -# * Changed -? option to -h so that it works properly in most shells -# * Added option -s to skip certain files, but copy them to $split_dir, -# renaming them. (filename.cpp -> $split_dir/filename_S1.cpp). This is -# here so that ACE can selectively not split certain files (namely those -# that this script doesn't work with :) -# * Added support for classes declared in the .cpp file. - -$usage="usage: $0 [-h] [-d] [-v] [-c] [-s filename] filenames\n"; - -#### Configuration parameters. -$verbose = 0; -$debug = 0; -$split_dir = 'SPLIT'; -$extension = 'cpp'; -@files_to_skip = (); - -#### Constants. -$DIR_SEPARATOR = $^O eq "MSWin32" ? '\\' : '/'; - - -#### -#### Process command line args. -#### -while ( $#ARGV >= $[ && $ARGV[0] =~ /^-/ ) { - if ( $ARGV[0] eq '-d' ) { - $debug = 1; - } elsif ( $ARGV[0] eq '-v' ) { - $verbose = 1; - } elsif ( $ARGV[0] eq '-c' ) { - $extension = 'c'; - } elsif ( $ARGV[0] eq '-s' ) { - push @files_to_skip, $ARGV[1]; - shift; - } elsif ( $ARGV[0] eq '-h' ) { - print "$usage"; - exit; - } else { - print STDERR "$0: unknown option $ARGV[0]\n"; - die $usage; - } - shift; -} - - -&main (); - - -#### -#### Reset state, to process a new file starting with a clean slate. -#### -sub reset { - #### Working data buffers. - @intro = (); - @current_comments = (); - @current_code = (); - @if = (); - @save_if = (); - @endif = (); - @unknown = (); - ####@unknown_s = (); - - #### State variables. - $current_file_number = 0; - $top_of_file = 1; - $in_braces = 0; - $in_nonfunction_code = 0; - $in_C_comment = 0; - $intro_length = 0; - $preprocessor_continuation = 0; - $preserved_ifs = 0; -} - - -sub main { - #### Print error message if no files are specified. - #### We need to do this before we modify anything on disk. - die "No files specified!\n$usage" if (@ARGV == 0); - - #### Remove the destination subdirectory, if it exists. - #### Attempts to clean it out using unlink may fail because - #### it can have many files. - if (-d "$split_dir") { - system ("/bin/rm -r $split_dir") << 256 && - die "$0: unable to rm \"$split_dir\"\n"; - } - - #### Create the destination subdirectory. - mkdir "$split_dir", 0755 || - die "$0: unable to create $split_dir directory: $!\n"; - - MAIN_LOOP: foreach $file (@ARGV) { - #### Strip off filename extension. - ($basename = $file) =~ s/\.[^\.]+$//; - - foreach $skip_file (@files_to_skip) { - if ($skip_file eq $file) { - system ("/bin/cp $file $split_dir/" . $basename. "_S1\.$extension"); - next MAIN_LOOP; - } - } - - &reset (); - - print "FILE: $file\n" if $verbose; - open INPUT, "$file" || die "$0: unable to open \"$file\"\n"; - - while (<INPUT>) { - #### Strip comments from $line and use that for processing. - #### But, use $_ for output, so that comments will be preserved. - my $line = $_; - - #### If we're in the midst of a multiline C comment, see - #### if it's finished on this line. - if ($in_C_comment) { - if ($line =~ s%^.*\*/%%) { - #### End C-style comment. - $in_C_comment = 0; - - if ($line =~ /^\s*$/ && ! $in_braces) { - #### No code on the line. - #&save_comment ($_); - next; - } - } else { - unless ($in_braces) { - #&save_comment ($_); - next; - } - } - } - - #### Strip C++-style comments. - if ($line =~ s%\s*//.*$%%) { - if ($line =~ /^\s*$/ && ! $in_braces) { - #### C++-style comment, without any code on the line. - #&save_comment ($_); - next; - } - } - - #### And C-style comments. - if ($line =~ m%/\*%) { - #### Begin C-style comment. Strip any complete comment(s), - #### then see what's left. - - $line =~ s%\s*/\*.*\*/\s*%%g; - - #### check to see if a preprocessor is on this line - if (! $in_braces) { - if ($line eq '') { - #### The line just had comment(s). Save it. - #&save_comment ($_); - next; - } else { - #### There's other text on the line. See if it's just the - #### start of a comment. - if ($line =~ m%/\*% && $line !~ m%\*/%) { - #### The C-style comment isn't terminated on this line. - $in_C_comment = 1; - #&save_comment ($_); - next; - } - } - } - } - - #### For now, skip ACE_RCSID's. Eventually, we might want to - #### consider putting them in _every_ file, if they're enabled. - next if $line =~ /^ACE_RCSID/; - - if ($in_braces) { - push @unknown, $_; - if ($line =~ /{/) { - ++$in_braces; - } elsif ($line =~ /^};/) { - #### }; at beginning of line could signify end of class - --$in_braces; - if ($in_braces == 0) { - push @intro, @unknown; - @unknown = (); - } - } elsif ($line =~ /^}/) { - #### } at beginning of line signifies end of function. - --$in_braces; - push @current_code, @unknown; - @unknown = (); - &finish_current ($basename, ++$current_file_number); - } elsif ($line =~ /};/) { - #### end of multi-line data delcaration - --$in_braces; - if ($in_braces == 0) { - push @current_code, @unknown; - @unknown = (); - &finish_current ($basename, ++$current_file_number); - } - } - } else { - #### Not in braces. - if (($line =~ m%[^/]*{%) && (! $preprocessor_continuation)) { - #### { signifies beginning of braces (obviously :). - if ($line =~ /};/) { - #### braces end on this line - push @unknown, $_; - push @current_code, @unknown; - @unknown = (); - &finish_current ($basename, ++$current_file_number); - } else { - push @unknown, $_; - $in_braces = 1; - $in_nonfunction_code = $top_of_file = 0; - } - } elsif ($line =~ /^}/) { - warn "$0: skipping unexpected } on line $. of \"$file\"\n"; - next; - } elsif ($line =~ /^typedef/) { - push @intro, $_; - } elsif ($line =~ /^\s*#/ || $preprocessor_continuation) { - #### Preprocessor directive. - if ($in_nonfunction_code) { - push @unknown, $_; - } else { - push @intro, $_; - } - $top_of_file = 0; - $preprocessor_continuation = /\\$/ ? 1 : 0; - - if ($line =~ m%^\s*#\s*if\s*(.*)(/.*)*$%) { - push @save_if, $_; - unshift @endif, "#endif /* $1 [Added by split-cpp.] */\n"; - - } elsif ($line =~ /^\s*#\s*endif/) { - #### End an #if/#else block. - unless (defined pop @save_if) { - pop @if; - if ($preserved_ifs > 0) { - --$preserved_ifs; - } - } - shift @endif; - - #### } elsif ($line =~ /^\s*#/) { - #### Any other preprocessor directive. - } - - } elsif ($line =~ /^\s*$/) { - #### Whitespace only, or empty line.. - push @current_code, "\n"; - if ($in_nonfunction_code) { - #### In the midst of non-function code, we reached a - #### blank line. Assume that we're done with it. - &finish_current ($basename, ++$current_file_number); - } else { - #### Not in a function, so add to intro. Just in case data or - #### a function follow it, flush now. - $preserved_ifs += $#save_if + 1; - &flush_current (\@intro); - } - - } elsif ($line =~ /;/) { - #### Data definition or semicolon-terminated macro invocation. - push @unknown, $_; - $top_of_file = 0; - - #### Is it file-static? Squash newlines out of @current_code. - my $statement = join (' ', @current_code); - if ($statement =~ /([^=[(]+)[=[(](.*)/) { - if ($1 =~ /static/) { - #### Move code to the intro. - push @intro, @current_comments; - @current_comments = (); - &flush_current (\@intro); - - #### Not separate code. - $in_nonfunction_code = 0; - - #### ???? Extract name from the left side and save for - #### later matching. - } else { - if ($statement =~ /^USEUNIT\s*\(/) { - #### Special-case those Borland USEUNIT things. - &flush_current (\@intro); - } else { - #### Non-static entity, with semicolon. Wrap it up. - push @current_code, @unknown; - @unknown = (); - &finish_current ($basename, ++$current_file_number); - } - } - } else { - #### Dunno. Wrap it up, anyways. - push @current_code, @unknown; - @unknown = (); - &finish_current ($basename, ++$current_file_number); - } - } else { - #### Beginning of data definition or function or class. - push @unknown, $_; - $in_nonfunction_code = 1; - $top_of_file = 0; - } - } - - if (eof) { - close (ARGV); #### To reset line number counter. - if ($#intro > $intro_length) { - #### Leftover prepreprocessor statement(s), such as #pragma - #### instantiate. - &finish_current ($basename, ++$current_file_number); - } - } - } - - close INPUT; - } -}; - - -#### -#### Save a comment in the appropriate array. -#### -#sub save_comment { -# my ($comment) = @_; -# -# if ($top_of_file) { -# push @intro, $comment; -# } else { -# push @current_comments, $comment; -# } -#} - - -#### -#### Flush the contents of the @current_code array to the destination -#### argument array. It is passed by reference. -#### -sub flush_current { - my ($destination) = @_; - - push @$destination, @current_code; - @current_code = (); -} - - -#### -#### Flush what we've got now to an output (split) file. -#### -sub finish_current { - my ($basename, $current_file_number) = @_; - - my $current_file_name = - sprintf "$split_dir$DIR_SEPARATOR${basename}_S%d.$extension", - $current_file_number++; - - if ($verbose) { - print "CURRENT OUTPUT FILE: $current_file_name\n"; - print "INTRO:\n"; - print @intro; - print @if; - print @current_comments; - print "CURRENT CODE:\n"; - print @current_code; - print @endif; - } - - open OUTPUT, "> $current_file_name" || - die "unable to open $current_file_name\n"; - - print OUTPUT "// Automatically generated by ACE's split-cpp.\n" . - "// DO NOT EDIT!\n\n"; - if ($debug) { - print OUTPUT "INTRO:\n", @intro, "IF:\n", @if, - "COMMENTS:\n", @current_comments, - "CURRENT:\n", @current_code, "ENDIF:\n", @endif; - } else { - print OUTPUT @intro, @if, @current_comments, @current_code, @endif; - } - - close OUTPUT; - - #### For detection of leftover preprocessor statements and - #### comments at end of file. - $intro_length = $#intro; - - @current_comments = @current_code = @save_if = (); - $in_braces = $in_nonfunction_code = 0; -} diff --git a/bin/subst_env.pl b/bin/subst_env.pl deleted file mode 100755 index be4007b7a61..00000000000 --- a/bin/subst_env.pl +++ /dev/null @@ -1,67 +0,0 @@ -#!/usr/bin/perl -# -# $Id$ -# -# This script eases the transition from the CORBA::Environment& ACE_TRY_ENV -# declarations and method parameters to the ACE_ENV_ARG macros. -# It was used for converting TAO between versions 1.2.1 and 1.2.2. -# The converted output is written to stdout. -# Typical usage would be as follows: -# perl subst_env.pl file_with_acetryenv.cpp >file_with_taoenvarg.cpp -# -$linenum = 0; -$last=""; -$corbaenv = 'CORBA(::|_)Environment'; -$envdecl = 'CORBA(::|_)Environment *& *\w*[Ee][Nn][Vv]\w*'; -$default = '(TAO_|CORBA\::Environment\::)default_environment *\(\)'; -$envvar = '(ACE|TAO)_TRY_ENV'; -while (($l = <>)) { - $linenum++; - if ($l =~ /$corbaenv/) { - my $single = "SINGLE_"; - if ($last =~ /,\s*$/) { - $last =~ s/,\s*$/\n/; - $single = ""; - } elsif ($l =~ /,\s*$corbaenv/) { - $l =~ s/,\s*$corbaenv/ CORBA_Environment/; # Preparation. - $single = ""; - } - unless ($l =~ /${corbaenv}.*\)/) { # Need the method's closing paren. - chop $l; - my $nxt = <>; - $linenum++; - $nxt =~ s/^\s+//; - $l .= $nxt; - } - if ($l =~ /$envdecl/) { - if ($l =~ /$envdecl *= *$default/) { - $l =~ s/$envdecl *= *$default/ACE_ENV_${single}ARG_DECL_WITH_DEFAULTS/; - } else { - $l =~ s/$envdecl/ACE_ENV_${single}ARG_DECL/; - } - } else { - $l =~ s/$corbaenv *& */ACE_ENV_${single}ARG_DECL_NOT_USED/; - } - print $last; - print $l; - $last = ""; - } elsif ($l =~ /$envvar/) { - my $single = "SINGLE_"; - if ($last =~ /,\s*$/) { - $last =~ s/,\s*$/\n/; - $single = ""; - } elsif ($l =~ /,\s*$envvar/) { - $l =~ s/,\s*$envvar/ ACE_TRY_ENV/; # Preparation. - $single = ""; - } - $l =~ s/$envvar/ACE_ENV_${single}ARG_PARAMETER/; - print $last; - print $l; - $last = ""; - } else { - print $last; - $last = $l; - } -} -print $last; - diff --git a/bin/svcconf-convert.pl b/bin/svcconf-convert.pl deleted file mode 100755 index 650bf1aae6d..00000000000 --- a/bin/svcconf-convert.pl +++ /dev/null @@ -1,300 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' - & eval 'exec perl -S $0 $argv:q' - if 0; - -# $Id$ -# -# File: svcconf-convert.pl: -# Purpose: This perl script convert classic svc.conf file into XML svc.conf file format. -# Usage: svcconf-convert.pl [-i infile] [-o outfile] [-verbose] [-nocomment] -# -i: Specify the input classic svc.conf filename. -# If omitted, the default input filename is "svc.conf". -# -o: Specify the output XML svc.conf filename. -# If this argument is omitted, the resulting XML file will be written -# to file called <input filename>.xml. -# -verbose: Verbose output. -# -nocomment: Remove all comments. Use this argument if you have comments -# mixing in the middle of a classic svc.conf directive. - -$indent = 0; - -sub inc_indent -{ - $indent += 2; -} - -sub dec_indent -{ - $indent -= 2; -} - -sub get_indent -{ - $retv = 0; - print STDERR "$0 (", $lineno, "): Unbalanced macro pairs\n" if ($indent < 0); - $retv = $indent - 1 if ($indent > 0); - $retv; -} - -sub acexml_comment -{ - my $comment = shift; - print OUT " " x &get_indent (), "<!-- $comment -->\n"; -} - -sub acexml_start -{ - my $name = shift; - my $standalone = shift; - - print OUT " " x &get_indent (), "<$name"; - - - while (@attnames) - { - print OUT " ", pop (@attnames), '="', pop (@attvalues), '"'; - } - - if ($standalone != 0) - { - print OUT "/>\n"; - } - else - { - print OUT ">\n"; - inc_indent (); - } -} - -sub acexml_end -{ - my $name = shift; - - dec_indent (); - print OUT " " x &get_indent (), "</$name>\n"; -} - -$verbose = 0; -$nocomment = 0; -@attvalues = (); -@attnames = (); -$stream = ""; -$infile = ""; -$outfile = ""; - -while ( $#ARGV >= 0) -{ - if ($ARGV[0] =~ m/^-i/i) { - shift; - $infile = "$ARGV[0]"; - } - elsif ($ARGV[0] =~ m/^-o/i) { - shift; - $outfile = "$ARGV[0]"; - } - elsif ($ARGV[0] =~ m/^-verbose/i) { - $verbose = 1; - } - elsif ($ARGV[0] =~ m/^-nocomment/i) { - $nocomment = 1; - } - elsif ($ARGV[0] =~ m/^-(\?|h|help)/i) { # Help information - print -" Usage: svcconf-convert.pl [-i infile] [-o outfile] [-verbose] [-nocomment] - -i: Specify the input classic svc.conf filename. - If omitted, the default input filename is 'svc.conf'. - -o: Specify the output XML svc.conf filename. - If this argument is omitted, the resulting XML file will - be written to file called <input filename>.xml. - -verbose: Verbose output. - -nocomment: Remove all comments. Use this argument if you - have comments mixing in the middle of a classic - svc.conf directive. -"; - exit; - } - elsif ($ARGV[0] =~ m/^-/) { - warn "$0: unknown option $ARGV[0]\n"; - exit 1; - } - else { - die "unknow argument\n"; - } - shift; -} - -if ($infile eq "") { - print "Using default svc.conf name\n" if ($verbose != 0); - $infile = "svc.conf"; -} - - -if ($outfile eq "") { - $outfile = "$infile.xml"; -} -print "OUTFILE = $outfile \n"; - -open (OUT, "> $outfile") or die "Unable to open $outfile\n"; - -undef $/; -open (FH, "< $infile"); -$_ = <FH>; - -if ($nocomment) { - if (s/^\#(.*)$//mg) { - print "ts = $_\n" if ($verbose != 0); - } -} - -print "------------------------------------------------------------\n" if ($verbose != 0); - -print OUT "<?xml version='1.0'?>\n"; -print OUT "<!-- Converted from $infile by svcconf-convert.pl -->\n"; -acexml_start ("ACE_Svc_Conf", 0); - -while (length ($_) != 0) { - s/^\s*$//mg; - - print "INPUT =\n$_\n" if ($verbose); - PARSE: { - if (s/^\s*\#(.*)//) { - acexml_comment ($1); - print "# $1\n" if ($verbose); - } - if (s/^\s*{//) { - acexml_start ("module", 0); - print "open module\n" if ($verbose); - } - - if (s/^\s*}//) { - acexml_end ("module"); - acexml_end ($stream); - print "close module\n" if ($verbose); - } - - if (s/^\s*stream\s+dynamic\s+(\w+)\s+(\w+)\s*\*\s*(\S+):(\S+)\s*\(\s*\)(\s+(active|inactive))?(\s+"([^"]*)")?//) { - $name = $1; - $type = $2; - $path = $3; - $init = $4; - $state = $6; - $param = $8; - acexml_start ("streamdef"); - if ($status ne "") { - push @attnames, ("status"); - push @attvalues, ("$state"); - } - push @attnames, ("type"); - push @attvalues, ("$type"); - push @attnames, ("id"); - push @attvalues, ("$name"); - acexml_start ("dynamic", 0); - if ($param ne "") { - push @attnames, ("params"); - push @attvalues, ("$param"); - } - push @attnames, ("init"); - push @attvalues, ("$init"); - push @attnames, ("path"); - push @attvalues, ("$path"); - acexml_start ("initializer", 1); - acexml_end ("dynamic"); - $stream = "streamdef"; - print "stream dynamic $name $type * $init:$path \"$param\" $state\n" if ($verbose); - } - - if (s/^\s*stream\s+static\s+(\w+)(\s+("(.*)"))?//) { - $name = $1; - $param = $4; - acexml_start ("streamdef", 0); - if ($param ne "") { - push @attnames, ("params"); - push @attvalues, ("$param"); - } - push @attnames, ("id"); - push @attvalues, ("$name"); - acexml_start ("static", 1); - $stream = "streamdef"; - print "static $name \"$param\"\n" if ($verbose); - } - - if (s/^\s*stream\s+(\w+)//) { - $name = $1; - push @attnames, ("id"); - push @attvalues, ("$name"); - acexml_start ("stream", 0); - $stream = "stream"; - print "stream $name\n" if ($verbose); - } - - if (s/^\s*dynamic\s+(\w+)\s+(\w+)\s*\*\s*(\S+):(\S+)\s*\(\s*\)(\s+(active|inactive))?(\s+"([^"]*)")?//) { - $name = $1; - $type = $2; - $path = $3; - $init = $4; - $state = $6; - $param = $8; - if ($status ne "") { - push @attnames, ("status"); - push @attvalues, ("$state"); - } - push @attnames, ("type"); - push @attvalues, ("$type"); - push @attnames, ("id"); - push @attvalues, ("$name"); - acexml_start ("dynamic", 0); - if ($param ne "") { - push @attnames, ("params"); - push @attvalues, ("$param"); - } - push @attnames, ("init"); - push @attvalues, ("$init"); - push @attnames, ("path"); - push @attvalues, ("$path"); - acexml_start ("initializer", 1); - acexml_end ("dynamic"); - print "dynamic $name $type * $init:$path \"$param\" $state\n" if ($verbose); - } - - if (s/^\s*static\s+(\w+)(\s+("(.*)"))?//) { - $name = $1; - $param = $4; - if ($param ne "") { - push @attnames, ("params"); - push @attvalues, ("$param"); - } - push @attnames, ("id"); - push @attvalues, ("$name"); - acexml_start ("static", 1); - print "static $name \"$param\"\n" if ($verbose); - } - - if ( s/^\s*resume\s+(\w+)//) { - $name = $1; - push @attnames, ("id"); - push @attvalues, ("$name"); - acexml_start ("resume", 1); - print "resume $name\n" if ($verbose); - } - - if ( s/^\s*remove\s+(\w+)//) { - $name = $1; - push @attnames, ("id"); - push @attvalues, ("$name"); - acexml_start ("remove", 1); - print "remove $name\n" if ($verbose); - } - - if ( s/^\s*suspend\s+(\w+)//) { - $name = $1; - push @attnames, ("id"); - push @attvalues, ("$name"); - acexml_start ("suspend", 1); - print "suspend $name\n" if ($verbose); - } - - $nothing = 1; - } -} - -acexml_end ("ACE_Svc_Conf"); diff --git a/bin/tao_env.pl b/bin/tao_env.pl deleted file mode 100755 index 0ac889ef308..00000000000 --- a/bin/tao_env.pl +++ /dev/null @@ -1,17 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -pi -S $0 ${1+"$@"}' - & eval 'exec perl -pi -S $0 $argv:q' - if 0; - -# $Id$ -# -# You may want to run the "find" command with this script, which maybe -# something like this: -# -# find . -type f \( -name "*.i" -o -name "*.h" -o -name "*.C" -o -name "*.cc" -o -name "*.c" -o -name "*.cpp" -o -name "*.hpp" -o -name "*.ipp" \) -print | xargs $ACE_ROOT/bin/auto_ptr.perl - -# The first three lines above let this script run without specifying the -# full path to perl, as long as it is in the user's PATH. -# Taken from perlrun man page. - -s/^_env/TAO_IN_ENV/; -s/([^_A-Za-z])_env/$1TAO_IN_ENV/g; diff --git a/bin/tao_orb_tests.lst b/bin/tao_orb_tests.lst deleted file mode 100644 index f0dccdc676a..00000000000 --- a/bin/tao_orb_tests.lst +++ /dev/null @@ -1,130 +0,0 @@ -# $Id$ -# -# This is the list of run_test.pl's that need to be run by -# auto_run_tests.pl. -# Each line has its own test, and a test can be followed by a -# list of configurations it does _not_ run on. -# -# Example: TAO\examples\foo\run_test.pl: !MINIMUM !ST -# -# NOTE: This file contains tests only for TAO's ORB. Please do not -# include things like performance-tests, and examples here. -TAO/tests/Param_Test/run_test.pl: !MINIMUM -TAO/tests/Param_Test/run_test_dii.pl: !MINIMUM -TAO/tests/AMI/run_test.pl: !MINIMUM -TAO/tests/AMI_Timeouts/run_test.pl: !MINIMUM !ST -TAO/tests/AMH_Exceptions/run_test.pl: !MINIMUM -TAO/tests/Collocation_Tests/run_test.pl: !ST -TAO/tests/OctetSeq/run_test.pl -TAO/tests/OctetSeq/run_test1.pl: !STATIC -TAO/tests/OctetSeq/run_test2.pl: !STATIC -TAO/tests/BiDirectional/run_test.pl: !MINIMUM !GIOP10 -TAO/tests/BiDirectional_NestedUpcall/run_test.pl: !MINIMUM !STATIC !GIOP10 -TAO/tests/Leader_Followers/run_test.pl: !ST -TAO/tests/Leader_Followers/run_test_mt.pl: !ST -TAO/tests/Multiple_Inheritance/run_test.pl -TAO/tests/Bug_1269_Regression/run_test.pl: !Win32 !MINIMUM -TAO/tests/Bug_1270_Regression/run_test.pl: !Win32 !MINIMUM -TAO/tests/Bug_1020_Basic_Regression/run_test.pl: !Win32 !MINIMUM !ST -TAO/tests/Bug_1020_Regression/run_test.pl: !MINIMUM !ST !Win32 -TAO/tests/Bug_1361_Regression/run_test.pl: !MINIMUM !ST !Win32 -TAO/tests/Bug_1482_Regression/run_test.pl: !MINIMUM !ST -TAO/tests/RTCORBA/Banded_Connections/run_test.pl: !MINIMUM !ST !Linux -TAO/tests/RTCORBA/Client_Propagated/run_test.pl: !MINIMUM !ST !Linux -TAO/tests/RTCORBA/Client_Protocol/run_test.pl: !MINIMUM !ST -TAO/tests/RTCORBA/Collocation/run_test.pl: !MINIMUM !ST !Linux -TAO/tests/RTCORBA/Destroy_Thread_Pool/run_test.pl: !MINIMUM !ST !Linux -TAO/tests/RTCORBA/Explicit_Binding/run_test.pl: !MINIMUM !ST -TAO/tests/RTCORBA/Linear_Priority/run_test.pl: !MINIMUM !ST !Linux -TAO/tests/RTCORBA/MT_Client_Protocol_Priority/run_test.pl: !MINIMUM !ST !Linux -TAO/tests/RTCORBA/ORB_init/run_test.pl: !MINIMUM !ST -TAO/tests/RTCORBA/Persistent_IOR/run_test.pl: !MINIMUM !ST !Linux -TAO/tests/RTCORBA/Policy_Combinations/run_test.pl: !MINIMUM !ST !Linux -TAO/tests/RTCORBA/Private_Connection/run_test.pl: !MINIMUM !ST -TAO/tests/RTCORBA/Profile_And_Endpoint_Selection/run_test.pl: !MINIMUM !ST !Linux -TAO/tests/RTCORBA/RTMutex/run_test.pl: !MINIMUM !ST -TAO/tests/RTCORBA/Server_Declared/run_test.pl: !MINIMUM !ST !Linux -TAO/tests/RTCORBA/Server_Protocol/run_test.pl: !MINIMUM !ST -TAO/tests/RTCORBA/Thread_Pool/run_test.pl: !MINIMUM !ST !Linux -TAO/tests/Hello/run_test.pl -TAO/tests/Cache_Growth_Test/run_test.pl -TAO/tests/Muxing/run_test.pl: !ST -TAO/tests/Muxed_GIOP_Versions/run_test.pl: !ST -TAO/tests/MT_Client/run_test.pl: !ST -TAO/tests/MT_BiDir/run_test.pl: !ST !MINIMUM !GIOP10 -TAO/tests/File_IO/run_test.pl: !ST !MINIMUM -TAO/tests/MT_Server/run_test.pl: !ST -TAO/tests/No_Server_MT_Connect_Test/run_test.pl: !ST !MINIMUM -TAO/tests/Connect_Strategy_Test/run_test.pl -# DISABLED TAO/tests/Client_Leaks/run_test.pl: !ST !Tru64 -TAO/tests/Server_Leaks/run_test.pl -TAO/tests/Stack_Recursion/run_test.pl: !ST -TAO/tests/Faults/run_test.pl: !MINIMUM -TAO/tests/Crashed_Callback/run_test.pl: !MINIMUM -TAO/tests/Crash_On_Write/run_test.pl: !ST -TAO/tests/Nested_Upcall_Crash/run_test.pl: !MINIMUM -TAO/tests/NestedUpcall/Simple/run_test.pl: !ST -TAO/tests/NestedUpcall/MT_Client_Test/run_test.pl: !ST -TAO/tests/NestedUpcall/Triangle_Test/run_test.pl -TAO/tests/Nested_Event_Loop/run_test.pl -TAO/tests/POA/Identity/run_test.pl -TAO/tests/POA/Policies/run_test.pl -TAO/tests/POA/Excessive_Object_Deactivations/run_test.pl -TAO/tests/POA/Persistent_ID/run_test.pl -TAO/tests/POA/Etherealization/run_test.pl: !MINIMUM -TAO/tests/POA/Object_Reactivation/run_test.pl: !ST -TAO/tests/POA/POA_Destruction/run_test.pl -TAO/tests/POA/Default_Servant/run_test.pl: !MINIMUM -TAO/tests/POA/Single_Threaded_POA/run_test.pl: !MINIMUM !ST -TAO/tests/POA/Non_Servant_Upcalls/run_test.pl: !SUNCC5_1 -TAO/tests/POA/MT_Servant_Locator/run_test.pl: !MINIMUM !ST -TAO/tests/POA/Current/run_test.pl -TAO/tests/POA/wait_for_completion/run_test.pl -TAO/tests/IORManipulation/run_test.pl -TAO/tests/Policies/run_test.pl: !MINIMUM !ST -TAO/tests/Timeout/run_test.pl: !MINIMUM -TAO/tests/MT_Timeout/run_test.pl: !MINIMUM !ST -TAO/tests/Timed_Buffered_Oneways/run_test.pl: !MINIMUM -TAO/tests/Single_Read/run_test.pl: -TAO/tests/Connection_Timeout/run_test.pl: !MINIMUM -TAO/tests/MProfile_Connection_Timeout/run_test.pl: !MINIMUM -TAO/tests/Codec/run_test.pl -TAO/tests/IDL_Test/run_test.pl -TAO/tests/ORB_init/run_test.pl -TAO/tests/ORB_destroy/run_test.pl -TAO/tests/ORB_shutdown/run_test.pl -TAO/tests/DSI_Gateway/run_test.pl: !MINIMUM -TAO/tests/DynAny_Test/run_test.pl: !MINIMUM -TAO/tests/Connection_Purging/run_test.pl: !ST -TAO/tests/Server_Connection_Purging/run_test.pl: !Win32 -TAO/tests/LongUpcalls/run_test.pl: !MINIMUM -TAO/tests/Reliable_Oneways/run_test.pl: !MINIMUM -TAO/tests/Blocking_Sync_None/run_test.pl: !MINIMUM -TAO/tests/Oneway_Buffering/run_message_count.pl: !MINIMUM -TAO/tests/Oneway_Buffering/run_buffer_size.pl: !MINIMUM -TAO/tests/Oneway_Buffering/run_timeout.pl: !MINIMUM -TAO/tests/Oneway_Buffering/run_timeout_reactive.pl: !MINIMUM -TAO/tests/AMI_Buffering/run_message_count.pl: !MINIMUM !ST -TAO/tests/AMI_Buffering/run_buffer_size.pl: !MINIMUM !ST -TAO/tests/AMI_Buffering/run_timeout.pl: !MINIMUM !ST -TAO/tests/AMI_Buffering/run_timeout_reactive.pl: !MINIMUM !ST -TAO/tests/Big_Oneways/run_test.pl: !ST -TAO/tests/Big_Twoways/run_test.pl: !ST -TAO/tests/Big_Reply/run_test.pl: !ST -TAO/tests/Big_Request_Muxing/run_test.pl: !ST !MINIMUM -TAO/tests/Oneways_Invoking_Twoways/run_test.pl: !ST -TAO/tests/Queued_Message_Test/run_test.pl -TAO/tests/DLL_ORB/run_test.pl: !STATIC -TAO/tests/InterOp-Naming/run_test.pl: !MINIMUM -TAO/tests/Multiple/run_test.pl: !SUNCC5_1 -TAO/tests/Exposed_Policies/run_test.pl: !MINIMUM !ST !Linux -TAO/tests/Portable_Interceptors/Dynamic/run_test.pl: !MINIMUM !DISABLE_INTERCEPTORS -TAO/tests/Portable_Interceptors/IORInterceptor/run_test.pl: !MINIMUM !DISABLE_INTERCEPTORS !GIOP10 -TAO/tests/Portable_Interceptors/ForwardRequest/run_test.pl: !MINIMUM !DISABLE_INTERCEPTORS -TAO/tests/Portable_Interceptors/Service_Context_Manipulation/run_test.pl: !MINIMUM !DISABLE_INTERCEPTORS -TAO/tests/Portable_Interceptors/Request_Interceptor_Flow/run_test.pl: !MINIMUM !DISABLE_INTERCEPTORS -TAO/tests/Portable_Interceptors/PICurrent/run_test.pl: !MINIMUM !DISABLE_INTERCEPTORS -TAO/tests/Portable_Interceptors/AMI/run_test.pl: !MINIMUM !DISABLE_INTERCEPTORS -TAO/tests/ORT/run_test.pl: !MINIMUM !DISABLE_INTERCEPTORS -TAO/tests/Object_Loader/run_test.pl: !STATIC -TAO/tests/Two_Objects/run_test.pl: !ST diff --git a/bin/tao_other_tests.lst b/bin/tao_other_tests.lst deleted file mode 100644 index 7f203c27df2..00000000000 --- a/bin/tao_other_tests.lst +++ /dev/null @@ -1,97 +0,0 @@ -# $Id$ -# -# This is the list of run_test.pl's that need to be run by -# auto_run_tests.pl. -# Each line has its own test, and a test can be followed by a -# list of configurations it does _not_ run on. -# -# Example: TAO\examples\foo\run_test.pl: !MINIMUM !ST -# -# NOTE: This file contains examples and other service level test for -# TAO's. Please do not include regular tests here. -TAO/performance-tests/Cubit/TAO/IDL_Cubit/run_test.pl: !MINIMUM !ST -TAO/performance-tests/Cubit/TAO/IDL_Cubit/run_test_lite.pl: !MINIMUM !ST !STATIC -TAO/performance-tests/Cubit/TAO/MT_Cubit/run_test.pl: !ST !OpenBSD -TAO/performance-tests/Latency/Single_Threaded/run_test.pl -TAO/performance-tests/Latency/Thread_Pool/run_test.pl: !ST -TAO/performance-tests/Latency/Thread_Per_Connection/run_test.pl: !ST -TAO/performance-tests/Latency/AMI/run_test.pl: !MINIMUM !ST -TAO/performance-tests/Latency/DSI/run_test.pl: !MINIMUM -TAO/performance-tests/Latency/DII/run_test.pl: !MINIMUM -TAO/performance-tests/Latency/Deferred/run_test.pl: !MINIMUM -TAO/performance-tests/Throughput/run_test.pl -TAO/performance-tests/POA/Object_Creation_And_Registration/run_test.pl -TAO/performance-tests/RTCorba/Oneways/Reliable/run_test.pl: !MINIMUM -TAO/examples/POA/Adapter_Activator/run_test.pl: !MINIMUM !SUNCC5_1 -TAO/examples/POA/POA_BiDir/run_test.pl: !MINIMUM -TAO/examples/POA/DSI/run_test.pl: !MINIMUM -TAO/examples/POA/Default_Servant/run_test.pl: !MINIMUM -TAO/examples/POA/Explicit_Activation/run_test.pl: !MINIMUM -TAO/examples/POA/FindPOA/run_test.pl: !MINIMUM -TAO/examples/POA/Forwarding/run_test.pl: !MINIMUM -TAO/examples/POA/NewPOA/run_test.pl: !MINIMUM -TAO/examples/POA/On_Demand_Activation/run_test.pl: !MINIMUM !STATIC -TAO/examples/POA/On_Demand_Loading/run_test.pl: !MINIMUM !STATIC !KCC_Linux -TAO/examples/POA/Reference_Counted_Servant/run_test.pl: !SUNCC5_1 -TAO/examples/POA/Loader/run_test.pl: !MINIMUM !STATIC !KCC_Linux -TAO/examples/POA/RootPOA/run_test.pl -TAO/examples/Simple/bank/run_test.pl -TAO/examples/Simple/grid/run_test.pl -TAO/examples/Simple/time-date/run_test.pl: !ST !STATIC -TAO/examples/Simple/time/run_test.pl -TAO/examples/Quoter/run_test.pl: !MINIMUM -TAO/examples/Load_Balancing/run_test.pl: !MINIMUM !SUNCC5_1 -TAO/examples/PluggableUDP/tests/Basic/run_test.pl: !STATIC !ST -TAO/examples/PluggableUDP/tests/SimplePerformance/run_test.pl -TAO/examples/AMH/Sink_Server/run_test.pl: !MINIMUM -TAO/orbsvcs/tests/AVStreams/Pluggable/run_test.pl: !MINIMUM -#TAO/orbsvcs/tests/AVStreams/Full_Profile/run_test.pl: !MINIMUM -TAO/orbsvcs/tests/AVStreams/Multicast/run_test.pl: !MINIMUM -#TAO/orbsvcs/tests/AVStreams/Multicast_Full_Profile/run_test.pl: !MINIMUM -#TAO/orbsvcs/tests/AVStreams/Latency/run_test.pl: !MINIMUM -TAO/orbsvcs/tests/AVStreams/Simple_Two_Stage/run_test.pl: !MINIMUM -TAO/orbsvcs/tests/AVStreams/Simple_Three_Stage/run_test.pl: !MINIMUM -TAO/orbsvcs/tests/AVStreams/Asynch_Three_Stage/run_test.pl: !MINIMUM -TAO/orbsvcs/tests/AVStreams/Component_Switching/run_test.pl: !MINIMUM -TAO/orbsvcs/tests/Simple_Naming/run_test.pl: !ST !SUNCC5_1 -TAO/orbsvcs/tests/Trading/run_test.pl: !MINIMUM !SUNCC5_1 -TAO/orbsvcs/tests/Event/Basic/run_test.pl: !ST !MINIMUM -TAO/orbsvcs/tests/Event/Performance/run_test.pl: !ST !MINIMUM -TAO/orbsvcs/tests/EC_Custom_Marshal/run_test.pl: !ST !MINIMUM -TAO/orbsvcs/tests/EC_Throughput/run_test.pl: !ST !MINIMUM -TAO/orbsvcs/tests/EC_MT_Mcast/run_test.pl:!ST !MINIMUM !STATIC -TAO/orbsvcs/tests/ImplRepo/run_test.pl: SANDBOX -TAO/orbsvcs/tests/ImplRepo/NameService/run_test.pl: SANDBOX -TAO/orbsvcs/tests/ImplRepo/locked/run_test.pl: !MINIMUM -TAO/orbsvcs/tests/Notify/Basic/run_test.pl notify.reactive.conf -TAO/orbsvcs/tests/Notify/Basic/run_test.pl notify.mt.conf: !ST -TAO/orbsvcs/tests/Notify/Blocking/run_test.pl: !ST -TAO/orbsvcs/tests/Notify/Discarding/run_test.pl: !ST -TAO/orbsvcs/tests/Notify/MT_Dispatching/run_test.pl: !ST -TAO/orbsvcs/tests/Notify/Ordering/run_test.pl: !ST -TAO/orbsvcs/tests/Notify/performance-tests/Filter/run_test.pl: !ST -TAO/orbsvcs/tests/Notify/performance-tests/RedGreen/run_test.pl: !ST -TAO/orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/run_test.pl: !ST -TAO/orbsvcs/tests/Notify/Sequence_Multi_Filter/run_test.pl: !ST -TAO/orbsvcs/tests/Notify/Structured_Filter/run_test.pl: !ST -TAO/orbsvcs/tests/Notify/Structured_Multi_Filter/run_test.pl: !ST -# BREAKS !linux 'TAO/orbsvcs/tests/EC_Mcast/run_test.pl -# FAILS 'TAO/orbsvcs/tests/EC_Multiple/run_test.pl -# NO REDIRECTION TAO/examples/Simple/echo/run_test.pl < Echo.idl -# INTERACTIVE 'TAO/examples/Simple/chat/run_test.pl -TAO/orbsvcs/tests/Property/run_test.pl -#HANGS TAO/orbsvcs/tests/ImplRepo/run_test.pl airplane -#HANGS'TAO/orbsvcs/tests/ImplRepo/run_test.pl airplane_ir -TAO/orbsvcs/tests/Security/Big_Request/run_test.pl: SSL !STATIC -TAO/orbsvcs/tests/Security/Callback/run_test.pl: SSL !STATIC -TAO/orbsvcs/tests/Security/MT_SSLIOP/run_test.pl: !ST SSL !STATIC -TAO/orbsvcs/tests/Security/MT_IIOP_SSL/run_test.pl: !ST SSL !STATIC -TAO/orbsvcs/tests/Security/Secure_Invocation/run_test.pl: SSL !STATIC -TAO/orbsvcs/tests/Security/SecurityLevel1/run_test.pl: SSL !STATIC -TAO/orbsvcs/tests/Security/Crash_Test/run_test.pl: SSL !STATIC -TAO/orbsvcs/tests/Miop/McastHello/run_test.pl: !MINIMUM !STATIC !SUNCC5_1 -TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/run_test.pl: !MINIMUM !DISABLE_INTERCEPTORS -TAO/tests/Two_Objects/run_test.pl: !ST -TAO/examples/RTCORBA/Activity/run_test.pl: !MINIMUM -TAO/orbsvcs/tests/Notify/Lanes/run_test.pl: !ST !Linux -TAO/orbsvcs/tests/Notify/ThreadPool/run_test.pl: !ST !Linux
\ No newline at end of file diff --git a/bin/tao_svcconf.pl b/bin/tao_svcconf.pl deleted file mode 100755 index 56d05830f59..00000000000 --- a/bin/tao_svcconf.pl +++ /dev/null @@ -1,15 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -pi -S $0 ${1+"$@"}' - & eval 'exec perl -pi -S $0 $argv:q' - if 0; - -# $Id$ -# -# This script can help you convert TAO svc.conf using dynamic services -# to use static services. -# -# You may want to run the "find" command with this script, which maybe -# something like this: -# -# find . -name svc.conf -print | xargs $ACE_ROOT/bin/tao_svcconf.pl - -s/^ *dynamic *([A-Za-z_]+) [^\"]+(\"[^\"]+\").*/static $1 $2/; diff --git a/bin/topinfo_iorsize_stats.sh b/bin/topinfo_iorsize_stats.sh deleted file mode 100755 index 2264d8efa3e..00000000000 --- a/bin/topinfo_iorsize_stats.sh +++ /dev/null @@ -1,78 +0,0 @@ -#!/bin/sh -# -# $Id$ -# - -if [ $# -lt 4 ]; then - echo "Usage: $0 [ROOT] [DEST] [USER] [OPTIMIZED]" - exit 0 -fi - -ROOT=$1 -DEST=$2 -US=$3 -OPT=$4 - -DATE=`date +%Y/%m/%d-%H:%M` -cd $ROOT -ACE_ROOT=$ROOT -export ACE_ROOT -LD_LIBRARY_PATH=$ACE_ROOT/ace -export LD_LIBRARY_PATH -PATH=/usr/bin:$PATH -export PATH -cd TAO/performance-tests/Memory/IORsize - -# start the server. If OPT == 1 then start the optimized version, else -# the non-optimized version - -if test $OPT == 1 - then ./server -ORBSvcConf server.conf & - else ./server & -fi - -s_id=$!; - -# Just sleep for 2 seconds. -sleep 2; -# Check whether the server has started -file="test.ior" -if test -f $file - then - # start the client - ./client & - c_id=$!; - # Wait till all the invocations are done - sleep 30; - # Get the size once the client has made sufficient invocations. - s_invocations=`top -p $s_id -n 1 -b | grep $US| awk '{print $5}'`; - - if test $OPT == 1 - then - echo $DATE $s_invocations >> $DEST/source/server_opt_ior_size.txt - else - echo $DATE $s_invocations >> $DEST/source/server_ior_size.txt - fi - - # Get teh size of the client after all the invocations - c_invocations=`top -p $c_id -n 1 -b | grep $US| awk '{print $5}'`; - echo $DATE $c_invocations >> $DEST/source/client_ior_size.txt - - # Kill the server and client. We will look at better ways of doing - # this later. - kill -9 $c_id; - kill -9 $s_id; - rm -f $file -else - echo $file doesnt exist -fi - - -cd $DEST/source - -FILES="server server_opt client" -for i in $FILES ; do -/usr/bin/tac ${i}_ior_size.txt > $DEST/data/${i}_ior_size.txt -/usr/bin/tail -5 ${i}_ior_size.txt > $DEST/data/LAST_${i}_ior_size.txt -$ROOT/bin/generate_topinfo_charts.sh ${i}_ior_size.txt $DEST/images/${i}_ior_size.png ${i}_ior_size.txt -done diff --git a/bin/topinfo_simple_stats.sh b/bin/topinfo_simple_stats.sh deleted file mode 100755 index 1e5b0bd0868..00000000000 --- a/bin/topinfo_simple_stats.sh +++ /dev/null @@ -1,78 +0,0 @@ -#!/bin/sh -# -# $Id$ -# - - -if [ $# -lt 3 ]; then - echo "Usage: $0 [ROOT] [DEST] [USER]" - exit 0 -fi - -ROOT=$1 -DEST=$2 -US=$3 - -DATE=`date +%Y/%m/%d-%H:%M` -cd $ROOT -ACE_ROOT=$ROOT -export ACE_ROOT -LD_LIBRARY_PATH=$ACE_ROOT/ace -export LD_LIBRARY_PATH -PATH=/usr/bin:$PATH -export PATH -cd TAO/performance-tests/Memory/Single_Threaded -# start the server -./server & -s_id=$!; -# Just sleep for 2 seconds. -sleep 2; -# Check whether the server has started -file="test.ior" -if test -f $file - then - # Just get the size as soon the server is started, ie. the vanilla - # server. - s_up=`top -p $s_id -n 1 -b | grep $US| awk '{print $5}'`; - - # Write it a file - echo $DATE $s_up >> $DEST/source/st_start_size.txt - # start the client - ./client & - c_id=$!; - # Wait till all the invocations are done - sleep 10; - # Get the size once the client has made sufficient invocations. - s_invocations=`top -p $s_id -n 1 -b | grep $US| awk '{print $5}'`; - - echo $DATE $s_invocations >> $DEST/source/st_after_invoke_size.txt - - # Get teh size of the client after all the invocations - c_invocations=`top -p $c_id -n 1 -b | grep $US| awk '{print $5}'`; - echo $DATE $c_invocations >> $DEST/source/st_client_size.txt - - # Kill the server and client. We will look at better ways of doing - # this later. - kill -9 $c_id; - - # Just sleep for the server to release memory etc. - sleep 5; - - # Get the size once the client is killed or crashed - s_client_death=`top -p $s_id -n 1 -b | grep $US| awk '{print $5}'`; - echo $DATE $s_client_death >> $DEST/source/st_after_peer_death_size.txt - kill -9 $s_id; - rm -f $file -else - echo $file doesnt exist -fi - - -cd $DEST/source - -FILES="start after_invoke client after_peer_death" -for i in $FILES ; do -/usr/bin/tac st_${i}_size.txt > $DEST/data/st_${i}_size.txt -/usr/bin/tail -5 st_${i}_size.txt > $DEST/data/LAST_st_${i}_size.txt -$ROOT/bin/generate_topinfo_charts.sh st_${i}_size.txt $DEST/images/st_${i}_size.png st_${i}_size.txt -done diff --git a/bin/topinfo_stats.sh b/bin/topinfo_stats.sh deleted file mode 100755 index a43b37cad63..00000000000 --- a/bin/topinfo_stats.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/sh -# -# $Id$ -# - - -if [ $# -lt 3 ]; then - echo "Usage: $0 [ROOT] [DEST] [USER]" - exit 0 -fi - -ROOT=$1 -DEST=$2 -US=$3 - -DATE=`date +%Y/%m/%d-%H:%M` -cd $ROOT -ACE_ROOT=$ROOT -export ACE_ROOT -LD_LIBRARY_PATH=$ACE_ROOT/ace -export LD_LIBRARY_PATH -PATH=/usr/bin:$PATH -export PATH -cd TAO/performance-tests/Memory/Single_Threaded -# start the server -./server & -s_id=$!; -# Just sleep for 2 seconds. -sleep 2; -# Check whether the server has started -file="test.ior" -if test -f $file - then - # Just get the size as soon the server is started, ie. the vanilla - # server. - s_up=`top -p $s_id -n 1 -b | grep $US| awk '{print $5}'`; - - # Write it a file - echo $DATE $s_up >> $DEST/source/st_start_size.txt - # start the client - ./client & - c_id=$!; - # Wait till all the invocations are done - sleep 10; - # Get the size once the client has made sufficient invocations. - s_invocations=`top -p $s_id -n 1 -b | grep $US| awk '{print $5}'`; - - echo $DATE $s_invocations >> $DEST/source/st_after_invoke_size.txt - - # Kill the server and client. We will look at better ways of doing - # this later. - kill -9 $c_id; - - # Just sleep for the server to release memory etc. - sleep 5; - - # Get the size once the client is killed or crashed - s_client_death=`top -p $s_id -n 1 -b | grep $US| awk '{print $5}'`; - echo $DATE $s_client_death >> $DEST/source/st_after_peer_death_size.txt - kill -9 $s_id; - rm -f $file -else - echo $file doesnt exist -fi - - -cd $DEST/source - -FILES="start after_invoke after_peer_death" -for i in $FILES ; do -/usr/bin/tac st_${i}_size.txt > $DEST/data/st_${i}_size.txt -/usr/bin/tail -5 st_${i}_size.txt > $DEST/data/LAST_st_${i}_size.txt -$ROOT/bin/generate_topinfo_charts.sh st_${i}_size.txt $DEST/images/st_${i}_size.png st_${i}_size.txt -done diff --git a/bin/update-ace+tao.sh b/bin/update-ace+tao.sh deleted file mode 100755 index 954756bcaa1..00000000000 --- a/bin/update-ace+tao.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh -# Update ACE/TAO source tree to the latest numeric-assigned version. -# $Id$ - -# Define helper function to extract version number into tag format -d='\([0-9]*\)' -version() { sed -n -e "s,.*$1 version $d\.$d\.$d.*,$1-\1_\2_\3,p" \ - -e "s,.*$1 version $d\.$d.*,$1-\1_\2,p"; } - -# Use ccvs instead of cvs since it supports SOCKS5, if that environment found. -if [ ! -z "$SOCKS5_USER" ]; then cvs () { ccvs $*; } fi - -old_ace_version=`version <VERSION ACE` -old_tao_version=`version <TAO/VERSION TAO` - -# Abort with message if no values in variables -if [ -z $old_ace_version ]; then echo No existing ACE version; exit 1; fi -if [ -z $old_tao_version ]; then echo No existing TAO version; exit 1; fi - -cvs update -A VERSION TAO/VERSION Makefile - -ace_version=`version <VERSION ACE` -tao_version=`version <TAO/VERSION TAO` - -# Abort with message if no values in variables -if [ -z $ace_version ]; then echo No ACE version after update; exit 1; fi -if [ -z $tao_version ]; then echo No TAO version after update; exit 1; fi - -echo Old software version tags: $old_ace_version $old_tao_version -echo New software version tags: $ace_version $tao_version - -# Conserve net bandwidth if no change was observed -if [ $old_ace_version != $ace_version ] || [ x"$1"x = x"force"x ]; then - cvs -q update -Pd -r $ace_version `make -s show_controlled_files` -fi -if [ $old_tao_version != $tao_version ] || [ x"$1"x = x"force"x ]; then - cvs -q update -Pd -r $tao_version TAO -fi - diff --git a/bin/vc_filter.pl b/bin/vc_filter.pl deleted file mode 100755 index 003fa8ddca9..00000000000 --- a/bin/vc_filter.pl +++ /dev/null @@ -1,157 +0,0 @@ -# $Id$ -# -# A perl script that filers length VC output into a concise html report. - -$usage = "vc_filter.pl [-c] <source>"; - -# Define html tags. -$header = "<html><head> -<title>Error/Warning Summary of Daily Build</title> -</head> - -<body bgcolor=\"white\"> -<h1>Error/Warning Summary of Daily Build</h1><TT>\n"; -$trailer = "</TT></body></html>"; - -$kosher_b = ""; -$kosher_e = ""; - -$error_b = "<FONT COLOR=\"FF0000\">"; -$error_e = "</FONT>"; - -$warning_b = "<FONT COLOR=\"FF7700\">"; -$warning_e = "</FONT>"; - -$config_b = ""; -$config_e = ""; - -$new_build_b = "<P>"; -$new_build_e = ""; -$line_break = "<BR>"; -$brief = 0; -$results = 0; - -while ( $#ARGV >= 0 && $ARGV[0] =~ /^-/ ) -{ - if ( $ARGV[0] =~ /-c/) # Text format - { - $header = "" ; - $trailer = "" ; - $kosher_b = ""; - $kosher_e = ""; - - $error_b = ""; - $error_e = ""; - - $warning_b = ""; - $warning_e = ""; - - $config_b = ""; - $config_e = ""; - - $new_build_b = "\n\n"; - $new_build_e = ""; - $line_break = ""; - } - elsif ( $ARGV[0] =~ /-b/) - { - $brief = 1; - } - elsif( $ARGV[0] =~ /-r/) - { - $results = 1; - } - elsif ( $ARGV[0] =~ /-(\?|h)/) - { - print "Options\n"; - print "-b = Brief output (only errors)\n"; - print "-c = Text format\n"; - print "-r = Print only results\n"; - exit; - } - else - { - warn "$0: unknown option $ARGV[0]\n"; - die $usage; - } - shift; -} - -# Get filename. -$fname = $ARGV[0]; -open FP, "$fname"; - -print $header; - -$project = "NULL"; -$configuration = "NULL"; -$dsp = "NULL"; -$first_problem = 1; -$ignored_warnings = 0; - -restart: while (<FP>) -{ - if (/^Auto_compiling (.*)/) - { - print "$new_build_b$_$new_build_e$line_break" - if (!$brief && !$results); - $dsp = $1; - $first_problem = 1; - } - elsif (/^--------------------Configuration: (.*) - (.*)--------------------/) - { - print $config_b.$_.$new_build_e.$line_break - if (!$brief && !$results); - $project = $1; - $configuration = $2; - $first_problem = 1; - } - elsif (/\- (.*) error\(s\)\, (.*) warning\(s\)/) - { - print "$_$line_break" - if (!$brief - || ($results && ($1 > 0 || ($2 - $ignored_warnings) > 0))); - $ignored_warnings = 0; - } - elsif (/^LINK : warning LNK4089:/) - { - print "$_$line_break" - if (!$brief); - - ++$ignored_warnings; - } - elsif (/warning/i) - { - if (!$results) - { - if ($first_problem && $brief) - { - print "$config_b----- $dsp$config_e$line_break"; - print "$config_b-------------------- $project: $configuration$config_e$line_break"; - } - $first_problem = 0; - print "$warning_b$_$warning_e$line_break"; - } - } - elsif (/error/i) - { - if (!$results) - { - if ($first_problem && $brief) - { - print "$config_b----- $dsp$config_e$line_break"; - print "$config_b-------------------- $project: $configuration$config_e$line_break"; - } - $first_problem = 0; - print "$error_b$_$error_e$line_break"; - } - } - else - { - print "$_$line_break" - if (!$brief && !$results); - } - -} - -print $trailer; diff --git a/bin/vxworks_modify.pl b/bin/vxworks_modify.pl deleted file mode 100755 index 75d4537b6be..00000000000 --- a/bin/vxworks_modify.pl +++ /dev/null @@ -1,578 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' - & eval 'exec perl -S $0 $argv:q' - if 0; - -# ****************************************************************** -# Author: Chad Elliott (elliott_c@ociweb.com) -# Date: 8/14/2000 -# $Id$ -# Description: Modify c++ source for combination with other source -# files into a VxWorks module. -# ****************************************************************** - -# ****************************************************************** -# Pragma Section -# ****************************************************************** - -use strict; -use File::Basename; - -# ****************************************************************** -# Data Section -# ****************************************************************** - -my($name) = ""; -my(@types) = ("short", "int", "long", "unsigned", "size_t", - "char", "float", "double", "void", - "CORBA::Boolean", "CORBA::Short", "CORBA::UShort", - "CORBA::Long", "CORBA::ULong", "CORBA::Octet", - "CORBA::Char", "CORBA::WChar", "CORBA::LongLong", - "CORBA::ULongLong", "CORBA::Float", "CORBA::Double", - "CORBA::LongDouble", "CORBA::Environment", - ); - -# ************************************************************** -# Subroutine Section -# ************************************************************** - -sub needsToBeStatic { - my($line) = shift; - $line =~ s/^\s+//; - $line =~ s/\s+$//; - - if ($line !~ /\s*static\s+/) { - foreach my $type (@types) { - if ($line =~ /^(const\s+)?$type\s*[\*]*[\&]*\s*[^:]+/ || - $line =~ /^(const\s+)?$type\s*[\*]*[\&]*$/) { - return 1; - } - } - } -} - - -sub countChar { - my($line) = shift; - my($char) = shift; - my($len) = length($line); - my($count) = 0; - my($indouble) = 0; - my($insingle) = 0; - - for(my $i = 0; $i < $len; $i++) { - my($ch) = substr($line, $i, 1); - if ($char ne '"' && $ch eq '"') { - $indouble ^= 1; - } - elsif ($char ne '\'' && $ch eq '\'') { - $indouble ^= 1; - } - elsif ($ch eq $char && !$indouble && !$insingle) { - $count++; - } - } - return $count; -} - - -my($orbManager) = undef; -sub lookForOrbRun { - my($line) = shift; - my($status) = 0; - - if ($line =~ /([\w:\-\>\.\(\)]+)->run\s*\(.*\)/ || - $line =~ /.*orb.*\.run/ || - (defined $orbManager && ($line =~ /$orbManager.run/ || - $line =~ /$orbManager->run/))) { - $status = 1; - } - return $status; -} - - -sub modifyOrbRun { - my($line) = shift; - if (defined $orbManager && $line =~ /$orbManager/ && - $line =~ /(.*->run\s*\()([^\)]*)(\).*)/) { - my($p1) = $1; - my($p2) = $2; - my($p3) = $3; - - $p2 =~ s/^\s+//; - $p2 =~ s/\s+$//; - - # I am relying on convention here - if ($p2 !~ /\s/) { - $line = "$p1" . "TAO_TestCombinedThreads::getTimeout() " . - "ACE_ENV_ARG_PARAMETER$p3\n"; - } - } - elsif ($line =~ /(.*->run\s*\()([^\)]*)(\).*)/) { - my($p1) = $1; - my($p2) = $2; - my($p3) = $3; - - $p2 =~ s/^\s+//; - $p2 =~ s/\s+$//; - - # I am relying on convention here - if ($p2 !~ /\s/ && $p2 =~ /env/i) { - $p3 = " ACE_ENV_ARG_PARAMETER$p3"; - $p2 = ""; - } - - if ($p2 eq "") { - $line = $p1 . "TAO_TestCombinedThreads::getTimeout()" . "$p3\n"; - } - } - elsif ($line =~ /(.*\.run\s*\()([^\)]*)(\).*)/) { - my($p1) = $1; - my($p2) = $2; - my($p3) = $3; - - $p2 =~ s/^\s+//; - $p2 =~ s/\s+$//; - - # I am relying on convention here - if ($p2 !~ /\s/ && $p2 =~ /env/i) { - $line = "$p1" . "TAO_TestCombinedThreads::getTimeout() ". - "ACE_ENV_ARG_PARAMETER$p3\n"; - } - } - return $line; -} - - -sub lookForActivate { - my($line) = shift; - my($taskBase) = shift; - if ($line =~ /(\w+)\.activate/) { - $$taskBase = $1; - } -} - -my($orbInitArg) = 0; -sub lookForOrbInit { - my($line) = shift; - my($status) = 0; - if ($line =~ /CORBA::ORB_init\s*\(/) { - $orbInitArg = 0; - $status = 1; - } - return $status; -} - - -sub replaceOrbName { - my($line) = shift; - if ($orbInitArg < 3) { - if ($line =~ /ACE_ENV_ARG_PARAMETER/) { - $line =~ s/ACE_ENV_ARG_PARAMETER/,ACE_ENV_ARG_PARAMETER/; - } - my($length) = length($line); - my($previous) = 0; - for(my $i = 0; $i < $length; $i++) { - my($ch) = substr($line, $i, 1); - ## Add the substr check because the ACE_ENV_ARG_PARAMETER doesn't - ## have a comma before it and the above search and replace doesn't - ## work for multi-lined ORB_init's - if ($ch eq "," || $ch eq ")" || - ($orbInitArg == 2 && $i == $length - 1 && - substr($line, $previous) !~ /^\s+$/)) { - $orbInitArg++; - if ($ch eq ")" && $orbInitArg == 2) { - $orbInitArg = 3; - $previous = $i; - } - if ($orbInitArg == 3) { - my($size) = $i - $previous; - my($part) = substr($line, $previous, $size); - $part =~ s/^\s+//; - $part =~ s/\s+$//; - if ($part eq '""' || $part eq '0') { - substr($line, $previous, $size) = " \"$name\""; - } - elsif ($part eq '') { - substr($line, $previous, $size) = ", \"$name\""; - } - last; - } - $previous = $i + 1; - } - } - if ($line =~ /,ACE_ENV_ARG_PARAMETER/) { - $line =~ s/,ACE_ENV_ARG_PARAMETER/ ACE_ENV_ARG_PARAMETER/; - } - } - return $line; -} - - -my($initChildPOAArg) = 0; -sub lookForInitChildPOA { - my($line) = shift; - my($status) = 0; - if ($line =~ /init_child_poa\s*\(/) { - $initChildPOAArg = 0; - $status = 1; - } - return $status; -} - - -sub replaceChildOrbName { - my($line) = shift; - if ($initChildPOAArg < 4) { - if ($line =~ /ACE_ENV_ARG_PARAMETER/) { - $line =~ s/ACE_ENV_ARG_PARAMETER/,ACE_ENV_ARG_PARAMETER/; - } - my($length) = length($line); - my($previous) = 0; - my($replace) = " TAO_TestCombinedThreads::getRandomString(" . - "\"$name\").c_str()"; - - for(my $i = 0; $i < $length; $i++) { - my($ch) = substr($line, $i, 1); - ## Add the substr check because the ACE_ENV_ARG_PARAMETER doesn't - ## have a comma before it and the above search and replace doesn't - ## work for multi-lined ORB_init's - if ($ch eq "," || $ch eq ")" || - ($orbInitArg == 2 && $i == $length - 1 && - substr($line, $previous) !~ /^\s+$/)) { - $initChildPOAArg++; - if ($initChildPOAArg == 4) { - my($size) = $i - $previous; - my($part) = substr($line, $previous, $size); - # I am relying on convention here - if ($part !~ /env/i) { - substr($line, $previous, $size) = $replace; - } - else { - substr($line, $previous, 0) = "$replace,\n"; - } - last; - } - $previous = $i + 1; - } - } - if ($line =~ /,ACE_ENV_ARG_PARAMETER/) { - $line =~ s/,ACE_ENV_ARG_PARAMETER/ ACE_ENV_ARG_PARAMETER/; - } - } - return $line; -} - - -sub usageAndExit { - my($str) = shift; - if (defined $str) { - print STDERR "$str\n"; - } - print STDERR "Usage: " . basename($0) . - " [-orbcore] [-unix] [-notimeout] [-main <main prefix>]\n" . - " <input file> <output file>\n"; - exit(1); -} - - -sub modifyFileAttributes { - my($orig) = shift; - my($new) = shift; - my(@buf) = stat($orig); - - if (defined $buf[0]) { - utime($buf[8], $buf[9] + 1, $new); - } -} - - -# ************************************************************** -# Main Section -# ************************************************************** - -my($useORBCore) = 0; -my($useThreadM) = 0; -my($unixDefines) = 0; -my($useTimeouts) = 1; - -while(defined $ARGV[0] && $ARGV[0] =~ /^-/) { - if ($ARGV[0] eq '-threadmanager') { - $useThreadM = 1; - shift; - } - elsif ($ARGV[0] eq '-orbcore') { - $useORBCore = 1; - shift; - } - elsif ($ARGV[0] eq '-unix') { - $unixDefines = 1; - shift; - } - elsif ($ARGV[0] eq '-main') { - shift; - if (defined $ARGV[0]) { - $name = $ARGV[0]; - shift; - } - else { - usageAndExit("-main requires a parameter"); - } - } - elsif ($ARGV[0] eq '-notimeout') { - $useTimeouts = 0; - shift; - } - else { - usageAndExit("Unknown option: $ARGV[0]"); - } -} - -## We should have an input and output file name at this point. -if ($#ARGV != 1) { - usageAndExit(); -} - - -# ************************************************************** -# Get the basename and remove the .cpp -# We will use this as the prefix to our main function -# ************************************************************** - -if ($name eq "") { - $name = basename($ARGV[0]); - $name =~ s/\.cpp//; - $name =~ s/\-/_/g; -} - -# ************************************************************** -# Read in the file and push it into an array. Then, print it -# out when we are done modifying it. -# ************************************************************** - -my($status) = 0; -if (open(IN, $ARGV[0])) { - if (open(OUT, ">$ARGV[1]")) { - my(@lines) = (); - my($line) = ""; - if ($useThreadM) { - while(<IN>) { - $line = $_; - $line =~ s/ACE_Thread\s*::\s*join/TAO_TestCombinedThreads::thr_join/g; -# $line =~ s/^\s*template\s*class\s*.*;\s*$//g; - push(@lines, $line); - } - unshift(@lines, "#include <tests/TestUtils/TestCombinedThreads.h>\n"); - } - elsif ($useORBCore) { - my($insideInstance) = 0; - while(<IN>) { - $line = $_; -# $line =~ s/^\s*template\s*class\s*.*;\s*$//g; - if ($line =~ /^TAO_ORB_Core_instance\s*\(.*\)/) { - $insideInstance = 1; - } - if ($insideInstance && $line =~ /return\s+/) { - $line = " // Find the orb for the thread that " . - "registered the ORB id\n" . - " TAO_ORB_Core* hack = orb_table->find(" . - "TAO_TestCombinedThreads::getORBId());\n" . - " if (hack != 0) {\n" . - " return hack;\n" . - " }\n\n" . $line; - $insideInstance = 0; - } - push(@lines, $line); - } - unshift(@lines, "#include <tests/TestUtils/TestCombinedThreads.h>\n"); - } - else { - my($insideComment) = 0; - my($insideParens) = 0; - my($scope) = 0; - my($orbrunFound) = 0; - my($insideORB_init) = 0; - my($insideInitChildPOA) = 0; - my($taskBase) = ""; - while(<IN>) { - $line = $_; - - my($lookForClosingParens) = 1; - ## Remove comments - if ($line =~ /(.*)(\/\/[\/]+.*)/ || $line =~ /(.*)(\/\/.*)/) { - my($qcount) = countChar($1, '"'); - $line = "$1"; - if (($qcount & 1) == 1) { - $line .= $2; - } - $line .= "\n"; - } - if ($line =~ /(.*)(\/\*.*\*\/)(.*)/) { - $line = "$1$3\n"; - } - elsif ($line =~ /(.*)(\/\*.*)/) { - $insideComment = 1; - $line = "$1\n"; - } - elsif ($insideComment && $line =~ /(.*\*\/)(.*)/) { - $insideComment = 0; - $line = $2; - } - elsif ($insideComment) { - $line = "\n"; - } - - if ($line =~ /TAO_ORB_Manager[\*\s]*\s+(\w+)/) { - $orbManager = $1; - } - - lookForActivate($line, \$taskBase); - if ($taskBase ne "" && $line =~ /thr_mgr\s*\(\)\->wait\s*\(\)/) { - $line =~ s/\->wait\s*\(.*\)/\->wait_grp \($taskBase.grp_id\(\)\)/; - } - - $insideInitChildPOA = ($insideInitChildPOA ? 1 : - lookForInitChildPOA($line)); - if ($insideInitChildPOA) { - $line = replaceChildOrbName($line); - if ($line =~ /\)\s*;/) { - $insideInitChildPOA = 0; - } - } - - $insideORB_init = ($insideORB_init ? 1 : lookForOrbInit($line)); - if ($insideORB_init) { - $line = replaceOrbName($line); - if ($line =~ /\)\s*;/) { - $insideORB_init = 0; - } - } - - - if (!$orbrunFound && $useTimeouts) { - if ($orbrunFound = lookForOrbRun($line)) { - $line = modifyOrbRun($line); - } - } - - ## Check the scope - if ($line =~ /{/) { - $scope += countChar($line, '{'); - } - ## Check for parens - if ($line =~ /\(/) { - $insideParens += countChar($line, '('); - ## This takes care of things like - ## int parse_args(...), but allows things like - ## int parse_args(..., - ## ...) to pass through which is what we want - if ($line =~ /\)/) { - $insideParens -= countChar($line, ')'); - $lookForClosingParens = 0; - } - } - - if ($scope == 0) { - ## This section is for forward declarations - if ($line =~ /;$/) { - my($forward_done) = 0; - my($counter) = $#lines; - while(!$forward_done) { - if ($lines[$counter] =~ /,$/) { - if ($lines[$counter] =~ /\s+\w+\s*\(.*,$/ && - needsToBeStatic($lines[$counter])) { - $lines[$counter] = "static $lines[$counter]"; - $forward_done = 1; - } - } - else { - $forward_done = 1; - } - $counter--; - } - } - if (!$insideParens && needsToBeStatic($line)) { - my($test) = $lines[$#lines]; - $test =~ s/^\s+//; - $test =~ s/\s+$//; - if ($test ne "static") { - $line = "static $line"; - } - } - } - - if ($scope == 1 && $orbrunFound && - ($line =~ /\s*return/ || $line =~ /\s*ACE_RETURN/)) { - $orbrunFound = 0; - } - - # Going down in scope - if ($line =~ /}/) { - $scope -= countChar($line, '}'); - if ($orbrunFound && $scope == 1) { - $orbrunFound = 0; - } - } - if ($lookForClosingParens && $line =~ /\)/) { - $insideParens -= countChar($line, ')'); - } - - ## Work backwards to remove the static from - ## the main or a method body - if ($scope == 0 && - ($line =~ /(main\s*(\()?)/ || $line =~ /\w+\s*::\s*\w+\s*\(/)) { - if ($line =~ /^static\s+/) { - $line =~ s/static\s+//; - } - else { - if ($lines[$#lines] =~ /static\s+/) { - $lines[$#lines] =~ s/static\s+//; - } - } - } - - push(@lines, $line); - if ($line =~ /(\smain\s*(\()?)/ || $line =~ /(^main\s*(\()?)/) { - my($saved) = pop(@lines); - if ($1 !~ /^\s*int/) { - my($below) = pop(@lines); - $saved = "$below$saved"; - } - if ($unixDefines) { - push(@lines, "#define main $name" . "_main\n\n"); - } - else { - push(@lines, "#define ace_main $name" . "_main\n" . - "#define ace_main_i $name" . "_main_i\n\n"); - } - push(@lines, $saved); - } - } - ## Look for last include and append include statement - for(my $i = $#lines; $i >= 0; $i--) { - if ($lines[$i] =~ /#include\s+/) { - $lines[$i] .= "#include <tests/" . - "TestUtils/TestCombinedThreads.h>\n"; - last; - } - } - unshift(@lines, "// \$Id\$\n\n"); - } - print OUT @lines; - close(OUT); - - if ($useThreadM || $useORBCore) { - modifyFileAttributes($ARGV[0], $ARGV[1]); - } - } - else { - print STDERR "Unable to open $ARGV[1] for output\n"; - $status = 1; - } - close(IN); -} -else { - print STDERR "Unable to open $ARGV[0] for input\n"; - $status = 1; -} - -exit($status); |