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.
Files changed (401) hide show
  1. package/package.json +44 -68
  2. package/{LICENSE.txt → src/cnoke/LICENSE.txt} +0 -0
  3. package/src/cnoke/README.md +97 -0
  4. package/src/cnoke/assets/FindCNoke.cmake +71 -0
  5. package/src/cnoke/assets/win_delay_hook.c +34 -0
  6. package/src/cnoke/cnoke.js +968 -0
  7. package/src/cnoke/package.json +25 -0
  8. package/{vendor → src/core}/libcc/libcc.cc +38 -11
  9. package/{vendor → src/core}/libcc/libcc.hh +4 -2
  10. package/{CMakeLists.txt → src/koffi/CMakeLists.txt} +3 -3
  11. package/{ChangeLog.md → src/koffi/ChangeLog.md} +11 -0
  12. package/src/koffi/LICENSE.txt +661 -0
  13. package/{README.md → src/koffi/README.md} +0 -0
  14. package/{benchmark → src/koffi/benchmark}/CMakeLists.txt +9 -6
  15. package/{benchmark → src/koffi/benchmark}/atoi_koffi.js +0 -0
  16. package/{benchmark → src/koffi/benchmark}/atoi_napi.cc +1 -1
  17. package/{benchmark → src/koffi/benchmark}/atoi_napi.js +0 -0
  18. package/{benchmark → src/koffi/benchmark}/atoi_node_ffi.js +0 -0
  19. package/src/koffi/benchmark/benchmark.js +118 -0
  20. package/src/koffi/benchmark/rand_koffi.js +52 -0
  21. package/src/koffi/benchmark/rand_napi.cc +69 -0
  22. package/src/koffi/benchmark/rand_napi.js +47 -0
  23. package/src/koffi/benchmark/rand_node_ffi.js +55 -0
  24. package/{benchmark → src/koffi/benchmark}/raylib_cc.cc +2 -2
  25. package/{benchmark → src/koffi/benchmark}/raylib_cc.js +0 -0
  26. package/{benchmark → src/koffi/benchmark}/raylib_koffi.js +0 -0
  27. package/{benchmark → src/koffi/benchmark}/raylib_node_ffi.js +0 -0
  28. package/{benchmark → src/koffi/benchmark}/raylib_node_raylib.js +0 -0
  29. package/src/koffi/build/2.1.4/koffi_darwin_arm64.tar.gz +0 -0
  30. package/src/koffi/build/2.1.4/koffi_darwin_x64.tar.gz +0 -0
  31. package/src/koffi/build/2.1.4/koffi_freebsd_arm64.tar.gz +0 -0
  32. package/src/koffi/build/2.1.4/koffi_freebsd_ia32.tar.gz +0 -0
  33. package/src/koffi/build/2.1.4/koffi_freebsd_x64.tar.gz +0 -0
  34. package/src/koffi/build/2.1.4/koffi_linux_arm32hf.tar.gz +0 -0
  35. package/src/koffi/build/2.1.4/koffi_linux_arm64.tar.gz +0 -0
  36. package/src/koffi/build/2.1.4/koffi_linux_ia32.tar.gz +0 -0
  37. package/src/koffi/build/2.1.4/koffi_linux_riscv64hf64.tar.gz +0 -0
  38. package/src/koffi/build/2.1.4/koffi_linux_x64.tar.gz +0 -0
  39. package/src/koffi/build/2.1.4/koffi_openbsd_ia32.tar.gz +0 -0
  40. package/src/koffi/build/2.1.4/koffi_openbsd_x64.tar.gz +0 -0
  41. package/src/koffi/build/2.1.4/koffi_win32_arm64.tar.gz +0 -0
  42. package/src/koffi/build/2.1.4/koffi_win32_ia32.tar.gz +0 -0
  43. package/src/koffi/build/2.1.4/koffi_win32_x64.tar.gz +0 -0
  44. package/{doc → src/koffi/doc}/Makefile +0 -0
  45. package/{doc → src/koffi/doc}/benchmarks.md +0 -0
  46. package/{doc → src/koffi/doc}/benchmarks.xlsx +0 -0
  47. package/{doc → src/koffi/doc}/changes.md +0 -0
  48. package/{doc → src/koffi/doc}/conf.py +0 -0
  49. package/{doc → src/koffi/doc}/contribute.md +5 -5
  50. package/{doc → src/koffi/doc}/functions.md +0 -0
  51. package/{doc → src/koffi/doc}/index.rst +1 -1
  52. package/{doc → src/koffi/doc}/make.bat +0 -0
  53. package/{doc → src/koffi/doc}/memory.md +1 -0
  54. package/{doc → src/koffi/doc}/platforms.md +0 -0
  55. package/{doc → src/koffi/doc}/poetry.lock +0 -0
  56. package/{doc → src/koffi/doc}/pyproject.toml +0 -0
  57. package/{doc → src/koffi/doc}/start.md +0 -0
  58. package/{doc → src/koffi/doc}/static/bench_linux.png +0 -0
  59. package/{doc → src/koffi/doc}/static/bench_windows.png +0 -0
  60. package/{doc → src/koffi/doc}/static/custom.css +0 -0
  61. package/{doc → src/koffi/doc}/static/perf_linux_20220623.png +0 -0
  62. package/{doc → src/koffi/doc}/static/perf_linux_20220623_2.png +0 -0
  63. package/{doc → src/koffi/doc}/static/perf_linux_20220627.png +0 -0
  64. package/{doc → src/koffi/doc}/static/perf_linux_20220628.png +0 -0
  65. package/{doc → src/koffi/doc}/static/perf_linux_20220812.png +0 -0
  66. package/{doc → src/koffi/doc}/static/perf_windows_20220623.png +0 -0
  67. package/{doc → src/koffi/doc}/static/perf_windows_20220623_2.png +0 -0
  68. package/{doc → src/koffi/doc}/static/perf_windows_20220627.png +0 -0
  69. package/{doc → src/koffi/doc}/static/perf_windows_20220628.png +0 -0
  70. package/{doc → src/koffi/doc}/static/perf_windows_20220812.png +0 -0
  71. package/{doc → src/koffi/doc}/templates/badges.html +1 -1
  72. package/{doc → src/koffi/doc}/types.md +0 -0
  73. package/src/koffi/qemu/qemu/.gitkeep +0 -0
  74. package/{qemu → src/koffi/qemu}/qemu.js +217 -131
  75. package/{qemu → src/koffi/qemu}/registry/machines.json +24 -0
  76. package/{qemu → src/koffi/qemu}/registry/sha256sum.txt +0 -0
  77. package/src/{abi_arm32.cc → koffi/src/abi_arm32.cc} +1 -1
  78. package/src/{abi_arm32_fwd.S → koffi/src/abi_arm32_fwd.S} +0 -0
  79. package/src/{abi_arm64.cc → koffi/src/abi_arm64.cc} +1 -1
  80. package/src/{abi_arm64_fwd.S → koffi/src/abi_arm64_fwd.S} +0 -0
  81. package/src/{abi_arm64_fwd.asm → koffi/src/abi_arm64_fwd.asm} +0 -0
  82. package/src/{abi_riscv64.cc → koffi/src/abi_riscv64.cc} +1 -1
  83. package/src/{abi_riscv64_fwd.S → koffi/src/abi_riscv64_fwd.S} +0 -0
  84. package/src/{abi_x64_sysv.cc → koffi/src/abi_x64_sysv.cc} +1 -1
  85. package/src/{abi_x64_sysv_fwd.S → koffi/src/abi_x64_sysv_fwd.S} +0 -0
  86. package/src/{abi_x64_win.cc → koffi/src/abi_x64_win.cc} +1 -1
  87. package/src/{abi_x64_win_fwd.asm → koffi/src/abi_x64_win_fwd.asm} +0 -0
  88. package/src/{abi_x86.cc → koffi/src/abi_x86.cc} +1 -1
  89. package/src/{abi_x86_fwd.S → koffi/src/abi_x86_fwd.S} +0 -0
  90. package/src/{abi_x86_fwd.asm → koffi/src/abi_x86_fwd.asm} +0 -0
  91. package/src/{call.cc → koffi/src/call.cc} +1 -1
  92. package/src/{call.hh → koffi/src/call.hh} +2 -2
  93. package/src/{ffi.cc → koffi/src/ffi.cc} +34 -18
  94. package/src/{ffi.hh → koffi/src/ffi.hh} +5 -3
  95. package/src/{index.js → koffi/src/index.js} +0 -0
  96. package/src/{parser.cc → koffi/src/parser.cc} +1 -1
  97. package/src/{parser.hh → koffi/src/parser.hh} +1 -1
  98. package/src/{util.cc → koffi/src/util.cc} +1 -1
  99. package/src/{util.hh → koffi/src/util.hh} +1 -1
  100. package/{test → src/koffi/test}/CMakeLists.txt +14 -15
  101. package/{test → src/koffi/test}/async.js +0 -0
  102. package/{test → src/koffi/test}/callbacks.js +0 -0
  103. package/{test → src/koffi/test}/misc.c +13 -0
  104. package/{test → src/koffi/test}/misc.def +0 -0
  105. package/{test → src/koffi/test}/raylib.js +0 -0
  106. package/{test → src/koffi/test}/sqlite.js +1 -1
  107. package/{test → src/koffi/test}/sync.js +17 -0
  108. package/vendor/brotli/BUILD +144 -0
  109. package/vendor/brotli/CMakeLists.txt +421 -0
  110. package/vendor/brotli/CONTRIBUTING.md +27 -0
  111. package/vendor/brotli/LICENSE +19 -0
  112. package/vendor/brotli/MANIFEST.in +17 -0
  113. package/vendor/brotli/Makefile +55 -0
  114. package/vendor/brotli/Makefile.am +38 -0
  115. package/vendor/brotli/README +15 -0
  116. package/vendor/brotli/README.md +104 -0
  117. package/vendor/brotli/WORKSPACE +21 -0
  118. package/vendor/brotli/bootstrap +35 -0
  119. package/vendor/brotli/c/common/constants.c +15 -0
  120. package/vendor/brotli/c/common/constants.h +200 -0
  121. package/vendor/brotli/c/common/context.c +156 -0
  122. package/vendor/brotli/c/common/context.h +113 -0
  123. package/vendor/brotli/c/common/dictionary.c +5914 -0
  124. package/vendor/brotli/c/common/dictionary.h +64 -0
  125. package/vendor/brotli/c/common/platform.c +22 -0
  126. package/vendor/brotli/c/common/platform.h +594 -0
  127. package/vendor/brotli/c/common/transform.c +291 -0
  128. package/vendor/brotli/c/common/transform.h +85 -0
  129. package/vendor/brotli/c/common/version.h +26 -0
  130. package/vendor/brotli/c/dec/bit_reader.c +76 -0
  131. package/vendor/brotli/c/dec/bit_reader.h +351 -0
  132. package/vendor/brotli/c/dec/decode.c +2608 -0
  133. package/vendor/brotli/c/dec/huffman.c +339 -0
  134. package/vendor/brotli/c/dec/huffman.h +121 -0
  135. package/vendor/brotli/c/dec/prefix.h +732 -0
  136. package/vendor/brotli/c/dec/state.c +159 -0
  137. package/vendor/brotli/c/dec/state.h +365 -0
  138. package/vendor/brotli/c/enc/backward_references.c +145 -0
  139. package/vendor/brotli/c/enc/backward_references.h +39 -0
  140. package/vendor/brotli/c/enc/backward_references_hq.c +843 -0
  141. package/vendor/brotli/c/enc/backward_references_hq.h +95 -0
  142. package/vendor/brotli/c/enc/backward_references_inc.h +163 -0
  143. package/vendor/brotli/c/enc/bit_cost.c +35 -0
  144. package/vendor/brotli/c/enc/bit_cost.h +63 -0
  145. package/vendor/brotli/c/enc/bit_cost_inc.h +127 -0
  146. package/vendor/brotli/c/enc/block_encoder_inc.h +34 -0
  147. package/vendor/brotli/c/enc/block_splitter.c +194 -0
  148. package/vendor/brotli/c/enc/block_splitter.h +51 -0
  149. package/vendor/brotli/c/enc/block_splitter_inc.h +440 -0
  150. package/vendor/brotli/c/enc/brotli_bit_stream.c +1314 -0
  151. package/vendor/brotli/c/enc/brotli_bit_stream.h +84 -0
  152. package/vendor/brotli/c/enc/cluster.c +56 -0
  153. package/vendor/brotli/c/enc/cluster.h +48 -0
  154. package/vendor/brotli/c/enc/cluster_inc.h +320 -0
  155. package/vendor/brotli/c/enc/command.c +28 -0
  156. package/vendor/brotli/c/enc/command.h +190 -0
  157. package/vendor/brotli/c/enc/compress_fragment.c +790 -0
  158. package/vendor/brotli/c/enc/compress_fragment.h +61 -0
  159. package/vendor/brotli/c/enc/compress_fragment_two_pass.c +645 -0
  160. package/vendor/brotli/c/enc/compress_fragment_two_pass.h +54 -0
  161. package/vendor/brotli/c/enc/dictionary_hash.c +1846 -0
  162. package/vendor/brotli/c/enc/dictionary_hash.h +25 -0
  163. package/vendor/brotli/c/enc/encode.c +1927 -0
  164. package/vendor/brotli/c/enc/encoder_dict.c +33 -0
  165. package/vendor/brotli/c/enc/encoder_dict.h +43 -0
  166. package/vendor/brotli/c/enc/entropy_encode.c +503 -0
  167. package/vendor/brotli/c/enc/entropy_encode.h +122 -0
  168. package/vendor/brotli/c/enc/entropy_encode_static.h +539 -0
  169. package/vendor/brotli/c/enc/fast_log.c +105 -0
  170. package/vendor/brotli/c/enc/fast_log.h +66 -0
  171. package/vendor/brotli/c/enc/find_match_length.h +79 -0
  172. package/vendor/brotli/c/enc/hash.h +488 -0
  173. package/vendor/brotli/c/enc/hash_composite_inc.h +125 -0
  174. package/vendor/brotli/c/enc/hash_forgetful_chain_inc.h +293 -0
  175. package/vendor/brotli/c/enc/hash_longest_match64_inc.h +267 -0
  176. package/vendor/brotli/c/enc/hash_longest_match_inc.h +262 -0
  177. package/vendor/brotli/c/enc/hash_longest_match_quickly_inc.h +266 -0
  178. package/vendor/brotli/c/enc/hash_rolling_inc.h +212 -0
  179. package/vendor/brotli/c/enc/hash_to_binary_tree_inc.h +329 -0
  180. package/vendor/brotli/c/enc/histogram.c +100 -0
  181. package/vendor/brotli/c/enc/histogram.h +63 -0
  182. package/vendor/brotli/c/enc/histogram_inc.h +51 -0
  183. package/vendor/brotli/c/enc/literal_cost.c +175 -0
  184. package/vendor/brotli/c/enc/literal_cost.h +30 -0
  185. package/vendor/brotli/c/enc/memory.c +170 -0
  186. package/vendor/brotli/c/enc/memory.h +114 -0
  187. package/vendor/brotli/c/enc/metablock.c +663 -0
  188. package/vendor/brotli/c/enc/metablock.h +105 -0
  189. package/vendor/brotli/c/enc/metablock_inc.h +183 -0
  190. package/vendor/brotli/c/enc/params.h +46 -0
  191. package/vendor/brotli/c/enc/prefix.h +53 -0
  192. package/vendor/brotli/c/enc/quality.h +165 -0
  193. package/vendor/brotli/c/enc/ringbuffer.h +167 -0
  194. package/vendor/brotli/c/enc/static_dict.c +486 -0
  195. package/vendor/brotli/c/enc/static_dict.h +40 -0
  196. package/vendor/brotli/c/enc/static_dict_lut.h +5864 -0
  197. package/vendor/brotli/c/enc/utf8_util.c +85 -0
  198. package/vendor/brotli/c/enc/utf8_util.h +32 -0
  199. package/vendor/brotli/c/enc/write_bits.h +87 -0
  200. package/vendor/brotli/c/include/brotli/decode.h +344 -0
  201. package/vendor/brotli/c/include/brotli/encode.h +448 -0
  202. package/vendor/brotli/c/include/brotli/port.h +288 -0
  203. package/vendor/brotli/c/include/brotli/types.h +83 -0
  204. package/vendor/brotli/c/tools/brotli.c +1116 -0
  205. package/vendor/brotli/c/tools/brotli.md +107 -0
  206. package/vendor/brotli/compiler_config_setting.bzl +28 -0
  207. package/vendor/brotli/configure +8 -0
  208. package/vendor/brotli/configure-cmake +318 -0
  209. package/vendor/brotli/configure.ac +14 -0
  210. package/vendor/brotli/docs/brotli.1 +132 -0
  211. package/vendor/brotli/docs/constants.h.3 +47 -0
  212. package/vendor/brotli/docs/decode.h.3 +415 -0
  213. package/vendor/brotli/docs/encode.h.3 +586 -0
  214. package/vendor/brotli/docs/types.h.3 +117 -0
  215. package/vendor/brotli/premake5.lua +78 -0
  216. package/vendor/brotli/python/Makefile +57 -0
  217. package/vendor/brotli/python/README.md +54 -0
  218. package/vendor/brotli/python/_brotli.cc +753 -0
  219. package/vendor/brotli/python/bro.py +160 -0
  220. package/vendor/brotli/python/brotli.py +56 -0
  221. package/vendor/brotli/python/tests/__init__.py +0 -0
  222. package/vendor/brotli/python/tests/_test_utils.py +112 -0
  223. package/vendor/brotli/python/tests/bro_test.py +102 -0
  224. package/vendor/brotli/python/tests/compress_test.py +41 -0
  225. package/vendor/brotli/python/tests/compressor_test.py +94 -0
  226. package/vendor/brotli/python/tests/decompress_test.py +42 -0
  227. package/vendor/brotli/python/tests/decompressor_test.py +59 -0
  228. package/vendor/brotli/scripts/libbrotlicommon.pc.in +11 -0
  229. package/vendor/brotli/scripts/libbrotlidec.pc.in +12 -0
  230. package/vendor/brotli/scripts/libbrotlienc.pc.in +12 -0
  231. package/vendor/brotli/scripts/sources.lst +104 -0
  232. package/vendor/brotli/setup.cfg +5 -0
  233. package/vendor/brotli/setup.py +293 -0
  234. package/vendor/brotli/tests/Makefile +17 -0
  235. package/vendor/brotli/tests/compatibility_test.sh +25 -0
  236. package/vendor/brotli/tests/roundtrip_test.sh +36 -0
  237. package/vendor/brotli/tests/run-compatibility-test.cmake +31 -0
  238. package/vendor/brotli/tests/run-roundtrip-test.cmake +36 -0
  239. package/vendor/brotli/tests/testdata/empty +0 -0
  240. package/vendor/brotli/tests/testdata/empty.compressed +1 -0
  241. package/vendor/brotli/tests/testdata/ukkonooa +1 -0
  242. package/vendor/brotli/tests/testdata/ukkonooa.compressed +0 -0
  243. package/vendor/miniz/ChangeLog.md +235 -0
  244. package/vendor/miniz/LICENSE +22 -0
  245. package/vendor/miniz/examples/example1.c +105 -0
  246. package/vendor/miniz/examples/example2.c +164 -0
  247. package/vendor/miniz/examples/example3.c +269 -0
  248. package/vendor/miniz/examples/example4.c +102 -0
  249. package/vendor/miniz/examples/example5.c +327 -0
  250. package/vendor/miniz/examples/example6.c +166 -0
  251. package/vendor/miniz/miniz.c +7835 -0
  252. package/vendor/miniz/miniz.h +1422 -0
  253. package/vendor/miniz/readme.md +46 -0
  254. package/vendor/{sqlite3 → sqlite3mc}/sqlite3ext.h +18 -2
  255. package/vendor/{sqlite3/sqlite3.c → sqlite3mc/sqlite3mc.c} +60872 -4890
  256. package/vendor/sqlite3mc/sqlite3mc.def +312 -0
  257. package/vendor/{sqlite3/sqlite3.h → sqlite3mc/sqlite3mc.h} +480 -36
  258. package/build/qemu/2.1.3/koffi_darwin_arm64.tar.gz +0 -0
  259. package/build/qemu/2.1.3/koffi_darwin_x64.tar.gz +0 -0
  260. package/build/qemu/2.1.3/koffi_freebsd_arm64.tar.gz +0 -0
  261. package/build/qemu/2.1.3/koffi_freebsd_ia32.tar.gz +0 -0
  262. package/build/qemu/2.1.3/koffi_freebsd_x64.tar.gz +0 -0
  263. package/build/qemu/2.1.3/koffi_linux_arm32hf.tar.gz +0 -0
  264. package/build/qemu/2.1.3/koffi_linux_arm64.tar.gz +0 -0
  265. package/build/qemu/2.1.3/koffi_linux_ia32.tar.gz +0 -0
  266. package/build/qemu/2.1.3/koffi_linux_riscv64hf64.tar.gz +0 -0
  267. package/build/qemu/2.1.3/koffi_linux_x64.tar.gz +0 -0
  268. package/build/qemu/2.1.3/koffi_openbsd_ia32.tar.gz +0 -0
  269. package/build/qemu/2.1.3/koffi_openbsd_x64.tar.gz +0 -0
  270. package/build/qemu/2.1.3/koffi_win32_arm64.tar.gz +0 -0
  271. package/build/qemu/2.1.3/koffi_win32_ia32.tar.gz +0 -0
  272. package/build/qemu/2.1.3/koffi_win32_x64.tar.gz +0 -0
  273. package/vendor/_patches/glfw_001_fix_openbsd_xlib_soname.patch +0 -145
  274. package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.NativeActivity/raylib_android.NativeActivity.vcxproj +0 -226
  275. package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.NativeActivity/raylib_android.NativeActivity.vcxproj.filters +0 -10
  276. package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.NativeActivity/raylib_android.NativeActivity.vcxproj.user +0 -4
  277. package/vendor/raylib/projects/VS2019-Android/raylib_android.sln +0 -75
  278. package/vendor/raylib/projects/VS2022/examples/audio_module_playing.vcxproj +0 -390
  279. package/vendor/raylib/projects/VS2022/examples/audio_multichannel_sound.vcxproj +0 -390
  280. package/vendor/raylib/projects/VS2022/examples/audio_music_stream.vcxproj +0 -390
  281. package/vendor/raylib/projects/VS2022/examples/audio_raw_stream.vcxproj +0 -390
  282. package/vendor/raylib/projects/VS2022/examples/audio_sound_loading.vcxproj +0 -390
  283. package/vendor/raylib/projects/VS2022/examples/audio_stream_effects.vcxproj +0 -390
  284. package/vendor/raylib/projects/VS2022/examples/core_2d_camera.vcxproj +0 -390
  285. package/vendor/raylib/projects/VS2022/examples/core_2d_camera_mouse_zoom.vcxproj +0 -390
  286. package/vendor/raylib/projects/VS2022/examples/core_2d_camera_platformer.vcxproj +0 -390
  287. package/vendor/raylib/projects/VS2022/examples/core_3d_camera_first_person.vcxproj +0 -390
  288. package/vendor/raylib/projects/VS2022/examples/core_3d_camera_free.vcxproj +0 -390
  289. package/vendor/raylib/projects/VS2022/examples/core_3d_camera_mode.vcxproj +0 -390
  290. package/vendor/raylib/projects/VS2022/examples/core_3d_picking.vcxproj +0 -390
  291. package/vendor/raylib/projects/VS2022/examples/core_basic_screen_manager.vcxproj +0 -390
  292. package/vendor/raylib/projects/VS2022/examples/core_basic_window.vcxproj +0 -390
  293. package/vendor/raylib/projects/VS2022/examples/core_custom_frame_control.vcxproj +0 -390
  294. package/vendor/raylib/projects/VS2022/examples/core_custom_logging.vcxproj +0 -390
  295. package/vendor/raylib/projects/VS2022/examples/core_drop_files.vcxproj +0 -390
  296. package/vendor/raylib/projects/VS2022/examples/core_input_gamepad.vcxproj +0 -387
  297. package/vendor/raylib/projects/VS2022/examples/core_input_gestures.vcxproj +0 -387
  298. package/vendor/raylib/projects/VS2022/examples/core_input_keys.vcxproj +0 -387
  299. package/vendor/raylib/projects/VS2022/examples/core_input_mouse.vcxproj +0 -387
  300. package/vendor/raylib/projects/VS2022/examples/core_input_mouse_wheel.vcxproj +0 -387
  301. package/vendor/raylib/projects/VS2022/examples/core_input_multitouch.vcxproj +0 -387
  302. package/vendor/raylib/projects/VS2022/examples/core_loading_thread.vcxproj +0 -387
  303. package/vendor/raylib/projects/VS2022/examples/core_random_values.vcxproj +0 -387
  304. package/vendor/raylib/projects/VS2022/examples/core_scissor_test.vcxproj +0 -387
  305. package/vendor/raylib/projects/VS2022/examples/core_split_screen.vcxproj +0 -387
  306. package/vendor/raylib/projects/VS2022/examples/core_storage_values.vcxproj +0 -387
  307. package/vendor/raylib/projects/VS2022/examples/core_vr_simulator.vcxproj +0 -387
  308. package/vendor/raylib/projects/VS2022/examples/core_window_flags.vcxproj +0 -387
  309. package/vendor/raylib/projects/VS2022/examples/core_window_letterbox.vcxproj +0 -387
  310. package/vendor/raylib/projects/VS2022/examples/core_window_should_close.vcxproj +0 -390
  311. package/vendor/raylib/projects/VS2022/examples/core_world_screen.vcxproj +0 -387
  312. package/vendor/raylib/projects/VS2022/examples/easings_testbed.vcxproj +0 -387
  313. package/vendor/raylib/projects/VS2022/examples/embedded_files_loading.vcxproj +0 -387
  314. package/vendor/raylib/projects/VS2022/examples/models_animation.vcxproj +0 -387
  315. package/vendor/raylib/projects/VS2022/examples/models_billboard.vcxproj +0 -387
  316. package/vendor/raylib/projects/VS2022/examples/models_box_collisions.vcxproj +0 -387
  317. package/vendor/raylib/projects/VS2022/examples/models_cubicmap.vcxproj +0 -387
  318. package/vendor/raylib/projects/VS2022/examples/models_first_person_maze.vcxproj +0 -387
  319. package/vendor/raylib/projects/VS2022/examples/models_geometric_shapes.vcxproj +0 -387
  320. package/vendor/raylib/projects/VS2022/examples/models_heightmap.vcxproj +0 -387
  321. package/vendor/raylib/projects/VS2022/examples/models_loading.vcxproj +0 -387
  322. package/vendor/raylib/projects/VS2022/examples/models_loading_gltf.vcxproj +0 -387
  323. package/vendor/raylib/projects/VS2022/examples/models_loading_vox.vcxproj +0 -387
  324. package/vendor/raylib/projects/VS2022/examples/models_mesh_generation.vcxproj +0 -387
  325. package/vendor/raylib/projects/VS2022/examples/models_mesh_picking.vcxproj +0 -387
  326. package/vendor/raylib/projects/VS2022/examples/models_orthographic_projection.vcxproj +0 -387
  327. package/vendor/raylib/projects/VS2022/examples/models_rlgl_solar_system.vcxproj +0 -387
  328. package/vendor/raylib/projects/VS2022/examples/models_skybox.vcxproj +0 -387
  329. package/vendor/raylib/projects/VS2022/examples/models_waving_cubes.vcxproj +0 -387
  330. package/vendor/raylib/projects/VS2022/examples/models_yaw_pitch_roll.vcxproj +0 -387
  331. package/vendor/raylib/projects/VS2022/examples/rlgl_compute_shaders.vcxproj +0 -391
  332. package/vendor/raylib/projects/VS2022/examples/rlgl_standalone.vcxproj +0 -391
  333. package/vendor/raylib/projects/VS2022/examples/shaders_basic_lighting.vcxproj +0 -387
  334. package/vendor/raylib/projects/VS2022/examples/shaders_custom_uniform.vcxproj +0 -387
  335. package/vendor/raylib/projects/VS2022/examples/shaders_eratosthenes.vcxproj +0 -387
  336. package/vendor/raylib/projects/VS2022/examples/shaders_fog.vcxproj +0 -387
  337. package/vendor/raylib/projects/VS2022/examples/shaders_hot_reloading.vcxproj +0 -387
  338. package/vendor/raylib/projects/VS2022/examples/shaders_julia_set.vcxproj +0 -387
  339. package/vendor/raylib/projects/VS2022/examples/shaders_mesh_instancing.vcxproj +0 -387
  340. package/vendor/raylib/projects/VS2022/examples/shaders_model_shader.vcxproj +0 -387
  341. package/vendor/raylib/projects/VS2022/examples/shaders_multi_sample2d.vcxproj +0 -387
  342. package/vendor/raylib/projects/VS2022/examples/shaders_palette_switch.vcxproj +0 -387
  343. package/vendor/raylib/projects/VS2022/examples/shaders_postprocessing.vcxproj +0 -387
  344. package/vendor/raylib/projects/VS2022/examples/shaders_raymarching.vcxproj +0 -387
  345. package/vendor/raylib/projects/VS2022/examples/shaders_shapes_textures.vcxproj +0 -387
  346. package/vendor/raylib/projects/VS2022/examples/shaders_simple_mask.vcxproj +0 -387
  347. package/vendor/raylib/projects/VS2022/examples/shaders_spotlight.vcxproj +0 -387
  348. package/vendor/raylib/projects/VS2022/examples/shaders_texture_drawing.vcxproj +0 -387
  349. package/vendor/raylib/projects/VS2022/examples/shaders_texture_waves.vcxproj +0 -387
  350. package/vendor/raylib/projects/VS2022/examples/shapes_basic_shapes.vcxproj +0 -387
  351. package/vendor/raylib/projects/VS2022/examples/shapes_bouncing_ball.vcxproj +0 -387
  352. package/vendor/raylib/projects/VS2022/examples/shapes_collision_area.vcxproj +0 -387
  353. package/vendor/raylib/projects/VS2022/examples/shapes_colors_palette.vcxproj +0 -387
  354. package/vendor/raylib/projects/VS2022/examples/shapes_draw_circle_sector.vcxproj +0 -387
  355. package/vendor/raylib/projects/VS2022/examples/shapes_draw_rectangle_rounded.vcxproj +0 -387
  356. package/vendor/raylib/projects/VS2022/examples/shapes_draw_ring.vcxproj +0 -387
  357. package/vendor/raylib/projects/VS2022/examples/shapes_easings_ball_anim.vcxproj +0 -387
  358. package/vendor/raylib/projects/VS2022/examples/shapes_easings_box_anim.vcxproj +0 -387
  359. package/vendor/raylib/projects/VS2022/examples/shapes_easings_rectangle_array.vcxproj +0 -387
  360. package/vendor/raylib/projects/VS2022/examples/shapes_following_eyes.vcxproj +0 -387
  361. package/vendor/raylib/projects/VS2022/examples/shapes_lines_bezier.vcxproj +0 -387
  362. package/vendor/raylib/projects/VS2022/examples/shapes_logo_raylib.vcxproj +0 -387
  363. package/vendor/raylib/projects/VS2022/examples/shapes_logo_raylib_anim.vcxproj +0 -387
  364. package/vendor/raylib/projects/VS2022/examples/shapes_rectangle_scaling.vcxproj +0 -387
  365. package/vendor/raylib/projects/VS2022/examples/text_codepoints_loading.vcxproj +0 -387
  366. package/vendor/raylib/projects/VS2022/examples/text_draw_3d.vcxproj +0 -387
  367. package/vendor/raylib/projects/VS2022/examples/text_font_filters.vcxproj +0 -387
  368. package/vendor/raylib/projects/VS2022/examples/text_font_loading.vcxproj +0 -387
  369. package/vendor/raylib/projects/VS2022/examples/text_font_sdf.vcxproj +0 -387
  370. package/vendor/raylib/projects/VS2022/examples/text_font_spritefont.vcxproj +0 -387
  371. package/vendor/raylib/projects/VS2022/examples/text_format_text.vcxproj +0 -387
  372. package/vendor/raylib/projects/VS2022/examples/text_input_box.vcxproj +0 -387
  373. package/vendor/raylib/projects/VS2022/examples/text_raylib_fonts.vcxproj +0 -387
  374. package/vendor/raylib/projects/VS2022/examples/text_rectangle_bounds.vcxproj +0 -387
  375. package/vendor/raylib/projects/VS2022/examples/text_unicode.vcxproj +0 -387
  376. package/vendor/raylib/projects/VS2022/examples/text_writing_anim.vcxproj +0 -387
  377. package/vendor/raylib/projects/VS2022/examples/textures_background_scrolling.vcxproj +0 -387
  378. package/vendor/raylib/projects/VS2022/examples/textures_blend_modes.vcxproj +0 -387
  379. package/vendor/raylib/projects/VS2022/examples/textures_bunnymark.vcxproj +0 -387
  380. package/vendor/raylib/projects/VS2022/examples/textures_draw_tiled.vcxproj +0 -387
  381. package/vendor/raylib/projects/VS2022/examples/textures_fog_of_war.vcxproj +0 -387
  382. package/vendor/raylib/projects/VS2022/examples/textures_gif_player.vcxproj +0 -387
  383. package/vendor/raylib/projects/VS2022/examples/textures_image_drawing.vcxproj +0 -387
  384. package/vendor/raylib/projects/VS2022/examples/textures_image_generation.vcxproj +0 -387
  385. package/vendor/raylib/projects/VS2022/examples/textures_image_loading.vcxproj +0 -387
  386. package/vendor/raylib/projects/VS2022/examples/textures_image_processing.vcxproj +0 -387
  387. package/vendor/raylib/projects/VS2022/examples/textures_image_text.vcxproj +0 -387
  388. package/vendor/raylib/projects/VS2022/examples/textures_logo_raylib.vcxproj +0 -387
  389. package/vendor/raylib/projects/VS2022/examples/textures_mouse_painting.vcxproj +0 -387
  390. package/vendor/raylib/projects/VS2022/examples/textures_npatch_drawing.vcxproj +0 -387
  391. package/vendor/raylib/projects/VS2022/examples/textures_particles_blending.vcxproj +0 -387
  392. package/vendor/raylib/projects/VS2022/examples/textures_polygon.vcxproj +0 -387
  393. package/vendor/raylib/projects/VS2022/examples/textures_raw_data.vcxproj +0 -387
  394. package/vendor/raylib/projects/VS2022/examples/textures_sprite_anim.vcxproj +0 -387
  395. package/vendor/raylib/projects/VS2022/examples/textures_sprite_button.vcxproj +0 -387
  396. package/vendor/raylib/projects/VS2022/examples/textures_sprite_explosion.vcxproj +0 -387
  397. package/vendor/raylib/projects/VS2022/examples/textures_srcrec_dstrec.vcxproj +0 -387
  398. package/vendor/raylib/projects/VS2022/examples/textures_to_image.vcxproj +0 -387
  399. package/vendor/raylib/projects/VS2022/raylib/raylib.vcxproj +0 -340
  400. package/vendor/raylib/projects/VS2022/raylib.sln +0 -2347
  401. package/vendor/sqlite3/shell.c +0 -23496
@@ -0,0 +1,421 @@
1
+ # Ubuntu 12.04 LTS has CMake 2.8.7, and is an important target since
2
+ # several CI services, such as Travis and Drone, use it. Solaris 11
3
+ # has 2.8.6, and it's not difficult to support if you already have to
4
+ # support 2.8.7.
5
+ cmake_minimum_required(VERSION 2.8.6)
6
+
7
+ project(brotli C)
8
+
9
+ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
10
+ message(STATUS "Setting build type to Release as none was specified.")
11
+ set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build." FORCE)
12
+ else()
13
+ message(STATUS "Build type is '${CMAKE_BUILD_TYPE}'")
14
+ endif()
15
+
16
+ include(CheckCSourceCompiles)
17
+ check_c_source_compiles(
18
+ "#if defined(__EMSCRIPTEN__)
19
+ int main() {return 0;}
20
+ #endif"
21
+ BROTLI_EMSCRIPTEN
22
+ )
23
+ if (BROTLI_EMSCRIPTEN)
24
+ message("-- Compiler is EMSCRIPTEN")
25
+ else()
26
+ message("-- Compiler is not EMSCRIPTEN")
27
+ endif()
28
+
29
+ # If Brotli is being bundled in another project, we don't want to
30
+ # install anything. However, we want to let people override this, so
31
+ # we'll use the BROTLI_BUNDLED_MODE variable to let them do that; just
32
+ # set it to OFF in your project before you add_subdirectory(brotli).
33
+ get_directory_property(BROTLI_PARENT_DIRECTORY PARENT_DIRECTORY)
34
+ if(NOT DEFINED BROTLI_BUNDLED_MODE)
35
+ # Bundled mode hasn't been set one way or the other, set the default
36
+ # depending on whether or not we are the top-level project.
37
+ if(BROTLI_PARENT_DIRECTORY)
38
+ set(BROTLI_BUNDLED_MODE ON)
39
+ else()
40
+ set(BROTLI_BUNDLED_MODE OFF)
41
+ endif()
42
+ endif()
43
+ mark_as_advanced(BROTLI_BUNDLED_MODE)
44
+
45
+ include(GNUInstallDirs)
46
+
47
+ # Parse version information from common/version.h. Normally we would
48
+ # define these values here and write them out to configuration file(s)
49
+ # (i.e., config.h), but in this case we parse them from
50
+ # common/version.h to be less intrusive.
51
+ function(hex_to_dec HEXADECIMAL DECIMAL)
52
+ string(TOUPPER "${HEXADECIMAL}" _tail)
53
+ set(_decimal 0)
54
+ string(LENGTH "${_tail}" _tail_length)
55
+ while (_tail_length GREATER 0)
56
+ math(EXPR _decimal "${_decimal} * 16")
57
+ string(SUBSTRING "${_tail}" 0 1 _digit)
58
+ string(SUBSTRING "${_tail}" 1 -1 _tail)
59
+ if (_digit STREQUAL "A")
60
+ math(EXPR _decimal "${_decimal} + 10")
61
+ elseif (_digit STREQUAL "B")
62
+ math(EXPR _decimal "${_decimal} + 11")
63
+ elseif (_digit STREQUAL "C")
64
+ math(EXPR _decimal "${_decimal} + 12")
65
+ elseif (_digit STREQUAL "D")
66
+ math(EXPR _decimal "${_decimal} + 13")
67
+ elseif (_digit STREQUAL "E")
68
+ math(EXPR _decimal "${_decimal} + 14")
69
+ elseif (_digit STREQUAL "F")
70
+ math(EXPR _decimal "${_decimal} + 15")
71
+ else()
72
+ math(EXPR _decimal "${_decimal} + ${_digit}")
73
+ endif()
74
+ string(LENGTH "${_tail}" _tail_length)
75
+ endwhile()
76
+ set(${DECIMAL} ${_decimal} PARENT_SCOPE)
77
+ endfunction(hex_to_dec)
78
+
79
+ # Version information
80
+ file(STRINGS "c/common/version.h" _brotli_version_line REGEX "^#define BROTLI_VERSION (0x[0-9a-fA-F]+)$")
81
+ string(REGEX REPLACE "^#define BROTLI_VERSION 0x([0-9a-fA-F]+)$" "\\1" _brotli_version_hex "${_brotli_version_line}")
82
+ hex_to_dec("${_brotli_version_hex}" _brotli_version)
83
+ math(EXPR BROTLI_VERSION_MAJOR "${_brotli_version} >> 24")
84
+ math(EXPR BROTLI_VERSION_MINOR "(${_brotli_version} >> 12) & 4095")
85
+ math(EXPR BROTLI_VERSION_PATCH "${_brotli_version} & 4095")
86
+ set(BROTLI_VERSION "${BROTLI_VERSION_MAJOR}.${BROTLI_VERSION_MINOR}.${BROTLI_VERSION_PATCH}")
87
+ mark_as_advanced(BROTLI_VERSION BROTLI_VERSION_MAJOR BROTLI_VERSION_MINOR BROTLI_VERSION_PATCH)
88
+
89
+ # ABI Version information
90
+ file(STRINGS "c/common/version.h" _brotli_abi_info_line REGEX "^#define BROTLI_ABI_VERSION (0x[0-9a-fA-F]+)$")
91
+ string(REGEX REPLACE "^#define BROTLI_ABI_VERSION 0x([0-9a-fA-F]+)$" "\\1" _brotli_abi_info_hex "${_brotli_abi_info_line}")
92
+ hex_to_dec("${_brotli_abi_info_hex}" _brotli_abi_info)
93
+ math(EXPR BROTLI_ABI_CURRENT "${_brotli_abi_info} >> 24")
94
+ math(EXPR BROTLI_ABI_REVISION "(${_brotli_abi_info} >> 12) & 4095")
95
+ math(EXPR BROTLI_ABI_AGE "${_brotli_abi_info} & 4095")
96
+ math(EXPR BROTLI_ABI_COMPATIBILITY "${BROTLI_ABI_CURRENT} - ${BROTLI_ABI_AGE}")
97
+ mark_as_advanced(BROTLI_ABI_CURRENT BROTLI_ABI_REVISION BROTLI_ABI_AGE BROTLI_ABI_COMPATIBILITY)
98
+
99
+ if (ENABLE_SANITIZER)
100
+ set(CMAKE_C_FLAGS " ${CMAKE_C_FLAGS} -fsanitize=${ENABLE_SANITIZER}")
101
+ set(CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -fsanitize=${ENABLE_SANITIZER}")
102
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=${ENABLE_SANITIZER}")
103
+
104
+ # By default, brotli depends on undefined behavior, but setting
105
+ # BROTLI_BUILD_PORTABLE should result in a build which does not.
106
+ if(ENABLE_SANITIZER STREQUAL "undefined")
107
+ add_definitions(-DBROTLI_BUILD_PORTABLE)
108
+ endif()
109
+ endif ()
110
+
111
+ include(CheckFunctionExists)
112
+ set(LIBM_LIBRARY)
113
+ CHECK_FUNCTION_EXISTS(log2 LOG2_RES)
114
+ if(NOT LOG2_RES)
115
+ set(orig_req_libs "${CMAKE_REQUIRED_LIBRARIES}")
116
+ set(CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES};m")
117
+ CHECK_FUNCTION_EXISTS(log2 LOG2_LIBM_RES)
118
+ if(LOG2_LIBM_RES)
119
+ set(LIBM_LIBRARY "m")
120
+ add_definitions(-DBROTLI_HAVE_LOG2=1)
121
+ else()
122
+ add_definitions(-DBROTLI_HAVE_LOG2=0)
123
+ endif()
124
+
125
+ set(CMAKE_REQUIRED_LIBRARIES "${orig_req_libs}")
126
+ unset(LOG2_LIBM_RES)
127
+ unset(orig_req_libs)
128
+ else()
129
+ add_definitions(-DBROTLI_HAVE_LOG2=1)
130
+ endif()
131
+ unset(LOG2_RES)
132
+
133
+ set(BROTLI_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/c/include")
134
+ mark_as_advanced(BROTLI_INCLUDE_DIRS)
135
+
136
+ set(BROTLI_LIBRARIES_CORE brotlienc brotlidec brotlicommon)
137
+ set(BROTLI_LIBRARIES ${BROTLI_LIBRARIES_CORE} ${LIBM_LIBRARY})
138
+ mark_as_advanced(BROTLI_LIBRARIES)
139
+
140
+ set(BROTLI_LIBRARIES_CORE_STATIC brotlienc-static brotlidec-static brotlicommon-static)
141
+ set(BROTLI_LIBRARIES_STATIC ${BROTLI_LIBRARIES_CORE_STATIC} ${LIBM_LIBRARY})
142
+ mark_as_advanced(BROTLI_LIBRARIES_STATIC)
143
+
144
+ if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
145
+ add_definitions(-DOS_LINUX)
146
+ elseif(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
147
+ add_definitions(-DOS_FREEBSD)
148
+ elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
149
+ add_definitions(-DOS_MACOSX)
150
+ endif()
151
+
152
+ function(transform_sources_list INPUT_FILE OUTPUT_FILE)
153
+ file(READ ${INPUT_FILE} TEXT)
154
+ string(REGEX REPLACE "\\\\\n" "~continuation~" TEXT ${TEXT})
155
+ string(REGEX REPLACE "([a-zA-Z_][a-zA-Z0-9_]*)[\t ]*=[\t ]*([^\n]*)" "SET(\\1 \\2)" TEXT ${TEXT})
156
+ string(REPLACE "~continuation~" "\n" TEXT ${TEXT})
157
+ file(WRITE ${OUTPUT_FILE} ${TEXT})
158
+ endfunction()
159
+
160
+ transform_sources_list("scripts/sources.lst" "${CMAKE_CURRENT_BINARY_DIR}/sources.lst.cmake")
161
+ include("${CMAKE_CURRENT_BINARY_DIR}/sources.lst.cmake")
162
+
163
+ if(BROTLI_EMSCRIPTEN)
164
+ set(BROTLI_SHARED_LIBS "")
165
+ else()
166
+ set(BROTLI_SHARED_LIBS brotlicommon brotlidec brotlienc)
167
+ add_library(brotlicommon SHARED ${BROTLI_COMMON_C})
168
+ add_library(brotlidec SHARED ${BROTLI_DEC_C})
169
+ add_library(brotlienc SHARED ${BROTLI_ENC_C})
170
+ endif()
171
+
172
+ set(BROTLI_STATIC_LIBS brotlicommon-static brotlidec-static brotlienc-static)
173
+ add_library(brotlicommon-static STATIC ${BROTLI_COMMON_C})
174
+ add_library(brotlidec-static STATIC ${BROTLI_DEC_C})
175
+ add_library(brotlienc-static STATIC ${BROTLI_ENC_C})
176
+
177
+ # Older CMake versions does not understand INCLUDE_DIRECTORIES property.
178
+ include_directories(${BROTLI_INCLUDE_DIRS})
179
+
180
+ foreach(lib IN LISTS BROTLI_SHARED_LIBS)
181
+ target_compile_definitions(${lib} PUBLIC "BROTLI_SHARED_COMPILATION" )
182
+ string(TOUPPER "${lib}" LIB)
183
+ set_target_properties (${lib} PROPERTIES DEFINE_SYMBOL "${LIB}_SHARED_COMPILATION")
184
+ endforeach()
185
+
186
+ foreach(lib IN LISTS BROTLI_SHARED_LIBS BROTLI_STATIC_LIBS)
187
+ target_link_libraries(${lib} ${LIBM_LIBRARY})
188
+ set_property(TARGET ${lib} APPEND PROPERTY INCLUDE_DIRECTORIES ${BROTLI_INCLUDE_DIRS})
189
+ set_target_properties(${lib} PROPERTIES
190
+ VERSION "${BROTLI_ABI_COMPATIBILITY}.${BROTLI_ABI_AGE}.${BROTLI_ABI_REVISION}"
191
+ SOVERSION "${BROTLI_ABI_COMPATIBILITY}")
192
+ if(NOT BROTLI_EMSCRIPTEN)
193
+ set_target_properties(${lib} PROPERTIES POSITION_INDEPENDENT_CODE TRUE)
194
+ endif()
195
+ set_property(TARGET ${lib} APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIRS}")
196
+ endforeach()
197
+
198
+ if(NOT BROTLI_EMSCRIPTEN)
199
+ target_link_libraries(brotlidec brotlicommon)
200
+ target_link_libraries(brotlienc brotlicommon)
201
+ endif()
202
+
203
+ target_link_libraries(brotlidec-static brotlicommon-static)
204
+ target_link_libraries(brotlienc-static brotlicommon-static)
205
+
206
+ # For projects stuck on older versions of CMake, this will set the
207
+ # BROTLI_INCLUDE_DIRS and BROTLI_LIBRARIES variables so they still
208
+ # have a relatively easy way to use Brotli:
209
+ #
210
+ # include_directories(${BROTLI_INCLUDE_DIRS})
211
+ # target_link_libraries(foo ${BROTLI_LIBRARIES})
212
+ if(BROTLI_PARENT_DIRECTORY)
213
+ set(BROTLI_INCLUDE_DIRS "${BROTLI_INCLUDE_DIRS}" PARENT_SCOPE)
214
+ set(BROTLI_LIBRARIES "${BROTLI_LIBRARIES}" PARENT_SCOPE)
215
+ endif()
216
+
217
+ # Build the brotli executable
218
+ add_executable(brotli ${BROTLI_CLI_C})
219
+ target_link_libraries(brotli ${BROTLI_LIBRARIES_STATIC})
220
+
221
+ # Installation
222
+ if(NOT BROTLI_EMSCRIPTEN)
223
+ if(NOT BROTLI_BUNDLED_MODE)
224
+ install(
225
+ TARGETS brotli
226
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
227
+ )
228
+
229
+ install(
230
+ TARGETS ${BROTLI_LIBRARIES_CORE}
231
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
232
+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
233
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
234
+ )
235
+
236
+ install(
237
+ TARGETS ${BROTLI_LIBRARIES_CORE_STATIC}
238
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
239
+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
240
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
241
+ )
242
+
243
+ install(
244
+ DIRECTORY ${BROTLI_INCLUDE_DIRS}/brotli
245
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
246
+ )
247
+ endif() # BROTLI_BUNDLED_MODE
248
+ endif() # BROTLI_EMSCRIPTEN
249
+
250
+ # Tests
251
+
252
+ # If we're targeting Windows but not running on Windows, we need Wine
253
+ # to run the tests...
254
+ if(NOT BROTLI_DISABLE_TESTS)
255
+ if(WIN32 AND NOT CMAKE_HOST_WIN32)
256
+ find_program(BROTLI_WRAPPER NAMES wine)
257
+
258
+ if(NOT BROTLI_WRAPPER)
259
+ message(STATUS "wine not found, disabling tests")
260
+ set(BROTLI_DISABLE_TESTS TRUE)
261
+ endif()
262
+ endif()
263
+ endif()
264
+
265
+ # If our compiler is a cross-compiler that we know about (arm/aarch64),
266
+ # then we need to use qemu to execute the tests.
267
+ if(NOT BROTLI_DISABLE_TESTS)
268
+ if ("${CMAKE_C_COMPILER}" MATCHES "^.*/arm-linux-gnueabihf-.*$")
269
+ message(STATUS "Detected arm-linux-gnueabihf cross-compilation")
270
+ set(BROTLI_WRAPPER "qemu-arm")
271
+ set(BROTLI_WRAPPER_LD_PREFIX "/usr/arm-linux-gnueabihf")
272
+ endif()
273
+
274
+ if ("${CMAKE_C_COMPILER}" MATCHES "^.*/arm-linux-gnueabi-.*$")
275
+ message(STATUS "Detected arm-linux-gnueabi cross-compilation")
276
+ set(BROTLI_WRAPPER "qemu-arm")
277
+ set(BROTLI_WRAPPER_LD_PREFIX "/usr/arm-linux-gnueabi")
278
+ endif()
279
+
280
+ if ("${CMAKE_C_COMPILER}" MATCHES "^.*/aarch64-linux-gnu-.*$")
281
+ message(STATUS "Detected aarch64-linux-gnu cross-compilation")
282
+ set(BROTLI_WRAPPER "qemu-aarch64")
283
+ set(BROTLI_WRAPPER_LD_PREFIX "/usr/aarch64-linux-gnu")
284
+ endif()
285
+ endif()
286
+
287
+ if(NOT BROTLI_DISABLE_TESTS)
288
+ include(CTest)
289
+ enable_testing()
290
+
291
+ set(ROUNDTRIP_INPUTS
292
+ tests/testdata/alice29.txt
293
+ tests/testdata/asyoulik.txt
294
+ tests/testdata/lcet10.txt
295
+ tests/testdata/plrabn12.txt
296
+ c/enc/encode.c
297
+ c/common/dictionary.h
298
+ c/dec/decode.c)
299
+
300
+ foreach(INPUT ${ROUNDTRIP_INPUTS})
301
+ get_filename_component(OUTPUT_NAME "${INPUT}" NAME)
302
+
303
+ set(OUTPUT_FILE "${CMAKE_CURRENT_BINARY_DIR}/${OUTPUT_NAME}")
304
+ set(INPUT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/${INPUT}")
305
+
306
+ if (EXISTS "${INPUT_FILE}")
307
+ foreach(quality 1 6 9 11)
308
+ add_test(NAME "${BROTLI_TEST_PREFIX}roundtrip/${INPUT}/${quality}"
309
+ COMMAND "${CMAKE_COMMAND}"
310
+ -DBROTLI_WRAPPER=${BROTLI_WRAPPER}
311
+ -DBROTLI_WRAPPER_LD_PREFIX=${BROTLI_WRAPPER_LD_PREFIX}
312
+ -DBROTLI_CLI=$<TARGET_FILE:brotli>
313
+ -DQUALITY=${quality}
314
+ -DINPUT=${INPUT_FILE}
315
+ -DOUTPUT=${OUTPUT_FILE}.${quality}
316
+ -P ${CMAKE_CURRENT_SOURCE_DIR}/tests/run-roundtrip-test.cmake)
317
+ endforeach()
318
+ else()
319
+ message(WARNING "Test file ${INPUT} does not exist.")
320
+ endif()
321
+ endforeach()
322
+
323
+ file(GLOB_RECURSE
324
+ COMPATIBILITY_INPUTS
325
+ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
326
+ tests/testdata/*.compressed*)
327
+
328
+ foreach(INPUT ${COMPATIBILITY_INPUTS})
329
+ add_test(NAME "${BROTLI_TEST_PREFIX}compatibility/${INPUT}"
330
+ COMMAND "${CMAKE_COMMAND}"
331
+ -DBROTLI_WRAPPER=${BROTLI_WRAPPER}
332
+ -DBROTLI_WRAPPER_LD_PREFIX=${BROTLI_WRAPPER_LD_PREFIX}
333
+ -DBROTLI_CLI=$<TARGET_FILE:brotli>
334
+ -DINPUT=${CMAKE_CURRENT_SOURCE_DIR}/${INPUT}
335
+ -P ${CMAKE_CURRENT_SOURCE_DIR}/tests/run-compatibility-test.cmake)
336
+ endforeach()
337
+ endif()
338
+
339
+ # Generate a pkg-config files
340
+
341
+ function(generate_pkg_config_path outvar path)
342
+ string(LENGTH "${path}" path_length)
343
+
344
+ set(path_args ${ARGV})
345
+ list(REMOVE_AT path_args 0 1)
346
+ list(LENGTH path_args path_args_remaining)
347
+
348
+ set("${outvar}" "${path}")
349
+
350
+ while(path_args_remaining GREATER 1)
351
+ list(GET path_args 0 name)
352
+ list(GET path_args 1 value)
353
+
354
+ get_filename_component(value_full "${value}" ABSOLUTE)
355
+ string(LENGTH "${value}" value_length)
356
+
357
+ if(path_length EQUAL value_length AND path STREQUAL value)
358
+ set("${outvar}" "\${${name}}")
359
+ break()
360
+ elseif(path_length GREATER value_length)
361
+ # We might be in a subdirectory of the value, but we have to be
362
+ # careful about a prefix matching but not being a subdirectory
363
+ # (for example, /usr/lib64 is not a subdirectory of /usr/lib).
364
+ # We'll do this by making sure the next character is a directory
365
+ # separator.
366
+ string(SUBSTRING "${path}" ${value_length} 1 sep)
367
+ if(sep STREQUAL "/")
368
+ string(SUBSTRING "${path}" 0 ${value_length} s)
369
+ if(s STREQUAL value)
370
+ string(SUBSTRING "${path}" "${value_length}" -1 suffix)
371
+ set("${outvar}" "\${${name}}${suffix}")
372
+ break()
373
+ endif()
374
+ endif()
375
+ endif()
376
+
377
+ list(REMOVE_AT path_args 0 1)
378
+ list(LENGTH path_args path_args_remaining)
379
+ endwhile()
380
+
381
+ set("${outvar}" "${${outvar}}" PARENT_SCOPE)
382
+ endfunction(generate_pkg_config_path)
383
+
384
+ function(transform_pc_file INPUT_FILE OUTPUT_FILE VERSION)
385
+ file(READ ${INPUT_FILE} TEXT)
386
+
387
+ set(PREFIX "${CMAKE_INSTALL_PREFIX}")
388
+ string(REGEX REPLACE "@prefix@" "${PREFIX}" TEXT ${TEXT})
389
+ string(REGEX REPLACE "@exec_prefix@" "${PREFIX}" TEXT ${TEXT})
390
+
391
+ generate_pkg_config_path(LIBDIR "${CMAKE_INSTALL_FULL_LIBDIR}" prefix "${PREFIX}")
392
+ string(REGEX REPLACE "@libdir@" "${LIBDIR}" TEXT ${TEXT})
393
+
394
+ generate_pkg_config_path(INCLUDEDIR "${CMAKE_INSTALL_FULL_INCLUDEDIR}" prefix "${PREFIX}")
395
+ string(REGEX REPLACE "@includedir@" "${INCLUDEDIR}" TEXT ${TEXT})
396
+
397
+ string(REGEX REPLACE "@PACKAGE_VERSION@" "${VERSION}" TEXT ${TEXT})
398
+
399
+ file(WRITE ${OUTPUT_FILE} ${TEXT})
400
+ endfunction()
401
+
402
+ transform_pc_file("scripts/libbrotlicommon.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/libbrotlicommon.pc" "${BROTLI_VERSION}")
403
+
404
+ transform_pc_file("scripts/libbrotlidec.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/libbrotlidec.pc" "${BROTLI_VERSION}")
405
+
406
+ transform_pc_file("scripts/libbrotlienc.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/libbrotlienc.pc" "${BROTLI_VERSION}")
407
+
408
+ if(NOT BROTLI_EMSCRIPTEN)
409
+ if(NOT BROTLI_BUNDLED_MODE)
410
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libbrotlicommon.pc"
411
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
412
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libbrotlidec.pc"
413
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
414
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libbrotlienc.pc"
415
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
416
+ endif() # BROTLI_BUNDLED_MODE
417
+ endif() # BROTLI_EMSCRIPTEN
418
+
419
+ if (ENABLE_COVERAGE STREQUAL "yes")
420
+ SETUP_TARGET_FOR_COVERAGE(coverage test coverage)
421
+ endif ()
@@ -0,0 +1,27 @@
1
+ Want to contribute? Great! First, read this page (including the small print at
2
+ the end).
3
+
4
+ ### Before you contribute
5
+ Before we can use your code, you must sign the
6
+ [Google Individual Contributor License Agreement]
7
+ (https://cla.developers.google.com/about/google-individual)
8
+ (CLA), which you can do online. The CLA is necessary mainly because you own the
9
+ copyright to your changes, even after your contribution becomes part of our
10
+ codebase, so we need your permission to use and distribute your code. We also
11
+ need to be sure of various other things—for instance that you'll tell us if you
12
+ know that your code infringes on other people's patents. You don't have to sign
13
+ the CLA until after you've submitted your code for review and a member has
14
+ approved it, but you must do it before we can put your code into our codebase.
15
+ Before you start working on a larger contribution, you should get in touch with
16
+ us first through the issue tracker with your idea so that we can help out and
17
+ possibly guide you. Coordinating up front makes it much easier to avoid
18
+ frustration later on.
19
+
20
+ ### Code reviews
21
+ All submissions, including submissions by project members, require review. We
22
+ use Github pull requests for this purpose.
23
+
24
+ ### The small print
25
+ Contributions made by corporations are covered by a different agreement than
26
+ the one above, the [Software Grant and Corporate Contributor License Agreement]
27
+ (https://cla.developers.google.com/about/google-corporate).
@@ -0,0 +1,19 @@
1
+ Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in
11
+ all copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ THE SOFTWARE.
@@ -0,0 +1,17 @@
1
+ include CONTRIBUTING.md
2
+ include c/common/*.c
3
+ include c/common/*.h
4
+ include c/dec/*.c
5
+ include c/dec/*.h
6
+ include c/enc/*.c
7
+ include c/enc/*.h
8
+ include c/include/brotli/*.h
9
+ include LICENSE
10
+ include MANIFEST.in
11
+ include python/_brotli.cc
12
+ include python/bro.py
13
+ include python/brotli.py
14
+ include python/README.md
15
+ include README.md
16
+ include setup.py
17
+ include c/tools/brotli.c
@@ -0,0 +1,55 @@
1
+ OS := $(shell uname)
2
+ LIBSOURCES = $(wildcard c/common/*.c) $(wildcard c/dec/*.c) \
3
+ $(wildcard c/enc/*.c)
4
+ SOURCES = $(LIBSOURCES) c/tools/brotli.c
5
+ BINDIR = bin
6
+ OBJDIR = $(BINDIR)/obj
7
+ LIBOBJECTS = $(addprefix $(OBJDIR)/, $(LIBSOURCES:.c=.o))
8
+ OBJECTS = $(addprefix $(OBJDIR)/, $(SOURCES:.c=.o))
9
+ LIB_A = libbrotli.a
10
+ EXECUTABLE = brotli
11
+ DIRS = $(OBJDIR)/c/common $(OBJDIR)/c/dec $(OBJDIR)/c/enc \
12
+ $(OBJDIR)/c/tools $(BINDIR)/tmp
13
+ CFLAGS += -O2
14
+ ifeq ($(os), Darwin)
15
+ CPPFLAGS += -DOS_MACOSX
16
+ endif
17
+
18
+ ifneq ($(strip $(CROSS_COMPILE)), )
19
+ CC=$(CROSS_COMPILE)-gcc
20
+ ARCH=$(firstword $(subst -, ,$(CROSS_COMPILE)))
21
+ BROTLI_WRAPPER="qemu-$(ARCH) -L /usr/$(CROSS_COMPILE)"
22
+ endif
23
+
24
+ # The arm-linux-gnueabi compiler defaults to Armv5. Since we only support Armv7
25
+ # and beyond, we need to select Armv7 explicitly with march.
26
+ ifeq ($(ARCH), arm)
27
+ CFLAGS += -march=armv7-a -mfloat-abi=hard -mfpu=neon
28
+ endif
29
+
30
+ all: test
31
+ @:
32
+
33
+ .PHONY: all clean test
34
+
35
+ $(DIRS):
36
+ mkdir -p $@
37
+
38
+ $(EXECUTABLE): $(OBJECTS)
39
+ $(CC) $(LDFLAGS) $(OBJECTS) -lm -o $(BINDIR)/$(EXECUTABLE)
40
+
41
+ lib: $(LIBOBJECTS)
42
+ rm -f $(LIB_A)
43
+ ar -crs $(LIB_A) $(LIBOBJECTS)
44
+
45
+ test: $(EXECUTABLE)
46
+ tests/compatibility_test.sh $(BROTLI_WRAPPER)
47
+ tests/roundtrip_test.sh $(BROTLI_WRAPPER)
48
+
49
+ clean:
50
+ rm -rf $(BINDIR) $(LIB_A)
51
+
52
+ .SECONDEXPANSION:
53
+ $(OBJECTS): $$(patsubst %.o,%.c,$$(patsubst $$(OBJDIR)/%,%,$$@)) | $(DIRS)
54
+ $(CC) $(CFLAGS) $(CPPFLAGS) -Ic/include \
55
+ -c $(patsubst %.o,%.c,$(patsubst $(OBJDIR)/%,%,$@)) -o $@
@@ -0,0 +1,38 @@
1
+ AUTOMAKE_OPTIONS = foreign nostdinc subdir-objects
2
+
3
+ ACLOCAL_AMFLAGS = -I m4
4
+
5
+ # Actual ABI version is substituted by bootstrap
6
+ LIBBROTLI_VERSION_INFO = -version-info 0:0:0
7
+
8
+ bin_PROGRAMS = brotli
9
+ lib_LTLIBRARIES = libbrotlicommon.la libbrotlidec.la libbrotlienc.la
10
+
11
+ include scripts/sources.lst
12
+
13
+ brotliincludedir = $(includedir)/brotli
14
+ brotliinclude_HEADERS = $(BROTLI_INCLUDE)
15
+
16
+ AM_CFLAGS = -I$(top_srcdir)/c/include
17
+
18
+ brotli_SOURCES = $(BROTLI_CLI_C)
19
+ brotli_LDADD = libbrotlidec.la libbrotlienc.la libbrotlicommon.la -lm
20
+ #brotli_LDFLAGS = -static
21
+
22
+ libbrotlicommon_la_SOURCES = $(BROTLI_COMMON_C) $(BROTLI_COMMON_H)
23
+ libbrotlicommon_la_LDFLAGS = $(AM_LDFLAGS) $(LIBBROTLI_VERSION_INFO) $(LDFLAGS)
24
+ libbrotlidec_la_SOURCES = $(BROTLI_DEC_C) $(BROTLI_DEC_H)
25
+ libbrotlidec_la_LDFLAGS = $(AM_LDFLAGS) $(LIBBROTLI_VERSION_INFO) $(LDFLAGS)
26
+ libbrotlidec_la_LIBADD = libbrotlicommon.la -lm
27
+ libbrotlienc_la_SOURCES = $(BROTLI_ENC_C) $(BROTLI_ENC_H)
28
+ libbrotlienc_la_LDFLAGS = $(AM_LDFLAGS) $(LIBBROTLI_VERSION_INFO) $(LDFLAGS)
29
+ libbrotlienc_la_LIBADD = libbrotlicommon.la -lm
30
+
31
+ pkgconfigdir = $(libdir)/pkgconfig
32
+ pkgconfig_DATA = \
33
+ scripts/libbrotlicommon.pc \
34
+ scripts/libbrotlidec.pc \
35
+ scripts/libbrotlienc.pc
36
+ pkgincludedir= $(brotliincludedir)
37
+
38
+ dist_doc_DATA = README
@@ -0,0 +1,15 @@
1
+ BROTLI DATA COMPRESSION LIBRARY
2
+
3
+ Brotli is a generic-purpose lossless compression algorithm that compresses data
4
+ using a combination of a modern variant of the LZ77 algorithm, Huffman coding
5
+ and 2nd order context modeling, with a compression ratio comparable to the best
6
+ currently available general-purpose compression methods. It is similar in speed
7
+ with deflate but offers more dense compression.
8
+
9
+ The specification of the Brotli Compressed Data Format is defined in RFC 7932
10
+ https://tools.ietf.org/html/rfc7932
11
+
12
+ Brotli is open-sourced under the MIT License, see the LICENSE file.
13
+
14
+ Brotli mailing list:
15
+ https://groups.google.com/forum/#!forum/brotli