Static linking for all C extensions, eliminate runtime .so dependency
Switch from SEXP_USE_DL=1 (dynamic loading) to SEXP_USE_STATIC_LIBS=1
so all chibi-scheme C extension modules are compiled into
libchibi_vendor.a. Users no longer need platform-specific .so/.dylib
files at runtime -- everything is baked into the OCaml library.
Changes:
- install.h: auto-detect platform (macOS/Linux/Windows) and architecture
(arm64/x86_64) instead of hard-coding linux/x86_64
- eval.c: add suffix matching to sexp_find_static_library() so the
static library table works with absolute module paths (needed for
embedded use where module paths are discovered at runtime)
- clibs.c: new file registering 24 C extensions (7 SRFIs, 2 scheme
standard, 15 chibi libs) with unique init symbols
- lib/dune: compile clibs.c into the vendor archive, set
SEXP_USE_DL=0 + SEXP_USE_STATIC_LIBS=1, drop -ldl
This enables (import (scheme char)), (import (chibi string)),
(import (scheme list)), (import (srfi 69)), (import (scheme regex)),
(import (chibi match)), etc. to work on all platforms without any
external shared objects.
Bump version to 0.2.0