std-rs: use native-tls inst of rustls. Better for gemini
Rustls is too strict for non-web, self signed, TOFU use, so use rustls
instead. Right now, TLS does no verification, but we'll fix this.
Rename foreign-core to std-rs
Default to installing bin and lib in .local
Don't link with .so, loadLibraryPermanently at runtime instead
No point in linking carth with the foreign-core shared library since
only the JIT uses it. Better just using loadLibraryPermanently at
runtime instead. No cons afaik.
Minor changes in Makefile
Don't clean when `make carth-bin`
Read env vars of lib path and module path at runtime
Before they were compiled into the `carth` binary, but to work with
Guix in the future, I feel it's better to allow the paths to be
changed arbitrarily by the user/system without recompilation.
Copy LICENSE to MOD_DIR when installing
Fix copying std modules from incorrect dir carth-std/
Un-hardcode lib and mod dir paths. Configurable at compiletime now
Compile lib and mod dirs into binary using TemplateHaskell & add
Makefile with installation targets. `make install` now compiles the
whole project and installs the `carth` binary, the
`libcarth_foreign_core.a` static lib, and the `std/std.carth` standard
library to a configurable path (default ~/.carth/bin, ~/.carth/lib,
and ~/.carth/mod respectively).