-
Notifications
You must be signed in to change notification settings - Fork 189
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
Improve README.md
#331
Improve README.md
#331
Conversation
This changes the front-page documentation to: - use out-of-line links in more places - mention the need for `libclang_rt.builtins-wasm32.a` when using standard Clang - mention how to use a `wasi-libc` sysroot - explain the experimental status of `wasm32-wasi-threads
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice!
--sysroot=/path/to/sysroot`. In this scenario, one would also need the | ||
`libclang_rt.builtins-wasm32.a` objects available separately in the [release | ||
downloads][releases] which must be extracted into | ||
`$CLANG_INSTALL_DIR/$CLANG_VERSION/lib/wasi/`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, is this true? I know this is true for building wasi-libc (see building from source) from having to do this myself but is it the case for the average program?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure exactly what you mean.
If your question is "can you get away without libclang_rt.builtins-wasm32.a
" then the answer is no. All programs pretty much end up depending on this library and clang adds it to the link line by default.
Also, wasi-libc is not a program (its just a static library) so technically you don't need libclang_rt.builtins-wasm32.a
to build wasi-libc.. but in order to use wasi-libc in any kind of normal program, that is when you would need the builtins library (i.e. when you actually want to link something).
Or did I misunderstand your question?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, yeah, your response makes sense:
If your question is "can you get away without libclang_rt.builtins-wasm32.a" then the answer is no
That's what I thought but I started to confuse myself. So the language I'm using here does make sense: we need the builtins to just use vanilla Clang — it isn't as easy as "just point to a sysroot" as we previously had documented here.
Separately,
technically you don't need libclang_rt.builtins-wasm32.a to build wasi-libc
But the "we need the builtins" is documented in the wasi-libc instructions; maybe we should discuss that in WebAssembly/wasi-libc#425?
This changes the front-page documentation to:
libclang_rt.builtins-wasm32.a
when usingstandard Clang
wasi-libc
sysroot