2020-01-07 15:09:08 +01:00
|
|
|
# Building on BSD, Linux, macOS, and outher Inix Targets
|
2019-03-14 21:43:27 +01:00
|
|
|
|
2020-01-07 15:09:08 +01:00
|
|
|
RETRO is well supported on BSD (tested on FreeBSD, NetBSD,
|
|
|
|
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
|
|
|
|
2020-01-07 15:09:08 +01:00
|
|
|
For a 64-bit system:
|
|
|
|
|
|
|
|
Run `make OPTIONS=-DBIT64`
|
|
|
|
|
2019-03-14 21:43:27 +01:00
|
|
|
This will build the toolchain and then the main `retro`
|
|
|
|
executable.
|
|
|
|
|
|
|
|
## Executables
|
|
|
|
|
|
|
|
In the `bin/` directory:
|
|
|
|
|
|
|
|
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
|
|
|
|
2020-06-17 20:11:46 +02:00
|
|
|
## Platform Specific Notes
|
|
|
|
|
2020-09-08 20:54:57 +02:00
|
|
|
In addition to the 64-bit build, it is possible to override the
|
|
|
|
image size, address stack depth, and data stack depth by defining
|
|
|
|
the appropriate elements.
|
|
|
|
|
|
|
|
E.g., for a 64-bit build with:
|
|
|
|
|
|
|
|
4,000,000 cells of memory
|
|
|
|
4,000 item limit on data stack
|
|
|
|
500 item limit on address stack
|
|
|
|
|
|
|
|
Run `make OPTIONS="-DBIT64 -DIMAGE_SIZE=4000000 -DSTACK_DEPTH=4000 -DADDRESSES=500"`
|
|
|
|
|
|
|
|
|
2020-06-17 20:11:46 +02:00
|
|
|
### Haiku
|
|
|
|
|
|
|
|
To build on Haiku, you need to link with the *network* library.
|
|
|
|
E.g.:
|
|
|
|
|
|
|
|
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.
|