how to make your cross-platform audio engine bloat free in 5 easy steps: https://garten.salat.dev/135-clang-wasm-audio/ (i almost fell off the chair when i saw step 4). shoutout to @sqx
๐ŸŒฑ clang wasm audio

@froos i've since found simple replacements for the remaining stuff i usually miss from libc:

qsort: i turned this macrofied qsort back into a stdlib.h-compatible one: https://github.com/nothings/stb/blob/31c1ad37456438565541f4919958214b6e762fb4/deprecated/stb.h#L8721-L8846

malloc/free: turns out the original K&R book ("The C Programming Language") chapter 8.7 has an elegant malloc, meant as a teaching example, but it works: https://github.com/noncombatant/kr-malloc/blob/main/original_kr_malloc.c

stb/deprecated/stb.h at 31c1ad37456438565541f4919958214b6e762fb4 ยท nothings/stb

stb single-file public domain libraries for C/C++. Contribute to nothings/stb development by creating an account on GitHub.

GitHub
@sqx @froos im curious, would it not be possible to use something like wasi-libc here? or is it considered bloat ๐Ÿ˜…
@ahihi @froos ooh, i'm not familiar with it, but C dependencies tend to be a pain unless they can be vendored. we used to compile with emscripten which provides libc/libm/etc, but ended up doing the nostdlib clang thing because it felt better i guess :) (also, a personal excuse is that emscripten works poorly on freebsd)
@ahihi @sqx thanks for the tip, could be a good option as well! i have almost no idea what i'm doing. will check it out.