2021-01-06 19:29:48 +01:00
|
|
|
# Building on BSD, Linux, macOS, and other Unix Targets
|
2019-03-14 21:43:27 +01:00
|
|
|
|
2021-05-12 15:57:22 +02:00
|
|
|
Retro is well supported on BSD (tested on FreeBSD, NetBSD,
|
2020-01-07 15:09:08 +01:00
|
|
|
OpenBSD), Linux, and macOS systems. It should build on any
|
2020-06-17 20:11:46 +02:00
|
|
|
of these without issue.
|
2019-03-19 21:52:19 +01:00
|
|
|
|
2019-03-14 21:43:27 +01:00
|
|
|
## Requirements
|
|
|
|
|
2019-05-09 13:51:32 +02:00
|
|
|
- c compiler & linker
|
|
|
|
- standard headers
|
2019-03-14 21:43:27 +01:00
|
|
|
- make
|
|
|
|
|
|
|
|
## Process
|
|
|
|
|
2020-01-07 15:09:08 +01:00
|
|
|
For a standard 32-bit system:
|
|
|
|
|
2019-03-20 17:46:21 +01:00
|
|
|
Run `make`
|
2019-03-14 21:43:27 +01:00
|
|
|
|
|
|
|
This will build the toolchain and then the main `retro`
|
|
|
|
executable.
|
|
|
|
|
|
|
|
## Executables
|
|
|
|
|
2021-03-22 14:11:26 +01:00
|
|
|
In the `bin/` directory, you should see the following:
|
2019-03-14 21:43:27 +01:00
|
|
|
|
|
|
|
retro
|
|
|
|
retro-unu
|
|
|
|
retro-muri
|
|
|
|
retro-extend
|
|
|
|
retro-embedimage
|
2019-03-19 21:52:19 +01:00
|
|
|
retro-describe
|
2019-05-09 13:51:32 +02:00
|
|
|
|
2021-03-22 14:11:26 +01:00
|
|
|
## Test The Build
|
|
|
|
|
|
|
|
You can conduct a quick test of the build by running `bin/retro`:
|
|
|
|
|
|
|
|
./bin/retro
|
|
|
|
|
|
|
|
Exit by typing `bye` and pressing enter.
|
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
|
|
|
You can install Retro globally on BSD systems (and possibly Linux)
|
|
|
|
by doing:
|
|
|
|
|
|
|
|
doas make install
|
|
|
|
|
|
|
|
or:
|
|
|
|
|
|
|
|
sudo make install
|
|
|
|
|
2020-06-17 20:11:46 +02:00
|
|
|
## Platform Specific Notes
|
|
|
|
|
2021-08-23 15:10:40 +02:00
|
|
|
### Linux
|
|
|
|
|
|
|
|
To build on Linux, you need to link with *libdl* if using the optional
|
|
|
|
FFI. To do this, edit the `GNUmakefile` and uncomment this before building:
|
|
|
|
|
|
|
|
# LIBDL += -ldl
|
|
|
|
|
2020-06-17 20:11:46 +02:00
|
|
|
### Haiku
|
|
|
|
|
2021-08-23 15:10:40 +02:00
|
|
|
To build on Haiku, you need to link with the *network* library if using
|
|
|
|
sockets. E.g.:
|
2020-06-17 20:11:46 +02:00
|
|
|
|
|
|
|
make LDFLAGS=-lnetwork
|
|
|
|
|
2019-05-09 13:51:32 +02:00
|
|
|
## Issues
|
|
|
|
|
|
|
|
If you run into any build issues, please send details to
|
|
|
|
crc@forth.works so I can work on addressing them as quickly
|
|
|
|
as possible.
|