From 337aa50a805d85e0514413ef4576af1688cd0c7d Mon Sep 17 00:00:00 2001 From: eloparco Date: Tue, 30 Jan 2024 17:26:12 +0000 Subject: [PATCH] fix(aot): fix aot compilation on macos --- .github/workflows/compilation_on_macos.yml | 88 +++++++++++++++------- 1 file changed, 62 insertions(+), 26 deletions(-) diff --git a/.github/workflows/compilation_on_macos.yml b/.github/workflows/compilation_on_macos.yml index 19ff1874a6..7c16013932 100644 --- a/.github/workflows/compilation_on_macos.yml +++ b/.github/workflows/compilation_on_macos.yml @@ -89,12 +89,23 @@ jobs: if: steps.retrieve_llvm_libs.outputs.cache-hit != 'true' run: echo "::error::can not get prebuilt llvm libraries" && exit 1 - - name: Build wamrc - run: | - mkdir build && cd build - cmake .. - cmake --build . --config Release --parallel 4 - working-directory: wamr-compiler + # - name: Build wamrc + # run: | + # mkdir build && cd build + # cmake .. + # cmake --build . --config Release --parallel 4 + # working-directory: wamr-compiler + + # - name: Test file in aot mode + # run: | + # mkdir build && cd build + # cmake .. + # cmake --build . --config Debug --parallel 4 + # ./iwasm wasm-apps/no_pthread.wasm + + # ../../../wamr-compiler/build/wamrc --size-level=0 --enable-multi-thread -o wasm-apps/no_pthread.aot wasm-apps/no_pthread.wasm + # ./iwasm wasm-apps/no_pthread.aot + # working-directory: samples/wasi-threads build_iwasm: needs: [build_llvm_libraries] @@ -103,30 +114,30 @@ jobs: matrix: make_options_run_mode: [ # Running mode - $AOT_BUILD_OPTIONS, + # $AOT_BUILD_OPTIONS, $CLASSIC_INTERP_BUILD_OPTIONS, - $FAST_INTERP_BUILD_OPTIONS, - $LLVM_LAZY_JIT_BUILD_OPTIONS, - $LLVM_EAGER_JIT_BUILD_OPTIONS, + # $FAST_INTERP_BUILD_OPTIONS, + # $LLVM_LAZY_JIT_BUILD_OPTIONS, + # $LLVM_EAGER_JIT_BUILD_OPTIONS, ] make_options_feature: [ # Features "-DWAMR_BUILD_CUSTOM_NAME_SECTION=1", # doesn't support #"-DWAMR_BUILD_DEBUG_AOT=1", - "-DWAMR_BUILD_DEBUG_INTERP=1", - "-DWAMR_BUILD_DUMP_CALL_STACK=1", - "-DWAMR_BUILD_LIB_PTHREAD=1", - "-DWAMR_BUILD_LIB_WASI_THREADS=1", - "-DWAMR_BUILD_LOAD_CUSTOM_SECTION=1", - "-DWAMR_BUILD_MINI_LOADER=1", - "-DWAMR_BUILD_MEMORY_PROFILING=1", - "-DWAMR_BUILD_MULTI_MODULE=1", - "-DWAMR_BUILD_PERF_PROFILING=1", - "-DWAMR_BUILD_REF_TYPES=1", - "-DWAMR_BUILD_SIMD=1", - "-DWAMR_BUILD_TAIL_CALL=1", - "-DWAMR_DISABLE_HW_BOUND_CHECK=1", + # "-DWAMR_BUILD_DEBUG_INTERP=1", + # "-DWAMR_BUILD_DUMP_CALL_STACK=1", + # "-DWAMR_BUILD_LIB_PTHREAD=1", + # "-DWAMR_BUILD_LIB_WASI_THREADS=1", + # "-DWAMR_BUILD_LOAD_CUSTOM_SECTION=1", + # "-DWAMR_BUILD_MINI_LOADER=1", + # "-DWAMR_BUILD_MEMORY_PROFILING=1", + # "-DWAMR_BUILD_MULTI_MODULE=1", + # "-DWAMR_BUILD_PERF_PROFILING=1", + # "-DWAMR_BUILD_REF_TYPES=1", + # "-DWAMR_BUILD_SIMD=1", + # "-DWAMR_BUILD_TAIL_CALL=1", + # "-DWAMR_DISABLE_HW_BOUND_CHECK=1", ] os: [macos-latest] platform: [darwin] @@ -243,11 +254,11 @@ jobs: working-directory: samples/wasm-c-api build_samples_others: - needs: [build_iwasm, build_wamrc] + needs: [build_iwasm, build_wamrc, build_llvm_libraries] runs-on: ${{ matrix.os }} strategy: matrix: - os: [macos-latest] + os: [macos-latest, macos-14] wasi_sdk_release: [ "https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-20/wasi-sdk-20.0-macos.tar.gz", @@ -256,6 +267,11 @@ jobs: [ "https://github.com/WebAssembly/wabt/releases/download/1.0.31/wabt-1.0.31-macos-12.tar.gz", ] + include: + - os: macos-latest + llvm_cache_key: ${{ needs.build_llvm_libraries.outputs.cache_key }} + - os: macos-14 + llvm_cache_key: ${{ needs.build_llvm_libraries.outputs.cache_key }} steps: - name: checkout uses: actions/checkout@v4 @@ -319,7 +335,24 @@ jobs: cmake .. cmake --build . --config Debug --parallel 4 ./hello - + - name: Get LLVM libraries + id: retrieve_llvm_libs + uses: actions/cache@v4 + with: + path: | + ./core/deps/llvm/build/bin + ./core/deps/llvm/build/include + ./core/deps/llvm/build/lib + ./core/deps/llvm/build/libexec + ./core/deps/llvm/build/share + key: ${{ matrix.llvm_cache_key }} + - name: Build wamrc + run: | + mkdir build && cd build + cmake .. + cmake --build . --config Release --parallel 4 + working-directory: wamr-compiler + - name: Build Sample [wasi-threads] run: | cd samples/wasi-threads @@ -328,6 +361,9 @@ jobs: cmake --build . --config Debug --parallel 4 ./iwasm wasm-apps/no_pthread.wasm + ../../../wamr-compiler/build/wamrc --enable-multi-thread -o wasm-apps/no_pthread.aot wasm-apps/no_pthread.wasm + ./iwasm wasm-apps/no_pthread.aot + - name: Build Sample [shared-module] run: | cd samples/shared-module