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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195193
91177308-0d34-0410-b5e6-
96231b3b80d8
Release=""
Release_no_dot=""
RC=""
Release=""
Release_no_dot=""
RC=""
do_checkout="yes"
do_ada="no"
do_clang="yes"
do_checkout="yes"
do_ada="no"
do_clang="yes"
echo " -release X.Y The release number to test."
echo " -rc NUM The pre-release candidate number."
echo " -final The final release candidate."
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."
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."
-final | --final )
RC=final
;;
-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
-j* )
NumJobs="`echo $1 | sed -e 's,-j\([0-9]*\),\1,g'`"
if [ -z "$NumJobs" ]; then
echo "error: no release candidate number specified"
exit 1
fi
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
# Figure out how many make processes to run.
if [ -z "$NumJobs" ]; then
LogDir=$BuildDir/logs
mkdir -p $LogDir
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"
# Find compilers.
if [ "$do_dragonegg" = "yes" ]; then
gcc_compiler="$GCC"
-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() {
# Make sure that the URLs are valid.
function check_valid_urls() {
# 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() {
# 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
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
+# 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
set -e # Exit if any command fails
if [ "$do_checkout" = "yes" ]; then
done
) 2>&1 | tee $LogDir/testing.$Release-$RC.log
done
) 2>&1 | tee $LogDir/testing.$Release-$RC.log
set +e
# Woo hoo!
echo "### Testing Finished ###"
set +e
# Woo hoo!
echo "### Testing Finished ###"
+echo "### Package: $Package.tar.gz"
echo "### Logs: $LogDir"
exit 0
echo "### Logs: $LogDir"
exit 0