Both SOLIBDIR and BINMODDIR install into $(PREFIX)/lib which is the same value as LIBDIR -- the traditional name of the directory for installed libraries. Current duplication is fine for the default installation (with PREFIX = /usr/local) but it does not play nicely with systems supporing multiple architectures. For example, Debian systems allow the users to install libraries for multiple architectures simultaneously: e.g., 32-bit and 64-bit libraries for AMD-64 CPUs go into separate directories: - 64-bit: /usr/lib/x86_64-linux-gnu/libchibi-scheme.so.0.8.0 - 32-bit: /usr/lib/i386-linux-gnu/libchibi-scheme.so.0.8.0 Other Linux systems (Red Hat family) use different paths like /usr/lib64 and /usr/lib, but the general idea is the same. In order to achive this, packaging toolchain supplies appropriate value of LIBDIR which takes care of these details more or less automagically. However, with Chibi you currently need to additionally override SOLIBDIR and BINMODDIR to have all the libraries installed into multiarch-enabled locations. While definitely doable, it's not convenient. Redefine SOLIBDIR and BINMODDIR in terms of LIBDIR so that you only need to override LIBDIR to get the packaging correctly. This does not change the default installation paths and it is still possible to override these values individually if necessary. |
||
---|---|---|
benchmarks | ||
build-lib/chibi/char-set | ||
contrib | ||
data | ||
doc | ||
examples | ||
include/chibi | ||
js | ||
lib | ||
opt | ||
tests | ||
tools | ||
.gitignore | ||
.hgignore | ||
.travis.yml | ||
appveyor.yml | ||
AUTHORS | ||
bignum.c | ||
chibi-scheme.pc.in | ||
CMakeLists.txt | ||
configure | ||
COPYING | ||
eval.c | ||
fedora.spec | ||
gc.c | ||
gc_heap.c | ||
main.c | ||
Makefile | ||
Makefile.detect | ||
Makefile.libs | ||
mkfile | ||
opcodes.c | ||
plan9.c | ||
README-win32.md | ||
README.libs | ||
README.md | ||
RELEASE | ||
sexp.c | ||
simplify.c | ||
TODO | ||
VERSION | ||
vm.c |
Minimal Scheme Implementation for use as an Extension Language
http://synthcode.com/wiki/chibi-scheme
Chibi-Scheme is a very small library intended for use as an extension and scripting language in C programs. In addition to support for lightweight VM-based threads, each VM itself runs in an isolated heap allowing multiple VMs to run simultaneously in different OS threads.
There are no external dependencies so is relatively easy to drop into any project.
The default repl language contains all bindings from
R7RS small,
available explicitly as the (scheme small)
library. The
language is built in layers, however - see the manual for
instructions on compiling with fewer features or requesting
a smaller language on startup.
Chibi-Scheme is known to work on 32 and 64-bit Linux, FreeBSD, NetBSD, OpenBSD and OS X, Plan 9, Windows (using Cygwin), iOS, Android, ARM and Emscripten. Basic support for native Windows desktop also exists. See README-win32.md for details and build instructions.
To build on most platforms just run make && make test
. This will
provide a shared library libchibi-scheme, as well as a sample
chibi-scheme command-line repl. You can then run
sudo make install
to install the binaries and libraries. You can optionally specify a PREFIX for the installation directory:
make PREFIX=/path/to/install/
sudo make PREFIX=/path/to/install/ install
By default files are installed in /usr/local.
If you want to try out chibi-scheme without installing, be sure to set
LD_LIBRARY_PATH
so it can find the shared libraries.
For more detailed documentation, run make doc
and see the generated
doc/chibi.html.