Skip to content

Add support for Dev Containers#729

Open
Jademalo wants to merge 4 commits intopret:masterfrom
Jademalo:devcontainer
Open

Add support for Dev Containers#729
Jademalo wants to merge 4 commits intopret:masterfrom
Jademalo:devcontainer

Conversation

@Jademalo
Copy link
Copy Markdown
Contributor

Dev containers are an incredibly useful feature of VSCode, and allow automatic setup of a complete working dev environment without any necessary input from the user.

The Gen 3 repos aren't the easiest things in the world to get working, and this PR automates the configuration of the dev environment to build both matching roms using the legacy toolchain, as well as full support for the modern toolchain. It also provides full C/C++ intellisense linting, selectable build targets, and full configuration for the step debugger to be used with mGBA.

I have also added a readme with full instructions on how to use the dev container.

Notable issues

  • Debugging doesn't work with the legacy toolchain builds, seemingly because of an issue with the dwarf2 output of agbcc on more recent debuggers
  • The debugger for the modern toolchain depends on Sync DWARF debug sections #728. I submitted that as a separate PR as it felt unrelated to this PR as a whole and is a sync from pokeemerald
  • Setting the configuration to a legacy build will show a couple of errors in the linter, assumedly due to a preproc issue that I can't figure out. I also had to use gnu99 instead of gnu89 in the configurations for a similar reason

As a note, I have a more advanced version of this configuration that additionally includes full support and linting for poryscript. I will submit that too if relevant, but thought it best to keep this PR focused on the core functionality of the repo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant