Git Product home page Git Product logo

libclang_rt.builtins-wasm32.a's Introduction

libclang_rt.builtins-wasm32.a

Note: as of 2023, you should probably use the Zig SDK instead of this.

The zig cc command supports cross-compilation to WASI out of the box, without having to install these builtins or the WASI SDK.

zig cc --target=wasm32-wasi -rdyamic -Os -s -o module.wasm module.c

--

Starting with version 8 (and version 9 if you need WASI), LLVM can compile to WebAssembly out of the box.

If you are using macOS with Homebrew, or any operating system with up-to-date LLVM packages, you're all set.

Almost.

Unless your WebAssembly application is compute-only, you still need some kind of interface with the runtime.

In order to do so, you may want to download and extract wasi-sysroot. Note that you don't need wasi-sdk if you already have LLVM, only wasi-sysroot.

Now you should be all set. Just replace /opt/wasi-sysroot with the location you extracted wasi-sysroot to.

clang --target=wasm32-wasi --sysroot=/opt/wasi-sysroot -O2 test.c

Dang. You may see clang now complaining about a missing file:

wasm-ld: error: cannot open .../lib/wasi/libclang_rt.builtins-wasm32.a: No such file or directory

The missing libclang_rt.builtins-wasm32.a can be obtained by recompiling compiler_rt from LLVM.

Or directly download that file here: libclang_rt.builtins-wasm32.a.

It is now also distributed with the WASI SDK releases, as a separate tarball.

Copy libclang_rt.builtins-wasm32.a from the tarball into the path expected by clang, creating the lib and wasi directories if necessary, and you'll be all set!

This has been tested with:

  • LLVM 10, 11, 12, 13, 14 (llvm-10-to-14 folder)
  • LLVM 15, 16
  • LLVM 17
  • LLVM 18

libclang_rt.builtins-wasm32.a's People

Contributors

jedisct1 avatar

Stargazers

C Schleich avatar Michał Booth-Wrotkowski avatar Daniel Mangum avatar Michael Labbe avatar  avatar masx200 avatar Borna Butković avatar Brad Svercl avatar Gustavo Henke avatar  avatar  avatar  avatar Cheffy avatar Justin Yang avatar  avatar Bajo Mendez avatar Vincent Lohse avatar  avatar  avatar Ahmad avatar Joseph Werle avatar JK.Ryan avatar everettjf avatar  avatar  avatar Mark A. Ropper avatar Robin van Emden avatar David Manning avatar Di Wen avatar Jakub Konka avatar Zhao Xiaohong avatar evandrix avatar Daniel Mendler avatar chai2010 avatar  avatar ik5 avatar

Watchers

 avatar evandrix avatar James Cloos avatar Scotty Franzyshen avatar  avatar

Forkers

minad sfranzyshen

libclang_rt.builtins-wasm32.a's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.