summaryrefslogtreecommitdiff
path: root/bin/auto_compile
diff options
context:
space:
mode:
Diffstat (limited to 'bin/auto_compile')
-rwxr-xr-xbin/auto_compile198
1 files changed, 0 insertions, 198 deletions
diff --git a/bin/auto_compile b/bin/auto_compile
deleted file mode 100755
index fe85285fb66..00000000000
--- a/bin/auto_compile
+++ /dev/null
@@ -1,198 +0,0 @@
-#
-# $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.
-#
-
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
- & eval 'exec perl -S $0 $argv:q'
- if 0;
-
-# 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;
-
-# This is the module we will checkout, someday someone could define a
-# smaller module.
-$MODULE='ACE_wrappers';
-
-# This are the sub-directories (in the module) we really compile.
-
-@BUILD_LIST=('ace', 'tests');
-
-# This are the pairs "sub-directory,script" we run.
-
-%RUN_LIST=('tests' => 'run_tests.sh');
-
-# We obtain our revision to report errors in a "nice" manner.
-$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.
-$CHECKOUT = $ARGV[0];
-$BUILD = $ARGV[1];
-$LOGDIR = $ARGV[2];
-$ADMIN = $ARGV[3];
-
-# When an error is found we try to die gracefully and send some email
-# to ADMIN.
-
-sub mydie {
- local $msg = shift;
- open(MAIL, "|mail $ADMIN")
- || die "cannot open email pipe on error: $msg\n";
- print MAIL 'The following error is brought to you by: ', "\n";
- print MAIL $CMD, ' [', $REVISION, "] for $BUILD on $CHECKOUT\n";
- print MAIL "\n", $msg, "\n";
- print MAIL "\nPlease check log files for more info\n";
- close(MAIL)
- || die "cannot close email pipe on error: $msg\n";
- print HIST 'FAILED', "\n";
- exit 0;
-}
-
-### 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 $LOGDIR . '/.disable') {
- print HIST 'DISABLED\n';
- exit 0;
-}
-
-$LOGFILE = $LOGDIR . '/' . POSIX::strftime("%b%d_%Y.log", localtime);
-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";
-
-$date = localtime;
-print LOG "$CMD: starting checkout at ", $date, "\n";
-open(CVS, "cvs checkout -P $MODULE 2>&1 |")
- || mydie "cannot start checkout of $MODULE";
-
-$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";
-
-$date = localtime;
-print LOG "$CMD: starting clone at ", $date, "\n";
-open(MAKE, "bin/create_ace_build -a -v $BUILD 2>&1 |")
- || mydie "cannot clone directory";
-while(<MAKE>) {
- print LOG $_;
-}
-close(MAKE)
- || mydie "error while cloning ACE_ROOT";
-$date = localtime;
-print LOG "$CMD: clone finished at ", $date, "\n";
-
-chdir('build/' . $BUILD)
- || mydie "cannot chdir to $BUILD";
-
-# This is needed for real make run....
-$ENV{'ACE_ROOT'} = $CHECKOUT . '/' . $MODULE . '/build/' . $BUILD;
-
-foreach $i (@BUILD_LIST) {
- $date = localtime;
- print LOG "$CMD: make for $i started at ", $date, "\n";
- open(MAKE, "make -k shared_libs_only=1 -C $i 2>&1 |")
- || mydie "cannot start make for $i";
- $make_errors = 0;
- while (<MAKE>) {
- if (m/^make: \*\*\*/) {
- $make_errors = 1;
- }
- print LOG $_;
- }
- close(MAKE)
- || mydie "errors while running make in $i";
- $date = localtime;
- print LOG "$CMD: make for $i finished at ", $date, "\n";
- if ($make_errors == 1) {
- mydie "errors detected in $i compilation";
- }
-}
-
-while (($directory,$program) = each %RUN_LIST) {
- $date = localtime;
- print LOG "$CMD: running $program in $directory at ", $date, "\n";
- chdir($directory)
- || mydie "cannot chdir to $directory";
-
- open(RUN, "$program 2>&1 |")
- || mydie "cannot run $program";
- $run_error = 0;
- while (<RUN>) {
- print LOG $_;
- if (m/^Error/ || m/FAILED/) {
- $run_error = 1;
- }
- }
- close(RUN)
- || mydie "cannot finish $program";
- $date = localtime;
- print LOG "$CMD: $program finished ", $date, "\n";
-
- if ($run_error != 0) {
- mydie "errors detected while running $program in $directory";
- }
-}
-
-close(LOG)
- || mydie "cannot close LOGFILE";
-
-print HIST "OK\n";
-close(HIST)
- || mydie "cannot close history file";