[PATCH] D16420: Let test-release.sh checkout subprojects directly into the target tree, instead of using symlinks
Dimitry Andric via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 21 10:50:29 PST 2016
dim created this revision.
dim added a reviewer: hans.
dim added a subscriber: llvm-commits.
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.
http://reviews.llvm.org/D16420
Files:
utils/release/test-release.sh
Index: utils/release/test-release.sh
===================================================================
--- utils/release/test-release.sh
+++ utils/release/test-release.sh
@@ -267,56 +267,36 @@
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
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D16420.45567.patch
Type: text/x-patch
Size: 2651 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160121/3befc3d0/attachment.bin>
More information about the llvm-commits
mailing list