diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a891a60..419d720 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -292,6 +292,6 @@ jobs: cmake -G Ninja -B build -S . \ -DWASI_SDK_INCLUDE_TESTS=ON \ -DWASI_SDK_TEST_HOST_TOOLCHAIN=ON \ - -DCMAKE_TOOLCHAIN_FILE=$(ls ./wasi-sdk-*/share/cmake/wasi-sdk.cmake) + -DCMAKE_TOOLCHAIN_FILE=$(ls ./wasi-sdk-*/share/cmake/wasi-sdk-p1.cmake) - run: ninja -C build build-tests - run: ctest --output-on-failure --parallel 10 --test-dir build/tests diff --git a/CMakeLists.txt b/CMakeLists.txt index 97d97cb..b354715 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,7 +11,7 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") project(wasi-sdk) include(ExternalProject) -set(WASI_SDK_TARGETS "wasm32-wasip3" +set(WASI_SDK_TARGETS "wasm32-wasip1;wasm32-wasip2;wasm32-wasip1-threads;wasm32-wasip3" CACHE STRING "List of WASI targets to build") option(WASI_SDK_BUILD_TOOLCHAIN "Build a toolchain instead of the sysroot" OFF) diff --git a/README.md b/README.md index 43022e8..6fd05ca 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,7 @@ is to build the sysroot: ```shell script cmake -G Ninja -B build/sysroot -S . \ -DCMAKE_INSTALL_PREFIX=build/install \ - -DCMAKE_TOOLCHAIN_FILE=build/install/share/cmake/wasi-sdk.cmake \ + -DCMAKE_TOOLCHAIN_FILE=build/install/share/cmake/wasi-sdk-p2.cmake \ -DCMAKE_C_COMPILER_WORKS=ON \ -DCMAKE_CXX_COMPILER_WORKS=ON cmake --build build/sysroot --target install diff --git a/ci/build.sh b/ci/build.sh index 7c02fff..f44c068 100755 --- a/ci/build.sh +++ b/ci/build.sh @@ -33,7 +33,7 @@ fi # Use the just-built toolchain and its `CMAKE_TOOLCHAIN_FILE` to build a # sysroot. cmake -G Ninja -B $build_dir/sysroot -S . \ - "-DCMAKE_TOOLCHAIN_FILE=$build_dir/install/share/cmake/wasi-sdk.cmake" \ + "-DCMAKE_TOOLCHAIN_FILE=$build_dir/install/share/cmake/wasi-sdk-p1.cmake" \ -DCMAKE_C_COMPILER_WORKS=ON \ -DCMAKE_CXX_COMPILER_WORKS=ON \ -DWASI_SDK_INCLUDE_TESTS=ON \ diff --git a/cmake/wasi-sdk-toolchain.cmake b/cmake/wasi-sdk-toolchain.cmake index 78a8bf6..7ff19a1 100644 --- a/cmake/wasi-sdk-toolchain.cmake +++ b/cmake/wasi-sdk-toolchain.cmake @@ -299,7 +299,6 @@ endfunction() copy_misc_file(src/config/config.sub misc) copy_misc_file(src/config/config.guess misc) -copy_misc_file(wasi-sdk.cmake cmake) copy_misc_file(wasi-sdk-pthread.cmake cmake) copy_misc_file(wasi-sdk-p1.cmake cmake) copy_misc_file(wasi-sdk-p2.cmake cmake) diff --git a/wasi-sdk.cmake b/wasi-sdk.cmake deleted file mode 100644 index 2280f3b..0000000 --- a/wasi-sdk.cmake +++ /dev/null @@ -1,38 +0,0 @@ -# Cmake toolchain description file for the Makefile - -# Until Platform/WASI.cmake is upstream we need to inject the path to it -# into CMAKE_MODULE_PATH. -list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}") - -set(CMAKE_SYSTEM_NAME WASI) -set(CMAKE_SYSTEM_VERSION 1) -set(CMAKE_SYSTEM_PROCESSOR wasm32) -set(CMAKE_EXECUTABLE_SUFFIX .wasm) -set(triple wasm32-wasi) - -if(WIN32) - set(WASI_HOST_EXE_SUFFIX ".exe") -else() - set(WASI_HOST_EXE_SUFFIX "") -endif() - -# When building from source, WASI_SDK_PREFIX represents the generated directory -if(NOT WASI_SDK_PREFIX) - set(WASI_SDK_PREFIX ${CMAKE_CURRENT_LIST_DIR}/../../) -endif() - -set(CMAKE_C_COMPILER ${WASI_SDK_PREFIX}/bin/clang${WASI_HOST_EXE_SUFFIX}) -set(CMAKE_CXX_COMPILER ${WASI_SDK_PREFIX}/bin/clang++${WASI_HOST_EXE_SUFFIX}) -set(CMAKE_ASM_COMPILER ${WASI_SDK_PREFIX}/bin/clang${WASI_HOST_EXE_SUFFIX}) -set(CMAKE_AR ${WASI_SDK_PREFIX}/bin/llvm-ar${WASI_HOST_EXE_SUFFIX}) -set(CMAKE_RANLIB ${WASI_SDK_PREFIX}/bin/llvm-ranlib${WASI_HOST_EXE_SUFFIX}) -set(CMAKE_C_COMPILER_TARGET ${triple}) -set(CMAKE_CXX_COMPILER_TARGET ${triple}) -set(CMAKE_ASM_COMPILER_TARGET ${triple}) - -# Don't look in the sysroot for executables to run during the build -set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) -# Only look in the sysroot (not in the host paths) for the rest -set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) -set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) -set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)