From c3a9cb54e650f092adfff6efadf7b237c822257f Mon Sep 17 00:00:00 2001 From: Hans Wennborg Date: Wed, 29 Jul 2015 16:29:06 +0000 Subject: [PATCH] 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 --- utils/release/test-release.sh | 49 ++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/utils/release/test-release.sh b/utils/release/test-release.sh index 1a09f7bbc86..73bfb804584 100755 --- a/utils/release/test-release.sh +++ b/utils/release/test-release.sh @@ -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 -- 2.34.1