koffi 2.1.3 → 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} +11 -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} +34 -18
- package/src/{ffi.hh → koffi/src/ffi.hh} +5 -3
- 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.3/koffi_darwin_arm64.tar.gz +0 -0
- package/build/qemu/2.1.3/koffi_darwin_x64.tar.gz +0 -0
- package/build/qemu/2.1.3/koffi_freebsd_arm64.tar.gz +0 -0
- package/build/qemu/2.1.3/koffi_freebsd_ia32.tar.gz +0 -0
- package/build/qemu/2.1.3/koffi_freebsd_x64.tar.gz +0 -0
- package/build/qemu/2.1.3/koffi_linux_arm32hf.tar.gz +0 -0
- package/build/qemu/2.1.3/koffi_linux_arm64.tar.gz +0 -0
- package/build/qemu/2.1.3/koffi_linux_ia32.tar.gz +0 -0
- package/build/qemu/2.1.3/koffi_linux_riscv64hf64.tar.gz +0 -0
- package/build/qemu/2.1.3/koffi_linux_x64.tar.gz +0 -0
- package/build/qemu/2.1.3/koffi_openbsd_ia32.tar.gz +0 -0
- package/build/qemu/2.1.3/koffi_openbsd_x64.tar.gz +0 -0
- package/build/qemu/2.1.3/koffi_win32_arm64.tar.gz +0 -0
- package/build/qemu/2.1.3/koffi_win32_ia32.tar.gz +0 -0
- package/build/qemu/2.1.3/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
package/package.json
CHANGED
|
@@ -1,69 +1,45 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
"files": [
|
|
47
|
-
"src",
|
|
48
|
-
"doc",
|
|
49
|
-
"benchmark/CMakeLists.txt",
|
|
50
|
-
"benchmark/atoi_*",
|
|
51
|
-
"benchmark/raylib_*",
|
|
52
|
-
"qemu/qemu.js",
|
|
53
|
-
"qemu/registry",
|
|
54
|
-
"test/async.js",
|
|
55
|
-
"test/callbacks.js",
|
|
56
|
-
"test/CMakeLists.txt",
|
|
57
|
-
"test/misc.c",
|
|
58
|
-
"test/misc.def",
|
|
59
|
-
"test/raylib.js",
|
|
60
|
-
"test/sqlite.js",
|
|
61
|
-
"test/sync.js",
|
|
62
|
-
"vendor",
|
|
63
|
-
"LICENSE.txt",
|
|
64
|
-
"README.md",
|
|
65
|
-
"ChangeLog.md",
|
|
66
|
-
"CMakeLists.txt",
|
|
67
|
-
"build/qemu/*/*.tar.gz"
|
|
68
|
-
]
|
|
69
|
-
}
|
|
2
|
+
"name": "koffi",
|
|
3
|
+
"version": "2.1.4",
|
|
4
|
+
"stable": "2.1.4",
|
|
5
|
+
"description": "Fast and simple C FFI (foreign function interface) for Node.js",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"foreign",
|
|
8
|
+
"function",
|
|
9
|
+
"interface",
|
|
10
|
+
"ffi",
|
|
11
|
+
"binding",
|
|
12
|
+
"c",
|
|
13
|
+
"napi"
|
|
14
|
+
],
|
|
15
|
+
"repository": {
|
|
16
|
+
"type": "git",
|
|
17
|
+
"url": "https://github.com/Koromix/rygel.git"
|
|
18
|
+
},
|
|
19
|
+
"homepage": "https://koffi.dev/",
|
|
20
|
+
"author": "Niels Martignène <niels.martignene@protonmail.com>",
|
|
21
|
+
"main": "src/koffi/src/index.js",
|
|
22
|
+
"scripts": {
|
|
23
|
+
"install": "cnoke --prebuild -d src/koffi",
|
|
24
|
+
"test": "node src/koffi/qemu/qemu.js test"
|
|
25
|
+
},
|
|
26
|
+
"license": "AGPL-3.0",
|
|
27
|
+
"dependencies": {
|
|
28
|
+
"cnoke": "^3.2.1"
|
|
29
|
+
},
|
|
30
|
+
"devDependencies": {
|
|
31
|
+
"chalk": "^4.1.2",
|
|
32
|
+
"ffi-napi": "^4.0.3",
|
|
33
|
+
"minimatch": "^5.0.1",
|
|
34
|
+
"node-ssh": "^12.0.3",
|
|
35
|
+
"raylib": "^0.9.2",
|
|
36
|
+
"ref-napi": "^3.0.3",
|
|
37
|
+
"ref-struct-di": "^1.1.1",
|
|
38
|
+
"tar": "^6.1.11"
|
|
39
|
+
},
|
|
40
|
+
"cnoke": {
|
|
41
|
+
"prebuild": "src/koffi/build/{{version}}/koffi_{{platform}}_{{arch}}.tar.gz",
|
|
42
|
+
"require": "./src/koffi/build/koffi.node",
|
|
43
|
+
"napi": 8
|
|
44
|
+
}
|
|
45
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# Table of contents
|
|
2
|
+
|
|
3
|
+
- [Introduction](#introduction)
|
|
4
|
+
- [Get started](#get-started)
|
|
5
|
+
- [Command usage](#command-usage)
|
|
6
|
+
|
|
7
|
+
# Introduction
|
|
8
|
+
|
|
9
|
+
CNoke is a simpler alternative to CMake.js, without any dependency, designed to build
|
|
10
|
+
native Node addons based on CMake.
|
|
11
|
+
|
|
12
|
+
Install it like this:
|
|
13
|
+
|
|
14
|
+
```sh
|
|
15
|
+
npm install cnoke
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
It obviously requires [CMake](http://www.cmake.org/download/) and a proper C/C++ toolchain:
|
|
19
|
+
|
|
20
|
+
* Windows: Visual C++ Build Tools or a recent version of Visual C++ will do (the free Community version works well)
|
|
21
|
+
* POSIX (Linux, macOS, etc.): Clang or GCC, and Make (Ninja is preferred if available)
|
|
22
|
+
|
|
23
|
+
# Get started
|
|
24
|
+
|
|
25
|
+
In order to build a native Node.js addon with CNoke, you can use the following CMakeLists.txt
|
|
26
|
+
template to get started:
|
|
27
|
+
|
|
28
|
+
```cmake
|
|
29
|
+
cmake_minimum_required(VERSION 3.11)
|
|
30
|
+
project(hello C CXX)
|
|
31
|
+
|
|
32
|
+
find_package(CNoke)
|
|
33
|
+
|
|
34
|
+
add_node_addon(NAME hello SOURCES hello.cc)
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
You can also do it manually (without the module) if you prefer:
|
|
38
|
+
|
|
39
|
+
```cmake
|
|
40
|
+
cmake_minimum_required(VERSION 3.11)
|
|
41
|
+
project(hello C CXX)
|
|
42
|
+
|
|
43
|
+
add_library(hello SHARED hello.cc ${NODE_JS_SOURCES})
|
|
44
|
+
set_target_properties(hello PROPERTIES PREFIX "" SUFFIX ".node")
|
|
45
|
+
target_include_directories(hello PRIVATE ${NODE_JS_INCLUDE_DIRS})
|
|
46
|
+
target_link_libraries(hello PRIVATE ${NODE_JS_LIBRARIES})
|
|
47
|
+
target_compile_options(hello PRIVATE ${NODE_JS_COMPILE_FLAGS})
|
|
48
|
+
target_link_options(hello PRIVATE ${NODE_JS_LINK_FLAGS})
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
In order for this to run when `npm install` runs (directly or when someone else installs
|
|
52
|
+
your dependency), add the following script to package.json:
|
|
53
|
+
|
|
54
|
+
```json
|
|
55
|
+
"scripts": {
|
|
56
|
+
"install": "cnoke"
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
# Command usage
|
|
61
|
+
|
|
62
|
+
You can find the same help text by running `cnoke --help`:
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
Usage: cnoke [command] [options...] [targets...]
|
|
66
|
+
|
|
67
|
+
Commands:
|
|
68
|
+
configure Configure CMake build
|
|
69
|
+
build Build project (configure if needed)
|
|
70
|
+
clean Clean build files
|
|
71
|
+
|
|
72
|
+
Options:
|
|
73
|
+
-d, --directory <DIR> Change project directory
|
|
74
|
+
(default: current working directory)
|
|
75
|
+
|
|
76
|
+
-B, --config <CONFIG> Change build type: RelWithDebInfo, Debug, Release
|
|
77
|
+
(default: RelWithDebInfo)
|
|
78
|
+
-D, --debug Shortcut for --config Debug
|
|
79
|
+
|
|
80
|
+
--prebuild <URL> Set URL template to download prebuilt binaries
|
|
81
|
+
--require <PATH> Require specified module, drop prebuild if it fails
|
|
82
|
+
|
|
83
|
+
-a, --arch <ARCH> Change architecture and ABI
|
|
84
|
+
(default: x64)
|
|
85
|
+
-v, --runtime-version <VERSION> Change node version
|
|
86
|
+
(default: v16.14.0)
|
|
87
|
+
-t, --toolset <TOOLSET> Change default CMake toolset
|
|
88
|
+
-C, --prefer-clang Use Clang instead of default CMake compiler
|
|
89
|
+
|
|
90
|
+
--verbose Show build commands while building
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
The ARCH value is similar to process.arch, with the following differences:
|
|
94
|
+
|
|
95
|
+
- arm is changed to arm32hf or arm32sf depending on the floating-point ABI used (hard-float, soft-float)
|
|
96
|
+
- riscv32 is changed to riscv32sf, riscv32hf32, riscv32hf64 or riscv32hf128 depending on the floating-point ABI
|
|
97
|
+
- riscv64 is changed to riscv64sf, riscv64hf32, riscv64hf64 or riscv64hf128 depending on the floating-point ABI
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# This program is free software: you can redistribute it and/or modify
|
|
2
|
+
# it under the terms of the GNU Affero General Public License as published by
|
|
3
|
+
# the Free Software Foundation, either version 3 of the License, or
|
|
4
|
+
# (at your option) any later version.
|
|
5
|
+
#
|
|
6
|
+
# This program is distributed in the hope that it will be useful,
|
|
7
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
8
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
9
|
+
# GNU Affero General Public License for more details.
|
|
10
|
+
#
|
|
11
|
+
# You should have received a copy of the GNU Affero General Public License
|
|
12
|
+
# along with this program. If not, see https://www.gnu.org/licenses/.
|
|
13
|
+
|
|
14
|
+
if(CMAKE_BUILD_TYPE STREQUAL "Release" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo" OR
|
|
15
|
+
CMAKE_BUILD_TYPE STREQUAL "MinSizeRel")
|
|
16
|
+
set(USE_UNITY_BUILDS ON CACHE BOOL "Use single-TU builds (aka. Unity builds)")
|
|
17
|
+
else()
|
|
18
|
+
set(USE_UNITY_BUILDS OFF CACHE BOOL "Use single-TU builds (aka. Unity builds)")
|
|
19
|
+
endif()
|
|
20
|
+
|
|
21
|
+
function(add_node_addon)
|
|
22
|
+
cmake_parse_arguments(ARG "" "NAME" "SOURCES" ${ARGN})
|
|
23
|
+
|
|
24
|
+
add_library(${ARG_NAME} SHARED ${ARG_SOURCES} ${NODE_JS_SOURCES})
|
|
25
|
+
set_target_properties(${ARG_NAME} PROPERTIES PREFIX "" SUFFIX ".node")
|
|
26
|
+
target_include_directories(${ARG_NAME} PRIVATE ${NODE_JS_INCLUDE_DIRS})
|
|
27
|
+
target_link_libraries(${ARG_NAME} PRIVATE ${NODE_JS_LIBRARIES})
|
|
28
|
+
target_compile_options(${ARG_NAME} PRIVATE ${NODE_JS_COMPILE_FLAGS})
|
|
29
|
+
if (NODE_JS_LINK_FLAGS)
|
|
30
|
+
target_link_options(${ARG_NAME} PRIVATE ${NODE_JS_LINK_FLAGS})
|
|
31
|
+
endif()
|
|
32
|
+
endfunction()
|
|
33
|
+
|
|
34
|
+
if(USE_UNITY_BUILDS)
|
|
35
|
+
function(enable_unity_build TARGET)
|
|
36
|
+
get_target_property(sources ${TARGET} SOURCES)
|
|
37
|
+
string(GENEX_STRIP "${sources}" sources)
|
|
38
|
+
|
|
39
|
+
set(unity_file_c "${CMAKE_CURRENT_BINARY_DIR}/${TARGET}_unity.c")
|
|
40
|
+
set(unity_file_cpp "${CMAKE_CURRENT_BINARY_DIR}/${TARGET}_unity.cpp")
|
|
41
|
+
file(REMOVE ${unity_file_c} ${unity_file_cpp})
|
|
42
|
+
|
|
43
|
+
foreach(src ${sources})
|
|
44
|
+
get_source_file_property(language ${src} LANGUAGE)
|
|
45
|
+
if(IS_ABSOLUTE ${src})
|
|
46
|
+
set(src_full ${src})
|
|
47
|
+
else()
|
|
48
|
+
set(src_full "${CMAKE_CURRENT_SOURCE_DIR}/${src}")
|
|
49
|
+
endif()
|
|
50
|
+
if(language STREQUAL "C")
|
|
51
|
+
set_source_files_properties(${src} PROPERTIES HEADER_FILE_ONLY 1)
|
|
52
|
+
file(APPEND ${unity_file_c} "#include \"${src_full}\"\n")
|
|
53
|
+
elseif(language STREQUAL "CXX")
|
|
54
|
+
set_source_files_properties(${src} PROPERTIES HEADER_FILE_ONLY 1)
|
|
55
|
+
file(APPEND ${unity_file_cpp} "#include \"${src_full}\"\n")
|
|
56
|
+
endif()
|
|
57
|
+
endforeach()
|
|
58
|
+
|
|
59
|
+
if(EXISTS ${unity_file_c})
|
|
60
|
+
target_sources(${TARGET} PRIVATE ${unity_file_c})
|
|
61
|
+
endif()
|
|
62
|
+
if(EXISTS ${unity_file_cpp})
|
|
63
|
+
target_sources(${TARGET} PRIVATE ${unity_file_cpp})
|
|
64
|
+
endif()
|
|
65
|
+
|
|
66
|
+
target_compile_definitions(${TARGET} PRIVATE -DUNITY_BUILD=1)
|
|
67
|
+
endfunction()
|
|
68
|
+
else()
|
|
69
|
+
function(enable_unity_build TARGET)
|
|
70
|
+
endfunction()
|
|
71
|
+
endif()
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// This program is free software: you can redistribute it and/or modify
|
|
2
|
+
// it under the terms of the GNU Affero General Public License as published by
|
|
3
|
+
// the Free Software Foundation, either version 3 of the License, or
|
|
4
|
+
// (at your option) any later version.
|
|
5
|
+
//
|
|
6
|
+
// This program is distributed in the hope that it will be useful,
|
|
7
|
+
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
8
|
+
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
9
|
+
// GNU Affero General Public License for more details.
|
|
10
|
+
//
|
|
11
|
+
// You should have received a copy of the GNU Affero General Public License
|
|
12
|
+
// along with this program. If not, see https://www.gnu.org/licenses/.
|
|
13
|
+
|
|
14
|
+
#include <stdlib.h>
|
|
15
|
+
#ifndef NOMINMAX
|
|
16
|
+
#define NOMINMAX
|
|
17
|
+
#endif
|
|
18
|
+
#ifndef WIN32_LEAN_AND_MEAN
|
|
19
|
+
#define WIN32_LEAN_AND_MEAN
|
|
20
|
+
#endif
|
|
21
|
+
#include <windows.h>
|
|
22
|
+
#include <delayimp.h>
|
|
23
|
+
|
|
24
|
+
static FARPROC WINAPI self_exe_hook(unsigned int event, DelayLoadInfo *info)
|
|
25
|
+
{
|
|
26
|
+
if (event == dliNotePreLoadLibrary && !stricmp(info->szDll, "node.exe")) {
|
|
27
|
+
HMODULE h = GetModuleHandle(NULL);
|
|
28
|
+
return (FARPROC)h;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return NULL;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const PfnDliHook __pfnDliNotifyHook2 = self_exe_hook;
|