test-release.sh: Add option for building the OpenMP run-time

This isn't part of the official release process, but provides a convenient way
to build binaries for those who want to experiment with it. Hopefully the run-
time can be part of the regular build and release process for 3.8.

Differential Revision: http://reviews.llvm.org/D11494

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243531 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Hans Wennborg 2015-07-29 16:29:06 +00:00
parent a229846f3f
commit c3a9cb54e6

View File

@ -33,6 +33,7 @@ do_compare="yes"
do_rt="yes"
do_libs="yes"
do_test_suite="yes"
do_openmp="no"
BuildDir="`pwd`"
use_autoconf="no"
ExtraConfigureFlags=""
@ -59,6 +60,7 @@ function usage() {
echo " -no-rt Disable check-out & build Compiler-RT"
echo " -no-libs Disable check-out & build libcxx/libcxxabi/libunwind"
echo " -no-test-suite Disable check-out & build test-suite"
echo " -openmp Check out and build the OpenMP run-time (experimental)"
}
if [ `uname -s` = "Darwin" ]; then
@ -136,6 +138,9 @@ while [ $# -gt 0 ]; do
-no-test-suite )
do_test_suite="no"
;;
-openmp )
do_openmp="yes"
;;
-help | --help | -h | --h | -\? )
usage
exit 0
@ -191,6 +196,9 @@ fi
if [ $do_test_suite = "yes" ]; then
projects="$projects test-suite"
fi
if [ $do_openmp = "yes" ]; then
projects="$projects openmp"
fi
# Go to the build directory (may be different from CWD)
BuildDir=$BuildDir/$RC
@ -427,6 +435,41 @@ 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-$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 $?``)
@ -459,7 +502,6 @@ for Flavor in $Flavors ; do
c_compiler="$CC"
cxx_compiler="$CXX"
llvmCore_phase1_objdir=$BuildDir/Phase1/$Flavor/llvmCore-$Release-$RC.obj
llvmCore_phase1_destdir=$BuildDir/Phase1/$Flavor/llvmCore-$Release-$RC.install
@ -538,6 +580,11 @@ for Flavor in $Flavors ; do
done
fi
done
if [ $do_openmp = "yes" ]; then
build_OpenMP
fi
) 2>&1 | tee $LogDir/testing.$Release-$RC.log
package_release