diff --git a/.circleci/config.yml b/.circleci/config.yml index 3098187ed..f76c635b0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -75,9 +75,6 @@ jobs: make cranelift make llvm make test-rest - - run: - name: Release - command: make release-fast - run: name: Integration Tests command: make integration-tests @@ -116,10 +113,8 @@ jobs: command: | make check make compile-bench-singlepass - # TODO: add compile-bench-llvm and compile-bench-clif when they work - - run: - name: Release - command: make release-fast + make compile-bench-llvm + # TODO: add compile-bench-clif when it works - run: name: Integration Tests command: make integration-tests @@ -195,11 +190,6 @@ jobs: export PATH="$HOME/.cargo/bin:$PATH" export LLVM_SYS_80_PREFIX="`pwd`/clang+llvm-8.0.0-x86_64-apple-darwin/" make check - - run: - name: Release - command: | - export PATH="$HOME/.cargo/bin:$PATH" - make release-fast - run: name: Integration Tests command: | diff --git a/Makefile b/Makefile index 4bb5df974..b84515d7d 100644 --- a/Makefile +++ b/Makefile @@ -104,7 +104,7 @@ test: spectests emtests middleware wasitests circleci-clean test-rest # Integration tests -integration-tests: release-fast +integration-tests: release-clif echo "Running Integration Tests" ./integration_tests/lua/test.sh ./integration_tests/nginx/test.sh @@ -130,7 +130,7 @@ release: cargo build --release --features backend-singlepass,backend-llvm,loader-kernel # Only one backend (cranelift) -release-fast: +release-clif: # If you are in OS-X, you will need mingw-w64 for cross compiling to windows # brew install mingw-w64 cargo build --release diff --git a/README.md b/README.md index 129b5452f..5b7e038b2 100644 --- a/README.md +++ b/README.md @@ -29,10 +29,13 @@ Install Wasmer with: curl https://get.wasmer.io -sSfL | sh ``` +> Note: *Wasmer is also available on Windows. Download the [`WasmerInstaller.exe` from the Github Releases](https://github.com/wasmerio/wasmer/releases) page.* + Wasmer runtime can also be embedded in different languages, so you can use WebAssembly anywhere ✨: -* [🦀 **Rust**](https://github.com/wasmerio/wasmer-rust-example) -* [**C/C++**](https://github.com/wasmerio/wasmer-c-api) +* [**🦀 Rust**](https://github.com/wasmerio/wasmer-rust-example) +* [**🔗 C/C++**](https://github.com/wasmerio/wasmer-c-api) +* [**#️⃣ C#**](https://github.com/migueldeicaza/WasmerSharp) * [**🐘 PHP**](https://github.com/wasmerio/php-ext-wasm) * [**🐍 Python**](https://github.com/wasmerio/python-ext-wasm) * [**💎 Ruby**](https://github.com/wasmerio/ruby-ext-wasm) @@ -82,7 +85,7 @@ Wasmer is structured into different directories: Building Wasmer requires [rustup](https://rustup.rs/). -To build on Windows, download and run [`rustup-init.exe`](https://win.rustup.rs/) +To build Wasmer on Windows, download and run [`rustup-init.exe`](https://win.rustup.rs/) then follow the onscreen instructions. To build on other systems, run: @@ -146,8 +149,8 @@ pkg install cmake #### Windows (MSVC) -Windows support is _highly experimental_. Only simple Wasm programs may be run, and no syscalls are allowed. This means -nginx and Lua do not work on Windows. See [this issue](https://github.com/wasmerio/wasmer/issues/176) regarding Emscripten syscall polyfills for Windows. +Windows support is _experimental_. WASI is fully supported, but Emscripten support is on the works (this means +nginx and Lua do not work on Windows - you can track the progress on [this issue](https://github.com/wasmerio/wasmer/issues/176)). 1. Install [Visual Studio](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community&rel=15) @@ -181,8 +184,14 @@ git clone https://github.com/wasmerio/wasmer.git cd wasmer # install tools -# make sure that `python` is accessible. -make install +make release-clif # To build with cranelift (default) + +make release-llvm # To build with llvm support + +make release-singlepass # To build with singlepass support + +# or +make release # To build with singlepass, cranelift and llvm support ``` ## Testing @@ -240,7 +249,7 @@ Below are some of the goals of this project (in order of priority): ## Architecture -If you would like to know how Wasmer works under the hood, please see [ARCHITECTURE.md](./ARCHITECTURE.md). +If you would like to know how Wasmer works under the hood, please see [docs/architecture.md](./docs/architecture.md). ## License diff --git a/ARCHITECTURE.md b/docs/architecture.md similarity index 100% rename from ARCHITECTURE.md rename to docs/architecture.md diff --git a/lib/middleware-common/src/metering.rs b/lib/middleware-common/src/metering.rs index e0d392cb6..75e2f6ef0 100644 --- a/lib/middleware-common/src/metering.rs +++ b/lib/middleware-common/src/metering.rs @@ -134,24 +134,22 @@ mod tests { use super::*; use wabt::wat2wasm; + use wasmer_runtime_core::codegen::{MiddlewareChain, StreamingCompiler}; use wasmer_runtime_core::{backend::Compiler, compile_with, imports, Func}; #[cfg(feature = "llvm")] fn get_compiler(limit: u64) -> impl Compiler { - use wasmer_llvm_backend::code::LLVMModuleCodeGenerator; - use wasmer_runtime_core::codegen::{MiddlewareChain, StreamingCompiler}; - let c: StreamingCompiler = - StreamingCompiler::new(move || { - let mut chain = MiddlewareChain::new(); - chain.push(Metering::new(limit)); - chain - }); + use wasmer_llvm_backend::ModuleCodeGenerator as LLVMMCG; + let c: StreamingCompiler = StreamingCompiler::new(move || { + let mut chain = MiddlewareChain::new(); + chain.push(Metering::new(limit)); + chain + }); c } #[cfg(feature = "singlepass")] fn get_compiler(limit: u64) -> impl Compiler { - use wasmer_runtime_core::codegen::{MiddlewareChain, StreamingCompiler}; use wasmer_singlepass_backend::ModuleCodeGenerator as SinglePassMCG; let c: StreamingCompiler = StreamingCompiler::new(move || { let mut chain = MiddlewareChain::new(); diff --git a/media/wizard_logo.ico b/src/installer/media/wizard_logo.ico similarity index 100% rename from media/wizard_logo.ico rename to src/installer/media/wizard_logo.ico diff --git a/media/wizard_logo_2.bmp b/src/installer/media/wizard_logo_2.bmp similarity index 100% rename from media/wizard_logo_2.bmp rename to src/installer/media/wizard_logo_2.bmp diff --git a/media/wizard_logo_small.bmp b/src/installer/media/wizard_logo_small.bmp similarity index 100% rename from media/wizard_logo_small.bmp rename to src/installer/media/wizard_logo_small.bmp diff --git a/src/installer/wasmer.iss b/src/installer/wasmer.iss index 98e0c858f..c836fddc5 100644 --- a/src/installer/wasmer.iss +++ b/src/installer/wasmer.iss @@ -9,9 +9,9 @@ OutputDir=.\ DisableProgramGroupPage=yes ChangesEnvironment=yes OutputBaseFilename=WasmerInstaller -WizardImageFile=..\..\media\wizard_logo_2.bmp -WizardSmallImageFile=..\..\media\wizard_logo_small.bmp -SetupIconFile=..\..\media\wizard_logo.ico +WizardImageFile=media\wizard_logo_2.bmp +WizardSmallImageFile=media\wizard_logo_small.bmp +SetupIconFile=media\wizard_logo.ico DisableWelcomePage=no [Files]