Cleanup some comments in the OCaml bindings.
[oota-llvm.git] / utils / NewNightlyTest.pl
index f195d70ddb232da2e9e841c345a4f16759e6eb3e..a77c6d6f500a12401cd38a5f879de7a0e3b44b8a 100755 (executable)
@@ -35,6 +35,7 @@ use Socket;
 #  -disable-llc     Disable LLC tests in the nightly tester.
 #  -disable-jit     Disable JIT tests in the nightly tester.
 #  -disable-cbe     Disable C backend tests in the nightly tester.
+#  -disable-lto     Disable link time optimization.
 #  -verbose         Turn on some debug output
 #  -debug           Print information useful only to maintainers of this script.
 #  -nice            Checkout/Configure/Build with "nice" to reduce impact
@@ -45,10 +46,8 @@ use Socket;
 #  -gccpath         Path to gcc/g++ used to build LLVM
 #  -cvstag          Check out a specific CVS tag to build LLVM (useful for
 #                   testing release branches)
-#  -usesvn          Check code out from a subversion repository. With no
-#                   argument, use the standard repository. An argument specifies
-#                   the repository URL to use.
-#  -svnurl          Specify the SVN URL where LLVM can be found
+#  -usecvs          Check code out from the (old) CVS Repository instead of from
+#                   the standard Subversion repository.
 #  -target          Specify the target triplet
 #  -cflags          Next argument specifies that C compilation options that
 #                   override the default.
@@ -96,7 +95,7 @@ use Socket;
 ##############################################################
 my $HOME       = $ENV{'HOME'};
 my $SVNURL     = $ENV{"SVNURL"};
-$SVNURL        = 'svn://anon@hlvm.org:3691/llvm.svn' unless $SVNURL;
+$SVNURL        = 'https://llvm.org/svn/llvm-project' unless $SVNURL;
 my $CVSRootDir = $ENV{'CVSROOT'};
 $CVSRootDir    = "/home/vadve/shared/PublicCVS" unless $CVSRootDir;
 my $BuildDir   = $ENV{'BUILDDIR'};
@@ -122,7 +121,7 @@ my $TestStartTime = gmtime() . "GMT<br>" . localtime() . " (local)";
 $CONFIGUREARGS="";
 $nickname="";
 $NOTEST=0;
-$USESVN=0;
+$USESVN=1;
 $NORUNNINGTESTS=0;
 $MAKECMD="make";
 $SUBMITSERVER = "llvm.org";
@@ -154,6 +153,8 @@ while (scalar(@ARGV) and ($_ = $ARGV[0], /^[-+]/)) {
   if (/^-disable-jit$/)    { $PROGTESTOPTS .= " DISABLE_JIT=1";
                              $CONFIGUREARGS .= " --disable-jit"; next; }
   if (/^-disable-cbe$/)    { $PROGTESTOPTS .= " DISABLE_CBE=1"; next; }
+  if (/^-disable-lto$/)    { $PROGTESTOPTS .= " DISABLE_LTO=1"; next; }
+  if (/^-test-opts$/)      { $PROGTESTOPTS .= " $ARGV[0]"; shift; next; }
   if (/^-verbose$/)        { $VERBOSE = 1; next; }
   if (/^-debug$/)          { $DEBUG = 1; next; }
   if (/^-nice$/)           { $NICE = "nice "; next; }
@@ -170,8 +171,7 @@ while (scalar(@ARGV) and ($_ = $ARGV[0], /^[-+]/)) {
   else                     { $GCCPATH=""; }
   if (/^-cvstag/)          { $CVSCOOPT .= " -r $ARGV[0]"; shift; next; } 
   else                     { $CVSCOOPT="";}
-  if (/^-usesvn/)          { $USESVN = 1; }
-  if (/^-svnurl/)          { $SVNURL = $ARGV[0]; shift; next; }
+  if (/^-usecvs/)          { $USESVN = 0; }
   if (/^-target/)          { $CONFIGUREARGS .= " --target=$ARGV[0]"; 
                              shift; next; }
   if (/^-cflags/)          { $MAKEOPTS = "$MAKEOPTS C.Flags=\'$ARGV[0]\'"; 
@@ -182,7 +182,6 @@ while (scalar(@ARGV) and ($_ = $ARGV[0], /^[-+]/)) {
                              shift; next; }
   if (/^-compileflags/)    { $MAKEOPTS = "$MAKEOPTS $ARGV[0]"; shift; next; }
   if (/^-use-gmake/)       { $MAKECMD = "gmake"; shift; next; }
-  if (/^-compileflags/)    { $MAKEOPTS = "$MAKEOPTS $ARGV[0]"; shift; next; }
   if (/^-extraflags/)      { $CONFIGUREARGS .= 
                              " --with-extra-options=\'$ARGV[0]\'"; shift; next;}
   if (/^-noexternals$/)    { $NOEXTERNALS = 1; next; }
@@ -193,7 +192,12 @@ while (scalar(@ARGV) and ($_ = $ARGV[0], /^[-+]/)) {
 
 if ($ENV{'LLVMGCCDIR'}) {
   $CONFIGUREARGS .= " --with-llvmgccdir=" . $ENV{'LLVMGCCDIR'};
+  $LLVMGCCPATH = $ENV{'LLVMGCCDIR'};
+}
+else {
+  $LLVMGCCPATH = "";
 }
+
 if ($CONFIGUREARGS !~ /--disable-jit/) {
   $CONFIGUREARGS .= " --enable-jit";
 }
@@ -449,6 +453,7 @@ sub SendData{
     $length = length($content);
 
     my $send= "POST $file HTTP/1.0\n";
+    $send.= "Host: $host\n";
     $send.= "Content-Type: application/x-www-form-urlencoded\n";
     $send.= "Content-length: $length\n\n";
     $send.= "$content";
@@ -509,26 +514,26 @@ ChangeDir( $BuildDir, "checkout directory" );
 #
 ##############################################################
 if (!$NOCHECKOUT) {
-  if ( $VERBOSE ) { 
-    print "CHECKOUT STAGE:\n"; 
-  }
+  if ( $VERBOSE ) { print "CHECKOUT STAGE:\n"; }
   if ($USESVN) {
     my $SVNCMD = "$NICE svn co $SVNURL";
     if ($VERBOSE) {
       print "( time -p $SVNCMD/llvm/trunk llvm; cd llvm/projects ; " .
-            "$SVNCMD/llvm-test/trunk llvm-test ) > $COLog 2>&1\n";
-      system "( time -p $SVNCMD/llvm/trunk llvm; cd llvm/projects ; " .
-            "$SVNCMD/llvm-test/trunk llvm-test ) > $COLog 2>&1\n";
+            "$SVNCMD/test-suite/trunk llvm-test ) > $COLog 2>&1\n";
     }
+    system "( time -p $SVNCMD/llvm/trunk llvm; cd llvm/projects ; " .
+          "$SVNCMD/test-suite/trunk llvm-test ) > $COLog 2>&1\n";
   } else {
     my $CVSOPT = "";
     $CVSOPT = "-z3" # Use compression if going over ssh.
       if $CVSRootDir =~ /^:ext:/;
     my $CVSCMD = "$NICE cvs $CVSOPT -d $CVSRootDir co -P $CVSCOOPT";
-    print "( time -p $CVSCMD llvm; cd llvm/projects ; " .
-          "$CVSCMD llvm-test ) > $COLog 2>&1";
+    if ($VERBOSE) {
+      print "( time -p $CVSCMD llvm; cd llvm/projects ; " .
+            "$CVSCMD llvm-test ) > $COLog 2>&1\n";
+    }
     system "( time -p $CVSCMD llvm; cd llvm/projects ; " .
-          "$CVSCMD llvm-test ) > $COLog 2>&1";
+          "$CVSCMD llvm-test ) > $COLog 2>&1\n";
   }
 }
 ChangeDir( $BuildDir , "Checkout directory") ;
@@ -735,7 +740,6 @@ $BuildWallTime=-1 unless $BuildWallTime;
 my $BuildError = 0, $BuildStatus = "OK";
 if ($NOBUILD) {
   $BuildStatus = "Skipped by user";
-  $BuildError = 1;
 }
 elsif (`grep '^$MAKECMD\[^:]*: .*Error' $BuildLog | wc -l` + 0 ||
   `grep '^$MAKECMD: \*\*\*.*Stop.' $BuildLog | wc -l`+0) {
@@ -1050,12 +1054,25 @@ my ($gcc_version, $gcc_version_long) = "";
 $gcc_version_long="";
 if ($GCCPATH ne "") {
        $gcc_version_long = `$GCCPATH/gcc --version`;
+} elsif ($ENV{"CC"}) {
+       $gcc_version_long = `$ENV{"CC"} --version`;
 } else {
        $gcc_version_long = `gcc --version`;
 }
 @GCC_VERSION = split '\n', $gcc_version_long;
 $gcc_version = $GCC_VERSION[0];
 
+$llvmgcc_version_long="";
+if ($LLVMGCCPATH ne "") {
+  $llvmgcc_version_long = `$LLVMGCCPATH/llvm-gcc -v 2>&1`;
+} else {
+  $llvmgcc_version_long = `llvm-gcc -v 2>&1`;
+}
+@LLVMGCC_VERSION = split '\n', $llvmgcc_version_long;
+$llvmgcc_versionTarget = $LLVMGCC_VERSION[1];
+$llvmgcc_versionTarget =~ /Target: (.+)/;
+$targetTriple = $1;
+
 if(!$BuildError){
   @DEJAGNU_LOG = ReadFile "$DejagnuLog";
   @DEJAGNU_SUM = ReadFile "$DejagnuSum";
@@ -1114,7 +1131,8 @@ my %hash_of_data = (
   'starttime' => $starttime,
   'endtime' => $endtime,
   'o_file_sizes' => $o_file_sizes,
-  'a_file_sizes' => $a_file_sizes
+  'a_file_sizes' => $a_file_sizes,
+  'target_triple' => $targetTriple
 );
 
 $TESTING = 0;