Earlier quoted context omitted.
In the Julia world, we make redistributable binaries for all sorts of things; you can find lots of packages here [0], and for LLVM in particular (which Julia uses to do its codegen) you can find _just_ libLLVM.so (plus a few supporting files) here [1]. If you want a more fully-featured, batteries-included build of LLVM, check out this package [2]. When using these JLL packages from Julia, it will automatically downlo…
I’ll take advantage of this comment to ask the tangential question: Where can i learn how llvm “compilation” works in Julia? I know code is only supposed to be JIT’ed and then executed by the runtime (that’s why PackageCompiler exists), but still I’d like to know more about how it works.. Like, if i write a simple pure function in Julia and call code_llvm on it… How “standalone” is the llvm code (if that is even a th…
It's standalone unless there's explicit calls to the runtime in it. The most common runtime support is probably heap allocation, so if you see a `jl_alloc_obj` in there, that gets lowered to runtime calls eventually. GC gets called during allocation if the runtime thinks there's been enough garbage generated to have a collection be worth it.