You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Maiko is the implementation of the Medley Interlisp virtual machine, for a
4
-
byte-coded Lisp instruction set and some low-level functions for
5
-
connecting with Lisp for access to display (via X11) and disk etc.
3
+
Maiko is the implementation of the Medley Interlisp virtual machine for a
4
+
byte-coded Lisp instruction set, and some low-level functions for
5
+
connecting Lisp to a display (via X11 or SDL), the local filesystem,
6
+
and a network subsystem.
6
7
7
8
For an overview, see [Medley Interlisp Introduction](https://interlisp.org/medley/using/docs/medley/).
8
9
@@ -15,13 +16,14 @@ Bug reports, feature requests, fixes and improvements, support for additional pl
15
16
16
17
## Development Platforms
17
18
18
-
We are developing on FreeBSD, Linux, macOS, and Solaris currently
19
-
on arm7l, arm64, PowerPC, SPARC, i386, and x86_64 hardware.
19
+
Development has been primarily on macOS, FreeBSD, and Linux, with testing on Solaris and Windows.
20
+
Processor architectures i386, x86\_64, arm64, arm7l, and SPARC.
20
21
21
22
22
23
## Building Maiko
23
24
24
-
Building requires `clang`, `make`, X11 client libraries (`libx11-dev`). For example,
25
+
### Building with make
26
+
Building requires a C compiler (`clang` preferred), either `make` or `CMake`, and X11 client libraries (`libx11-dev`), or SDL2. For example, using `make` and X11:
25
27
26
28
```sh
27
29
$ sudo apt update
@@ -33,17 +35,21 @@ $ cd maiko/bin
33
35
$ ./makeright x
34
36
```
35
37
36
-
* The build will (attempt to) detect the OS-type and cpu-type. It will build binaries `lde` and `ldex` in `../ostype.cputype` (with .o files in `..ostype.cputype-x`. For example, Linux on a 64-bit x86 will use `linux.x86_64`, while macOS 11 on a (new M1) Mac will use `darwin.aarch64`.
37
-
* If you prefer using `gcc` over `clang`, you will need to edit the makefile fragment for your configuration (`makefile-ostype.cputype-x`) and comment out the line (with a #) that defines `CC` for `clang` and uncomment the line (delete the #) for the line that defines `CC` for `gcc`.
38
-
* There is a cmake configuration (TBD To Be Described here).
38
+
* The build will (attempt to) detect the OS-type and cpu-type. It will build binaries `lde` and `ldex` in `../`_`ostype.cputype`_ (with .o files in `../`_`ostype.cputype-x`_. For example, Linux on a 64-bit x86 will use `linux.x86_64`, while macOS 11 on a (new M1) Mac will use `darwin.aarch64`.
39
+
* If you prefer `gcc` over `clang`, you will need to edit the makefile fragment for your configuration (`makefile-ostype.cputype-x`) and comment out the line (with a #) that defines `CC` as `clang` and uncomment the line (delete the #) for the line that defines `CC` as `gcc`.
39
40
40
-
### Building For macOS
41
-
42
-
* Running on macOS requires an X server, and building on a Mac requires X client libraries.
43
-
An X-server for macOS (and X11 client libraries) can be freely obtained at https://www.xquartz.org/releases
41
+
### Building with CMake
42
+
We provide a `CMakeLists.txt` which provides mostly matching build capabilities to the `make` setup.
43
+
CMake options are provided to control the configuration of the Maiko executables:
44
+
* MAIKO\_DISPLAY\_SDL: [OFF], 2, 3 - selects display subsystem SDL of version specified
45
+
* MAIKO\_DISPLAY\_X11: [ON], OFF - selects X11 display subsystem
0 commit comments