mirror of
https://github.com/Xevion/rust-sdl2-emscripten.git
synced 2025-12-07 07:16:18 -06:00
Add README, improve build script help
This commit is contained in:
19
README.md
Normal file
19
README.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# rust-sdl2-emscripten
|
||||
|
||||
This is an experimental repository while testing a Rust + SDL2 project built with Emscripten.
|
||||
|
||||
- [hello-rust-sdl2-wasm](https://github.com/awwsmm/hello-rust-sdl2-wasm) - A bit of a weird repository, I'm not sure that the creator knows Rust that well, but it compiles. Note that the `asmjs-unknown-emscripten` target is deprecated, and you should use `wasm32-unknown-emscripten` instead. You'll need to change all the files, flags etc. to make it match.
|
||||
|
||||
- [build.sh](./scripts/build.sh) - One of the core files in this repository, it builds the project with Emscripten. Note all the flags available for modifying the behavior of the build.
|
||||
|
||||
### Goals
|
||||
|
||||
- [X] Reproducible SDL2 Emscripten Builds
|
||||
- This ensures that the project can iterate safely and be inspected in a safe environment, free from errors. Helps ensure errors are isolated to the machine or build script.
|
||||
- [ ] SDL2 Image, TFF, Mixer Usage
|
||||
- All of these libraries are common and necessary for a lot of projects. Ensuring they work is important.
|
||||
- [ ] Example of External Javascript Interop
|
||||
- The basic ability to provide some kind of Javascript binding would be important for a decent web-based project or game.
|
||||
- The ability to use localStorage, fetch, or some browser-only API would be important.
|
||||
- [ ] Windows, MacOS, Linux Builds
|
||||
- Simple ability to provide multi-platform builds in addition to the WASM build.
|
||||
@@ -7,14 +7,19 @@ skip_emsdk='false'
|
||||
clean='false'
|
||||
|
||||
print_usage() {
|
||||
printf "Usage: -r RELEASE -d DEBUG -s SERVE\n"
|
||||
printf "Usage: -erdsc\n"
|
||||
printf " -e: Skip EMSDK setup (GitHub workflow only)\n"
|
||||
printf " -r: Build in release mode\n"
|
||||
printf " -d: Build in debug mode\n"
|
||||
printf " -s: Serve the WASM files once built\n"
|
||||
printf " -c: Clean the target/dist directory\n"
|
||||
}
|
||||
|
||||
while getopts 'erdsc' flag; do
|
||||
case "${flag}" in
|
||||
e) skip_emsdk='true' ;;
|
||||
r) release='true' ;;
|
||||
d) release='false' ;;
|
||||
d) release='false' ;; # doesn't actually do anything, but last flag wins
|
||||
s) serve='true' ;;
|
||||
c) clean='true' ;;
|
||||
*)
|
||||
|
||||
Reference in New Issue
Block a user