Skip to content

v1.0.0-rc1

Latest
Compare
Choose a tag to compare
@andwn andwn released this 11 Jun 09:06
· 14 commits to master since this release

C23 #embed didn't make it into GCC 13.1.0 and unfortunately neither did Rust, but the constexpr and explicitly typed enums did so go play with those.

This version is a bit of an overhaul that changes some directories around, something I hopefully won't have to do again for a long time because it breaks things. However, now that the SGDK integration is a thin wrapper, there is less worry about weird unexplainable bugs, and even when those come up, you don't have to rearrange all your project paths just to verify whether it's an issue with SGDK itself or not.

What's Changed

GENERAL:

  • Default install path is now /opt/toolchains/mars instead of ~/mars
  • The install step is separate and should be run with a privileged user after compiling as a normal user

TOOLCHAIN:

  • Toolchains for m68k and SH-2 have been split into separate repositories
  • GCC updated to 13.1.0
  • LANGS=c,c++ is now specified by default

SGDK:

  • SGDK version is the current master (v1.80+ 2023-06-11)
  • SGDK files have been moved a level in (inside m68k-elf directory)
  • GDK environment variable is now set to the above directory
  • A custom Makefile is no longer used in favor of patching SGDK's built-in with minimal changes

OTHER TARGETS:

  • Removed flamewing-tools target, please build from upstream if you want to use these tools
  • Removed z80-tools, sjasm is now installed along with SGDK
  • Added x68k-tools target, builds libdos-gcc (Human68k and Newlib integration) and png2xsp
    • The x68k example contains a python script that converts elf binaries to .X format

Install

Extract to /opt/toolchains so the contents are in /opt/toolchains/mars. There should be only one "mars" directory.

Included targets:
make m68k-toolchain-newlib sh-toolchain-newlib sgdk sik-tools x68k-tools