diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 521abb59b5..584ec2095b 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -209,9 +209,14 @@ jobs: run: | sudo apt-get purge -y clang-11 sudo apt-get update - sudo apt-get install ninja-build wabt + sudo apt-get install ninja-build sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-12 100 sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-12 100 + # Install wabt tools from github packages + wget https://github.com/WebAssembly/wabt/releases/download/1.0.23/wabt-1.0.23-ubuntu.tar.gz + tar -xzf ./wabt-1.0.23-ubuntu.tar.gz + rm ./wabt-1.0.23-ubuntu.tar.gz + echo "$PWD/wabt-1.0.23/bin" >> $GITHUB_PATH if: ${{ runner.os == 'Linux' }} - name: Install macOS dependencies run: brew install ninja wabt diff --git a/Documentation/AdvancedBuildInstructions.md b/Documentation/AdvancedBuildInstructions.md index 6dba89a382..2cd953efc5 100644 --- a/Documentation/AdvancedBuildInstructions.md +++ b/Documentation/AdvancedBuildInstructions.md @@ -41,7 +41,7 @@ There are some optional features that can be enabled during compilation that are - `ENABLE_PCI_IDS_DOWNLOAD`: downloads the [`pci.ids` database](https://pci-ids.ucw.cz/) that contains information about PCI devices at build time, if not already present. Enabled by default. - `BUILD_LAGOM`: builds [Lagom](../Meta/Lagom/ReadMe.md), which makes various SerenityOS libraries and programs available on the host system. - `ENABLE_KERNEL_LTO`: builds the kernel with link-time optimization. -- `INCLUDE_WASM_SPEC_TESTS`: downloads and includes the WebAssembly spec testsuite tests +- `INCLUDE_WASM_SPEC_TESTS`: downloads and includes the WebAssembly spec testsuite tests. In order to use this option, you will need to install `prettier` and `wabt`. wabt version 1.0.23 or higher is required to pre-process the WebAssembly spec testsuite. - `BUILD_`: builds the specified component, e.g. `BUILD_HEARTS` (note: must be all caps). Check the components.ini file in your build directory for a list of available components. Make sure to run `ninja clean` and `rm -rf Build/i686/Root` after disabling components. These options can be easily configured by using the `ConfigureComponents` utility. See the [Component Configuration](#component-configuration) section below. - `BUILD_EVERYTHING`: builds all optional components, overrides other `BUILD_` flags when enabled