diff options
author | Dimitry Andric <dimitry@andric.com> | 2016-01-21 21:57:49 +0000 |
---|---|---|
committer | Dimitry Andric <dimitry@andric.com> | 2016-01-21 21:57:49 +0000 |
commit | 0ae89f95cafacc462696f3d69e55126accb9a9bc (patch) | |
tree | aa954b685a7dbb34c7ca4933eff0631c39a9b4c9 /utils | |
parent | fad7d1588fff3b9b2bbe8c4eeed10e5dec17e4fe (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')
-rwxr-xr-x | utils/release/test-release.sh | 66 |
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 } |