koffi 2.1.2 → 2.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +44 -68
- package/{LICENSE.txt → src/cnoke/LICENSE.txt} +0 -0
- package/src/cnoke/README.md +97 -0
- package/src/cnoke/assets/FindCNoke.cmake +71 -0
- package/src/cnoke/assets/win_delay_hook.c +34 -0
- package/src/cnoke/cnoke.js +968 -0
- package/src/cnoke/package.json +25 -0
- package/{vendor → src/core}/libcc/libcc.cc +38 -11
- package/{vendor → src/core}/libcc/libcc.hh +4 -2
- package/{CMakeLists.txt → src/koffi/CMakeLists.txt} +3 -3
- package/{ChangeLog.md → src/koffi/ChangeLog.md} +17 -0
- package/src/koffi/LICENSE.txt +661 -0
- package/{README.md → src/koffi/README.md} +0 -0
- package/{benchmark → src/koffi/benchmark}/CMakeLists.txt +9 -6
- package/{benchmark → src/koffi/benchmark}/atoi_koffi.js +0 -0
- package/{benchmark → src/koffi/benchmark}/atoi_napi.cc +1 -1
- package/{benchmark → src/koffi/benchmark}/atoi_napi.js +0 -0
- package/{benchmark → src/koffi/benchmark}/atoi_node_ffi.js +0 -0
- package/src/koffi/benchmark/benchmark.js +118 -0
- package/src/koffi/benchmark/rand_koffi.js +52 -0
- package/src/koffi/benchmark/rand_napi.cc +69 -0
- package/src/koffi/benchmark/rand_napi.js +47 -0
- package/src/koffi/benchmark/rand_node_ffi.js +55 -0
- package/{benchmark → src/koffi/benchmark}/raylib_cc.cc +2 -2
- package/{benchmark → src/koffi/benchmark}/raylib_cc.js +0 -0
- package/{benchmark → src/koffi/benchmark}/raylib_koffi.js +0 -0
- package/{benchmark → src/koffi/benchmark}/raylib_node_ffi.js +0 -0
- package/{benchmark → src/koffi/benchmark}/raylib_node_raylib.js +0 -0
- package/src/koffi/build/2.1.4/koffi_darwin_arm64.tar.gz +0 -0
- package/src/koffi/build/2.1.4/koffi_darwin_x64.tar.gz +0 -0
- package/src/koffi/build/2.1.4/koffi_freebsd_arm64.tar.gz +0 -0
- package/src/koffi/build/2.1.4/koffi_freebsd_ia32.tar.gz +0 -0
- package/src/koffi/build/2.1.4/koffi_freebsd_x64.tar.gz +0 -0
- package/src/koffi/build/2.1.4/koffi_linux_arm32hf.tar.gz +0 -0
- package/src/koffi/build/2.1.4/koffi_linux_arm64.tar.gz +0 -0
- package/src/koffi/build/2.1.4/koffi_linux_ia32.tar.gz +0 -0
- package/src/koffi/build/2.1.4/koffi_linux_riscv64hf64.tar.gz +0 -0
- package/src/koffi/build/2.1.4/koffi_linux_x64.tar.gz +0 -0
- package/src/koffi/build/2.1.4/koffi_openbsd_ia32.tar.gz +0 -0
- package/src/koffi/build/2.1.4/koffi_openbsd_x64.tar.gz +0 -0
- package/src/koffi/build/2.1.4/koffi_win32_arm64.tar.gz +0 -0
- package/src/koffi/build/2.1.4/koffi_win32_ia32.tar.gz +0 -0
- package/src/koffi/build/2.1.4/koffi_win32_x64.tar.gz +0 -0
- package/{doc → src/koffi/doc}/Makefile +0 -0
- package/{doc → src/koffi/doc}/benchmarks.md +0 -0
- package/{doc → src/koffi/doc}/benchmarks.xlsx +0 -0
- package/{doc → src/koffi/doc}/changes.md +0 -0
- package/{doc → src/koffi/doc}/conf.py +0 -0
- package/{doc → src/koffi/doc}/contribute.md +5 -5
- package/{doc → src/koffi/doc}/functions.md +0 -0
- package/{doc → src/koffi/doc}/index.rst +1 -1
- package/{doc → src/koffi/doc}/make.bat +0 -0
- package/{doc → src/koffi/doc}/memory.md +1 -0
- package/{doc → src/koffi/doc}/platforms.md +0 -0
- package/{doc → src/koffi/doc}/poetry.lock +0 -0
- package/{doc → src/koffi/doc}/pyproject.toml +0 -0
- package/{doc → src/koffi/doc}/start.md +0 -0
- package/{doc → src/koffi/doc}/static/bench_linux.png +0 -0
- package/{doc → src/koffi/doc}/static/bench_windows.png +0 -0
- package/{doc → src/koffi/doc}/static/custom.css +0 -0
- package/{doc → src/koffi/doc}/static/perf_linux_20220623.png +0 -0
- package/{doc → src/koffi/doc}/static/perf_linux_20220623_2.png +0 -0
- package/{doc → src/koffi/doc}/static/perf_linux_20220627.png +0 -0
- package/{doc → src/koffi/doc}/static/perf_linux_20220628.png +0 -0
- package/{doc → src/koffi/doc}/static/perf_linux_20220812.png +0 -0
- package/{doc → src/koffi/doc}/static/perf_windows_20220623.png +0 -0
- package/{doc → src/koffi/doc}/static/perf_windows_20220623_2.png +0 -0
- package/{doc → src/koffi/doc}/static/perf_windows_20220627.png +0 -0
- package/{doc → src/koffi/doc}/static/perf_windows_20220628.png +0 -0
- package/{doc → src/koffi/doc}/static/perf_windows_20220812.png +0 -0
- package/{doc → src/koffi/doc}/templates/badges.html +1 -1
- package/{doc → src/koffi/doc}/types.md +0 -0
- package/src/koffi/qemu/qemu/.gitkeep +0 -0
- package/{qemu → src/koffi/qemu}/qemu.js +217 -131
- package/{qemu → src/koffi/qemu}/registry/machines.json +24 -0
- package/{qemu → src/koffi/qemu}/registry/sha256sum.txt +0 -0
- package/src/{abi_arm32.cc → koffi/src/abi_arm32.cc} +1 -1
- package/src/{abi_arm32_fwd.S → koffi/src/abi_arm32_fwd.S} +0 -0
- package/src/{abi_arm64.cc → koffi/src/abi_arm64.cc} +1 -1
- package/src/{abi_arm64_fwd.S → koffi/src/abi_arm64_fwd.S} +0 -0
- package/src/{abi_arm64_fwd.asm → koffi/src/abi_arm64_fwd.asm} +0 -0
- package/src/{abi_riscv64.cc → koffi/src/abi_riscv64.cc} +1 -1
- package/src/{abi_riscv64_fwd.S → koffi/src/abi_riscv64_fwd.S} +0 -0
- package/src/{abi_x64_sysv.cc → koffi/src/abi_x64_sysv.cc} +1 -1
- package/src/{abi_x64_sysv_fwd.S → koffi/src/abi_x64_sysv_fwd.S} +0 -0
- package/src/{abi_x64_win.cc → koffi/src/abi_x64_win.cc} +1 -1
- package/src/{abi_x64_win_fwd.asm → koffi/src/abi_x64_win_fwd.asm} +0 -0
- package/src/{abi_x86.cc → koffi/src/abi_x86.cc} +1 -1
- package/src/{abi_x86_fwd.S → koffi/src/abi_x86_fwd.S} +0 -0
- package/src/{abi_x86_fwd.asm → koffi/src/abi_x86_fwd.asm} +0 -0
- package/src/{call.cc → koffi/src/call.cc} +1 -1
- package/src/{call.hh → koffi/src/call.hh} +2 -2
- package/src/{ffi.cc → koffi/src/ffi.cc} +36 -20
- package/src/{ffi.hh → koffi/src/ffi.hh} +6 -4
- package/src/{index.js → koffi/src/index.js} +0 -0
- package/src/{parser.cc → koffi/src/parser.cc} +1 -1
- package/src/{parser.hh → koffi/src/parser.hh} +1 -1
- package/src/{util.cc → koffi/src/util.cc} +1 -1
- package/src/{util.hh → koffi/src/util.hh} +1 -1
- package/{test → src/koffi/test}/CMakeLists.txt +14 -15
- package/{test → src/koffi/test}/async.js +0 -0
- package/{test → src/koffi/test}/callbacks.js +0 -0
- package/{test → src/koffi/test}/misc.c +13 -0
- package/{test → src/koffi/test}/misc.def +0 -0
- package/{test → src/koffi/test}/raylib.js +0 -0
- package/{test → src/koffi/test}/sqlite.js +1 -1
- package/{test → src/koffi/test}/sync.js +17 -0
- package/vendor/brotli/BUILD +144 -0
- package/vendor/brotli/CMakeLists.txt +421 -0
- package/vendor/brotli/CONTRIBUTING.md +27 -0
- package/vendor/brotli/LICENSE +19 -0
- package/vendor/brotli/MANIFEST.in +17 -0
- package/vendor/brotli/Makefile +55 -0
- package/vendor/brotli/Makefile.am +38 -0
- package/vendor/brotli/README +15 -0
- package/vendor/brotli/README.md +104 -0
- package/vendor/brotli/WORKSPACE +21 -0
- package/vendor/brotli/bootstrap +35 -0
- package/vendor/brotli/c/common/constants.c +15 -0
- package/vendor/brotli/c/common/constants.h +200 -0
- package/vendor/brotli/c/common/context.c +156 -0
- package/vendor/brotli/c/common/context.h +113 -0
- package/vendor/brotli/c/common/dictionary.c +5914 -0
- package/vendor/brotli/c/common/dictionary.h +64 -0
- package/vendor/brotli/c/common/platform.c +22 -0
- package/vendor/brotli/c/common/platform.h +594 -0
- package/vendor/brotli/c/common/transform.c +291 -0
- package/vendor/brotli/c/common/transform.h +85 -0
- package/vendor/brotli/c/common/version.h +26 -0
- package/vendor/brotli/c/dec/bit_reader.c +76 -0
- package/vendor/brotli/c/dec/bit_reader.h +351 -0
- package/vendor/brotli/c/dec/decode.c +2608 -0
- package/vendor/brotli/c/dec/huffman.c +339 -0
- package/vendor/brotli/c/dec/huffman.h +121 -0
- package/vendor/brotli/c/dec/prefix.h +732 -0
- package/vendor/brotli/c/dec/state.c +159 -0
- package/vendor/brotli/c/dec/state.h +365 -0
- package/vendor/brotli/c/enc/backward_references.c +145 -0
- package/vendor/brotli/c/enc/backward_references.h +39 -0
- package/vendor/brotli/c/enc/backward_references_hq.c +843 -0
- package/vendor/brotli/c/enc/backward_references_hq.h +95 -0
- package/vendor/brotli/c/enc/backward_references_inc.h +163 -0
- package/vendor/brotli/c/enc/bit_cost.c +35 -0
- package/vendor/brotli/c/enc/bit_cost.h +63 -0
- package/vendor/brotli/c/enc/bit_cost_inc.h +127 -0
- package/vendor/brotli/c/enc/block_encoder_inc.h +34 -0
- package/vendor/brotli/c/enc/block_splitter.c +194 -0
- package/vendor/brotli/c/enc/block_splitter.h +51 -0
- package/vendor/brotli/c/enc/block_splitter_inc.h +440 -0
- package/vendor/brotli/c/enc/brotli_bit_stream.c +1314 -0
- package/vendor/brotli/c/enc/brotli_bit_stream.h +84 -0
- package/vendor/brotli/c/enc/cluster.c +56 -0
- package/vendor/brotli/c/enc/cluster.h +48 -0
- package/vendor/brotli/c/enc/cluster_inc.h +320 -0
- package/vendor/brotli/c/enc/command.c +28 -0
- package/vendor/brotli/c/enc/command.h +190 -0
- package/vendor/brotli/c/enc/compress_fragment.c +790 -0
- package/vendor/brotli/c/enc/compress_fragment.h +61 -0
- package/vendor/brotli/c/enc/compress_fragment_two_pass.c +645 -0
- package/vendor/brotli/c/enc/compress_fragment_two_pass.h +54 -0
- package/vendor/brotli/c/enc/dictionary_hash.c +1846 -0
- package/vendor/brotli/c/enc/dictionary_hash.h +25 -0
- package/vendor/brotli/c/enc/encode.c +1927 -0
- package/vendor/brotli/c/enc/encoder_dict.c +33 -0
- package/vendor/brotli/c/enc/encoder_dict.h +43 -0
- package/vendor/brotli/c/enc/entropy_encode.c +503 -0
- package/vendor/brotli/c/enc/entropy_encode.h +122 -0
- package/vendor/brotli/c/enc/entropy_encode_static.h +539 -0
- package/vendor/brotli/c/enc/fast_log.c +105 -0
- package/vendor/brotli/c/enc/fast_log.h +66 -0
- package/vendor/brotli/c/enc/find_match_length.h +79 -0
- package/vendor/brotli/c/enc/hash.h +488 -0
- package/vendor/brotli/c/enc/hash_composite_inc.h +125 -0
- package/vendor/brotli/c/enc/hash_forgetful_chain_inc.h +293 -0
- package/vendor/brotli/c/enc/hash_longest_match64_inc.h +267 -0
- package/vendor/brotli/c/enc/hash_longest_match_inc.h +262 -0
- package/vendor/brotli/c/enc/hash_longest_match_quickly_inc.h +266 -0
- package/vendor/brotli/c/enc/hash_rolling_inc.h +212 -0
- package/vendor/brotli/c/enc/hash_to_binary_tree_inc.h +329 -0
- package/vendor/brotli/c/enc/histogram.c +100 -0
- package/vendor/brotli/c/enc/histogram.h +63 -0
- package/vendor/brotli/c/enc/histogram_inc.h +51 -0
- package/vendor/brotli/c/enc/literal_cost.c +175 -0
- package/vendor/brotli/c/enc/literal_cost.h +30 -0
- package/vendor/brotli/c/enc/memory.c +170 -0
- package/vendor/brotli/c/enc/memory.h +114 -0
- package/vendor/brotli/c/enc/metablock.c +663 -0
- package/vendor/brotli/c/enc/metablock.h +105 -0
- package/vendor/brotli/c/enc/metablock_inc.h +183 -0
- package/vendor/brotli/c/enc/params.h +46 -0
- package/vendor/brotli/c/enc/prefix.h +53 -0
- package/vendor/brotli/c/enc/quality.h +165 -0
- package/vendor/brotli/c/enc/ringbuffer.h +167 -0
- package/vendor/brotli/c/enc/static_dict.c +486 -0
- package/vendor/brotli/c/enc/static_dict.h +40 -0
- package/vendor/brotli/c/enc/static_dict_lut.h +5864 -0
- package/vendor/brotli/c/enc/utf8_util.c +85 -0
- package/vendor/brotli/c/enc/utf8_util.h +32 -0
- package/vendor/brotli/c/enc/write_bits.h +87 -0
- package/vendor/brotli/c/include/brotli/decode.h +344 -0
- package/vendor/brotli/c/include/brotli/encode.h +448 -0
- package/vendor/brotli/c/include/brotli/port.h +288 -0
- package/vendor/brotli/c/include/brotli/types.h +83 -0
- package/vendor/brotli/c/tools/brotli.c +1116 -0
- package/vendor/brotli/c/tools/brotli.md +107 -0
- package/vendor/brotli/compiler_config_setting.bzl +28 -0
- package/vendor/brotli/configure +8 -0
- package/vendor/brotli/configure-cmake +318 -0
- package/vendor/brotli/configure.ac +14 -0
- package/vendor/brotli/docs/brotli.1 +132 -0
- package/vendor/brotli/docs/constants.h.3 +47 -0
- package/vendor/brotli/docs/decode.h.3 +415 -0
- package/vendor/brotli/docs/encode.h.3 +586 -0
- package/vendor/brotli/docs/types.h.3 +117 -0
- package/vendor/brotli/premake5.lua +78 -0
- package/vendor/brotli/python/Makefile +57 -0
- package/vendor/brotli/python/README.md +54 -0
- package/vendor/brotli/python/_brotli.cc +753 -0
- package/vendor/brotli/python/bro.py +160 -0
- package/vendor/brotli/python/brotli.py +56 -0
- package/vendor/brotli/python/tests/__init__.py +0 -0
- package/vendor/brotli/python/tests/_test_utils.py +112 -0
- package/vendor/brotli/python/tests/bro_test.py +102 -0
- package/vendor/brotli/python/tests/compress_test.py +41 -0
- package/vendor/brotli/python/tests/compressor_test.py +94 -0
- package/vendor/brotli/python/tests/decompress_test.py +42 -0
- package/vendor/brotli/python/tests/decompressor_test.py +59 -0
- package/vendor/brotli/scripts/libbrotlicommon.pc.in +11 -0
- package/vendor/brotli/scripts/libbrotlidec.pc.in +12 -0
- package/vendor/brotli/scripts/libbrotlienc.pc.in +12 -0
- package/vendor/brotli/scripts/sources.lst +104 -0
- package/vendor/brotli/setup.cfg +5 -0
- package/vendor/brotli/setup.py +293 -0
- package/vendor/brotli/tests/Makefile +17 -0
- package/vendor/brotli/tests/compatibility_test.sh +25 -0
- package/vendor/brotli/tests/roundtrip_test.sh +36 -0
- package/vendor/brotli/tests/run-compatibility-test.cmake +31 -0
- package/vendor/brotli/tests/run-roundtrip-test.cmake +36 -0
- package/vendor/brotli/tests/testdata/empty +0 -0
- package/vendor/brotli/tests/testdata/empty.compressed +1 -0
- package/vendor/brotli/tests/testdata/ukkonooa +1 -0
- package/vendor/brotli/tests/testdata/ukkonooa.compressed +0 -0
- package/vendor/miniz/ChangeLog.md +235 -0
- package/vendor/miniz/LICENSE +22 -0
- package/vendor/miniz/examples/example1.c +105 -0
- package/vendor/miniz/examples/example2.c +164 -0
- package/vendor/miniz/examples/example3.c +269 -0
- package/vendor/miniz/examples/example4.c +102 -0
- package/vendor/miniz/examples/example5.c +327 -0
- package/vendor/miniz/examples/example6.c +166 -0
- package/vendor/miniz/miniz.c +7835 -0
- package/vendor/miniz/miniz.h +1422 -0
- package/vendor/miniz/readme.md +46 -0
- package/vendor/{sqlite3 → sqlite3mc}/sqlite3ext.h +18 -2
- package/vendor/{sqlite3/sqlite3.c → sqlite3mc/sqlite3mc.c} +60872 -4890
- package/vendor/sqlite3mc/sqlite3mc.def +312 -0
- package/vendor/{sqlite3/sqlite3.h → sqlite3mc/sqlite3mc.h} +480 -36
- package/build/qemu/2.1.2/koffi_darwin_arm64.tar.gz +0 -0
- package/build/qemu/2.1.2/koffi_darwin_x64.tar.gz +0 -0
- package/build/qemu/2.1.2/koffi_freebsd_arm64.tar.gz +0 -0
- package/build/qemu/2.1.2/koffi_freebsd_ia32.tar.gz +0 -0
- package/build/qemu/2.1.2/koffi_freebsd_x64.tar.gz +0 -0
- package/build/qemu/2.1.2/koffi_linux_arm32hf.tar.gz +0 -0
- package/build/qemu/2.1.2/koffi_linux_arm64.tar.gz +0 -0
- package/build/qemu/2.1.2/koffi_linux_ia32.tar.gz +0 -0
- package/build/qemu/2.1.2/koffi_linux_riscv64hf64.tar.gz +0 -0
- package/build/qemu/2.1.2/koffi_linux_x64.tar.gz +0 -0
- package/build/qemu/2.1.2/koffi_openbsd_ia32.tar.gz +0 -0
- package/build/qemu/2.1.2/koffi_openbsd_x64.tar.gz +0 -0
- package/build/qemu/2.1.2/koffi_win32_arm64.tar.gz +0 -0
- package/build/qemu/2.1.2/koffi_win32_ia32.tar.gz +0 -0
- package/build/qemu/2.1.2/koffi_win32_x64.tar.gz +0 -0
- package/vendor/_patches/glfw_001_fix_openbsd_xlib_soname.patch +0 -145
- package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.NativeActivity/raylib_android.NativeActivity.vcxproj +0 -226
- package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.NativeActivity/raylib_android.NativeActivity.vcxproj.filters +0 -10
- package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.NativeActivity/raylib_android.NativeActivity.vcxproj.user +0 -4
- package/vendor/raylib/projects/VS2019-Android/raylib_android.sln +0 -75
- package/vendor/raylib/projects/VS2022/examples/audio_module_playing.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/audio_multichannel_sound.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/audio_music_stream.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/audio_raw_stream.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/audio_sound_loading.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/audio_stream_effects.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/core_2d_camera.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/core_2d_camera_mouse_zoom.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/core_2d_camera_platformer.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/core_3d_camera_first_person.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/core_3d_camera_free.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/core_3d_camera_mode.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/core_3d_picking.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/core_basic_screen_manager.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/core_basic_window.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/core_custom_frame_control.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/core_custom_logging.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/core_drop_files.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/core_input_gamepad.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/core_input_gestures.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/core_input_keys.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/core_input_mouse.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/core_input_mouse_wheel.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/core_input_multitouch.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/core_loading_thread.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/core_random_values.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/core_scissor_test.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/core_split_screen.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/core_storage_values.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/core_vr_simulator.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/core_window_flags.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/core_window_letterbox.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/core_window_should_close.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/core_world_screen.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/easings_testbed.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/embedded_files_loading.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_animation.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_billboard.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_box_collisions.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_cubicmap.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_first_person_maze.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_geometric_shapes.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_heightmap.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_loading.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_loading_gltf.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_loading_vox.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_mesh_generation.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_mesh_picking.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_orthographic_projection.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_rlgl_solar_system.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_skybox.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_waving_cubes.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_yaw_pitch_roll.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/rlgl_compute_shaders.vcxproj +0 -391
- package/vendor/raylib/projects/VS2022/examples/rlgl_standalone.vcxproj +0 -391
- package/vendor/raylib/projects/VS2022/examples/shaders_basic_lighting.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_custom_uniform.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_eratosthenes.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_fog.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_hot_reloading.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_julia_set.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_mesh_instancing.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_model_shader.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_multi_sample2d.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_palette_switch.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_postprocessing.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_raymarching.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_shapes_textures.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_simple_mask.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_spotlight.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_texture_drawing.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_texture_waves.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shapes_basic_shapes.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shapes_bouncing_ball.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shapes_collision_area.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shapes_colors_palette.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shapes_draw_circle_sector.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shapes_draw_rectangle_rounded.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shapes_draw_ring.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shapes_easings_ball_anim.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shapes_easings_box_anim.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shapes_easings_rectangle_array.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shapes_following_eyes.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shapes_lines_bezier.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shapes_logo_raylib.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shapes_logo_raylib_anim.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shapes_rectangle_scaling.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/text_codepoints_loading.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/text_draw_3d.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/text_font_filters.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/text_font_loading.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/text_font_sdf.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/text_font_spritefont.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/text_format_text.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/text_input_box.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/text_raylib_fonts.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/text_rectangle_bounds.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/text_unicode.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/text_writing_anim.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_background_scrolling.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_blend_modes.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_bunnymark.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_draw_tiled.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_fog_of_war.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_gif_player.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_image_drawing.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_image_generation.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_image_loading.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_image_processing.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_image_text.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_logo_raylib.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_mouse_painting.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_npatch_drawing.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_particles_blending.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_polygon.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_raw_data.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_sprite_anim.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_sprite_button.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_sprite_explosion.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_srcrec_dstrec.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_to_image.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/raylib/raylib.vcxproj +0 -340
- package/vendor/raylib/projects/VS2022/raylib.sln +0 -2347
- package/vendor/sqlite3/shell.c +0 -23496
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// You should have received a copy of the GNU Affero General Public License
|
|
12
12
|
// along with this program. If not, see https://www.gnu.org/licenses/.
|
|
13
13
|
|
|
14
|
-
#include "
|
|
14
|
+
#include "src/core/libcc/libcc.hh"
|
|
15
15
|
#include "call.hh"
|
|
16
16
|
#include "ffi.hh"
|
|
17
17
|
#include "util.hh"
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
|
|
14
14
|
#pragma once
|
|
15
15
|
|
|
16
|
-
#include "
|
|
16
|
+
#include "src/core/libcc/libcc.hh"
|
|
17
17
|
#include "ffi.hh"
|
|
18
18
|
#include "util.hh"
|
|
19
19
|
|
|
@@ -156,7 +156,7 @@ inline T *CallData::AllocHeap(Size size, Size align)
|
|
|
156
156
|
return ptr;
|
|
157
157
|
} else {
|
|
158
158
|
#ifdef RG_DEBUG
|
|
159
|
-
int flags = (int)
|
|
159
|
+
int flags = (int)AllocFlag::Zero;
|
|
160
160
|
#else
|
|
161
161
|
int flags = 0;
|
|
162
162
|
#endif
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// You should have received a copy of the GNU Affero General Public License
|
|
12
12
|
// along with this program. If not, see https://www.gnu.org/licenses/.
|
|
13
13
|
|
|
14
|
-
#include "
|
|
14
|
+
#include "src/core/libcc/libcc.hh"
|
|
15
15
|
#include "ffi.hh"
|
|
16
16
|
#include "call.hh"
|
|
17
17
|
#include "parser.hh"
|
|
@@ -44,11 +44,8 @@ namespace RG {
|
|
|
44
44
|
const int TypeInfoMarker = 0xDEADBEEF;
|
|
45
45
|
const int CastMarker = 0xDEADBEEF;
|
|
46
46
|
|
|
47
|
-
static bool
|
|
47
|
+
static bool ChangeSize(const char *name, Napi::Value value, Size min_size, Size max_size, Size *out_size)
|
|
48
48
|
{
|
|
49
|
-
const Size MinSize = Kibibytes(1);
|
|
50
|
-
const Size MaxSize = Mebibytes(16);
|
|
51
|
-
|
|
52
49
|
Napi::Env env = value.Env();
|
|
53
50
|
|
|
54
51
|
if (!value.IsNumber()) {
|
|
@@ -60,8 +57,8 @@ static bool ChangeMemorySize(const char *name, Napi::Value value, Size *out_size
|
|
|
60
57
|
|
|
61
58
|
int64_t size = value.As<Napi::Number>().Int64Value();
|
|
62
59
|
|
|
63
|
-
if (size <
|
|
64
|
-
ThrowError<Napi::Error>(env, "Setting '%1' must be between %2 and %3", name, FmtMemSize(
|
|
60
|
+
if (size < min_size || size > max_size) {
|
|
61
|
+
ThrowError<Napi::Error>(env, "Setting '%1' must be between %2 and %3", name, FmtMemSize(min_size), FmtMemSize(max_size));
|
|
65
62
|
return false;
|
|
66
63
|
}
|
|
67
64
|
|
|
@@ -69,6 +66,14 @@ static bool ChangeMemorySize(const char *name, Napi::Value value, Size *out_size
|
|
|
69
66
|
return true;
|
|
70
67
|
}
|
|
71
68
|
|
|
69
|
+
static bool ChangeMemorySize(const char *name, Napi::Value value, Size *out_size)
|
|
70
|
+
{
|
|
71
|
+
const Size MinSize = Kibibytes(1);
|
|
72
|
+
const Size MaxSize = Mebibytes(16);
|
|
73
|
+
|
|
74
|
+
return ChangeSize(name, value, MinSize, MaxSize, out_size);
|
|
75
|
+
}
|
|
76
|
+
|
|
72
77
|
static bool ChangeAsyncLimit(const char *name, Napi::Value value, int max, int *out_limit)
|
|
73
78
|
{
|
|
74
79
|
Napi::Env env = value.Env();
|
|
@@ -113,6 +118,7 @@ static Napi::Value GetSetConfig(const Napi::CallbackInfo &info)
|
|
|
113
118
|
Size async_heap_size = instance->async_heap_size;
|
|
114
119
|
int resident_async_pools = instance->resident_async_pools;
|
|
115
120
|
int max_async_calls = resident_async_pools + instance->max_temporaries;
|
|
121
|
+
Size max_type_size = instance->max_type_size;
|
|
116
122
|
|
|
117
123
|
Napi::Object obj = info[0].As<Napi::Object>();
|
|
118
124
|
Napi::Array keys = obj.GetPropertyNames();
|
|
@@ -139,6 +145,9 @@ static Napi::Value GetSetConfig(const Napi::CallbackInfo &info)
|
|
|
139
145
|
} else if (key == "max_async_calls") {
|
|
140
146
|
if (!ChangeAsyncLimit(key.c_str(), value, MaxAsyncCalls, &max_async_calls))
|
|
141
147
|
return env.Null();
|
|
148
|
+
} else if (key == "max_type_size") {
|
|
149
|
+
if (!ChangeSize(key.c_str(), value, 32, Mebibytes(512), &max_type_size))
|
|
150
|
+
return env.Null();
|
|
142
151
|
} else {
|
|
143
152
|
ThrowError<Napi::Error>(env, "Unexpected config member '%1'", key.c_str());
|
|
144
153
|
return env.Null();
|
|
@@ -156,6 +165,7 @@ static Napi::Value GetSetConfig(const Napi::CallbackInfo &info)
|
|
|
156
165
|
instance->async_heap_size = async_heap_size;
|
|
157
166
|
instance->resident_async_pools = resident_async_pools;
|
|
158
167
|
instance->max_temporaries = max_async_calls - resident_async_pools;
|
|
168
|
+
instance->max_type_size = max_type_size;
|
|
159
169
|
}
|
|
160
170
|
|
|
161
171
|
Napi::Object obj = Napi::Object::New(env);
|
|
@@ -166,6 +176,7 @@ static Napi::Value GetSetConfig(const Napi::CallbackInfo &info)
|
|
|
166
176
|
obj.Set("async_heap_size", instance->async_heap_size);
|
|
167
177
|
obj.Set("resident_async_pools", instance->resident_async_pools);
|
|
168
178
|
obj.Set("max_async_calls", instance->resident_async_pools + instance->max_temporaries);
|
|
179
|
+
obj.Set("max_type_size", instance->max_type_size);
|
|
169
180
|
|
|
170
181
|
return obj;
|
|
171
182
|
}
|
|
@@ -210,6 +221,7 @@ static Napi::Value CreateStructType(const Napi::CallbackInfo &info, bool pad)
|
|
|
210
221
|
type->align = 1;
|
|
211
222
|
|
|
212
223
|
HashSet<const char *> members;
|
|
224
|
+
int64_t size = 0;
|
|
213
225
|
|
|
214
226
|
for (uint32_t i = 0; i < keys.Length(); i++) {
|
|
215
227
|
RecordMember member = {};
|
|
@@ -250,11 +262,15 @@ static Napi::Value CreateStructType(const Napi::CallbackInfo &info, bool pad)
|
|
|
250
262
|
if (!align) {
|
|
251
263
|
align = pad ? member.type->align : 1;
|
|
252
264
|
}
|
|
253
|
-
member.offset = (
|
|
265
|
+
member.offset = (int32_t)AlignLen(size, align);
|
|
254
266
|
|
|
255
|
-
|
|
267
|
+
size = member.offset + member.type->size;
|
|
256
268
|
type->align = std::max(type->align, align);
|
|
257
269
|
|
|
270
|
+
if (size > instance->max_type_size) {
|
|
271
|
+
ThrowError<Napi::Error>(env, "Struct '%1' size is too high (max = %2)", type->name, FmtMemSize(size));
|
|
272
|
+
return env.Null();
|
|
273
|
+
}
|
|
258
274
|
if (!members.TrySet(member.name).second) {
|
|
259
275
|
ThrowError<Napi::Error>(env, "Duplicate member '%1' in struct '%2'", member.name, type->name);
|
|
260
276
|
return env.Null();
|
|
@@ -263,12 +279,12 @@ static Napi::Value CreateStructType(const Napi::CallbackInfo &info, bool pad)
|
|
|
263
279
|
type->members.Append(member);
|
|
264
280
|
}
|
|
265
281
|
|
|
266
|
-
|
|
267
|
-
|
|
282
|
+
size = (int32_t)AlignLen(size, type->align);
|
|
283
|
+
if (!size) {
|
|
284
|
+
ThrowError<Napi::Error>(env, "Empty struct '%1' is not allowed in C", type->name);
|
|
268
285
|
return env.Null();
|
|
269
286
|
}
|
|
270
|
-
|
|
271
|
-
type->size = (int16_t)AlignLen(type->size, type->align);
|
|
287
|
+
type->size = (int32_t)size;
|
|
272
288
|
|
|
273
289
|
// If the insert succeeds, we cannot fail anymore
|
|
274
290
|
if (named && !instance->types_map.TrySet(type->name, type).second) {
|
|
@@ -565,7 +581,7 @@ static Napi::Value CreateArrayType(const Napi::CallbackInfo &info)
|
|
|
565
581
|
}
|
|
566
582
|
|
|
567
583
|
const TypeInfo *ref = ResolveType(info[0]);
|
|
568
|
-
int64_t len =
|
|
584
|
+
int64_t len = info[1].As<Napi::Number>().Int64Value();
|
|
569
585
|
|
|
570
586
|
if (!ref)
|
|
571
587
|
return env.Null();
|
|
@@ -573,8 +589,8 @@ static Napi::Value CreateArrayType(const Napi::CallbackInfo &info)
|
|
|
573
589
|
ThrowError<Napi::TypeError>(env, "Array length must be positive and non-zero");
|
|
574
590
|
return env.Null();
|
|
575
591
|
}
|
|
576
|
-
if (len >
|
|
577
|
-
ThrowError<Napi::TypeError>(env, "Array length is too high (max = %1)",
|
|
592
|
+
if (len > instance->max_type_size / ref->size) {
|
|
593
|
+
ThrowError<Napi::TypeError>(env, "Array length is too high (max = %1)", instance->max_type_size / ref->size);
|
|
578
594
|
return env.Null();
|
|
579
595
|
}
|
|
580
596
|
|
|
@@ -615,7 +631,7 @@ static Napi::Value CreateArrayType(const Napi::CallbackInfo &info)
|
|
|
615
631
|
|
|
616
632
|
type->primitive = PrimitiveKind::Array;
|
|
617
633
|
type->align = ref->align;
|
|
618
|
-
type->size = (
|
|
634
|
+
type->size = (int32_t)(len * ref->size);
|
|
619
635
|
type->ref.type = ref;
|
|
620
636
|
type->hint = hint;
|
|
621
637
|
|
|
@@ -684,7 +700,7 @@ static bool ParseClassicFunction(Napi::Env env, Napi::String name, Napi::Value r
|
|
|
684
700
|
return false;
|
|
685
701
|
}
|
|
686
702
|
if ((param.directions & 2) && ++func->out_parameters >= MaxOutParameters) {
|
|
687
|
-
ThrowError<Napi::TypeError>(env, "Functions cannot have more than
|
|
703
|
+
ThrowError<Napi::TypeError>(env, "Functions cannot have more than %1 output parameters", MaxOutParameters);
|
|
688
704
|
return false;
|
|
689
705
|
}
|
|
690
706
|
|
|
@@ -1031,7 +1047,7 @@ static Napi::Value TranslateVariadicCall(const Napi::CallbackInfo &info)
|
|
|
1031
1047
|
return env.Null();
|
|
1032
1048
|
}
|
|
1033
1049
|
if (RG_UNLIKELY((param.directions & 2) && ++func.out_parameters >= MaxOutParameters)) {
|
|
1034
|
-
ThrowError<Napi::TypeError>(env, "Functions cannot have more than
|
|
1050
|
+
ThrowError<Napi::TypeError>(env, "Functions cannot have more than %1 output parameters", MaxOutParameters);
|
|
1035
1051
|
return env.Null();
|
|
1036
1052
|
}
|
|
1037
1053
|
|
|
@@ -1417,7 +1433,7 @@ void LibraryHolder::Unref() const
|
|
|
1417
1433
|
|
|
1418
1434
|
|
|
1419
1435
|
static void RegisterPrimitiveType(Napi::Env env, Napi::Object map, std::initializer_list<const char *> names,
|
|
1420
|
-
PrimitiveKind primitive,
|
|
1436
|
+
PrimitiveKind primitive, int32_t size, int16_t align, const char *ref = nullptr)
|
|
1421
1437
|
{
|
|
1422
1438
|
RG_ASSERT(names.size() > 0);
|
|
1423
1439
|
RG_ASSERT(align <= size);
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
|
|
14
14
|
#pragma once
|
|
15
15
|
|
|
16
|
-
#include "
|
|
16
|
+
#include "src/core/libcc/libcc.hh"
|
|
17
17
|
|
|
18
18
|
#include <napi.h>
|
|
19
19
|
|
|
@@ -25,10 +25,11 @@ static const Size DefaultAsyncStackSize = Kibibytes(256);
|
|
|
25
25
|
static const Size DefaultAsyncHeapSize = Kibibytes(512);
|
|
26
26
|
static const int DefaultResidentAsyncPools = 2;
|
|
27
27
|
static const int DefaultMaxAsyncCalls = 64;
|
|
28
|
+
static const Size DefaultMaxTypeSize = Mebibytes(64);
|
|
28
29
|
|
|
29
30
|
static const int MaxAsyncCalls = 256;
|
|
30
31
|
static const Size MaxParameters = 32;
|
|
31
|
-
static const Size MaxOutParameters =
|
|
32
|
+
static const Size MaxOutParameters = 16;
|
|
32
33
|
static const Size MaxTrampolines = 16;
|
|
33
34
|
|
|
34
35
|
extern const int TypeInfoMarker;
|
|
@@ -105,7 +106,7 @@ struct TypeInfo {
|
|
|
105
106
|
const char *name;
|
|
106
107
|
|
|
107
108
|
PrimitiveKind primitive;
|
|
108
|
-
|
|
109
|
+
int32_t size;
|
|
109
110
|
int16_t align;
|
|
110
111
|
|
|
111
112
|
DisposeFunc *dispose;
|
|
@@ -127,7 +128,7 @@ struct TypeInfo {
|
|
|
127
128
|
struct RecordMember {
|
|
128
129
|
const char *name;
|
|
129
130
|
const TypeInfo *type;
|
|
130
|
-
|
|
131
|
+
int32_t offset;
|
|
131
132
|
};
|
|
132
133
|
|
|
133
134
|
struct LibraryHolder {
|
|
@@ -266,6 +267,7 @@ struct InstanceData {
|
|
|
266
267
|
Size async_heap_size = DefaultAsyncHeapSize;
|
|
267
268
|
int resident_async_pools = DefaultResidentAsyncPools;
|
|
268
269
|
int max_temporaries = DefaultMaxAsyncCalls - DefaultResidentAsyncPools;
|
|
270
|
+
Size max_type_size = DefaultMaxTypeSize;
|
|
269
271
|
};
|
|
270
272
|
RG_STATIC_ASSERT(DefaultResidentAsyncPools <= RG_LEN(InstanceData::memories.data) - 1);
|
|
271
273
|
RG_STATIC_ASSERT(DefaultMaxAsyncCalls >= DefaultResidentAsyncPools);
|
|
File without changes
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// You should have received a copy of the GNU Affero General Public License
|
|
12
12
|
// along with this program. If not, see https://www.gnu.org/licenses/.
|
|
13
13
|
|
|
14
|
-
#include "
|
|
14
|
+
#include "src/core/libcc/libcc.hh"
|
|
15
15
|
#include "ffi.hh"
|
|
16
16
|
#include "parser.hh"
|
|
17
17
|
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// You should have received a copy of the GNU Affero General Public License
|
|
12
12
|
// along with this program. If not, see https://www.gnu.org/licenses/.
|
|
13
13
|
|
|
14
|
-
#include "
|
|
14
|
+
#include "src/core/libcc/libcc.hh"
|
|
15
15
|
#include "call.hh"
|
|
16
16
|
#include "ffi.hh"
|
|
17
17
|
#include "util.hh"
|
|
@@ -21,19 +21,18 @@ endif()
|
|
|
21
21
|
# ---- Raylib ----
|
|
22
22
|
|
|
23
23
|
add_library(raylib SHARED
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
24
|
+
../../../vendor/raylib/src/rcore.c
|
|
25
|
+
../../../vendor/raylib/src/rshapes.c
|
|
26
|
+
../../../vendor/raylib/src/rtextures.c
|
|
27
|
+
../../../vendor/raylib/src/rtext.c
|
|
28
|
+
../../../vendor/raylib/src/rmodels.c
|
|
29
|
+
../../../vendor/raylib/src/utils.c
|
|
30
|
+
../../../vendor/raylib/src/rglfw.c
|
|
31
|
+
../../../vendor/raylib/src/raudio.c
|
|
32
32
|
)
|
|
33
33
|
set_target_properties(raylib PROPERTIES PREFIX "")
|
|
34
|
-
target_include_directories(raylib PRIVATE
|
|
35
|
-
target_compile_definitions(raylib PRIVATE PLATFORM_DESKTOP GRAPHICS_API_OPENGL_21
|
|
36
|
-
BUILD_LIBTYPE_SHARED NDEBUG)
|
|
34
|
+
target_include_directories(raylib PRIVATE ../../../vendor/raylib/src/external/glfw/include)
|
|
35
|
+
target_compile_definitions(raylib PRIVATE PLATFORM_DESKTOP GRAPHICS_API_OPENGL_21 BUILD_LIBTYPE_SHARED NDEBUG)
|
|
37
36
|
|
|
38
37
|
if(MSVC)
|
|
39
38
|
target_compile_options(raylib PRIVATE /wd4244 /wd4305)
|
|
@@ -59,7 +58,7 @@ endif()
|
|
|
59
58
|
if(APPLE)
|
|
60
59
|
target_compile_options(raylib PRIVATE -Wno-unknown-warning-option -Wno-macro-redefined)
|
|
61
60
|
target_compile_definitions(raylib PRIVATE GL_SILENCE_DEPRECATION)
|
|
62
|
-
set_source_files_properties(
|
|
61
|
+
set_source_files_properties(../../../vendor/raylib/src/rglfw.c PROPERTIES COMPILE_FLAGS "-x objective-c")
|
|
63
62
|
target_link_libraries(raylib PRIVATE "-framework Cocoa" "-framework IOKit" "-framework CoreFoundation" "-framework OpenGL")
|
|
64
63
|
endif()
|
|
65
64
|
|
|
@@ -101,11 +100,11 @@ endif()
|
|
|
101
100
|
|
|
102
101
|
# ---- SQLite ----
|
|
103
102
|
|
|
104
|
-
add_library(
|
|
105
|
-
set_target_properties(
|
|
103
|
+
add_library(sqlite3mc SHARED ../../../vendor/sqlite3mc/sqlite3mc.c)
|
|
104
|
+
set_target_properties(sqlite3mc PROPERTIES PREFIX "")
|
|
106
105
|
|
|
107
106
|
if(WIN32)
|
|
108
|
-
target_compile_definitions(
|
|
107
|
+
target_compile_definitions(sqlite3mc PRIVATE SQLITE_API=__declspec\(dllexport\))
|
|
109
108
|
endif()
|
|
110
109
|
|
|
111
110
|
# ---- Misc ----
|
|
File without changes
|
|
File without changes
|
|
@@ -158,6 +158,10 @@ typedef struct EndianInts {
|
|
|
158
158
|
uint64_t u64be;
|
|
159
159
|
} EndianInts;
|
|
160
160
|
|
|
161
|
+
typedef struct BigText {
|
|
162
|
+
char text[262145];
|
|
163
|
+
} BigText;
|
|
164
|
+
|
|
161
165
|
EXPORT int8_t GetMinusOne1(void)
|
|
162
166
|
{
|
|
163
167
|
return -1;
|
|
@@ -696,3 +700,12 @@ EXPORT void CopyEndianInts2(int16_t i16le, int16_t i16be, uint16_t u16le, uint16
|
|
|
696
700
|
EXPORT uint16_t ReturnEndianInt2(uint16_t v) { return v; }
|
|
697
701
|
EXPORT uint32_t ReturnEndianInt4(uint32_t v) { return v; }
|
|
698
702
|
EXPORT uint64_t ReturnEndianInt8(uint64_t v) { return v; }
|
|
703
|
+
|
|
704
|
+
EXPORT BigText ReverseBigText(BigText buf)
|
|
705
|
+
{
|
|
706
|
+
BigText ret;
|
|
707
|
+
for (int i = 0; i < sizeof(buf.text); i++) {
|
|
708
|
+
ret.text[sizeof(buf.text) - 1 - i] = buf.text[i];
|
|
709
|
+
}
|
|
710
|
+
return ret;
|
|
711
|
+
}
|
|
File without changes
|
|
File without changes
|
|
@@ -36,7 +36,7 @@ async function main() {
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
async function test() {
|
|
39
|
-
let lib_filename = __dirname + '/build/
|
|
39
|
+
let lib_filename = __dirname + '/build/sqlite3mc' + koffi.extension;
|
|
40
40
|
let lib = koffi.load(lib_filename);
|
|
41
41
|
|
|
42
42
|
const sqlite3_open_v2 = lib.func('sqlite3_open_v2', 'int', ['str', koffi.out(koffi.pointer(sqlite3, 2)), 'int', 'str']);
|
|
@@ -129,6 +129,10 @@ const EndianInts = koffi.struct('EndianInts', {
|
|
|
129
129
|
u64be: 'uint64_be_t'
|
|
130
130
|
});
|
|
131
131
|
|
|
132
|
+
const BigText = koffi.struct('BigText', {
|
|
133
|
+
text: koffi.array('uint8_t', 262145)
|
|
134
|
+
});
|
|
135
|
+
|
|
132
136
|
main();
|
|
133
137
|
|
|
134
138
|
async function main() {
|
|
@@ -219,6 +223,7 @@ async function test() {
|
|
|
219
223
|
const ReturnEndianInt8SB = lib.func('int64_be_t ReturnEndianInt8(int64_le_t v)');
|
|
220
224
|
const ReturnEndianInt8UL = lib.func('uint64_le_t ReturnEndianInt8(uint64_be_t v)');
|
|
221
225
|
const ReturnEndianInt8UB = lib.func('uint64_be_t ReturnEndianInt8(uint64_le_t v)');
|
|
226
|
+
const ReverseBigText = lib.func('BigText ReverseBigText(BigText buf)');
|
|
222
227
|
|
|
223
228
|
// Simple signed value returns
|
|
224
229
|
assert.equal(GetMinusOne1(), -1);
|
|
@@ -499,4 +504,16 @@ async function test() {
|
|
|
499
504
|
assert.equal(ReturnEndianInt8UL(0x0123456789ABCD3Fn), 0x3FCDAB8967452301n);
|
|
500
505
|
assert.equal(ReturnEndianInt8UB(0x0123456789ABCD3Fn), 0x3FCDAB8967452301n);
|
|
501
506
|
}
|
|
507
|
+
|
|
508
|
+
// Test big structs
|
|
509
|
+
{
|
|
510
|
+
let text = 'hello!foo!bar'.repeat(20165);
|
|
511
|
+
let expected = text.split('').reverse().join('');
|
|
512
|
+
|
|
513
|
+
let big = { text: Buffer.from(text) };
|
|
514
|
+
let ret = ReverseBigText(big);
|
|
515
|
+
|
|
516
|
+
assert.equal(ret.len, big.len);
|
|
517
|
+
assert.equal(Buffer.from(ret.text).toString(), expected);
|
|
518
|
+
}
|
|
502
519
|
}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# Description:
|
|
2
|
+
# Brotli is a generic-purpose lossless compression algorithm.
|
|
3
|
+
|
|
4
|
+
package(
|
|
5
|
+
default_visibility = ["//visibility:public"],
|
|
6
|
+
)
|
|
7
|
+
|
|
8
|
+
licenses(["notice"]) # MIT
|
|
9
|
+
|
|
10
|
+
exports_files(["LICENSE"])
|
|
11
|
+
|
|
12
|
+
config_setting(
|
|
13
|
+
name = "darwin",
|
|
14
|
+
values = {"cpu": "darwin"},
|
|
15
|
+
visibility = ["//visibility:public"],
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
config_setting(
|
|
19
|
+
name = "darwin_x86_64",
|
|
20
|
+
values = {"cpu": "darwin_x86_64"},
|
|
21
|
+
visibility = ["//visibility:public"],
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
config_setting(
|
|
25
|
+
name = "windows",
|
|
26
|
+
values = {"cpu": "x64_windows"},
|
|
27
|
+
visibility = ["//visibility:public"],
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
config_setting(
|
|
31
|
+
name = "windows_msvc",
|
|
32
|
+
values = {"cpu": "x64_windows_msvc"},
|
|
33
|
+
visibility = ["//visibility:public"],
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
config_setting(
|
|
37
|
+
name = "windows_msys",
|
|
38
|
+
values = {"cpu": "x64_windows_msys"},
|
|
39
|
+
visibility = ["//visibility:public"],
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
load(":compiler_config_setting.bzl", "create_msvc_config")
|
|
43
|
+
|
|
44
|
+
create_msvc_config()
|
|
45
|
+
|
|
46
|
+
STRICT_C_OPTIONS = select({
|
|
47
|
+
":msvc": [],
|
|
48
|
+
"//conditions:default": [
|
|
49
|
+
"--pedantic-errors",
|
|
50
|
+
"-Wall",
|
|
51
|
+
"-Wconversion",
|
|
52
|
+
"-Werror",
|
|
53
|
+
"-Wextra",
|
|
54
|
+
"-Wlong-long",
|
|
55
|
+
"-Wmissing-declarations",
|
|
56
|
+
"-Wmissing-prototypes",
|
|
57
|
+
"-Wno-strict-aliasing",
|
|
58
|
+
"-Wshadow",
|
|
59
|
+
"-Wsign-compare",
|
|
60
|
+
],
|
|
61
|
+
})
|
|
62
|
+
|
|
63
|
+
filegroup(
|
|
64
|
+
name = "public_headers",
|
|
65
|
+
srcs = glob(["c/include/brotli/*.h"]),
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
filegroup(
|
|
69
|
+
name = "common_headers",
|
|
70
|
+
srcs = glob(["c/common/*.h"]),
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
filegroup(
|
|
74
|
+
name = "common_sources",
|
|
75
|
+
srcs = glob(["c/common/*.c"]),
|
|
76
|
+
)
|
|
77
|
+
|
|
78
|
+
filegroup(
|
|
79
|
+
name = "dec_headers",
|
|
80
|
+
srcs = glob(["c/dec/*.h"]),
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
filegroup(
|
|
84
|
+
name = "dec_sources",
|
|
85
|
+
srcs = glob(["c/dec/*.c"]),
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
filegroup(
|
|
89
|
+
name = "enc_headers",
|
|
90
|
+
srcs = glob(["c/enc/*.h"]),
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
filegroup(
|
|
94
|
+
name = "enc_sources",
|
|
95
|
+
srcs = glob(["c/enc/*.c"]),
|
|
96
|
+
)
|
|
97
|
+
|
|
98
|
+
cc_library(
|
|
99
|
+
name = "brotli_inc",
|
|
100
|
+
hdrs = [":public_headers"],
|
|
101
|
+
copts = STRICT_C_OPTIONS,
|
|
102
|
+
strip_include_prefix = "c/include",
|
|
103
|
+
)
|
|
104
|
+
|
|
105
|
+
cc_library(
|
|
106
|
+
name = "brotlicommon",
|
|
107
|
+
srcs = [":common_sources"],
|
|
108
|
+
hdrs = [":common_headers"],
|
|
109
|
+
copts = STRICT_C_OPTIONS,
|
|
110
|
+
deps = [":brotli_inc"],
|
|
111
|
+
)
|
|
112
|
+
|
|
113
|
+
cc_library(
|
|
114
|
+
name = "brotlidec",
|
|
115
|
+
srcs = [":dec_sources"],
|
|
116
|
+
hdrs = [":dec_headers"],
|
|
117
|
+
copts = STRICT_C_OPTIONS,
|
|
118
|
+
deps = [":brotlicommon"],
|
|
119
|
+
)
|
|
120
|
+
|
|
121
|
+
cc_library(
|
|
122
|
+
name = "brotlienc",
|
|
123
|
+
srcs = [":enc_sources"],
|
|
124
|
+
hdrs = [":enc_headers"],
|
|
125
|
+
copts = STRICT_C_OPTIONS,
|
|
126
|
+
linkopts = ["-lm"],
|
|
127
|
+
deps = [":brotlicommon"],
|
|
128
|
+
)
|
|
129
|
+
|
|
130
|
+
cc_binary(
|
|
131
|
+
name = "brotli",
|
|
132
|
+
srcs = ["c/tools/brotli.c"],
|
|
133
|
+
copts = STRICT_C_OPTIONS,
|
|
134
|
+
linkstatic = 1,
|
|
135
|
+
deps = [
|
|
136
|
+
":brotlidec",
|
|
137
|
+
":brotlienc",
|
|
138
|
+
],
|
|
139
|
+
)
|
|
140
|
+
|
|
141
|
+
filegroup(
|
|
142
|
+
name = "dictionary",
|
|
143
|
+
srcs = ["c/common/dictionary.bin"],
|
|
144
|
+
)
|