From 9a498947cdb25737faecfdabcb64848432c49d68 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Tue, 26 Jan 2016 19:43:59 +0000 Subject: [PATCH] Merging r258436: ------------------------------------------------------------------------ r258436 | dim | 2016-01-21 22:57:49 +0100 (Thu, 21 Jan 2016) | 17 lines 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/branches/release_38@258842 91177308-0d34-0410-b5e6-96231b3b80d8 --- utils/release/test-release.sh | 66 ++++++++++++----------------------- 1 file 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 } -- 2.34.1