From c16a2d21b537aa9d21c5f11ff39a1f4c926baa9a Mon Sep 17 00:00:00 2001 From: Nazari Gonzalez Date: Sun, 28 Jul 2024 07:23:49 +0100 Subject: Added support for emscripten on the nim's gen script --- bindgen/gen_nim.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/bindgen/gen_nim.py b/bindgen/gen_nim.py index 0468dfb3..59d2d42f 100644 --- a/bindgen/gen_nim.py +++ b/bindgen/gen_nim.py @@ -489,27 +489,40 @@ def gen_imports(inp, dep_prefixes): def gen_extra(inp): if inp['prefix'] in ['sg_']: # FIXME: remove when sokol-shdc has been integrated! - l('when defined gl:') + l('when defined emscripten:') l(' const gl* = true') l(' const d3d11* = false') l(' const metal* = false') + l(' const emscripten* = true') + l('elif when defined gl:') + l(' const gl* = true') + l(' const d3d11* = false') + l(' const metal* = false') + l(' const emscripten* = false') l('elif defined windows:') l(' const gl* = false') l(' const d3d11* = true') l(' const metal* = false') + l(' const emscripten* = false') l('elif defined macosx:') l(' const gl* = false') l(' const d3d11* = false') l(' const metal* = true') + l(' const emscripten* = false') l('elif defined linux:') l(' const gl* = true') l(' const d3d11* = false') l(' const metal* = false') + l(' const emscripten* = false') l('else:') l(' error("unsupported platform")') l('') if inp['prefix'] in ['sg_', 'sapp_']: - l('when defined windows:') + l('when defined emscripten:') + l(' {.passl:"-lGL -ldl".}') + l(' {.passc:"-DSOKOL_GLES3".}') + l(' {.passL: "-s USE_WEBGL2=1".}') + l('elif defined windows:') l(' when not defined vcc:') l(' {.passl:"-lkernel32 -luser32 -lshell32 -lgdi32".}') l(' when defined gl:') @@ -540,7 +553,8 @@ def gen_extra(inp): l('elif defined macosx:') l(' {.passl:"-framework AudioToolbox".}') l('elif defined linux:') - l(' {.passl:"-lasound -lm -lpthread".}') + l(' when not defined emscripten:') + l(' {.passl:"-lasound -lm -lpthread".}') l('else:') l(' error("unsupported platform")') l('') -- cgit v1.2.3