forked from OSchip/llvm-project
74 lines
1.9 KiB
Plaintext
74 lines
1.9 KiB
Plaintext
![]() |
#!/bin/sh -x
|
||
|
|
||
|
# Usage:
|
||
|
# build-lldb-llvm-clang <revision> [Debug|Release]
|
||
|
# build-lldb-llvm-clang <llvm-revision> <clang-revision> [Debug|Release]
|
||
|
|
||
|
LLVM_REVISION=$1
|
||
|
CLANG_REVISION=$2
|
||
|
LLVM_CONFIGURATION=$3
|
||
|
|
||
|
if [ "$LLVM_REVISION" = "" ]; then
|
||
|
echo "Usage:\n build-lldb-llvm-clang <llvm-revision> [<clang-revision> Debug|Release]"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
if [ "$CLANG_REVISION" = "" ]; then
|
||
|
$CLANG_REVISION = $LLVM_REVISION
|
||
|
fi
|
||
|
|
||
|
# Checkout LLVM
|
||
|
svn co -q -r $LLVM_REVISION http://llvm.org/svn/llvm-project/llvm/trunk llvm
|
||
|
|
||
|
# change directory to "./llvm"
|
||
|
cd llvm
|
||
|
rm -rf test
|
||
|
|
||
|
# Checkout Clang
|
||
|
# change directory to "./llvm/tools"
|
||
|
cd tools
|
||
|
svn co -q -r $CLANG_REVISION http://llvm.org/svn/llvm-project/cfe/trunk clang
|
||
|
rm -rf clang/test
|
||
|
|
||
|
# change directory to "./llvm"
|
||
|
cd ..
|
||
|
for patch_file in ../scripts/llvm.*.diff
|
||
|
do
|
||
|
echo "Applying patch from '$patch_file'"
|
||
|
patch -p0 < "$patch_file"
|
||
|
done
|
||
|
|
||
|
# change directory to "./llvm/tools/clang"
|
||
|
cd tools/clang
|
||
|
for patch_file in ../../../scripts/clang.*.diff
|
||
|
do
|
||
|
echo "Applying patch from '$patch_file'"
|
||
|
patch -p0 < "$patch_file"
|
||
|
done
|
||
|
|
||
|
# change directory to "./"
|
||
|
cd ../../..
|
||
|
pwd
|
||
|
|
||
|
if [ "$LLVM_CONFIGURATION" = "Debug" ]; then
|
||
|
# Configure "Debug+Asserts" build
|
||
|
mkdir llvm-debug
|
||
|
cd llvm-debug
|
||
|
../llvm/configure --enable-targets=x86_64,arm
|
||
|
make -j8 clang-only VERBOSE=1 PROJECT_NAME='llvm'
|
||
|
make -j8 tools-only VERBOSE=1 PROJECT_NAME='llvm' EDIS_VERSION=1
|
||
|
elif [ "$LLVM_CONFIGURATION" = "Release" ]; then
|
||
|
# Configure "Release" build
|
||
|
mkdir llvm-release
|
||
|
cd llvm-release
|
||
|
../llvm/configure --enable-targets=x86_64,arm --enable-optimized --disable-assertions
|
||
|
make -j8 clang-only VERBOSE=1 PROJECT_NAME='llvm'
|
||
|
make -j8 tools-only VERBOSE=1 PROJECT_NAME='llvm' EDIS_VERSION=1
|
||
|
elif [ "$LLVM_CONFIGURATION" = "BuildAndIntegration" ]; then
|
||
|
# Configure "BuildAndIntegration" build
|
||
|
rm -rf ./scripts/*.diff
|
||
|
else
|
||
|
echo "checked out llvm (revision $LLVM_REVISION) and clang (revision $CLANG_REVISION)."
|
||
|
exit 0
|
||
|
fi
|