From 03572ad72f636c746da79f0007a2d96858479b98 Mon Sep 17 00:00:00 2001 From: Bill Wendling Date: Wed, 20 Nov 2013 04:55:20 +0000 Subject: [PATCH] Add -triple option. The -triple option is used to create a named tarball of the release binaries. Also disable the RPATH modifications on Mac OS X. It's not needed. llvm-svn: 195193 --- utils/release/test-release.sh | 41 ++++++++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 3 deletions(-) diff --git a/utils/release/test-release.sh b/utils/release/test-release.sh index c4cf521b92f..cdb0b60904e 100755 --- a/utils/release/test-release.sh +++ b/utils/release/test-release.sh @@ -26,6 +26,7 @@ Base_url="http://llvm.org/svn/llvm-project" Release="" Release_no_dot="" RC="" +Triple="" do_checkout="yes" do_ada="no" do_clang="yes" @@ -44,6 +45,7 @@ function usage() { echo " -release X.Y The release number to test." echo " -rc NUM The pre-release candidate number." echo " -final The final release candidate." + echo " -triple TRIPLE The target triple for this machine." 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." @@ -72,6 +74,10 @@ while [ $# -gt 0 ]; do -final | --final ) RC=final ;; + -triple | --triple ) + shift + Triple="$1" + ;; -j* ) NumJobs="`echo $1 | sed -e 's,-j\([0-9]*\),\1,g'`" if [ -z "$NumJobs" ]; then @@ -135,6 +141,10 @@ if [ -z "$RC" ]; then echo "error: no release candidate number specified" exit 1 fi +if [ -z "$Triple" ]; then + echo "error: no target triple specified" + exit 1 +fi # Figure out how many make processes to run. if [ -z "$NumJobs" ]; then @@ -159,6 +169,13 @@ cd $BuildDir LogDir=$BuildDir/logs mkdir -p $LogDir +# Final package name. +Package=clang+llvm-$Release +if [ $RC != "final" ]; then + Package=$Package-$RC +fi +Package=$Package-$Triple + # Find compilers. if [ "$do_dragonegg" = "yes" ]; then gcc_compiler="$GCC" @@ -189,9 +206,11 @@ function check_program_exists() { fi } -check_program_exists 'chrpath' -check_program_exists 'file' -check_program_exists 'objdump' +if [ `uname -s` != "Darwin" ]; then + check_program_exists 'chrpath' + check_program_exists 'file' + check_program_exists 'objdump' +fi # Make sure that the URLs are valid. function check_valid_urls() { @@ -343,6 +362,9 @@ function test_llvmCore() { # Clean RPATH. Libtool adds the build directory to the search path, which is # not necessary --- and even harmful --- for the binary packages we release. function clean_RPATH() { + if [ `uname -s` = "Darwin" ]; then + return + fi local InstallPath="$1" for Candidate in `find $InstallPath/{bin,lib} -type f`; do if file $Candidate | grep ELF | egrep 'executable|shared object' > /dev/null 2>&1 ; then @@ -355,6 +377,16 @@ function clean_RPATH() { done } +# Create a package of the release binaries. +function package_release() { + cwd=`pwd` + cd $BuildDir/Phase3/Release + mv llvmCore-$Release-$RC.install $Package + tar cfz $BuildDir/$Package.tar.gz $Package + mv $Package llvmCore-$Release-$RC.install + cd $cwd +} + set -e # Exit if any command fails if [ "$do_checkout" = "yes" ]; then @@ -550,9 +582,12 @@ for Flavor in $Flavors ; do done ) 2>&1 | tee $LogDir/testing.$Release-$RC.log +package_release + set +e # Woo hoo! echo "### Testing Finished ###" +echo "### Package: $Package.tar.gz" echo "### Logs: $LogDir" exit 0