From b11ad15bb437a971d22580f5220f7e3a318ecc7b Mon Sep 17 00:00:00 2001 From: Synthasmagoria Date: Wed, 16 Sep 2026 12:08:35 +0200 Subject: [PATCH] Added tinyfiledialogs bindings and code --- config | 2 +- src/libraries/tinyfiledialogs/bindgen.sh | 10 + src/libraries/tinyfiledialogs/bindgen.sjson | 11 + src/libraries/tinyfiledialogs/build.sh | 38 + .../tinyfiledialogs/libtinyfiledialogs.a | Bin 0 -> 193762 bytes .../tinyfiledialogs/src/imports.odin | 11 + .../tinyfiledialogs/src/tinyfiledialogs.c | 8401 +++++++++++++++++ .../tinyfiledialogs/src/tinyfiledialogs.h | 314 + .../tinyfiledialogs/tinyfiledialogs.odin | 116 + 9 files changed, 8902 insertions(+), 1 deletion(-) create mode 100755 src/libraries/tinyfiledialogs/bindgen.sh create mode 100644 src/libraries/tinyfiledialogs/bindgen.sjson create mode 100755 src/libraries/tinyfiledialogs/build.sh create mode 100644 src/libraries/tinyfiledialogs/libtinyfiledialogs.a create mode 100644 src/libraries/tinyfiledialogs/src/imports.odin create mode 100644 src/libraries/tinyfiledialogs/src/tinyfiledialogs.c create mode 100644 src/libraries/tinyfiledialogs/src/tinyfiledialogs.h create mode 100644 src/libraries/tinyfiledialogs/tinyfiledialogs.odin diff --git a/config b/config index 5c38971..34e69d8 100644 --- a/config +++ b/config @@ -1 +1 @@ -{"window_size":[2502.00000000,1371.00000000]} \ No newline at end of file +{"window_size":[1423.00000000,720.00000000]} \ No newline at end of file diff --git a/src/libraries/tinyfiledialogs/bindgen.sh b/src/libraries/tinyfiledialogs/bindgen.sh new file mode 100755 index 0000000..09230ee --- /dev/null +++ b/src/libraries/tinyfiledialogs/bindgen.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +# Currently not cross compiling for windows and darwin +set -euo pipefail + +# This is supposed to use Karl Zylinski's odin-c-bindgen +# https://github.com/karl-zylinski/odin-c-bindgen +odin-c-bindgen bindgen.sjson +rm -f tinyfiledialogs.odin +cp bindgen_output/tinyfiledialogs.odin . +rm -r bindgen_output diff --git a/src/libraries/tinyfiledialogs/bindgen.sjson b/src/libraries/tinyfiledialogs/bindgen.sjson new file mode 100644 index 0000000..2417973 --- /dev/null +++ b/src/libraries/tinyfiledialogs/bindgen.sjson @@ -0,0 +1,11 @@ +inputs = [ + "src/tinyfiledialogs.h" +] + +imports_file = "src/imports.odin" + +output_folder = "bindgen_output" + +package_name = "tinyfiledialogs" + +remove_function_prefix = "tinyfd_" diff --git a/src/libraries/tinyfiledialogs/build.sh b/src/libraries/tinyfiledialogs/build.sh new file mode 100755 index 0000000..cfee9f0 --- /dev/null +++ b/src/libraries/tinyfiledialogs/build.sh @@ -0,0 +1,38 @@ +windows_compiler="x86_64-w64-mingw32-gcc" +emsdk_env="$HOME/programs/emsdk/emsdk_env.sh" + +if [[ -v 1 ]]; then + if [ "$1" = "DEBUG" ]; then + CFLAGS="-g" + elif [ "$1" = "RELEASE" ]; then + CFLAGS="-Os -ffunction-sections -fdata-sections" + else + echo "Usage: