gbdev / rgbds

Rednex Game Boy Development System - An assembly toolchain for the Nintendo Game Boy and Game Boy Color
https://rgbds.gbdev.io
MIT License
1.3k stars 176 forks source link

Add new downstream projects to test suite #849

Open ISSOtm opened 3 years ago

ISSOtm commented 3 years ago
avivace commented 3 years ago

Nice, having them tested in the CI allows those entries to stay consistent and relevant. Thank you

Rangi42 commented 3 years ago

gb-starter-kit has two FAILs in src/header.asm for when configuration is needed, which would have to become conditional, like MACRO must_configure / IF !DEF(TEST_RGBDS) / FAIL \1 / ENDC / ENDM and pass rgbasm -D TEST_RGBDS.

ISSOtm commented 2 years ago

For some reason, gb-starter-kit fails to build on macOS and Windows, even with parallel build disabled. This debug output puzzles me:

  Prerequisite `res/crash_font.1bpp.pb8.size' is newer than target `dep/crash_handler.mk'.
 No need to remake target `dep/crash_handler.mk'.
ISSOtm commented 2 years ago

After doing a lot of testing, it appears we have a make issue: it sometimes generates dep/crash_handler.mk, then attempts to generate obj/crash_handler.o (which fails due to a missing dep), but then considers it generated anyway.

I've tried using deps both order-only and not, generating both files separately, basically everything I could think of. The problem still occurs, but only on some machines and inconsistently. I'm not nearly qualified enough to understand how to make Make (hah!) handle this correctly, so I'm afraid we'll have to shelve this for a while.

pinobatch commented 10 months ago

The --only-free option of #1161 brings a bit more salience to this issue. Zumi on Discord reminded me of it when I posted a draft article about my experience as a first-time contributor.

SameBoot might be typical of cases where another program for personal computers uses RGBDS as a build dependency. I see it as standing in for the case of building a game in an emulator wrapper for release on modern platforms. I thought of these complications that might affect SameBoot:

Rangi42 commented 8 months ago

https://github.com/zladx/LADX-Disassembly is actively developed; how about it?

https://github.com/pinobatch/libbet is stable and maintained.

ISSOtm commented 8 months ago

Looks like this is not quite it yet, but at least, this seems consistent! (I have an explanation for why the file is empty, but I'm not sure why that action is taken.)

I should fix the warnings raised, at least, to clean up the log a bit.

ISSOtm commented 8 months ago

Please see https://github.com/ISSOtm/gb-starter-kit/issues/1#issuecomment-1793775226 for details about the new issue that popped up.

Rangi42 commented 7 months ago

https://github.com/pinobatch/libbet is stable and maintained.

And in the test suite as of #1260. :)

ISSOtm commented 7 months ago

Now that #1264 has been merged, the only project mentioned thus far in this thread that hasn't been added is gb-boilerplate/starter-kit[^ladx]. As mentioned above, its build is unreliable on Windows due to an issue with Make itself, so that may be a while. For that reason, I am unassigning the milestone.

Let's keep this issue open for more suggestions, though!

[^ladx]: The LADX disassembly is in the process of being added, and should land soon-ish.