diff options
Diffstat (limited to 'utils/release/test-release.sh')
| -rwxr-xr-x | utils/release/test-release.sh | 77 |
1 files changed, 26 insertions, 51 deletions
diff --git a/utils/release/test-release.sh b/utils/release/test-release.sh index 568c097badd3a..bb1f7869467ac 100755 --- a/utils/release/test-release.sh +++ b/utils/release/test-release.sh @@ -34,10 +34,11 @@ do_rt="yes" do_libs="yes" do_libunwind="yes" do_test_suite="yes" -do_openmp="no" +do_openmp="yes" BuildDir="`pwd`" use_autoconf="no" ExtraConfigureFlags="" +ExportBranch="" function usage() { echo "usage: `basename $0` -release X.Y.Z -rc NUM [OPTIONS]" @@ -55,11 +56,13 @@ function usage() { echo " -use-gzip Use gzip instead of xz." echo " -configure-flags FLAGS Extra flags to pass to the configure step." echo " -use-autoconf Use autoconf instead of cmake" + echo " -svn-path DIR Use the specified DIR instead of a release." + echo " For example -svn-path trunk or -svn-path branches/release_37" echo " -no-rt Disable check-out & build Compiler-RT" echo " -no-libs Disable check-out & build libcxx/libcxxabi/libunwind" echo " -no-libunwind Disable check-out & build libunwind" echo " -no-test-suite Disable check-out & build test-suite" - echo " -openmp Check out and build the OpenMP run-time (experimental)" + echo " -no-openmp Disable check-out & build libomp" } if [ `uname -s` = "Darwin" ]; then @@ -81,6 +84,16 @@ while [ $# -gt 0 ]; do -final | --final ) RC=final ;; + -svn-path | --svn-path ) + shift + Release="test" + Release_no_dot="test" + ExportBranch="$1" + RC="`echo $ExportBranch | sed -e 's,/,_,g'`" + echo "WARNING: Using the branch $ExportBranch instead of a release tag" + echo " This is intended to aid new packagers in trialing " + echo " builds without requiring a tag to be created first" + ;; -triple | --triple ) shift Triple="$1" @@ -130,8 +143,8 @@ while [ $# -gt 0 ]; do -no-test-suite ) do_test_suite="no" ;; - -openmp ) - do_openmp="yes" + -no-openmp ) + do_openmp="no" ;; -help | --help | -h | --h | -\? ) usage @@ -155,6 +168,9 @@ if [ -z "$RC" ]; then echo "error: no release candidate number specified" exit 1 fi +if [ -z "$ExportBranch" ]; then + ExportBranch="tags/RELEASE_$Release_no_dot/$RC" +fi if [ -z "$Triple" ]; then echo "error: no target triple specified" exit 1 @@ -238,8 +254,8 @@ function check_valid_urls() { for proj in $projects ; do echo "# Validating $proj SVN URL" - if ! svn ls $Base_url/$proj/tags/RELEASE_$Release_no_dot/$RC > /dev/null 2>&1 ; then - echo "$proj $Release release candidate $RC doesn't exist!" + if ! svn ls $Base_url/$proj/$ExportBranch > /dev/null 2>&1 ; then + echo "$proj does not have a $ExportBranch branch/tag!" exit 1 fi done @@ -255,7 +271,7 @@ function export_sources() { continue fi echo "# Exporting $proj $Release-$RC sources" - if ! svn export -q $Base_url/$proj/tags/RELEASE_$Release_no_dot/$RC $proj.src ; then + if ! svn export -q $Base_url/$proj/$ExportBranch $proj.src ; then echo "error: failed to export $proj project" exit 1 fi @@ -277,6 +293,9 @@ function export_sources() { if [ -d $BuildDir/compiler-rt.src ] && [ ! -h compiler-rt ]; then ln -s ../../compiler-rt.src compiler-rt fi + if [ -d $BuildDir/openmp.src ] && [ ! -h openmp ]; then + ln -s ../../openmp.src openmp + fi if [ -d $BuildDir/libcxx.src ] && [ ! -h libcxx ]; then ln -s ../../libcxx.src libcxx fi @@ -427,46 +446,6 @@ function package_release() { cd $cwd } -# Build and package the OpenMP run-time. This is still experimental and not -# meant for official testing in the release, but as a way for providing -# binaries as a convenience to those who want to try it out. -function build_OpenMP() { - cwd=`pwd` - - rm -rf $BuildDir/Phase3/openmp - rm -rf $BuildDir/Phase3/openmp.install - mkdir -p $BuildDir/Phase3/openmp - cd $BuildDir/Phase3/openmp - clang=$BuildDir/Phase3/Release/llvmCore-$Release-$RC.install/usr/local/bin/clang - - echo "#" cmake -DCMAKE_C_COMPILER=${clang} -DCMAKE_CXX_COMPILER=${clang}++ \ - -DCMAKE_BUILD_TYPE=Release -DLIBOMP_MICRO_TESTS=on \ - $BuildDir/openmp.src/runtime - cmake -DCMAKE_C_COMPILER=${clang} -DCMAKE_CXX_COMPILER=${clang}++ \ - -DCMAKE_BUILD_TYPE=Release -DLIBOMP_MICRO_TESTS=on \ - $BuildDir/openmp.src/runtime - - echo "# Building OpenMP run-time" - echo "# ${MAKE} -j $NumJobs VERBOSE=1" - ${MAKE} -j $NumJobs VERBOSE=1 - echo "# ${MAKE} libomp-micro-tests VERBOSE=1" - ${MAKE} libomp-micro-tests VERBOSE=1 - echo "# ${MAKE} install DESTDIR=$BuildDir/Phase3/openmp.install" - ${MAKE} install DESTDIR=$BuildDir/Phase3/openmp.install - - OpenMPPackage=OpenMP-$Release - if [ $RC != "final" ]; then - OpenMPPackage=$OpenMPPackage-$RC - fi - OpenMPPackage=$OpenMPPackage-$Triple - - mv $BuildDir/Phase3/openmp.install/usr/local $BuildDir/$OpenMPPackage - cd $BuildDir - tar cvfJ $BuildDir/$OpenMPPackage.tar.xz $OpenMPPackage - mv $OpenMPPackage $BuildDir/Phase3/openmp.install/usr/local - cd $cwd -} - # Exit if any command fails # Note: pipefail is necessary for running build commands through # a pipe (i.e. it changes the output of ``false | tee /dev/null ; echo $?``) @@ -578,10 +557,6 @@ for Flavor in $Flavors ; do fi done -if [ $do_openmp = "yes" ]; then - build_OpenMP -fi - ) 2>&1 | tee $LogDir/testing.$Release-$RC.log package_release |
