From 48429da29fc839ad8b4c3039bdf9b0f3acccd9e4 Mon Sep 17 00:00:00 2001 From: "liang.he" Date: Thu, 30 Mar 2023 21:15:21 +0800 Subject: [PATCH] Fix compilation errors of workload xnnpack and meshoptimizer (#2081) --- .github/workflows/build_iwasm_release.yml | 5 +--- .github/workflows/build_wamrc.yml | 5 +--- samples/workload/XNNPACK/CMakeLists.txt | 5 ++-- samples/workload/XNNPACK/xnnpack.patch | 25 ++++++++++++++++--- samples/workload/meshoptimizer/CMakeLists.txt | 2 +- 5 files changed, 27 insertions(+), 15 deletions(-) diff --git a/.github/workflows/build_iwasm_release.yml b/.github/workflows/build_iwasm_release.yml index a1a254215..64aa9a92c 100644 --- a/.github/workflows/build_iwasm_release.yml +++ b/.github/workflows/build_iwasm_release.yml @@ -48,10 +48,7 @@ jobs: ./core/deps/llvm/build/libexec ./core/deps/llvm/build/share key: ${{ inputs.llvm_cache_key }} - - - name: Quit if cache miss - if: steps.retrieve_llvm_libs.outputs.cache-hit != 'true' - run: echo "::error::can not get prebuilt llvm libraries" && exit 1 + fail-on-cache-miss: true - name: generate iwasm binary release run: | diff --git a/.github/workflows/build_wamrc.yml b/.github/workflows/build_wamrc.yml index a88a1f715..11c5de9ba 100644 --- a/.github/workflows/build_wamrc.yml +++ b/.github/workflows/build_wamrc.yml @@ -48,10 +48,7 @@ jobs: ./core/deps/llvm/build/libexec ./core/deps/llvm/build/share key: ${{ inputs.llvm_cache_key }} - - - name: Quit if cache miss - if: steps.retrieve_llvm_libs.outputs.cache-hit != 'true' - run: echo "::error::can not get prebuilt llvm libraries" && exit 1 + fail-on-cache-miss: true - name: generate wamrc binary release run: | diff --git a/samples/workload/XNNPACK/CMakeLists.txt b/samples/workload/XNNPACK/CMakeLists.txt index 532544f9c..aef138d5e 100644 --- a/samples/workload/XNNPACK/CMakeLists.txt +++ b/samples/workload/XNNPACK/CMakeLists.txt @@ -11,11 +11,10 @@ include(ExternalProject) ExternalProject_Add(xnnpack PREFIX xnnpack GIT_REPOSITORY https://github.com/google/XNNPACK.git - GIT_TAG master + GIT_TAG 4570a7151aa4f3e57eca14a575eeff6bb13e26be GIT_PROGRESS ON SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/xnnpack - UPDATE_COMMAND git checkout . - && git reset --hard 4570a7151aa4f3e57eca14a575eeff6bb13e26be + UPDATE_COMMAND git restore . && cmake -E copy ${CMAKE_CURRENT_SOURCE_DIR}/xnnpack/google3/third_party/XNNPACK/microkernels.bzl ${CMAKE_CURRENT_SOURCE_DIR}/xnnpack/ && git apply ${CMAKE_CURRENT_SOURCE_DIR}/xnnpack.patch diff --git a/samples/workload/XNNPACK/xnnpack.patch b/samples/workload/XNNPACK/xnnpack.patch index f7d0a01d4..3fb6b230b 100644 --- a/samples/workload/XNNPACK/xnnpack.patch +++ b/samples/workload/XNNPACK/xnnpack.patch @@ -15,10 +15,22 @@ index 688279da1..376996885 100644 +build:wasm --crosstool_top=@emsdk//emscripten_toolchain:everything +build:wasm --host_crosstool_top=@bazel_tools//tools/cpp:toolchain diff --git a/WORKSPACE b/WORKSPACE -index cd8960ffa..5d3e685f4 100644 +index cd8960ffa..787e03ca8 100644 --- a/WORKSPACE +++ b/WORKSPACE -@@ -92,8 +92,25 @@ http_archive( +@@ -29,8 +29,9 @@ http_archive( + # Google Benchmark library, used in micro-benchmarks. + http_archive( + name = "com_google_benchmark", +- strip_prefix = "benchmark-main", +- urls = ["https://github.com/google/benchmark/archive/main.zip"], ++ sha256 = "1ba14374fddcd9623f126b1a60945e4deac4cdc4fb25a5f25e7f779e36f2db52", ++ strip_prefix = "benchmark-d2a8a4ee41b923876c034afb939c4fc03598e622", ++ urls = ["https://github.com/google/benchmark/archive/d2a8a4ee41b923876c034afb939c4fc03598e622.zip"], + ) + + # FP16 library, used for half-precision conversions +@@ -92,8 +93,25 @@ http_archive( ], ) @@ -47,7 +59,7 @@ index cd8960ffa..5d3e685f4 100644 -android_sdk_repository(name = "androidsdk") +#android_sdk_repository(name = "androidsdk") diff --git a/build_defs.bzl b/build_defs.bzl -index b8217a18d..da232966e 100644 +index b8217a18d..6f2d1675e 100644 --- a/build_defs.bzl +++ b/build_defs.bzl @@ -380,7 +380,7 @@ def xnnpack_benchmark(name, srcs, copts = [], deps = [], tags = []): @@ -59,6 +71,13 @@ index b8217a18d..da232966e 100644 srcs = srcs, copts = xnnpack_std_cxxopts() + [ "-Iinclude", +@@ -405,5 +405,5 @@ def xnnpack_benchmark(name, srcs, copts = [], deps = [], tags = []): + ":emscripten": xnnpack_emscripten_deps(), + "//conditions:default": [], + }), +- tags = tags, ++ tags = tags, + ) diff --git a/emscripten.bzl b/emscripten.bzl index f1557a7b1..7f964a094 100644 --- a/emscripten.bzl diff --git a/samples/workload/meshoptimizer/CMakeLists.txt b/samples/workload/meshoptimizer/CMakeLists.txt index 263f6a182..d6a1c358a 100644 --- a/samples/workload/meshoptimizer/CMakeLists.txt +++ b/samples/workload/meshoptimizer/CMakeLists.txt @@ -22,7 +22,7 @@ ExternalProject_Add(codecbench PREFIX codecbench GIT_REPOSITORY https://github.com/zeux/meshoptimizer.git GIT_TAG f734fd572aed5bf76e84d9ed62ca6f4f6c47d84e - GIT_SHALLOW ON + GIT_SHALLOW OFF GIT_PROGRESS ON SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/meshoptimizer UPDATE_COMMAND git clean -fd && git checkout -- *