Brad Nelson adfd238ee2 Updating build to hopefully allow OSX builds.
dlsym opcode modified so that 0 for library is converted
to RTLD_DEFAULT as the two don't match on Darwin.

Made errno an opcode, as previous method depended on Linux internals.
[1] https://opensource.apple.com/source/xnu/xnu-201/osfmk/libsa/errno.h.auto.html
[2] https://pubs.opengroup.org/onlinepubs/9699919799/functions/errno.html
Placed errno in internals and then alias inside posix vocabulary,
as it seemed a waste to have another builtin stub for one symbol.
Arguably maybe dlsym should be that way too, but leaving for now.

Added OS make variable to conditionally set flags.
Set stripping / minimization options based on it.

Based off of
https://github.com/flagxor/ueforth/pull/3
Thanks Ulrich!
2023-01-21 20:11:42 -08:00
2022-02-27 20:59:19 -08:00
2022-02-27 20:59:19 -08:00
2022-09-05 22:01:39 -07:00
2022-10-21 15:02:12 -07:00
2023-01-14 22:53:30 -08:00
2023-01-20 23:12:08 -08:00
2022-02-27 20:59:19 -08:00
2021-06-28 22:23:21 -07:00
2022-11-25 16:53:10 -08:00

µEforth / ESP32forth

This EForth inspired implementation of Forth is bootstraped from a minimalist C kernel.

Building from Source

To build from source:

git clone https://github.com/flagxor/ueforth
cd ueforth
make

The resulting output will have this structure:

  • out/deploy - A copy of the eforth.appspot.com / esp32forth.appspot.com ready to deploy.
  • out/esp32 - A source build for ESP32.
  • out/esp32 - A source build for ESP32.
  • out/esp32-sim - A POSIX build approximating ESP32.
  • out/gen - Intermediate / generated files.
  • out/posix - A build for Linux / POSIX.
  • out/resources - Intermediate / generated resources.
  • out/web - A build for Web.
  • out/windows - A build for Windows.

Individual platforms can be built as follows:

make posix
make esp32
make win32
make win64
make web

To install to /usr/bin on Linux / POSIX do:

make install

ESP32 boards can be compiled and flashed with:

make esp32-flash
make esp32s2-flash
make esp32s3-flash
make esp32c3-flash
make esp32cam-flash

Set PORT=com3 etc. to select board.

Description
A fork of https://github.com/flagxor/ueforth - an implementation of the forth programming language for ESP32 microprocessors.
Readme Apache-2.0 2.2 MiB
Languages
Forth 55.3%
C 16.2%
HTML 11.9%
JavaScript 5.7%
Python 4.6%
Other 6.3%