Skip to content

Commit 1de2e3e

Browse files
committed
Update README.md to be slightly more accurate.
1 parent a2f6215 commit 1de2e3e

File tree

1 file changed

+22
-16
lines changed

1 file changed

+22
-16
lines changed

README.md

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
# Maiko
22

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 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.
67

78
For an overview, see [Medley Interlisp Introduction](https://interlisp.org/medley/using/docs/medley/).
89

@@ -15,13 +16,14 @@ Bug reports, feature requests, fixes and improvements, support for additional pl
1516

1617
## Development Platforms
1718

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.
2021

2122

2223
## Building Maiko
2324

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:
2527

2628
``` sh
2729
$ sudo apt update
@@ -33,17 +35,21 @@ $ cd maiko/bin
3335
$ ./makeright x
3436
```
3537

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`.
3940

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
46+
* MAIKO\_NETWORK\_TYPE: [NONE], SUN\_DLPI, SUN\_NIT, NETHUB - network subsystem access
47+
* MAIKO_RELEASE: [351], various - see `maiko/inc/version.h`
4448

45-
### Building for Windows 10
49+
While SDL3 is selectable, the Maiko code has not yet been updated to work with the SDL3 API.
4650

47-
Windows 10 currently requires "Docker for Desktop" or WSL2 and a (Windows X-server).
48-
See [Medley's README](https://github.com/Interlisp/medley/blob/master/README.md) for more.
51+
### Building For macOS
4952

53+
* Building/running on macOS requires either an X server and X client libraries or the SDL2 library.
54+
An X-server for macOS (and X11 client libraries) can be freely obtained at https://www.xquartz.org/releases
55+
The SDL library is freely available from https://libsdl.org

0 commit comments

Comments
 (0)