Index: utils/release/test-release.sh =================================================================== --- utils/release/test-release.sh +++ utils/release/test-release.sh @@ -30,12 +30,12 @@ use_gzip="no" do_checkout="yes" do_clang="yes" -do_64bit="yes" do_debug="no" do_asserts="no" do_compare="yes" BuildDir="`pwd`" -BuildTriple="" +use_autoconf="no" +ExtraConfigureFlags="" function usage() { echo "usage: `basename $0` -release X.Y.Z -rc NUM [OPTIONS]" @@ -47,16 +47,21 @@ echo " -j NUM Number of compile jobs to run. [default: 3]" 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 " -disable-clang Do not test clang. [default: enable]" echo " -test-debug Test the debug build. [default: no]" 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 " -configure-flags FLAGS Extra flags to pass to the configure step." 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,9 +80,9 @@ shift Triple="$1" ;; - -build-triple | --build-triple ) + -configure-flags | --configure-flags ) shift - BuildTriple="$1" + ExtraConfigureFlags="$1" ;; -j* ) NumJobs="`echo $1 | sed -e 's,-j\([0-9]*\),\1,g'`" @@ -93,9 +98,6 @@ -no-checkout | --no-checkout ) do_checkout="no" ;; - -no-64bit | --no-64bit ) - do_64bit="no" - ;; -disable-clang | --disable-clang ) do_clang="no" ;; @@ -111,6 +113,9 @@ -use-gzip | --use-gzip ) use_gzip="yes" ;; + -use-autoconf | --use-autoconf ) + use_autoconf="yes" + ;; -help | --help | -h | --h | -\? ) usage exit 0 @@ -239,17 +244,20 @@ InstallDir="$4" case $Flavor in - Release | Release-64 ) - Optimized="yes" - Assertions="no" + Release ) + 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'" @@ -261,22 +269,34 @@ echo "# Using C compiler: $c_compiler" echo "# Using C++ compiler: $cxx_compiler" - build_triple_option="${BuildTriple:+--build=$BuildTriple}" - 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" \ + $BuildDir/llvm.src/configure --prefix=$InstallDir \ + $ConfigureFlags --disable-timestamps $ExtraConfigureFlags \ + 2>&1 | tee $LogDir/llvm.configure-Phase$Phase-$Flavor.log + env CC="$c_compiler" CXX="$cxx_compiler" \ + $BuildDir/llvm.src/configure --prefix=$InstallDir \ + $ConfigureFlags --disable-timestamps $ExtraConfigureFlags \ + 2>&1 | tee $LogDir/llvm.configure-Phase$Phase-$Flavor.log + else + echo "#" env CC="$c_compiler" CXX="$cxx_compiler" \ + 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)" \ + $ExtraConfigureFlags $BuildDir/llvm.src \ + 2>&1 | tee $LogDir/llvm.configure-Phase$Phase-$Flavor.log + env CC="$c_compiler" CXX="$cxx_compiler" \ + 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)" \ + $ExtraConfigureFlags $BuildDir/llvm.src \ + 2>&1 | tee $LogDir/llvm.configure-Phase$Phase-$Flavor.log + fi + cd $BuildDir } @@ -284,16 +304,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 +324,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 } @@ -362,9 +382,6 @@ if [ "$do_asserts" = "yes" ]; then Flavors="$Flavors Release+Asserts" fi -if [ "$do_64bit" = "yes" ]; then - Flavors="$Flavors Release-64" -fi for Flavor in $Flavors ; do echo ""