mirror of
https://github.com/doldecomp/melee.git
synced 2026-11-11 01:51:40 -10:00
- No header code in base objects: jobj.h redeclared the static inline HSD_JObjRefThis without `inline`, which made clang emit it (and iref_INC, with its assert's file name) wherever the header is included. `samples report` lists anything a base object has outside .data. - The base object's .data is laid out in the target's order, so objdiff's section match agrees with the per-symbol one. clang lays variables out where an initializer first points to them, not where they are defined, so each unit is compiled with -fdata-sections and linked (ld.lld -r) with target/<unit>.ld, which `samples slice` writes. Every unit's .data bytes now equal the target's. - Formatting in place: codegen writes src/ and the format step formats it there, with a stamp in stamp/, so there is one set of generated sources. Also: - The build runs without the dev shell's environment, as objdiff runs it: NEWLIB_INCLUDE and AURORA_SRC are cached (from the environment when set; configuring without them fails), and the LLVM tools and cargo are found by absolute path. Configuring through a symlinked path fails: the build then names files by two paths, and ninja reran CMake and rebuilt everything on every build. - User-side switches in the build's cache: MELEE_DAT_SAMPLES_ALL (archive globs) samples every typed object of those archives, and MELEE_DAT_SAMPLES_EXCLUDE (type globs) keeps types out of the samples. - objdiff is pinned to v3.8.2, which no longer needs the Cargo.lock patch. 11237 of 11239 samples match, as before; the DOL still matches. Co-authored-by: Claude Opus 5.5 <[email protected]>
148 lines
3.9 KiB
JSON
148 lines
3.9 KiB
JSON
{
|
|
"nodes": {
|
|
"aurora-src": {
|
|
"flake": false,
|
|
"locked": {
|
|
"lastModified": 1786866164,
|
|
"narHash": "sha256-jvnfdnRF5HtZ792lwUs0WYASwG/dHIkp9JaisLdntUc=",
|
|
"owner": "r-burns",
|
|
"repo": "aurora",
|
|
"rev": "e6a6f02ace4146e8a2f648d5c274dbb7dd89665c",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "r-burns",
|
|
"repo": "aurora",
|
|
"rev": "e6a6f02ace4146e8a2f648d5c274dbb7dd89665c",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"compilers": {
|
|
"flake": false,
|
|
"locked": {
|
|
"lastModified": 1763496356,
|
|
"narHash": "sha256-M+pz/o+3vt0yIGrRJuVs5Ga9QHtVAicWtu1SugbLWH4=",
|
|
"type": "tarball",
|
|
"url": "https://files.decomp.dev/compilers_20251118.zip"
|
|
},
|
|
"original": {
|
|
"type": "tarball",
|
|
"url": "https://files.decomp.dev/compilers_20251118.zip"
|
|
}
|
|
},
|
|
"decomp-toolkit": {
|
|
"flake": false,
|
|
"locked": {
|
|
"lastModified": 1772429804,
|
|
"narHash": "sha256-MMD6iY6IpRPycRCoSnXKkcwpVnrDTKw0EDqgyPOAjcM=",
|
|
"owner": "encounter",
|
|
"repo": "decomp-toolkit",
|
|
"rev": "e4219e7644fb7b96d920d5bc3d1d950f5569dcaf",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "encounter",
|
|
"ref": "v1.8.3",
|
|
"repo": "decomp-toolkit",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"nixpkgs": {
|
|
"locked": {
|
|
"lastModified": 1786599213,
|
|
"narHash": "sha256-yNJd40f11EzXBjSByCB7IPpeFFAdeoSKKM67dGkfFoU=",
|
|
"owner": "nixos",
|
|
"repo": "nixpkgs",
|
|
"rev": "0e251e24a4f24e036a084b6b4b2d2491af4167f4",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "nixos",
|
|
"ref": "nixos-unstable",
|
|
"repo": "nixpkgs",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"objdiff": {
|
|
"flake": false,
|
|
"locked": {
|
|
"lastModified": 1790698507,
|
|
"narHash": "sha256-fM7fQv0TguxohDvc3wDM9NEmnI2BfYkS1kYlQl3MOTM=",
|
|
"owner": "encounter",
|
|
"repo": "objdiff",
|
|
"rev": "eed74b99c4e94dd154882259931201badc6fdbd1",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "encounter",
|
|
"ref": "v3.8.2",
|
|
"repo": "objdiff",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"root": {
|
|
"inputs": {
|
|
"aurora-src": "aurora-src",
|
|
"compilers": "compilers",
|
|
"decomp-toolkit": "decomp-toolkit",
|
|
"nixpkgs": "nixpkgs",
|
|
"objdiff": "objdiff",
|
|
"sjiswrap": "sjiswrap",
|
|
"treefmt-nix": "treefmt-nix",
|
|
"wibo": "wibo"
|
|
}
|
|
},
|
|
"sjiswrap": {
|
|
"flake": false,
|
|
"locked": {
|
|
"narHash": "sha256-rtBcpKyACwu2vDsnrppfJntsx8rlhQemlisnB+w3kAQ=",
|
|
"type": "file",
|
|
"url": "https://github.com/encounter/sjiswrap/releases/download/v1.2.2/sjiswrap-windows-x86.exe"
|
|
},
|
|
"original": {
|
|
"type": "file",
|
|
"url": "https://github.com/encounter/sjiswrap/releases/download/v1.2.2/sjiswrap-windows-x86.exe"
|
|
}
|
|
},
|
|
"treefmt-nix": {
|
|
"inputs": {
|
|
"nixpkgs": [
|
|
"nixpkgs"
|
|
]
|
|
},
|
|
"locked": {
|
|
"lastModified": 1785945821,
|
|
"narHash": "sha256-NLSyTCW4K4ofhNBllt3omPasm6QpralXH1DBZOc91Dw=",
|
|
"owner": "numtide",
|
|
"repo": "treefmt-nix",
|
|
"rev": "ae7910970dddc408fe6ab1c8e4b277bb21d72dc0",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "numtide",
|
|
"repo": "treefmt-nix",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"wibo": {
|
|
"flake": false,
|
|
"locked": {
|
|
"lastModified": 1755273904,
|
|
"narHash": "sha256-PEqfvpS3p8Zooee7k59SN2UiSZWfITuB/VULIrfup4w=",
|
|
"owner": "decompals",
|
|
"repo": "wibo",
|
|
"rev": "6d0bff464ac998a9c68964e3bab13f9bd53ef329",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "decompals",
|
|
"ref": "0.7.0",
|
|
"repo": "wibo",
|
|
"type": "github"
|
|
}
|
|
}
|
|
},
|
|
"root": "root",
|
|
"version": 7
|
|
}
|