David Truby | 877b265 | 2019-11-13 11:31:44 | [diff] [blame] | 1 | def clang(arch): |
| 2 | return { |
| 3 | "kind": "pipeline", |
| 4 | "name": "%s-clang" % arch, |
| 5 | "steps": [ |
| 6 | { |
| 7 | "name": "test", |
David Truby | e5b754e | 2019-11-18 10:04:54 | [diff] [blame] | 8 | "image": "ubuntu", |
David Truby | 877b265 | 2019-11-13 11:31:44 | [diff] [blame] | 9 | "commands": [ |
David Truby | 0855c45 | 2020-02-25 15:59:50 | [diff] [blame] | 10 | "apt-get update && apt-get install -y clang-8 cmake ninja-build lld-8 llvm-8-dev libc++-8-dev libc++abi-8-dev libz-dev git", |
jeanPerier | 57f536a | 2020-03-12 04:47:22 | [diff] [blame^] | 11 | "git clone --depth=1 -b f18 https://github.com/flang-compiler/f18-llvm-project.git llvm-project", |
David Truby | 0855c45 | 2020-02-25 15:59:50 | [diff] [blame] | 12 | "mkdir llvm-project/build && cd llvm-project/build", |
jeanPerier | 57f536a | 2020-03-12 04:47:22 | [diff] [blame^] | 13 | 'env CC=clang-8 CXX=clang++-8 CXXFLAGS="-stdlib=libc++" LDFLAGS="-fuse-ld=lld" cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../install -DLLVM_TARGETS_TO_BUILD=host -DLLVM_INSTALL_UTILS=On -DLLVM_ENABLE_PROJECTS="mlir" ../llvm', |
| 14 | "ninja install", |
David Truby | 0855c45 | 2020-02-25 15:59:50 | [diff] [blame] | 15 | "cd ../..", |
David Truby | 877b265 | 2019-11-13 11:31:44 | [diff] [blame] | 16 | "mkdir build && cd build", |
jeanPerier | 57f536a | 2020-03-12 04:47:22 | [diff] [blame^] | 17 | 'env CC=clang-8 CXX=clang++-8 CXXFLAGS="-UNDEBUG -stdlib=libc++" LDFLAGS="-fuse-ld=lld" cmake -GNinja -DCMAKE_BUILD_TYPE=Release .. -DLLVM_DIR=/drone/src/llvm-project/install/lib/cmake/llvm -DLLVM_EXTERNAL_LIT=/drone/src/llvm-project/build/bin/llvm-lit', |
David Truby | f3cab52 | 2019-11-18 14:27:34 | [diff] [blame] | 18 | "ninja -j8", |
David Truby | 877b265 | 2019-11-13 11:31:44 | [diff] [blame] | 19 | "ctest --output-on-failure -j24", |
David Truby | 0855c45 | 2020-02-25 15:59:50 | [diff] [blame] | 20 | "ninja check-all", |
David Truby | 877b265 | 2019-11-13 11:31:44 | [diff] [blame] | 21 | ], |
| 22 | }, |
| 23 | ], |
| 24 | |
| 25 | } |
| 26 | |
| 27 | def gcc(arch): |
| 28 | return { |
| 29 | "kind": "pipeline", |
| 30 | "name": "%s-gcc" % arch, |
| 31 | "steps": [ |
| 32 | { |
| 33 | "name": "test", |
David Truby | e5b754e | 2019-11-18 10:04:54 | [diff] [blame] | 34 | "image": "gcc", |
David Truby | 877b265 | 2019-11-13 11:31:44 | [diff] [blame] | 35 | "commands": [ |
David Truby | 0855c45 | 2020-02-25 15:59:50 | [diff] [blame] | 36 | "apt-get update && apt-get install -y cmake ninja-build llvm-dev libz-dev git", |
jeanPerier | 57f536a | 2020-03-12 04:47:22 | [diff] [blame^] | 37 | "git clone --depth=1 -b f18 https://github.com/flang-compiler/f18-llvm-project.git llvm-project", |
David Truby | 0855c45 | 2020-02-25 15:59:50 | [diff] [blame] | 38 | "mkdir llvm-project/build && cd llvm-project/build", |
jeanPerier | 57f536a | 2020-03-12 04:47:22 | [diff] [blame^] | 39 | 'env CC=gcc CXX=g++ LDFLAGS="-fuse-ld=gold" cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../install -DLLVM_TARGETS_TO_BUILD=host -DLLVM_INSTALL_UTILS=On -DLLVM_ENABLE_PROJECTS="mlir" ../llvm', |
| 40 | "ninja install", |
David Truby | 0855c45 | 2020-02-25 15:59:50 | [diff] [blame] | 41 | "cd ../..", |
David Truby | 877b265 | 2019-11-13 11:31:44 | [diff] [blame] | 42 | "mkdir build && cd build", |
jeanPerier | 57f536a | 2020-03-12 04:47:22 | [diff] [blame^] | 43 | 'env CC=gcc CXX=g++ CXXFLAGS="-UNDEBUG" LDFLAGS="-fuse-ld=gold" cmake -GNinja -DCMAKE_BUILD_TYPE=Release .. -DLLVM_DIR=/drone/src/llvm-project/install/lib/cmake/llvm -DLLVM_EXTERNAL_LIT=/drone/src/llvm-project/build/bin/llvm-lit', |
David Truby | f3cab52 | 2019-11-18 14:27:34 | [diff] [blame] | 44 | "ninja -j8", |
David Truby | 877b265 | 2019-11-13 11:31:44 | [diff] [blame] | 45 | "ctest --output-on-failure -j24", |
David Truby | 0855c45 | 2020-02-25 15:59:50 | [diff] [blame] | 46 | "ninja check-all", |
David Truby | 877b265 | 2019-11-13 11:31:44 | [diff] [blame] | 47 | ], |
| 48 | }, |
| 49 | ], |
| 50 | |
| 51 | } |
| 52 | |
| 53 | def main(ctx): |
| 54 | return [ |
| 55 | clang("amd64"), |
| 56 | clang("arm64"), |
| 57 | gcc("amd64"), |
David Truby | e5b754e | 2019-11-18 10:04:54 | [diff] [blame] | 58 | gcc("arm64"), |
David Truby | 877b265 | 2019-11-13 11:31:44 | [diff] [blame] | 59 | ] |
| 60 | |