callisto/README.md

47 lines
1.9 KiB
Markdown

# Callisto
A featureful runtime for Lua 5.4, written in C99 using POSIX APIs.
Callisto is an extension to Lua that adds commonly-needed functions
and features to the language, and includes a file library to manage
and manipulate files, a process library to find active processes and
manipulate signals, a socket and networking library using LuaSocket,
and a JSON manipulation library *among many more*.
Before I made Callisto, I usually had to rely on three libraries:
luaposix for basic file manipulation and other routines, lua-cjson
for JSON parsing support and LuaSocket for networking.
First and foremost, Callisto tries to satisfy these requirements:
- an all-in-one zero-dependencies library for Lua that includes
most features people would need, out of the box
- a library that works and integrates well with Lua and its
standard library, and is easy to use
Callisto only works on POSIX-compliant operating systems such as
Linux and the BSDs. There is no plan for a Windows port.
## Dependencies
To build Callisto, you'll need nothing but a C compiler.
The default C compiler is *cc* which is usually a symbolic link
to your system's default C compiler. This should be gcc on Linux,
and clang on most of the BSDs. If *cc* doesn't exist on your system,
change the `CC` variable in the Makefile to your desired C compiler.
**Callisto has zero runtime dependencies**, unless you built it with
support for GNU libreadline. Lua 5.4 is statically linked in.
## Installation
Callisto is distributed as source-only, but don't worry, it's
not hard to compile.
First, get the source code using one of the tarballs found in
the [Releases](https://github.com/jtbx/callisto/releases) page.
Untar it then run `make` to compile Callisto. The compiled
executable will be named `csto`.
To install `csto` (the Callisto standalone executable) and
`libcallisto.so` (the Callisto shared library), run `make install`
as the root user in the source code directory.