mirror of https://github.com/exaloop/codon.git
Add libunwind
parent
c0a784c3a5
commit
25789d6bc7
|
@ -18,12 +18,11 @@ fi
|
|||
|
||||
# build
|
||||
mkdir build
|
||||
export CC="$(pwd)/llvm/bin/clang"
|
||||
export CXX="$(pwd)/llvm/bin/clang++"
|
||||
export LLVM_DIR=$(llvm/bin/llvm-config --cmakedir)
|
||||
(cd build && cmake .. -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_C_COMPILER=${CC} \
|
||||
-DCMAKE_CXX_COMPILER=${CXX})
|
||||
-DCMAKE_C_COMPILER="$(pwd)/llvm/bin/clang" \
|
||||
-DCMAKE_CXX_COMPILER="$(pwd)/llvm/bin/clang++" \
|
||||
-DLLVM_DIR=$(llvm/bin/llvm-config --cmakedir) \
|
||||
-DLIBUNWIND_PREFIX="$(pwd)/llvm")
|
||||
cmake --build build --config Release -- VERBOSE=1
|
||||
|
||||
# test
|
||||
|
|
|
@ -56,7 +56,7 @@ jobs:
|
|||
uses: actions/cache@v2
|
||||
with:
|
||||
path: llvm
|
||||
key: manylinux-llvm
|
||||
key: manylinux-llvm-2
|
||||
|
||||
- name: Main
|
||||
uses: ./.github/actions/build-manylinux
|
||||
|
@ -130,7 +130,7 @@ jobs:
|
|||
uses: actions/cache@v2
|
||||
with:
|
||||
path: llvm
|
||||
key: ${{ runner.os }}-llvm
|
||||
key: ${{ runner.os }}-llvm-2
|
||||
|
||||
- name: Build Dependencies
|
||||
if: steps.cache-deps.outputs.cache-hit != 'true'
|
||||
|
@ -142,10 +142,11 @@ jobs:
|
|||
- name: Build
|
||||
run: |
|
||||
mkdir build
|
||||
export LLVM_DIR=$(llvm/bin/llvm-config --cmakedir)
|
||||
(cd build && cmake .. -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_C_COMPILER=${CC} \
|
||||
-DCMAKE_CXX_COMPILER=${CXX})
|
||||
-DCMAKE_CXX_COMPILER=${CXX}
|
||||
-DLLVM_DIR=$(llvm/bin/llvm-config --cmakedir)
|
||||
-DLIBUNWIND_PREFIX="$(pwd)/llvm")
|
||||
cmake --build build --config Release -- VERBOSE=1
|
||||
env:
|
||||
CC: clang
|
||||
|
|
|
@ -73,6 +73,11 @@ else()
|
|||
$<TARGET_FILE:bz2>
|
||||
$<TARGET_FILE:liblzma>
|
||||
-Wl,--no-whole-archive)
|
||||
if(DEFINED LIBUNWIND_PREFIX)
|
||||
target_include_directories(codonrt PRIVATE "${LIBUNWIND_PREFIX}/include")
|
||||
find_library(UNWIND_LIBRARY unwind HINTS "${LIBUNWIND_PREFIX}/lib/libunwind.a")
|
||||
target_link_libraries(codonrt PRIVATE ${UNWIND_LIBRARY})
|
||||
endif()
|
||||
endif()
|
||||
add_custom_command(TARGET codonrt POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:omp> ${CMAKE_BINARY_DIR})
|
||||
|
|
|
@ -27,6 +27,22 @@ if [ ! -f "${INSTALLDIR}/bin/llvm-config" ]; then
|
|||
make -j "${JOBS}"
|
||||
make install
|
||||
|
||||
# libunwind
|
||||
mkdir -p "${SRCDIR}/libunwind/build"
|
||||
cd "${SRCDIR}/libunwind/build"
|
||||
cmake .. \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DLIBUNWIND_BUILD_32_BITS=OFF \
|
||||
-DLIBUNWIND_ENABLE_SHARED=OFF \
|
||||
-DLIBUNWIND_ENABLE_STATIC=ON \
|
||||
-DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON \
|
||||
-DLIBUNWIND_ENABLE_THREADS=ON \
|
||||
-DCMAKE_INSTALL_PREFIX="${INSTALLDIR}"
|
||||
make -j "${JOBS}"
|
||||
make install
|
||||
mkdir -p "${INSTALLDIR}/include"
|
||||
cp -r ${SRCDIR}/libunwind/include/* "${INSTALLDIR}/include/"
|
||||
|
||||
# clang
|
||||
if ! command -v clang &> /dev/null; then
|
||||
mkdir -p "${SRCDIR}/clang/build"
|
||||
|
|
Loading…
Reference in New Issue