Luke Street
f306a31151
Update tools & format with ruff
2025-11-18 23:03:27 -07:00
Luke Street
5efb1c83cd
Update dtk_tag & objdiff_tag
2025-11-12 12:42:43 -07:00
Luke Street
e4980856aa
Update to wibo 1.0.0-beta.4
2025-11-11 23:27:22 -07:00
Luke Street
f225a1ba65
Update tools & use wibo for macOS (no more wine-crossover)
2025-11-11 15:22:02 -07:00
Luke Street
9d6a0399f5
Add cache restore-keys to always update cache
...
NOTE: See https://github.com/encounter/dtk-template-build/commit/9408cb2cdc65750f9099d58783adc2936c0831ba
zstd is added as a package to significantly improve cache update time.
2025-08-15 16:58:35 -06:00
Luke Street
aa98d34e96
Update git-restore-mtime args for caching
2025-08-15 10:43:35 -06:00
Luke Street
ebe57b5464
Update tool versions
2025-08-15 10:43:21 -06:00
Luke Street
d639e15cb8
Update category typings in tools/project.py
2025-08-15 10:43:11 -06:00
Luke Street
49b34faa6a
Format tools/download_tool.py
2025-08-15 10:42:49 -06:00
Luke Street
b4be7cfa39
Add build cache to CI workflow
...
NOTE: This requires an update to your build container. See
https://github.com/encounter/dtk-template-build/commit/e132563a5a88c58b933022f435cfd5a784d7069b
This normalizes file modtimes with git-restore-mtime, and caches
the build directory. Subsequent runs will only rebuild the files
that have changed.
2025-08-14 19:05:46 -06:00
Luke Street
dbad3087b6
Support clean_extab feature
...
See documentation for more details.
2025-06-01 22:12:17 -06:00
Luke Street
30945827b0
Check source file path case
2025-06-01 16:18:07 -06:00
Luke Street
c3ddfc779c
Only use asm from asm_dir if source is non-matching
...
Resolves #49
2025-06-01 15:40:24 -06:00
Luke Street
f6f10ea187
Remove depfile from GNU as commands
...
Instead, hardcodes an implicit dependency on
build/GAMEID/include/macros.inc, which is
always written by decomp-toolkit.
Resolves #51
2025-06-01 15:35:25 -06:00
Luke Street
c73e4b8f87
Remove "host" build rules
...
This feature was designed as an experiment in
Prime's build script, and ended up getting pulled
into the initial dtk-template. It doesn't have
proper configuration options or any usage in the
wild. Projects aiming to port their code will
use CMake or a similar build system instead.
2025-06-01 15:24:41 -06:00
Luke Street
2cd0b6703f
Update compilers & add mapping for GC/1.1p1
2025-05-20 22:07:01 -06:00
Luke Street
2e907657cc
Updates for decomp.dev (replaces frogress)
...
Resolves #52
2025-05-06 21:40:23 -06:00
Luke Street
57f5777025
Add link_order_callback feature
...
See comments in configure.py for feature documentation.
Resolves #6
2024-12-30 17:54:31 -07:00
Luke Street
54bf50ee31
Update tool versions
2024-11-24 00:16:24 -07:00
Luke Street
d34e7c95db
decompctx: Automatic includes from cflags, respect #pragma once
...
Resolves #23 , #43
2024-11-23 18:24:47 -07:00
Luke Street
065fc7b715
Add scratch_preset_id option for objdiff decomp.me integration
2024-11-07 09:30:54 -07:00
Luke Street
14c60bb5a5
Use phony targets & order_only for custom build rules
...
This deduplicates dependencies on custom build rules by writing
them once and using phony targets to collect them.
Uses order_only instead of implicit dependencies to avoid
rebuilding source files when a custom build rule is dirty.
Cleans up typing issues in ninja_syntax.py.
2024-10-29 23:41:18 -06:00
Luke Street
bcd50ed0b9
Don't error on empty report categories
2024-10-18 20:54:45 -06:00
Luke Street
6d59f31a80
decompctx: Permit comments after #include directives
2024-10-18 00:46:17 -06:00
Luke Street
c6dc39414b
Add MatchingFor helper
2024-10-16 22:52:23 -06:00
Luke Street
3a36810d82
Add extra_clang_flags option, translate more cflags
2024-10-16 22:49:09 -06:00
Luke Street
2b966f97a3
Add config.print_progress_categories & validate object categories
2024-10-13 12:17:15 -06:00
Luke Street
ff6be416c6
Document object_base and disc image support
...
This new setup flow allows users to copy their disc image into
`orig/GAMEID`, run a build, then delete the disc image to save space.
The new `object_base` config option specifies where the disc image is
searched for. Updated README.example.md with new setup instructions,
removing references to Dolphin Emulator.
2024-10-13 01:07:16 -06:00
Luke Street
4607046162
Remove fetch-depth: 0 from CI checkout
...
After reading the documentation for 2 seconds, it turns out that we
actually wanted `fetch-depth: 1`, and coincidentally, that's the
default.
2024-10-12 22:02:32 -06:00
Luke Street
4ceb68b953
--target=powerpc-none-eabi -> powerpc-eabi
...
No difference in behavior, but matches the binutils names,
so I think it's ever so slightly nicer.
2024-10-12 17:21:05 -06:00
Luke Street
d1334bb79e
Preserve symbol_mappings from existing objdiff.json
2024-10-08 21:20:40 -06:00
Luke Street
f6f0e66931
Revamp progress output with objdiff report
...
Progress output now displays % matched, which measures 100% matched
functions across _all_ files, including files that aren't
complete/linked.
Due to this change, all source files need to be built in order to
calculate progress during a normal `ninja` run. In other words,
this makes the `all_source` build the default behavior.
The progress display can be disabled via `configure.py --no-progress`
or `config.progress = False`. This will only compile the source files
needed to link the matching DOL.
Additionally, progress information is automatically emitted as a job
summary in GitHub Actions, so it can be viewed without opening the
build logs.
2024-09-30 22:32:17 -06:00
Luke Street
477ef5d916
Update dtk_tag and objdiff_tag
2024-09-29 13:59:02 -06:00
Luke Street
584ec3de5f
Only write metadata.source_path if source file exists
2024-09-29 13:58:15 -06:00
Luke Street
2f94ccb062
Minor cleanup
2024-09-17 19:21:54 -06:00
Luke Street
f49a9cbb62
Fancy progress output fixes
2024-09-17 19:21:17 -06:00
Luke Street
83e44bbec3
Documentation updates
...
Resolves #28
2024-09-17 19:20:51 -06:00
Luke Street
16efd6a025
Some configure.py flags cleanup
2024-09-07 09:27:42 -06:00
Luke Street
2049aeb371
Fixes for empty progress categories
2024-09-06 19:40:12 -06:00
Luke Street
2f052e0982
objdiff.json output fixes
...
Ensures that most unit fields are written even
when missing the source file or auto-generated
2024-09-04 21:50:26 -06:00
Luke Street
f54d479e6f
Update dtk_tag & remove ldflags -warn off
...
With dtk v0.9.5, disabling linker warnings is no
longer necessary. Based on mw_comment_version,
it adjusts behavior for the linker version.
2024-09-04 20:34:13 -06:00
Luke Street and GitHub
af452140cc
Support custom progress categories ( #33 )
...
* WIP custom progress categories
* Working progress categories & type fixes
2024-09-04 08:55:19 -06:00
Luke Street
d5df3db21f
Oops, missed a char
2024-08-12 18:13:09 -06:00
Luke Street
3986009d97
Add objdiff report to CI example
2024-08-12 18:10:35 -06:00
Luke Street
f29cfaf313
Add build/GAMEID/report.json rule using objdiff-cli
2024-08-12 18:09:10 -06:00
Luke Street
5c3892b317
Only build asm with --non-matching
2024-08-12 18:08:26 -06:00
Luke Street
b7077b66b2
Output src/*.s files into the correct build dir
...
Before, it would put both `asm/*.s` (modding overrides)
and `src/*.s` files (matching source files that happen
to be assembly) into `build/mod`.
2024-08-11 18:22:28 -06:00
Luke Street
a57d08dd07
Add ninja tools helper for downloading all tools
2024-08-11 18:07:07 -06:00
Luke Street
e45a0ecf5e
Downgrade wibo to 0.6.11
2024-06-23 22:32:04 -06:00
Luke Street
cd2d65c157
Bump actions versions
2024-06-19 14:08:49 -06:00