Use bash instead.
[oota-llvm.git] / utils / release / test-release.sh
index 71b7b9c11f2fe5f3abb4b0d88e242b81ac9485a6..00a1ac166fb6ec183c51661ba0e86a0e37a8b4f7 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
 #===-- test-release.sh - Test the LLVM release candidates ------------------===#
 #
 #                     The LLVM Compiler Infrastructure
 #
 #===------------------------------------------------------------------------===#
 
-set -e                          # Exit if any command fails
+if [ `uname -s` = "FreeBSD" ]; then
+    MAKE=gmake
+else
+    MAKE=make
+fi
 
 projects="llvm cfe dragonegg test-suite"
 
@@ -163,7 +167,7 @@ function check_valid_urls() {
     for proj in $projects ; do
         echo "# Validating $proj SVN URL"
 
-        if ! svn ls $Base_url/tags/RELEASE_$Release_no_dot/rc$RC > /dev/null 2>&1 ; then
+        if ! svn ls $Base_url/$proj/tags/RELEASE_$Release_no_dot/rc$RC > /dev/null 2>&1 ; then
             echo "llvm $Release release candidate $RC doesn't exist!"
             exit 1
         fi
@@ -248,13 +252,13 @@ function build_llvmCore() {
 
     cd $ObjDir
     echo "# Compiling llvm $Release-rc$RC $Flavor"
-    echo "# make -j $NumJobs VERBOSE=1 $ExtraOpts"
-    make -j $NumJobs VERBOSE=1 $ExtraOpts \
+    echo "# ${MAKE} -j $NumJobs VERBOSE=1 $ExtraOpts"
+    ${MAKE} -j $NumJobs VERBOSE=1 $ExtraOpts \
         2>&1 | tee $LogDir/llvm.make-Phase$Phase-$Flavor.log
 
     echo "# Installing llvm $Release-rc$RC $Flavor"
-    echo "# make install"
-    make install \
+    echo "# ${MAKE} install"
+    ${MAKE} install \
         2>&1 | tee $LogDir/llvm.install-Phase$Phase-$Flavor.log
     cd $BuildDir
 }
@@ -265,13 +269,15 @@ function test_llvmCore() {
     ObjDir="$3"
 
     cd $ObjDir
-    make check-all \
+    ${MAKE} -k check-all \
         2>&1 | tee $LogDir/llvm.check-Phase$Phase-$Flavor.log
-    make unittests \
+    ${MAKE} -k unittests \
         2>&1 | tee $LogDir/llvm.unittests-Phase$Phase-$Flavor.log
     cd $BuildDir
 }
 
+set -e                          # Exit if any command fails
+
 if [ "$do_checkout" = "yes" ]; then
     export_sources
 fi
@@ -368,6 +374,8 @@ for Flavor in $Flavors ; do
 done
 ) 2>&1 | tee $LogDir/testing.$Release-rc$RC.log
 
+set +e
+
 # Woo hoo!
 echo "### Testing Finished ###"
 echo "### Logs: $LogDir"