To fix Issue#2164, create infrastructure to compile Maiko for Windows System for Linux v1 as a separate OS from Linux Created makefile-wsl1-* files as well as makefile-init-wsl1-* files. Modified bin/osversion to detect wsl1 as a special case of linux so that the wsl1 makefiles would be selected appropriately by makeright. Did not make CMAKE changes for WSL1. Changed Build Release workflow (via changes to Dockerfile-maiko) to build wsl1 versions of lde, ldex, ldesdl and ldeinit for x86_64 and aarch64. These are now included in the release tars.
Maiko
Maiko is the implementation of the Medley Interlisp virtual machine for a byte-coded Lisp instruction set, and some low-level functions for connecting Lisp to a display (via X11 or SDL), the local filesystem, and a network subsystem.
For an overview, see Medley Interlisp Introduction.
See the Medley repository for
- Issues (note that maiko issues are there too)
- Discussions (Q&A, announcements, etc)
- Medley's README
Bug reports, feature requests, fixes and improvements, support for additional platforms and hardware are all welcome.
Development Platforms
Development has been primarily on macOS, FreeBSD, and Linux, with testing on Solaris and Windows. Processor architectures i386, x86_64, arm64, arm7l, and SPARC.
Building Maiko
Building with make
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:
$ sudo apt update
$ sudo apt install clang make libx11-dev
$ cd maiko/bin
$ ./makeright x
- The build will (attempt to) detect the OS-type and cpu-type. It will build binaries
ldeandldexin../ostype.cputype(with .o files in../ostype.cputype-x. For example, Linux on a 64-bit x86 will uselinux.x86_64, while macOS 11 on a (new M1) Mac will usedarwin.aarch64. - If you prefer
gccoverclang, you will need to edit the makefile fragment for your configuration (makefile-ostype.cputype-x) and comment out the line (with a #) that definesCCasclangand uncomment the line (delete the #) for the line that definesCCasgcc.
Building with CMake
We provide a CMakeLists.txt which provides mostly matching build capabilities to the make setup.
CMake options are provided to control the configuration of the Maiko executables:
- MAIKO_DISPLAY_SDL: [OFF], 2, 3 - selects display subsystem SDL of version specified
- MAIKO_DISPLAY_X11: [ON], OFF - selects X11 display subsystem
- MAIKO_NETWORK_TYPE: [NONE], SUN_DLPI, SUN_NIT, NETHUB - network subsystem access
- MAIKO_RELEASE: [351], various - see
maiko/inc/version.h
While SDL3 is selectable, the Maiko code has not yet been updated to work with the SDL3 API.
Building For macOS
- Building/running on macOS requires either an X server and X client libraries or the SDL2 library. An X-server for macOS (and X11 client libraries) can be freely obtained at https://www.xquartz.org/releases The SDL library is freely available from https://libsdl.org