aboutsummaryrefslogtreecommitdiffstats
path: root/utils/release
diff options
context:
space:
mode:
Diffstat (limited to 'utils/release')
-rwxr-xr-xutils/release/tag.sh22
-rwxr-xr-xutils/release/test-release.sh47
2 files changed, 45 insertions, 24 deletions
diff --git a/utils/release/tag.sh b/utils/release/tag.sh
index 80da47a..399d5c5 100755
--- a/utils/release/tag.sh
+++ b/utils/release/tag.sh
@@ -16,33 +16,40 @@ set -e
release=""
rc=""
+rebranch="no"
base_url="https://llvm.org/svn/llvm-project"
function usage() {
- echo "usage: `basename $0` -release <num>"
+ echo "usage: `basename $0` -release <num> [-rebranch]"
echo "usage: `basename $0` -release <num> -rc <num>"
echo " "
echo " -release <num> The version number of the release"
echo " -rc <num> The release candidate number"
+ echo " -rebranch Remove existing branch, if present, before branching"
echo " -final Tag final release candidate"
}
function tag_version() {
set -x
- for proj in llvm cfe dragonegg test-suite compiler-rt libcxx libcxxabi ; do
- if ! svn ls $base_url/$proj/branches/release_$release > /dev/null 2>&1 ; then
- svn copy -m "Creating release_$release branch" \
- $base_url/$proj/trunk \
+ for proj in llvm cfe dragonegg test-suite compiler-rt ; do
+ if svn ls $base_url/$proj/branches/release_$release > /dev/null 2>&1 ; then
+ if [ $rebranch = "no" ]; then
+ continue
+ fi
+ svn remove -m "Removing old release_$release branch for rebranching." \
$base_url/$proj/branches/release_$release
fi
+ svn copy -m "Creating release_$release branch" \
+ $base_url/$proj/trunk \
+ $base_url/$proj/branches/release_$release
done
set +x
}
function tag_release_candidate() {
set -x
- for proj in llvm cfe dragonegg test-suite compiler-rt libcxx libcxxabi ; do
+ for proj in llvm cfe dragonegg test-suite compiler-rt ; do
if ! svn ls $base_url/$proj/tags/RELEASE_$release > /dev/null 2>&1 ; then
svn mkdir -m "Creating release directory for release_$release." $base_url/$proj/tags/RELEASE_$release
fi
@@ -65,6 +72,9 @@ while [ $# -gt 0 ]; do
shift
rc="rc$1"
;;
+ -rebranch | --rebranch )
+ rebranch="yes"
+ ;;
-final | --final )
rc="final"
;;
diff --git a/utils/release/test-release.sh b/utils/release/test-release.sh
index 6ec2861..d2946d8 100755
--- a/utils/release/test-release.sh
+++ b/utils/release/test-release.sh
@@ -18,7 +18,7 @@ else
MAKE=make
fi
-projects="llvm cfe dragonegg test-suite"
+projects="llvm cfe dragonegg compiler-rt test-suite"
# Base SVN URL for the sources.
Base_url="http://llvm.org/svn/llvm-project"
@@ -35,6 +35,7 @@ do_objc="yes"
do_64bit="yes"
do_debug="no"
do_asserts="no"
+do_compare="yes"
BuildDir="`pwd`"
function usage() {
@@ -54,6 +55,7 @@ function usage() {
echo " -disable-objc Disable ObjC build. [default: enable]"
echo " -test-debug Test the debug build. [default: no]"
echo " -test-asserts Test with asserts on. [default: no]"
+ echo " -no-compare-files Don't test that phase 2 and 3 files are identical."
}
while [ $# -gt 0 ]; do
@@ -108,6 +110,9 @@ while [ $# -gt 0 ]; do
-test-asserts | --test-asserts )
do_asserts="yes"
;;
+ -no-compare-files | --no-compare-files )
+ do_compare="no"
+ ;;
-help | --help | -h | --h | -\? )
usage
exit 0
@@ -209,6 +214,9 @@ function export_sources() {
if [ ! -h llvm-test ]; then
ln -s ../../test-suite.src llvm-test
fi
+ if [ ! -h compiler-rt ]; then
+ ln -s ../../compiler-rt.src compiler-rt
+ fi
cd $BuildDir
}
@@ -403,7 +411,7 @@ for Flavor in $Flavors ; do
# Test clang
if [ "$do_clang" = "yes" ]; then
- ############################################################################
+ ########################################################################
# Phase 2: Build llvmCore with newly built clang from phase 1.
c_compiler=$llvmCore_phase1_installdir/bin/clang
cxx_compiler=$llvmCore_phase1_installdir/bin/clang++
@@ -413,7 +421,7 @@ for Flavor in $Flavors ; do
build_llvmCore 2 $Flavor \
$llvmCore_phase2_objdir
- ############################################################################
+ ########################################################################
# Phase 3: Build llvmCore with newly built clang from phase 2.
c_compiler=$llvmCore_phase2_installdir/bin/clang
cxx_compiler=$llvmCore_phase2_installdir/bin/clang++
@@ -423,21 +431,24 @@ for Flavor in $Flavors ; do
build_llvmCore 3 $Flavor \
$llvmCore_phase3_objdir
- ############################################################################
+ ########################################################################
# Testing: Test phase 3
echo "# Testing - built with clang"
test_llvmCore 3 $Flavor $llvmCore_phase3_objdir
- ############################################################################
- # Compare .o files between Phase2 and Phase3 and report which ones differ.
- echo
- echo "# Comparing Phase 2 and Phase 3 files"
- for o in `find $llvmCore_phase2_objdir -name '*.o'` ; do
- p3=`echo $o | sed -e 's,Phase2,Phase3,'`
- if ! cmp --ignore-initial=16 $o $p3 > /dev/null 2>&1 ; then
- echo "file `basename $o` differs between phase 2 and phase 3"
- fi
- done
+ ########################################################################
+ # Compare .o files between Phase2 and Phase3 and report which ones
+ # differ.
+ if [ "$do_compare" = "yes" ]; then
+ echo
+ echo "# Comparing Phase 2 and Phase 3 files"
+ for o in `find $llvmCore_phase2_objdir -name '*.o'` ; do
+ p3=`echo $o | sed -e 's,Phase2,Phase3,'`
+ if ! cmp --ignore-initial=16 $o $p3 > /dev/null 2>&1 ; then
+ echo "file `basename $o` differs between phase 2 and phase 3"
+ fi
+ done
+ fi
fi
# Test dragonegg
@@ -450,7 +461,7 @@ for Flavor in $Flavors ; do
cxx_compiler="$gxx_compiler"
build_dragonegg 1 $Flavor $llvmCore_phase1_installdir $dragonegg_phase1_objdir
- ############################################################################
+ ########################################################################
# Phase 2: Build llvmCore with newly built dragonegg from phase 1.
c_compiler="$gcc_compiler -fplugin=$dragonegg_phase1_objdir/dragonegg.so"
cxx_compiler="$gxx_compiler -fplugin=$dragonegg_phase1_objdir/dragonegg.so"
@@ -461,7 +472,7 @@ for Flavor in $Flavors ; do
$llvmCore_de_phase2_objdir
build_dragonegg 2 $Flavor $llvmCore_de_phase2_installdir $dragonegg_phase2_objdir
- ############################################################################
+ ########################################################################
# Phase 3: Build llvmCore with newly built clang from phase 2.
c_compiler="$gcc_compiler -fplugin=$dragonegg_phase2_objdir/dragonegg.so"
cxx_compiler="$gxx_compiler -fplugin=$dragonegg_phase2_objdir/dragonegg.so"
@@ -472,14 +483,14 @@ for Flavor in $Flavors ; do
$llvmCore_de_phase3_objdir
build_dragonegg 3 $Flavor $llvmCore_de_phase3_installdir $dragonegg_phase3_objdir
- ############################################################################
+ ########################################################################
# Testing: Test phase 3
c_compiler="$gcc_compiler -fplugin=$dragonegg_phase3_objdir/dragonegg.so"
cxx_compiler="$gxx_compiler -fplugin=$dragonegg_phase3_objdir/dragonegg.so"
echo "# Testing - built with dragonegg"
test_llvmCore 3 $Flavor $llvmCore_de_phase3_objdir
- ############################################################################
+ ########################################################################
# Compare .o files between Phase2 and Phase3 and report which ones differ.
echo
echo "# Comparing Phase 2 and Phase 3 files"