blob: b849e71e431aee90647999416d1811dbbd448883 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
#!/bin/bash
sudo apt-get -q=2 update
sudo apt-get -q=2 install -y libxml2-dev zlib1g-dev libtinfo-dev git-svn gawk libxml2-utils rsync pxz python-requests
wget -q \
http://archive.ubuntu.com/ubuntu/pool/universe/o/openjdk-8/openjdk-8-jre-headless_8u45-b14-1_amd64.deb \
http://archive.ubuntu.com/ubuntu/pool/universe/o/openjdk-8/openjdk-8-jre_8u45-b14-1_amd64.deb \
http://archive.ubuntu.com/ubuntu/pool/universe/o/openjdk-8/openjdk-8-jdk_8u45-b14-1_amd64.deb \
https://cmake.org/files/v3.5/cmake-3.5.2-Linux-x86_64.sh
sudo dpkg -i --force-all *.deb
rm -f *.deb
yes y | bash cmake-3.5.2-Linux-x86_64.sh
export PATH=${PWD}/cmake-3.5.2-Linux-x86_64/bin/:${PATH}
mkdir -p ${HOME}/srv/aosp/${JOB_NAME}
cd ${HOME}/srv/aosp/${JOB_NAME}
# Toolchain src downloads
if [ -d llvm ]; then
rm llvm -rf
fi
repo init -u https://android-git.linaro.org/git/platform/manifest.git -b clang-build
repo sync -j16 -c
# For building LLVMgold.so using -DLLVM_BINUTILS_INCDIR flag
if [ ! -d binutils ]; then
git clone https://android.googlesource.com/toolchain/binutils
else
cd binutils
git pull
cd ..
fi
# Toolchain download
if [ ! -d clang+llvm-5.0.0-linux-x86_64-ubuntu14.04 ]; then
wget http://releases.llvm.org/5.0.0/clang+llvm-5.0.0-linux-x86_64-ubuntu14.04.tar.xz
tar xvfJ clang+llvm-5.0.0-linux-x86_64-ubuntu14.04.tar.xz
fi
cd llvm
mkdir -p build/clang-master
cd build
cmake -G "Unix Makefiles" ../ \
-DCMAKE_BUILD_TYPE=Release \
-DPYTHON_EXECUTABLE=/usr/bin/python2 \
-DCMAKE_INSTALL_PREFIX=./clang-master \
-DLLVM_TARGETS_TO_BUILD="host;ARM;X86;AArch64" \
-DLLVM_ENABLE_ASSERTIONS=false \
-DCMAKE_C_COMPILER=${HOME}/srv/aosp/${JOB_NAME}/clang+llvm-5.0.0-linux-x86_64-ubuntu14.04/bin/clang \
-DCMAKE_CXX_COMPILER=${HOME}/srv/aosp/${JOB_NAME}/clang+llvm-5.0.0-linux-x86_64-ubuntu14.04/bin/clang++ \
-DLIBCXXABI_LIBCXX_INCLUDES=${HOME}/srv/aosp/${JOB_NAME}/llvm/projects/libcxx/include \
-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${HOME}/srv/aosp/${JOB_NAME}/llvm/projects/libcxxabi/include \
-DLLVM_BINUTILS_INCDIR=${HOME}/srv/aosp/${JOB_NAME}/binutils/binutils-2.27/include
make install VERBOSE=1 -j"$(nproc)"
rm -f clang-master.tar.xz
tar -I pxz -cf clang-master.tar.xz clang-master
echo "Build finished"
|