eden/tools
crueter fe8017734b
[cmake, externals] android x86_64 support (#3086)
Updates all of our bundled CI deps to support android x86_64, adds a
build flavor thereof (`chromeOS`), and also adds sirit mingw support.

The new FFmpeg package is built in a much better way that actually makes
it identically built to the other CI packages, meaning we now have real
8.0.0 support, no need for libvpx/cpu_features/all that other crap.
PLUS, we can now statically link it! Hooray! It's also built with
MediaCodec support so in the future we can work on that.

Rewrote the android build script too, plus added a copyFlavorTypeOutput
target that assembles and copies the APK. The code behind it sucks
because I'm not great with Gradle but hey, it works.

Testers: please test everything related to video decoding. VP9 and h264, games that normally suck with their prerendered stuff, make sure I didn't nuke it to oblivion, etc.

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3086
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2025-12-03 06:40:11 +01:00
..
cpm [cmake, externals] android x86_64 support (#3086) 2025-12-03 06:40:11 +01:00
translations [ci] push sources on every master push (#3007) 2025-11-12 04:38:32 +01:00
windows [tools] MSVC environment loader, POSIX vulkan/MSVC install scripts (#2993) 2025-11-15 17:53:13 +01:00
README.md [tools, hle/kernel] generate condensed version of svc.cpp; move svc_generator.py and generate_converters.py to tools (#2791) 2025-11-07 17:00:53 +01:00
VectorDrawable2Svg.py [android] Android 7.0 support (#2654) 2025-10-14 20:47:17 +02:00
clang-format.sh [tools, cmake] refactor: update/hash check scripts, use tags for some more deps, proper CPMUtil separation (#2666) 2025-10-05 03:04:53 +02:00
cpm-fetch-all.sh [license-header] refactor: excludes, updating, better logic (#2780) 2025-10-20 02:59:43 +02:00
dtrace-tool.pl [docs, tools] Add 3rd party links, debug and testing guidelines; add extra tools for maintaining strings, rewrite lanczos generator in perl (#2749) 2025-10-20 14:25:03 +02:00
dtrace-tool.sh [tools, cmake] refactor: update/hash check scripts, use tags for some more deps, proper CPMUtil separation (#2666) 2025-10-05 03:04:53 +02:00
find-unused-strings.sh [ci, tools] working find-unused-strings, android strings CI (#3036) 2025-11-17 15:52:30 +01:00
generate-legacy-icons.sh [ci, tools] working find-unused-strings, android strings CI (#3036) 2025-11-17 15:52:30 +01:00
generate_converters.py [tools, hle/kernel] generate condensed version of svc.cpp; move svc_generator.py and generate_converters.py to tools (#2791) 2025-11-07 17:00:53 +01:00
lanczos-gen.pl [docs, tools] Add 3rd party links, debug and testing guidelines; add extra tools for maintaining strings, rewrite lanczos generator in perl (#2749) 2025-10-20 14:25:03 +02:00
llvmpipe-run.sh [tools, cmake] refactor: update/hash check scripts, use tags for some more deps, proper CPMUtil separation (#2666) 2025-10-05 03:04:53 +02:00
optimize-assets.sh [ci, tools] working find-unused-strings, android strings CI (#3036) 2025-11-17 15:52:30 +01:00
shellcheck.sh [cmake, tools, docs] Update CPMUtil (#2790) 2025-10-20 03:43:15 +02:00
stale-translations.sh [ci, tools] working find-unused-strings, android strings CI (#3036) 2025-11-17 15:52:30 +01:00
svc_generator.py [hle/kernel] allow primitive tracing of svcs on debug builds (#3005) 2025-11-18 00:17:15 +01:00
unused-strings.sh [tools, android/res] Remove unused strings, update unused-strings.sh to work on POSIX shells (#2879) 2025-10-29 03:26:09 +01:00
update-cpm.sh [cmake, tools, docs] Update CPMUtil (#2790) 2025-10-20 03:43:15 +02:00
update-icons.sh [dist] New adaptive icons (#3034) 2025-11-20 01:18:48 +01:00

README.md

Tools

Tools for Eden and other subprojects.

Third-Party

Eden

  • generate_converters.py: Generates converters for given formats of textures (C++ helper).
  • svc_generator.py: Generates the files src/core/hle/kernel/svc.cpp and src/core/hle/kernel/svc.h based off prototypes.
  • shellcheck.sh: Ensure POSIX compliance (and syntax sanity) for all tools in this directory and subdirectories.
  • llvmpipe-run.sh: Sets environment variables needed to run any command (or Eden) with llvmpipe.
  • optimize-assets.sh: Optimizes PNG assets with OptiPng.
  • update-cpm.sh: Updates CPM.cmake to the latest version.
  • update-icons.sh: Rebuild all icons (macOS, Windows, bitmaps) based on the master SVG file (dist/dev.eden_emu.eden.svg)
    • Also optimizes the master SVG
    • Requires: png2icns (libicns), ImageMagick, svgo
  • dtrace-tool.sh
  • lanczos-gen.pl: Generates constants for the Lanczos filter.
  • clang-format.sh: Runs clang-format on the entire codebase.
    • Requires: clang
  • find-unused-strings.sh: Find any unused strings in the Android app (XML -> Kotlin).

Android

It's recommended to run these scritps after almost any Android change, as they are relatively fast and important both for APK bloat and CI.

  • unused-strings.sh: Finds unused strings in strings.xml files.
  • stale-translations.sh: Finds translated strings that aren't present in the source strings.xml file.

Translations