Don't show commands.
[oota-llvm.git] / utils / release / test-release.sh
old mode 100644 (file)
new mode 100755 (executable)
index 1832dc4..540d387
 #
 #===------------------------------------------------------------------------===#
 
-set -e
+set -e                          # Exit if any command fails
 
 Release=""
 Release_no_dot=""
 RC=""
 do_checkout="yes"
 do_ada="no"
+do_objc="yes"
 do_fortran="yes"
 do_64bit="yes"
 BuildDir="`pwd`"
 
-# Figure out how many make processes to run.
-NumJobs=`sysctl -n hw.activecpu 2> /dev/null || true`
-if [ -z "$NumJobs" ]; then
-    NumJobs=`sysctl -n hw.ncpu 2> /dev/null || true`
-fi
-if [ -z "$NumJobs" ]; then
-    NumJobs=`grep -c processor /proc/cpuinfo 2> /dev/null || true`
-fi
-
 function usage() {
     echo "usage: `basename $0` -release X.Y -rc NUM [OPTIONS]"
     echo ""
@@ -41,8 +33,9 @@ function usage() {
     echo " -build-dir DIR    Directory to perform testing in. [default: pwd]"
     echo " -no-checkout      Don't checkout the sources from SVN."
     echo " -no-64bit         Don't test the 64-bit version. [default: yes]"
-    echo " -ada              Build Ada. [default: no]"
-    echo " -disable-fortran  Disable Fortran build. [default: build]"
+    echo " -enable-ada       Build Ada. [default: disable]"
+    echo " -disable-objc     Disable ObjC build. [default: enable]"
+    echo " -disable-fortran  Disable Fortran build. [default: enable]"
 }
 
 while [ $# -gt 0 ]; do
@@ -73,9 +66,12 @@ while [ $# -gt 0 ]; do
         -no-64bit | --no-64bit )
             do_64bit="no"
             ;;
-        -ada | --ada )
+        -enable-ada | --enable-ada )
             do_ada="yes"
             ;;
+        -disable-objc | --disable-objc )
+            do_objc="no"
+            ;;
         -disable-fortran | --disable-fortran )
             echo "WARNING: Do you *really* need to disable Fortran?"
             sleep 5
@@ -104,6 +100,16 @@ if [ -z "$RC" ]; then
     exit 1
 fi
 
+# Figure out how many make processes to run.
+if [ -z "$NumJobs" ]; then
+    NumJobs=`sysctl -n hw.activecpu 2> /dev/null || true`
+fi
+if [ -z "$NumJobs" ]; then
+    NumJobs=`sysctl -n hw.ncpu 2> /dev/null || true`
+fi
+if [ -z "$NumJobs" ]; then
+    NumJobs=`grep -c processor /proc/cpuinfo 2> /dev/null || true`
+fi
 if [ -z "$NumJobs" ]; then
     NumJobs=3
 fi
@@ -112,11 +118,6 @@ fi
 llvmCore_srcdir=$BuildDir/llvmCore-$Release-rc$RC.src
 llvmgcc42_srcdir=$BuildDir/llvmgcc42-$Release-rc$RC.src
 
-# Location of log files.
-LogDirName="$Release-rc$RC.logs"
-LogDir=$BuildDir/$LogDirName
-mkdir -p $LogDir
-
 # SVN URLs for the sources.
 Base_url="http://llvm.org/svn/llvm-project"
 llvmCore_RC_url="$Base_url/llvm/tags/RELEASE_$Release_no_dot/rc$RC"
@@ -169,11 +170,11 @@ function configure_llvmCore() {
     case $Flavor in
         Release | Release-64 )
             Optimized="yes"
-            Assertions="yes"
+            Assertions="no"
             ;;
-        Release-Asserts )
+        Release+Asserts )
             Optimized="yes"
-            Assertions="no"
+            Assertions="yes"
             ;;
         Debug )
             Optimized="no"
@@ -188,15 +189,14 @@ function configure_llvmCore() {
 
     cd $ObjDir
     echo "# Configuring llvm $Release-rc$RC $Flavor"
-    echo "# $llvmCore_srcdir/configure --prefix=$llvmCore_installdir \
+    echo "# $llvmCore_srcdir/configure --prefix=$InstallDir \
         --enable-optimized=$Optimized \
         --enable-assertions=$Assertions \
         --with-llvmgccdir=$llvmgccDir"
     $llvmCore_srcdir/configure --prefix=$InstallDir \
         --enable-optimized=$Optimized \
         --enable-assertions=$Assertions \
-        --with-llvmgccdir=$llvmgccDir \
-        > $LogDir/llvm.configure.$Release-rc$RC-Phase$Phase-$Flavor.log 2>&1
+        --with-llvmgccdir=$llvmgccDir
     cd -
 }
 
@@ -217,13 +217,11 @@ 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 $CompilerFlags \
-        > $LogDir/llvm.make.$Release-rc$RC-Phase$Phase-$Flavor.log 2>&1
+    make -j $NumJobs VERBOSE=1 $ExtraOpts $CompilerFlags
 
     echo "# Installing llvm $Release-rc$RC $Flavor"
     echo "# make install"
-    make install \
-        > $LogDir/llvm.install.$Release-rc$RC-Phase$Phase-$Flavor.log 2>&1
+    make install
     cd -
 }
 
@@ -233,12 +231,9 @@ function test_llvmCore() {
     ObjDir="$3"
 
     cd $ObjDir
-    make check \
-        > $LogDir/llvm.check.$Release-rc$RC-Phase$Phase-$Flavor.log 2>&1
-    make -C tools/clang test \
-        > $LogDir/clang.check.$Release-rc$RC-Phase$Phase-$Flavor.log 2>&1
-    make unittests \
-        > $LogDir/llvm.unittests.$Release-rc$RC-Phase$Phase-$Flavor.log 2>&1
+    make check
+    make -C tools/clang test
+    make unittests
     cd -
 }
 
@@ -249,7 +244,10 @@ function configure_llvm_gcc() {
     InstallDir="$4"
     llvmObjDir="$5"
 
-    languages="c,c++,objc,obj-c++"
+    languages="c,c++"
+    if [ "$do_objc" = "yes" ]; then
+        languages="$languages,objc,obj-c++"
+    fi
     if [ "$do_fortran" = "yes" ]; then
         languages="$languages,fortran"
     fi
@@ -261,13 +259,10 @@ function configure_llvm_gcc() {
     echo "# Configuring llvm-gcc $Release-rc$RC $Flavor"
     echo "# $llvmgcc42_srcdir/configure --prefix=$InstallDir \
         --program-prefix=llvm- --enable-llvm=$llvmObjDir \
-        --enable-languages=$languages \
-        --with-gxx-include-dir=/usr/include/c++/4.2.1"
+        --enable-languages=$languages"
     $llvmgcc42_srcdir/configure --prefix=$InstallDir \
         --program-prefix=llvm- --enable-llvm=$llvmObjDir \
-        --enable-languages=$languages \
-        --with-gxx-include-dir=/usr/include/c++/4.2.1 \
-        > $LogDir/llvm-gcc.configure.$Release-rc$RC-Phase$Phase-$Flavor.log 2>&1
+        --enable-languages=$languages
     cd -
 }
 
@@ -285,13 +280,11 @@ function build_llvm_gcc() {
     cd $ObjDir
     echo "# Compiling llvm-gcc $Release-rc$RC $Flavor"
     echo "# make -j $NumJobs bootstrap LLVM_VERSION_INFO=$Release"
-    make -j $NumJobs bootstrap LLVM_VERSION_INFO=$Release $CompilerFlags \
-        > $LogDir/llvm-gcc.make.$Release-rc$RC-Phase$Phase-$Flavor.log 2>&1
+    make -j $NumJobs bootstrap LLVM_VERSION_INFO=$Release $CompilerFlags
 
     echo "# Installing llvm-gcc $Release-rc$RC $Flavor"
     echo "# make install"
-    make install \
-        > $LogDir/llvm-gcc.install.$Release-rc$RC-Phase$Phase-$Flavor.log 2>&1
+    make install
     cd -
 }
 
@@ -299,8 +292,7 @@ if [ "$do_checkout" = "yes" ]; then
     export_sources
 fi
 
-(
-Flavors="Debug Release Release-Asserts"
+Flavors="Debug Release Release+Asserts"
 if [ "$do_64bit" = "yes" ]; then
     Flavors="$Flavors Release-64"
 fi
@@ -383,9 +375,7 @@ for Flavor in $Flavors ; do
     echo "# Testing - built with llvmgcc42"
     test_llvmCore 2 $Flavor $llvmCore_phase2_objdir
 done
-) 2>&1 | tee $LogDir/testing.$Release-rc$RC.log
 
 # Woo hoo!
 echo "### Testing Finished ###"
-echo "### Logs: $LogDir"
 exit 0