|
|
**JoeyLib** is just one of a suite of projects that make up the entire **JoeyLib** ecosystem. The current components are:
|
|
|
|
|
|
- **JoeyLib**: the programming library itself.
|
|
|
- [**JoeyDev**](https://skunkworks.kangaroopunch.com/skunkworks/joeydev): an IDE for managing and developing **JoeyLib**-based projects.
|
|
|
- [**JoeyBuild**](https://skunkworks.kangaroopunch.com/skunkworks/joeybuild): a virtual machine based build server that works with **JoeyDev** to perform the builds for all the supported targets.
|
|
|
|
|
|
### Why so complicated?
|
|
|
|
|
|
Cross-compiling for numerous platforms from a single system is not something that is easy to configure. Along the way, I've tried several different techniques to help get people up and running with **JoeyLib** and none of them have been as easy as I'd like. Instead of requiring people to use a particular Linux distro and attempt to troubleshoot all the required toolchains, the current setup allows developers to work from their preferred OS with a friendly GUI-based IDE. All the messy compiler infrastructure is handled by Kangaroo Punch. Or, if you prefer, you can run your own build VM on your system using the **JoeyBuild** scripts.
|
|
|
|
|
|
### Current Status & Future Plans
|
|
|
|
|
|
* JoeyBuild
|
|
|
* Project Types:
|
|
|
* "Application" projects (games, demos, apps, etc.) - **_Working_**
|
|
|
* "JoeyLib" projects (working on JoeyLib itself) - _In Progress_
|
|
|
* Targets:
|
|
|
* Apple IIgs:
|
|
|
* 65816 - **_Working_**
|
|
|
* Microsoft Windows:
|
|
|
* XP and later:
|
|
|
* x86 32 bit - **_Working_**
|
|
|
* x86 64 bit - **_Working_**
|
|
|
* ARM 64 bit - _Future_
|
|
|
* 9x:
|
|
|
* x86 32 bit - _Planning_
|
|
|
* 3.x
|
|
|
* x86 32 bit - _Planning_
|
|
|
* Apple Macintosh:
|
|
|
* Modern MacOS:
|
|
|
* x86 32 bit - **_Working_**
|
|
|
* x86 64 bit - **_Working_**
|
|
|
* ARM 64 bit - **_Working_**
|
|
|
* Classic MacOS:
|
|
|
* 68k - _Planning_
|
|
|
* PPC - _Planning_
|
|
|
* DOS:
|
|
|
* x86 32 bit - _Planning_
|
|
|
* BeOS / Haiku:
|
|
|
* x86 32 bit - _In Progress_
|
|
|
* x86 64 bit - _In Progress_
|
|
|
* IBM OS/2:
|
|
|
* x86 32 bit - _Future_
|
|
|
* Raspberry Pi:
|
|
|
* ARM 32 bit (Linux) - _In Progress_
|
|
|
* ARM 64 bit (Linux) - _In Progress_
|
|
|
* ARM 32 bit (Bare Metal) - _Planning_
|
|
|
* ARM 64 bit (Bare Metal) - _Planning_
|
|
|
* Atari ST:
|
|
|
* 68k - _Future_
|
|
|
* Commodore Amiga:
|
|
|
* 68k - _Future_
|
|
|
* Acorn:
|
|
|
* ARM (RISC OS) - _Future_
|
|
|
* Android:
|
|
|
* ARM 64 bit - _Future_
|
|
|
* iOS:
|
|
|
* ARM 64 bit - _Future_
|
|
|
|
|
|
Status Descriptions:
|
|
|
|
|
|
* Working: Implemented, functional. May need cleanup or a few features.
|
|
|
* In Progress: Implemented, not functional. Needs work.
|
|
|
* Planning: Researched, implementation details worked out. Needs coded.
|
|
|
* Future: Target is known to be able to support JoeyLib. Needs research. |
|
|
\ No newline at end of file |