From: bakaq Date: Fri, 31 Jan 2025 12:24:39 +0000 (-0300) Subject: Make Wasm compilable X-Git-Tag: v0.10.0~69^2~5 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=b32273fc790a62168982ec288ca412605f704be2;p=scryer-prolog.git Make Wasm compilable --- diff --git a/Cargo.toml b/Cargo.toml index a299e690..0eb6b7a1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -139,6 +139,17 @@ opt-level = 3 lto = true opt-level = 3 +[profile.wasm-dev] +inherits = "dev" +opt-level = 1 +lto = "off" + +[profile.wasm-release] +inherits = "release" +lto = "off" +panic = "abort" +codegen-units = 256 + [[bench]] name = "run_criterion" harness = false diff --git a/flake.nix b/flake.nix index 852aa4af..14e38943 100644 --- a/flake.nix +++ b/flake.nix @@ -20,6 +20,10 @@ rustToolchainDev = super.rust-bin.stable.latest.default.override { extensions = [ "rust-src" "rust-analyzer" ]; }; + rustToolchainDevWasm = super.rust-bin.stable.latest.default.override { + extensions = [ "rust-src" "rust-analyzer" ]; + targets = [ "wasm32-unknown-unknown" ]; + }; rustToolchainNightly = super.rust-bin.selectLatestNightlyWith (toolchain: toolchain.default.override { extensions = [ "rust-src" "rust-analyzer" "miri" ]; @@ -38,12 +42,21 @@ in { devShells = { - default = pkgs.mkShell { + default = pkgs.mkShell.override { stdenv = pkgs.clangMultiStdenv; } { nativeBuildInputs = nativeBuildInputs; buildInputs = buildInputs ++ (with pkgs; [ rustToolchainDev ]); }; + wasm-js = pkgs.mkShell.override { stdenv = pkgs.clangMultiStdenv; } { + nativeBuildInputs = nativeBuildInputs; + buildInputs = buildInputs ++ (with pkgs; [ + wasm-pack + rustToolchainDevWasm + ]); + TARGET_CC = "${pkgs.clangMultiStdenv.cc}/bin/clang"; + hardeningDisable = [ "all" ]; + }; # For use with Miri and stuff like it nightly = pkgs.mkShell { nativeBuildInputs = nativeBuildInputs;