Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial WebAssembly/WASI cross-compilation support #56555

Merged
merged 12 commits into from
Apr 24, 2019

Commits on Apr 24, 2019

  1. wasm: init cross target

    Adds pkgsCross.wasm32 and pkgsCross.wasm64. Use it to build Nixpkgs
    with a WebAssembly toolchain.
    
    stdenv/cross: use static overlay on isWasm
    
    isWasm doesn’t make sense dynamically linked.
    matthewbauer committed Apr 24, 2019
    Configuration menu
    Copy the full SHA
    9abff4a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d591a10 View commit details
    Browse the repository at this point in the history
  3. wasmtime: init and use for emulation

    This isn’t really an "emulator" but it’s the closest concept we have
    right now.
    matthewbauer committed Apr 24, 2019
    Configuration menu
    Copy the full SHA
    dbb94b9 View commit details
    Browse the repository at this point in the history
  4. wasm: set -fno-exceptions

    We need this to support C++ code.
    matthewbauer committed Apr 24, 2019
    Configuration menu
    Copy the full SHA
    556466d View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    4048acb View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    1a7a96a View commit details
    Browse the repository at this point in the history
  7. compiler-rt: Don't try to build a test executable

    Got this trick from stack overflow to avoid needing compiler-rt to link
    the test exe before building compiler-rt. a static lib isn't linked at
    all, and so breaks the cycle.
    Ericson2314 authored and matthewbauer committed Apr 24, 2019
    Configuration menu
    Copy the full SHA
    9044f57 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    721832f View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    a4cfd50 View commit details
    Browse the repository at this point in the history
  10. wasilibc: use .imports file for lld

    instead of passing in the --allow-undefined-file, we can just let lld
    find the file.
    matthewbauer committed Apr 24, 2019
    Configuration menu
    Copy the full SHA
    6948ffd View commit details
    Browse the repository at this point in the history
  11. libgmp: don’t compile with cpp on wasm

    We don’t have full C++ support for things like threads or exceptions.
    matthewbauer committed Apr 24, 2019
    Configuration menu
    Copy the full SHA
    e2a1dc6 View commit details
    Browse the repository at this point in the history
  12. release-cross: add wasi targets

    Add a few working cross targets to make sure things keep working.
    matthewbauer committed Apr 24, 2019
    Configuration menu
    Copy the full SHA
    008c9a7 View commit details
    Browse the repository at this point in the history