mkxp-z/libretro
刘皓 fd822ea498
Don't seed the Ruby PRNG with the system time in libretro builds
This allows libretro save states to actually behave the same every time
you load them with respect to when randomly generated events occur and
the random movements that NPCs make.
2025-07-06 12:27:46 -04:00
..
.gitignore Change some of the nomenclature in libretro builds 2025-02-14 12:05:30 -05:00
indexer.cpp Read in std::ios::binary mode in indexer.cpp 2025-05-30 17:54:06 -04:00
link.T Change some of the nomenclature in libretro builds 2025-02-14 12:05:30 -05:00
Makefile Don't seed the Ruby PRNG with the system time in libretro builds 2025-07-06 12:27:46 -04:00
meson-3ds.txt Move Meson cross files for static libretro builds into libretro directory 2025-06-04 00:12:55 -04:00
meson-emscripten.txt Move Meson cross files for static libretro builds into libretro directory 2025-06-04 00:12:55 -04:00
meson-ps3.txt Move Meson cross files for static libretro builds into libretro directory 2025-06-04 00:12:55 -04:00
meson-switch.txt Move Meson cross files for static libretro builds into libretro directory 2025-06-04 00:12:55 -04:00
meson-vita.txt Move Meson cross files for static libretro builds into libretro directory 2025-06-04 00:12:55 -04:00
meson-wiiu.txt Move Meson cross files for static libretro builds into libretro directory 2025-06-04 00:12:55 -04:00
README.md Remove base ruby build from libretro/Makefile 2025-06-15 22:36:24 -04:00
ruby-bindings.h Fix type of mkxp_sandbox_cwd in libretro/ruby-bindings.h 2025-05-24 10:11:21 -04:00
ruby-compat.patch Apply patches from https://github.com/mkxp-z/ruby in libretro builds 2025-04-10 14:00:32 -04:00
ruby-jump-buffer.patch Fix memory leak in cont_restore_thread in Ruby in libretro builds 2025-04-21 11:16:21 -04:00
ruby-prng-time.patch Don't seed the Ruby PRNG with the system time in libretro builds 2025-07-06 12:27:46 -04:00
ruby-stack-pointer.patch Rework the patches for Ruby WASI memory leaks 2025-04-20 11:56:50 -04:00
sandbox-bindgen.rb Remove designated initializers 2025-05-27 21:28:29 -04:00

The build process for the libretro core is divided into two stages.

Stage 1

All the files produced by this stage are platform-agnostic, so you can run this build stage on any computer, regardless of which operating system or CPU architecture the libretro core is for.

Required software:

Go to the directory that this README.md is in and run this command, filling in the paths to WASI SDK, wasm-opt from Binaryen and ctags from Universal Ctags or Exuberant Ctags accordingly:

make WASI_SDK=/path/to/wasi-sdk WASM_OPT=/path/to/binaryen/bin/wasm-opt CTAGS=/path/to/ctags

This will produce the directory "libretro/build/libretro-stage1".

Stage 2

This stage produces the actual core file.

Required software:

No software libraries are required other than the system libraries.

Go to the root directory of this repository and run:

meson setup build -Dlibretro=true
cd build
ninja