File tree Expand file tree Collapse file tree 2 files changed +33
-23
lines changed Expand file tree Collapse file tree 2 files changed +33
-23
lines changed Original file line number Diff line number Diff line change 44 docker :
55 - image : gcc
66 environment :
7+ - LLVM_VERSION : 5.0.0
78 - HOST_LDC_VERSION : 1.3.0
89 steps :
910 - checkout
@@ -24,15 +25,22 @@ jobs:
2425 ninja --version
2526 gdb --version
2627 python -c "import lit; lit.main();" --version | head -n 1
28+ - restore_cache :
29+ keys :
30+ - llvm-5.0.0
31+ - host-ldc-{{ .Environment.HOST_LDC_VERSION }}
2732 - run :
28- name : Install LLVM nightly
33+ name : Install LLVM 5.0.0
2934 command : |
30- add-apt-repository -y 'deb http://apt.llvm.org/unstable/ llvm-toolchain-5.0 main'
31- wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
32- apt update
33- apt install -y llvm-5.0 llvm-5.0-dev libclang-common-5.0-dev libfuzzer-5.0-dev
34- - restore_cache :
35- key : host-ldc-{{ .Environment.HOST_LDC_VERSION }}
35+ if [[ ! -d llvm-$LLVM_VERSION ]]; then
36+ wget -O llvm-$LLVM_VERSION.tar.xz http://releases.llvm.org/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-linux-x86_64-ubuntu16.04.tar.xz
37+ mkdir llvm-$LLVM_VERSION
38+ tar -xpf llvm-$LLVM_VERSION.tar.xz --strip 1 -C llvm-$LLVM_VERSION
39+ fi
40+ - save_cache :
41+ key : llvm-5.0.0
42+ paths :
43+ - llvm-5.0.0
3644 - run :
3745 name : Install LDC host compiler
3846 command : |
5058 export HOST_LDMD=$PWD/ldc2-$HOST_LDC_VERSION-linux-x86_64/bin/ldmd2
5159 mkdir bootstrap
5260 cd bootstrap
53- cmake -G Ninja -DBUILD_SHARED_LIBS=OFF -DD_COMPILER=$HOST_LDMD ..
61+ cmake -G Ninja -DLDC_WITH_LLD=OFF -DLLVM_ROOT_DIR=$PWD/../llvm-$LLVM_VERSION - DBUILD_SHARED_LIBS=OFF -DD_COMPILER=$HOST_LDMD ..
5462 ninja -j3
5563 bin/ldc2 -version
5664 cd ..
6068 export HOST_LDMD=$PWD/bootstrap/bin/ldmd2
6169 mkdir build
6270 cd build
63- cmake -G Ninja -DLDC_INSTALL_LTOPLUGIN=ON -DLDC_INSTALL_LLVM_RUNTIME_LIBS=ON -DD_COMPILER=$HOST_LDMD ..
71+ cmake -G Ninja -DLDC_WITH_LLD=OFF -DLLVM_ROOT_DIR=$PWD/../llvm-$LLVM_VERSION - DLDC_INSTALL_LTOPLUGIN=ON -DLDC_INSTALL_LLVM_RUNTIME_LIBS=ON -DD_COMPILER=$HOST_LDMD ..
6472 ninja -j3 all all-test-runners
6573 bin/ldc2 -version
6674 cd ..
Original file line number Diff line number Diff line change @@ -453,22 +453,24 @@ endif()
453453#
454454# LLD integration (requires LLVM >= 3.9 with LLD headers & libs)
455455#
456- set (LDC_WITH_LLD OFF )
457- if (LDC_LLVM_VER GREATER 308)
458- # check for LLD header
459- unset (LDC_WITH_LLD)
460- if (NOT MSVC )
461- set (CMAKE_REQUIRED_FLAGS -std=c++11)
462- endif ()
463- set (CMAKE_REQUIRED_INCLUDES ${LLVM_INCLUDE_DIRS} )
464- CHECK_INCLUDE_FILE_CXX(lld/Driver/Driver.h LDC_WITH_LLD)
465- unset (CMAKE_REQUIRED_FLAGS)
466- unset (CMAKE_REQUIRED_INCLUDES)
467- if (LDC_WITH_LLD)
468- message (STATUS "Building LDC with LLD support" )
469- append ("-DLDC_WITH_LLD" LDC_CXXFLAGS)
456+ if (NOT DEFINED LDC_WITH_LLD)
457+ if (LDC_LLVM_VER GREATER 308)
458+ # check for LLD header
459+ if (NOT MSVC )
460+ set (CMAKE_REQUIRED_FLAGS -std=c++11)
461+ endif ()
462+ set (CMAKE_REQUIRED_INCLUDES ${LLVM_INCLUDE_DIRS} )
463+ CHECK_INCLUDE_FILE_CXX(lld/Driver/Driver.h LDC_WITH_LLD)
464+ unset (CMAKE_REQUIRED_FLAGS)
465+ unset (CMAKE_REQUIRED_INCLUDES)
466+ else ()
467+ set (LDC_WITH_LLD OFF )
470468 endif ()
471469endif ()
470+ if (LDC_WITH_LLD)
471+ message (STATUS "Building LDC with LLD support" )
472+ append ("-DLDC_WITH_LLD" LDC_CXXFLAGS)
473+ endif ()
472474
473475#
474476# Enable building with riscv-llvm, for full RISC-V support.
You can’t perform that action at this time.
0 commit comments