aboutsummaryrefslogtreecommitdiff
path: root/utils/release/test-release.sh
diff options
context:
space:
mode:
Diffstat (limited to 'utils/release/test-release.sh')
-rwxr-xr-xutils/release/test-release.sh77
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