Index: utils/release/test-release.sh =================================================================== --- utils/release/test-release.sh +++ utils/release/test-release.sh @@ -35,7 +35,7 @@ do_asserts="no" do_compare="yes" BuildDir="`pwd`" -BuildTriple="" +use_autoconf="no" function usage() { echo "usage: `basename $0` -release X.Y.Z -rc NUM [OPTIONS]" @@ -53,10 +53,14 @@ echo " -test-asserts Test with asserts on. [default: no]" echo " -no-compare-files Don't test that phase 2 and 3 files are identical." echo " -use-gzip Use gzip instead of xz." - echo " -build-triple TRIPLE The build triple for this machine" - echo " [default: use config.guess]" + echo " -use-autoconf Use autoconf instead of cmake" } +if [ `uname -s` = "Darwin" ]; then + # compiler-rt doesn't yet build with CMake on Darwin. + use_autoconf="yes" +fi + while [ $# -gt 0 ]; do case $1 in -release | --release ) @@ -75,10 +79,6 @@ shift Triple="$1" ;; - -build-triple | --build-triple ) - shift - BuildTriple="$1" - ;; -j* ) NumJobs="`echo $1 | sed -e 's,-j\([0-9]*\),\1,g'`" if [ -z "$NumJobs" ]; then @@ -111,6 +111,9 @@ -use-gzip | --use-gzip ) use_gzip="yes" ;; + -use-autoconf | --use-autoconf ) + use_autoconf="yes" + ;; -help | --help | -h | --h | -\? ) usage exit 0 @@ -237,19 +240,23 @@ Flavor="$2" ObjDir="$3" InstallDir="$4" + ExtraFlags="" case $Flavor in Release | Release-64 ) - Optimized="yes" - Assertions="no" + BuildType="Release" + Assertions="OFF" + ConfigureFlags="--enable-optimized --disable-assertions" ;; Release+Asserts ) - Optimized="yes" - Assertions="yes" + BuildType="Release" + Assertions="ON" + ConfigureFlags="--enable-optimized --enable-assertions" ;; Debug ) - Optimized="no" - Assertions="yes" + BuildType="Debug" + Assertions="ON" + ConfigureFlags="--disable-optimized --enable-assertions" ;; * ) echo "# Invalid flavor '$Flavor'" @@ -258,25 +265,48 @@ ;; esac + if [ "$Flavor" = "Release-64" ]; then + ExtraFlags="-m64" + fi + echo "# Using C compiler: $c_compiler" echo "# Using C++ compiler: $cxx_compiler" - - build_triple_option="${BuildTriple:+--build=$BuildTriple}" + echo "# ExtraFlags: $ExtraFlags" cd $ObjDir echo "# Configuring llvm $Release-$RC $Flavor" - echo "# $BuildDir/llvm.src/configure --prefix=$InstallDir \ - --enable-optimized=$Optimized \ - --enable-assertions=$Assertions \ - --disable-timestamps \ - $build_triple_option" - env CC="$c_compiler" CXX="$cxx_compiler" \ - $BuildDir/llvm.src/configure --prefix=$InstallDir \ - --enable-optimized=$Optimized \ - --enable-assertions=$Assertions \ - --disable-timestamps \ - $build_triple_option \ - 2>&1 | tee $LogDir/llvm.configure-Phase$Phase-$Flavor.log + + + if [ "$use_autoconf" = "yes" ]; then + echo "#" env CC="$c_compiler" CXX="$cxx_compiler" \ + CFLAGS="$ExtraFlags" CXXFLAGS="$ExtraFlags" \ + $BuildDir/llvm.src/configure --prefix=$InstallDir \ + $ConfigureFlags \ + --disable-timestamps \ + 2>&1 | tee $LogDir/llvm.configure-Phase$Phase-$Flavor.log + env CC="$c_compiler" CXX="$cxx_compiler" \ + CFLAGS="$ExtraFlags" CXXFLAGS="$ExtraFlags" \ + $BuildDir/llvm.src/configure --prefix=$InstallDir \ + $ConfigureFlags \ + --disable-timestamps \ + 2>&1 | tee $LogDir/llvm.configure-Phase$Phase-$Flavor.log + else + echo "#" env CC="$c_compiler" CXX="$cxx_compiler" \ + CFLAGS="$ExtraFlags" CXXFLAGS="$ExtraFlags" \ + cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=$InstallDir \ + -DCMAKE_BUILD_TYPE=$BuildType -DLLVM_ENABLE_ASSERTIONS=$Assertions \ + -DLLVM_ENABLE_TIMESTAMPS=OFF -DLLVM_CONFIGTIME="(timestamp not enabled)" \ + $BuildDir/llvm.src \ + 2>&1 | tee $LogDir/llvm.configure-Phase$Phase-$Flavor.log + env CC="$c_compiler" CXX="$cxx_compiler" \ + CFLAGS="$ExtraFlags" CXXFLAGS="$ExtraFlags" \ + cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=$InstallDir \ + -DCMAKE_BUILD_TYPE=$BuildType -DLLVM_ENABLE_ASSERTIONS=$Assertions \ + -DLLVM_ENABLE_TIMESTAMPS=OFF -DLLVM_CONFIGTIME="(timestamp not enabled)" \ + $BuildDir/llvm.src \ + 2>&1 | tee $LogDir/llvm.configure-Phase$Phase-$Flavor.log + fi + cd $BuildDir } @@ -284,16 +314,11 @@ Phase="$1" Flavor="$2" ObjDir="$3" - ExtraOpts="" - - if [ "$Flavor" = "Release-64" ]; then - ExtraOpts="EXTRA_OPTIONS=-m64" - fi cd $ObjDir echo "# Compiling llvm $Release-$RC $Flavor" - echo "# ${MAKE} -j $NumJobs VERBOSE=1 $ExtraOpts" - ${MAKE} -j $NumJobs VERBOSE=1 $ExtraOpts \ + echo "# ${MAKE} -j $NumJobs VERBOSE=1" + ${MAKE} -j $NumJobs VERBOSE=1 \ 2>&1 | tee $LogDir/llvm.make-Phase$Phase-$Flavor.log echo "# Installing llvm $Release-$RC $Flavor" @@ -309,10 +334,15 @@ ObjDir="$3" cd $ObjDir - ${MAKE} -k check-all \ + ${MAKE} -j $NumJobs -k check-all \ 2>&1 | tee $LogDir/llvm.check-Phase$Phase-$Flavor.log - ${MAKE} -k unittests \ - 2>&1 | tee $LogDir/llvm.unittests-Phase$Phase-$Flavor.log + + if [ "$use_autoconf" = "yes" ]; then + # In the cmake build, unit tests are run as part of check-all. + ${MAKE} -k unittests \ + 2>&1 | tee $LogDir/llvm.unittests-Phase$Phase-$Flavor.log + fi + cd $BuildDir }