aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVishal Bhoj <vishal.bhoj@linaro.org>2016-11-11 15:36:41 +0530
committerFathi Boudra <fathi.boudra@linaro.org>2016-11-14 06:02:08 +0000
commit2dec8691e66d97aa77b286629d3ccad9253bdedd (patch)
treeb235cc738642612c34ffa6c038a2e321ef37595c
parent6a29f1f1581f8770a972e021a0c20970b457dafb (diff)
android: add clang toolchain build
Change-Id: I5b884b507d0e774234827b0c1ba5d4674d2b6a04 Signed-off-by: Vishal Bhoj <vishal.bhoj@linaro.org>
-rw-r--r--android-clang-toolchain.yaml58
-rwxr-xr-xandroid-clang-toolchain/builders.sh37
2 files changed, 95 insertions, 0 deletions
diff --git a/android-clang-toolchain.yaml b/android-clang-toolchain.yaml
new file mode 100644
index 0000000000..06a5ccd766
--- /dev/null
+++ b/android-clang-toolchain.yaml
@@ -0,0 +1,58 @@
+- job:
+ name: android-clang-toolchain
+ project-type: freestyle
+ defaults: global
+ properties:
+ - authorization:
+ anonymous:
+ - job-read
+ - job-extended-read
+ linaro:
+ - job-build
+ - job-cancel
+ - build-discarder:
+ days-to-keep: 60
+ num-to-keep: 60
+ disabled: false
+ node: docker-utopic-aosp
+ display-name: 'Upstream Clang toolchain build for AOSP'
+ wrappers:
+ - timestamps
+ - timeout:
+ timeout: 500
+ builders:
+ - shell:
+ !include-raw: android-clang-toolchain/builders.sh
+ - linaro-publish-token
+ - shell: |
+ #!/bin/bash
+
+ # Publish
+ test -d ${HOME}/bin || mkdir ${HOME}/bin
+ wget -q https://git.linaro.org/ci/publishing-api.git/blob_plain/HEAD:/linaro-cp.py -O ${HOME}/bin/linaro-cp.py
+ PUB_DEST=/android/${JOB_NAME}/${BUILD_NUMBER}
+ time python ${HOME}/bin/linaro-cp.py \
+ --api_version 3 \
+ --manifest \
+ --link-latest \
+ --split-job-owner \
+ /home/buildslave/srv/aosp/${JOB_NAME}/ \
+ ${PUB_DEST} \
+ --include "clang-4.0.0.tar.xz"
+ publishers:
+ - email-ext:
+ recipients: 'minseong.kim@linaro.org,vishal.bhoj@linaro.org,daniel.diaz@linaro.org'
+ content-type: text
+ body: |
+ Build URL: ${PROJECT_URL}${BUILD_NUMBER}/
+ Full log: ${PROJECT_URL}${BUILD_NUMBER}/consoleText
+ Parsed warnings/errors: ${PROJECT_URL}${BUILD_NUMBER}/parsed_console
+
+ Errors:
+ ${BUILD_LOG_REGEX, regex=".*ERROR:.* ", linesBefore=0, linesAfter=0, showTruncatedLines=false}
+ - logparser:
+ parse-rules: '/var/lib/jenkins/userContent/android.parse'
+ unstable-on-warning: false
+ fail-on-error: false
+ - fingerprint:
+ files: 'build/fingerprints/*'
diff --git a/android-clang-toolchain/builders.sh b/android-clang-toolchain/builders.sh
new file mode 100755
index 0000000000..5ab9e6eb69
--- /dev/null
+++ b/android-clang-toolchain/builders.sh
@@ -0,0 +1,37 @@
+#!/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
+
+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/buildslave/srv/aosp/${JOB_NAME}
+cd /home/buildslave/srv/aosp/${JOB_NAME}
+
+repo init -u https://android-git.linaro.org/git/platform/manifest.git -b clang-build
+repo sync -j16 -c
+cd llvm
+mkdir -p build/clang-4.0.0
+cd build
+cmake -G "Unix Makefiles" ../ \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DLLVM_BUILD_TESTS=True \
+ -DLLVM_ENABLE_ASSERTIONS=True \
+ -DPYTHON_EXECUTABLE=/usr/bin/python2 \
+ -DCMAKE_INSTALL_PREFIX=./clang-4.0.0 \
+ -DLLVM_TARGETS_TO_BUILD="ARM;X86;AArch64" \
+ -DBUILD_SHARED_LIBS=True
+make install -j"$(nproc)"
+
+tar -I pxz -cf clang-4.0.0.tar.xz clang-4.0.0
+
+echo "Build finished"