summaryrefslogtreecommitdiff
path: root/utils/release
diff options
context:
space:
mode:
authorDimitry Andric <dimitry@andric.com>2016-01-21 21:57:49 +0000
committerDimitry Andric <dimitry@andric.com>2016-01-21 21:57:49 +0000
commit0ae89f95cafacc462696f3d69e55126accb9a9bc (patch)
treeaa954b685a7dbb34c7ca4933eff0631c39a9b4c9 /utils/release
parentfad7d1588fff3b9b2bbe8c4eeed10e5dec17e4fe (diff)
Let test-release.sh checkout subprojects directly into the target tree,
instead of using symlinks Summary: In the past I have run into several problems with the way `test-release.sh` creates all the subproject directories as siblings, and then uses symlinks to stitch them all together. In some scenarios this leads to clang not being able to find header files, etc. This patch changes the script so it directly exports into the correct target locations for each subproject. Reviewers: hans Subscribers: emaste, llvm-commits Differential Revision: http://reviews.llvm.org/D16420 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@258436 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/release')
-rwxr-xr-xutils/release/test-release.sh66
1 files changed, 23 insertions, 43 deletions
diff --git a/utils/release/test-release.sh b/utils/release/test-release.sh
index c3884ba3175..9f7fb051baf 100755
--- a/utils/release/test-release.sh
+++ b/utils/release/test-release.sh
@@ -267,56 +267,36 @@ function export_sources() {
check_valid_urls
for proj in $projects ; do
- if [ -d $proj.src ]; then
- echo "# Reusing $proj $Release-$RC sources"
+ case $proj in
+ llvm)
+ projsrc=$proj.src
+ ;;
+ cfe)
+ projsrc=llvm.src/tools/clang
+ ;;
+ clang-tools-extra)
+ projsrc=llvm.src/tools/clang/tools/extra
+ ;;
+ compiler-rt|libcxx|libcxxabi|libunwind|openmp|test-suite)
+ projsrc=llvm.src/projects/$proj
+ ;;
+ *)
+ echo "error: unknown project $proj"
+ exit 1
+ ;;
+ esac
+
+ if [ -d $projsrc ]; then
+ echo "# Reusing $proj $Release-$RC sources in $projsrc"
continue
fi
- echo "# Exporting $proj $Release-$RC sources"
- if ! svn export -q $Base_url/$proj/$ExportBranch $proj.src ; then
+ echo "# Exporting $proj $Release-$RC sources to $projsrc"
+ if ! svn export -q $Base_url/$proj/$ExportBranch $projsrc ; then
echo "error: failed to export $proj project"
exit 1
fi
done
- echo "# Creating symlinks"
- cd $BuildDir/llvm.src/tools
- if [ ! -h clang ]; then
- ln -s ../../cfe.src clang
- fi
-
- # The autoconf and CMake builds want different symlinks here:
- if [ "$use_autoconf" = "yes" ]; then
- cd $BuildDir/llvm.src/tools/clang/tools
- if [ ! -h extra ]; then
- ln -s ../../../../clang-tools-extra.src extra
- fi
- else
- cd $BuildDir/cfe.src/tools
- if [ ! -h extra ]; then
- ln -s ../../clang-tools-extra.src extra
- fi
- fi
-
- cd $BuildDir/llvm.src/projects
- if [ -d $BuildDir/test-suite.src ] && [ ! -h test-suite ]; then
- ln -s ../../test-suite.src test-suite
- fi
- if [ -d $BuildDir/compiler-rt.src ] && [ ! -h compiler-rt ]; then
- ln -s ../../compiler-rt.src compiler-rt
- fi
- if [ -d $BuildDir/openmp.src ] && [ ! -h openmp ]; then
- ln -s ../../openmp.src openmp
- fi
- if [ -d $BuildDir/libcxx.src ] && [ ! -h libcxx ]; then
- ln -s ../../libcxx.src libcxx
- fi
- if [ -d $BuildDir/libcxxabi.src ] && [ ! -h libcxxabi ]; then
- ln -s ../../libcxxabi.src libcxxabi
- fi
- if [ -d $BuildDir/libunwind.src ] && [ ! -h libunwind ]; then
- ln -s ../../libunwind.src libunwind
- fi
-
cd $BuildDir
}