2019-03-22 03:49:01 +08:00
|
|
|
#!/bin/bash
|
|
|
|
#
|
|
|
|
# Copyright (C) 2018-2019 Intel Corporation
|
|
|
|
#
|
|
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
#
|
|
|
|
|
2019-12-06 19:35:48 +08:00
|
|
|
set -x
|
|
|
|
|
|
|
|
IGC=($(grep -B 1 intelgraphicscompiler manifest.yml))
|
|
|
|
|
2019-03-22 03:49:01 +08:00
|
|
|
mkdir /root/build-igc
|
|
|
|
cd /root/build-igc
|
|
|
|
|
2019-12-06 19:35:48 +08:00
|
|
|
|
2019-03-22 03:49:01 +08:00
|
|
|
export cclang_commit_id=6257ffe137a2c8df95a3f3b39fa477aa8ed15837
|
|
|
|
export spirv_id=8ce6443ec1020183eafaeb3410c7d1edc2355dc3
|
2019-12-06 19:35:48 +08:00
|
|
|
export igc_commit_id=${IGC[1]}
|
2019-03-22 03:49:01 +08:00
|
|
|
|
|
|
|
wget --no-check-certificate https://github.com/intel/opencl-clang/archive/${cclang_commit_id}/opencl-clang.tar.gz
|
|
|
|
wget --no-check-certificate https://github.com/intel/intel-graphics-compiler/archive/${igc_commit_id}/igc.tar.gz
|
|
|
|
wget --no-check-certificate https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/${spirv_id}/spirv-llvm-translator.tar.gz
|
|
|
|
|
|
|
|
mkdir igc common_clang llvm-spirv
|
|
|
|
|
|
|
|
tar xzf opencl-clang.tar.gz -C common_clang --strip-components=1
|
|
|
|
tar xzf igc.tar.gz -C igc --strip-components=1
|
2019-06-17 23:38:42 +08:00
|
|
|
patch -p1 < /root/llvm7.patch
|
|
|
|
|
2019-03-22 03:49:01 +08:00
|
|
|
tar xzf spirv-llvm-translator.tar.gz -C llvm-spirv --strip-components=1
|
|
|
|
|
|
|
|
mkdir build_spirv
|
|
|
|
cd build_spirv
|
|
|
|
cmake ../llvm-spirv -DCMAKE_INSTALL_PREFIX=install -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release
|
|
|
|
make llvm-spirv -j`nproc`
|
|
|
|
make install
|
|
|
|
cd ..
|
|
|
|
|
|
|
|
mkdir build_opencl_clang
|
|
|
|
cd build_opencl_clang
|
2019-05-31 19:24:04 +08:00
|
|
|
cmake -DCOMMON_CLANG_LIBRARY_NAME=opencl_clang -DLLVMSPIRV_INCLUDED_IN_LLVM=OFF -DSPIRV_TRANSLATOR_DIR=../build_spirv/install -DLLVM_NO_DEAD_STRIP=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX='/usr' ../common_clang
|
2019-03-22 03:49:01 +08:00
|
|
|
make -j`nproc` all
|
|
|
|
make install
|
|
|
|
cd ..
|
|
|
|
|
|
|
|
mkdir build
|
|
|
|
cd build
|
2019-05-31 19:24:04 +08:00
|
|
|
cmake -DCMAKE_BUILD_TYPE=Release -DIGC_OPTION__OUTPUT_DIR=../igc-install/Release -DCOMMON_CLANG_LIBRARY_NAME=opencl_clang -DVME_TYPES_DEFINED=FALSE -DCMAKE_INSTALL_PREFIX='/usr' -Wno-dev ../igc
|
2019-07-15 22:35:39 +08:00
|
|
|
make -j 1
|
2019-03-22 03:49:01 +08:00
|
|
|
make install
|
|
|
|
cd ..
|
|
|
|
|