mdbxmou 0.3.7 → 0.3.9

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 (210) hide show
  1. package/README.md +38 -1
  2. package/deps/libmdbx/.clang-format-ignore +8 -0
  3. package/deps/libmdbx/.github/workflows/ci-android.yml +38 -0
  4. package/deps/libmdbx/.github/workflows/ci-mingw.yml +40 -0
  5. package/deps/libmdbx/.github/workflows/ci-posix.yml +34 -0
  6. package/deps/libmdbx/.github/workflows/ci-wincxx.yml +45 -0
  7. package/deps/libmdbx/.github/workflows/ci-windows.yml +32 -0
  8. package/deps/libmdbx/CMakeLists.txt +67 -337
  9. package/deps/libmdbx/COPYRIGHT +1 -1
  10. package/deps/libmdbx/ChangeLog.md +163 -106
  11. package/deps/libmdbx/GNUmakefile +64 -539
  12. package/deps/libmdbx/NOTICE +13 -9
  13. package/deps/libmdbx/README.md +143 -480
  14. package/deps/libmdbx/VERSION.json +1 -0
  15. package/deps/libmdbx/ci.sh +86 -0
  16. package/deps/libmdbx/cmake/compiler.cmake +1 -1
  17. package/deps/libmdbx/cmake/profile.cmake +1 -1
  18. package/deps/libmdbx/cmake/utils.cmake +15 -197
  19. package/deps/libmdbx/{src/config.h.in → config.h.in} +11 -3
  20. package/deps/libmdbx/{src/man1 → man1}/mdbx_chk.1 +1 -1
  21. package/deps/libmdbx/{src/man1 → man1}/mdbx_copy.1 +1 -1
  22. package/deps/libmdbx/{src/man1 → man1}/mdbx_drop.1 +1 -1
  23. package/deps/libmdbx/{src/man1 → man1}/mdbx_dump.1 +1 -1
  24. package/deps/libmdbx/{src/man1 → man1}/mdbx_load.1 +1 -1
  25. package/deps/libmdbx/{src/man1 → man1}/mdbx_stat.1 +1 -1
  26. package/deps/libmdbx/mdbx.c +37619 -0
  27. package/deps/libmdbx/mdbx.c++ +5074 -0
  28. package/deps/libmdbx/mdbx.h +85 -16
  29. package/deps/libmdbx/mdbx.h++ +429 -253
  30. package/deps/libmdbx/mdbx_chk.c +3997 -0
  31. package/deps/libmdbx/mdbx_copy.c +3490 -0
  32. package/deps/libmdbx/mdbx_drop.c +3523 -0
  33. package/deps/libmdbx/mdbx_dump.c +3839 -0
  34. package/deps/libmdbx/mdbx_load.c +4155 -0
  35. package/deps/libmdbx/mdbx_stat.c +3840 -0
  36. package/deps/libmdbx/packages/archlinux/.SRCINFO +16 -0
  37. package/deps/libmdbx/packages/archlinux/PKGBUILD +38 -0
  38. package/deps/libmdbx/packages/buildroot/0001-package-libmdbx.patch +75 -0
  39. package/deps/libmdbx/ut_and_examples/CMakeLists.txt +39 -0
  40. package/deps/libmdbx/ut_and_examples/README.md +11 -0
  41. package/deps/libmdbx/{example → ut_and_examples}/example-mdbx.c +17 -4
  42. package/deps/libmdbx/ut_and_examples/example-mdbx.c++ +99 -0
  43. package/deps/libmdbx/{test/extra/pcrf/pcrf_test.c → ut_and_examples/pcrf/pcrf_simulator.c} +3 -16
  44. package/lib/types.d.ts +27 -1
  45. package/package.json +1 -1
  46. package/src/envmou.cpp +101 -2
  47. package/src/envmou.hpp +6 -2
  48. package/src/modulemou.cpp +25 -0
  49. package/src/txnmou.cpp +3 -7
  50. package/src/typemou.hpp +37 -0
  51. package/deps/libmdbx/.clang-format +0 -3
  52. package/deps/libmdbx/.cmake-format.yaml +0 -3
  53. package/deps/libmdbx/.le.ini +0 -40
  54. package/deps/libmdbx/TODO.md +0 -43
  55. package/deps/libmdbx/conanfile.py +0 -323
  56. package/deps/libmdbx/docs/Doxyfile.in +0 -2734
  57. package/deps/libmdbx/docs/_preface.md +0 -47
  58. package/deps/libmdbx/docs/_restrictions.md +0 -248
  59. package/deps/libmdbx/docs/_starting.md +0 -245
  60. package/deps/libmdbx/docs/_toc.md +0 -34
  61. package/deps/libmdbx/docs/header.html +0 -96
  62. package/deps/libmdbx/example/CMakeLists.txt +0 -6
  63. package/deps/libmdbx/example/README.md +0 -1
  64. package/deps/libmdbx/example/sample-bdb.txt +0 -77
  65. package/deps/libmdbx/packages/buildroot/0001-package-libmdbx-new-package-library-database.patch +0 -173
  66. package/deps/libmdbx/src/alloy.c +0 -54
  67. package/deps/libmdbx/src/api-cold.c +0 -543
  68. package/deps/libmdbx/src/api-copy.c +0 -912
  69. package/deps/libmdbx/src/api-cursor.c +0 -754
  70. package/deps/libmdbx/src/api-dbi.c +0 -315
  71. package/deps/libmdbx/src/api-env.c +0 -1434
  72. package/deps/libmdbx/src/api-extra.c +0 -165
  73. package/deps/libmdbx/src/api-key-transform.c +0 -197
  74. package/deps/libmdbx/src/api-misc.c +0 -286
  75. package/deps/libmdbx/src/api-opts.c +0 -575
  76. package/deps/libmdbx/src/api-range-estimate.c +0 -365
  77. package/deps/libmdbx/src/api-txn-data.c +0 -454
  78. package/deps/libmdbx/src/api-txn.c +0 -921
  79. package/deps/libmdbx/src/atomics-ops.h +0 -364
  80. package/deps/libmdbx/src/atomics-types.h +0 -97
  81. package/deps/libmdbx/src/audit.c +0 -109
  82. package/deps/libmdbx/src/bits.md +0 -34
  83. package/deps/libmdbx/src/chk.c +0 -1796
  84. package/deps/libmdbx/src/cogs.c +0 -309
  85. package/deps/libmdbx/src/cogs.h +0 -506
  86. package/deps/libmdbx/src/coherency.c +0 -170
  87. package/deps/libmdbx/src/cursor.c +0 -2396
  88. package/deps/libmdbx/src/cursor.h +0 -391
  89. package/deps/libmdbx/src/dbi.c +0 -717
  90. package/deps/libmdbx/src/dbi.h +0 -142
  91. package/deps/libmdbx/src/debug_begin.h +0 -36
  92. package/deps/libmdbx/src/debug_end.h +0 -15
  93. package/deps/libmdbx/src/dpl.c +0 -486
  94. package/deps/libmdbx/src/dpl.h +0 -134
  95. package/deps/libmdbx/src/dxb.c +0 -1335
  96. package/deps/libmdbx/src/env.c +0 -607
  97. package/deps/libmdbx/src/essentials.h +0 -125
  98. package/deps/libmdbx/src/gc-get.c +0 -1345
  99. package/deps/libmdbx/src/gc-put.c +0 -970
  100. package/deps/libmdbx/src/gc.h +0 -40
  101. package/deps/libmdbx/src/global.c +0 -474
  102. package/deps/libmdbx/src/internals.h +0 -585
  103. package/deps/libmdbx/src/layout-dxb.h +0 -288
  104. package/deps/libmdbx/src/layout-lck.h +0 -289
  105. package/deps/libmdbx/src/lck-posix.c +0 -859
  106. package/deps/libmdbx/src/lck-windows.c +0 -607
  107. package/deps/libmdbx/src/lck.c +0 -174
  108. package/deps/libmdbx/src/lck.h +0 -110
  109. package/deps/libmdbx/src/logging_and_debug.c +0 -250
  110. package/deps/libmdbx/src/logging_and_debug.h +0 -159
  111. package/deps/libmdbx/src/mdbx.c++ +0 -1837
  112. package/deps/libmdbx/src/meta.c +0 -656
  113. package/deps/libmdbx/src/meta.h +0 -168
  114. package/deps/libmdbx/src/mvcc-readers.c +0 -414
  115. package/deps/libmdbx/src/node.c +0 -365
  116. package/deps/libmdbx/src/node.h +0 -102
  117. package/deps/libmdbx/src/options.h +0 -534
  118. package/deps/libmdbx/src/osal.c +0 -3485
  119. package/deps/libmdbx/src/osal.h +0 -587
  120. package/deps/libmdbx/src/page-get.c +0 -483
  121. package/deps/libmdbx/src/page-iov.c +0 -185
  122. package/deps/libmdbx/src/page-iov.h +0 -34
  123. package/deps/libmdbx/src/page-ops.c +0 -744
  124. package/deps/libmdbx/src/page-ops.h +0 -142
  125. package/deps/libmdbx/src/pnl.c +0 -236
  126. package/deps/libmdbx/src/pnl.h +0 -146
  127. package/deps/libmdbx/src/preface.h +0 -990
  128. package/deps/libmdbx/src/proto.h +0 -105
  129. package/deps/libmdbx/src/refund.c +0 -212
  130. package/deps/libmdbx/src/sort.h +0 -484
  131. package/deps/libmdbx/src/spill.c +0 -431
  132. package/deps/libmdbx/src/spill.h +0 -74
  133. package/deps/libmdbx/src/table.c +0 -107
  134. package/deps/libmdbx/src/tls.c +0 -551
  135. package/deps/libmdbx/src/tls.h +0 -43
  136. package/deps/libmdbx/src/tools/chk.c +0 -673
  137. package/deps/libmdbx/src/tools/copy.c +0 -166
  138. package/deps/libmdbx/src/tools/drop.c +0 -199
  139. package/deps/libmdbx/src/tools/dump.c +0 -515
  140. package/deps/libmdbx/src/tools/load.c +0 -831
  141. package/deps/libmdbx/src/tools/stat.c +0 -516
  142. package/deps/libmdbx/src/tools/wingetopt.c +0 -87
  143. package/deps/libmdbx/src/tools/wingetopt.h +0 -30
  144. package/deps/libmdbx/src/tree-ops.c +0 -1554
  145. package/deps/libmdbx/src/tree-search.c +0 -140
  146. package/deps/libmdbx/src/txl.c +0 -99
  147. package/deps/libmdbx/src/txl.h +0 -26
  148. package/deps/libmdbx/src/txn.c +0 -1083
  149. package/deps/libmdbx/src/unaligned.h +0 -205
  150. package/deps/libmdbx/src/utils.c +0 -32
  151. package/deps/libmdbx/src/utils.h +0 -76
  152. package/deps/libmdbx/src/version.c.in +0 -44
  153. package/deps/libmdbx/src/walk.c +0 -290
  154. package/deps/libmdbx/src/walk.h +0 -20
  155. package/deps/libmdbx/src/windows-import.c +0 -152
  156. package/deps/libmdbx/src/windows-import.h +0 -128
  157. package/deps/libmdbx/test/CMakeLists.txt +0 -317
  158. package/deps/libmdbx/test/append.c++ +0 -237
  159. package/deps/libmdbx/test/base.h++ +0 -92
  160. package/deps/libmdbx/test/battery-tmux.sh +0 -64
  161. package/deps/libmdbx/test/cases.c++ +0 -118
  162. package/deps/libmdbx/test/chrono.c++ +0 -134
  163. package/deps/libmdbx/test/chrono.h++ +0 -85
  164. package/deps/libmdbx/test/config.c++ +0 -643
  165. package/deps/libmdbx/test/config.h++ +0 -334
  166. package/deps/libmdbx/test/copy.c++ +0 -62
  167. package/deps/libmdbx/test/dead.c++ +0 -39
  168. package/deps/libmdbx/test/dump-load.sh +0 -40
  169. package/deps/libmdbx/test/extra/crunched_delete.c++ +0 -409
  170. package/deps/libmdbx/test/extra/cursor_closing.c++ +0 -410
  171. package/deps/libmdbx/test/extra/dbi.c++ +0 -229
  172. package/deps/libmdbx/test/extra/doubtless_positioning.c++ +0 -253
  173. package/deps/libmdbx/test/extra/dupfix_addodd.c +0 -94
  174. package/deps/libmdbx/test/extra/dupfix_multiple.c++ +0 -311
  175. package/deps/libmdbx/test/extra/early_close_dbi.c++ +0 -137
  176. package/deps/libmdbx/test/extra/hex_base64_base58.c++ +0 -118
  177. package/deps/libmdbx/test/extra/maindb_ordinal.c++ +0 -61
  178. package/deps/libmdbx/test/extra/open.c++ +0 -96
  179. package/deps/libmdbx/test/extra/pcrf/README.md +0 -2
  180. package/deps/libmdbx/test/extra/probe.c++ +0 -10
  181. package/deps/libmdbx/test/extra/txn.c++ +0 -407
  182. package/deps/libmdbx/test/extra/upsert_alldups.c +0 -193
  183. package/deps/libmdbx/test/fork.c++ +0 -263
  184. package/deps/libmdbx/test/hill.c++ +0 -447
  185. package/deps/libmdbx/test/jitter.c++ +0 -197
  186. package/deps/libmdbx/test/keygen.c++ +0 -393
  187. package/deps/libmdbx/test/keygen.h++ +0 -130
  188. package/deps/libmdbx/test/log.c++ +0 -358
  189. package/deps/libmdbx/test/log.h++ +0 -91
  190. package/deps/libmdbx/test/main.c++ +0 -706
  191. package/deps/libmdbx/test/nested.c++ +0 -318
  192. package/deps/libmdbx/test/osal-unix.c++ +0 -647
  193. package/deps/libmdbx/test/osal-windows.c++ +0 -440
  194. package/deps/libmdbx/test/osal.h++ +0 -41
  195. package/deps/libmdbx/test/stochastic.sh +0 -690
  196. package/deps/libmdbx/test/stub/LICENSE +0 -24
  197. package/deps/libmdbx/test/stub/README.md +0 -8
  198. package/deps/libmdbx/test/stub/pthread_barrier.c +0 -104
  199. package/deps/libmdbx/test/stub/pthread_barrier.h +0 -77
  200. package/deps/libmdbx/test/test.c++ +0 -1551
  201. package/deps/libmdbx/test/test.h++ +0 -298
  202. package/deps/libmdbx/test/tmux.conf +0 -3
  203. package/deps/libmdbx/test/try.c++ +0 -30
  204. package/deps/libmdbx/test/ttl.c++ +0 -240
  205. package/deps/libmdbx/test/utils.c++ +0 -203
  206. package/deps/libmdbx/test/utils.h++ +0 -326
  207. package/deps/libmdbx/test/valgrind_suppress.txt +0 -536
  208. package/src/async/envmou_async.cpp +0 -450
  209. package/src/async/envmou_async.hpp +0 -116
  210. /package/deps/libmdbx/{src/ntdll.def → ntdll.def} +0 -0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # mdbxmou
2
2
 
3
- High-performance Node.js binding for libmdbx — a fast, lightweight, embedded key-value database.
3
+ High-performance Node.js binding for [libmdbx](https://github.com/erthink/libmdbx) — a fast, lightweight, embedded key-value database.
4
4
 
5
5
  ## Features
6
6
 
@@ -162,6 +162,20 @@ env.openSync({
162
162
  env.closeSync();
163
163
  ```
164
164
 
165
+ **setOption(option, value)**
166
+ ```javascript
167
+ env.setOption(MDBX_Param.envOption.syncBytes, 4 * 1024 * 1024);
168
+ env.setOption(MDBX_Param.envOption.syncPeriod, 0.2); // 200 ms
169
+ ```
170
+
171
+ > **Note**: `syncPeriod` is passed in **seconds** and may be fractional. Other options are passed as non-negative integer values.
172
+ > **Note**: `maxDb` and `maxReaders` are pre-open options. Set them through `open/openSync` (`maxDbi`, `maxReaders`) instead of `setOption()`.
173
+
174
+ **syncEx(force, nonblock) → number**
175
+ ```javascript
176
+ env.syncEx(true, false);
177
+ ```
178
+
165
179
  **startWrite() → Transaction**
166
180
  ```javascript
167
181
  const txn = env.startWrite();
@@ -895,6 +909,29 @@ Note: For ordinal (integer) keys, use keyFlag.number or keyFlag.bigint to specif
895
909
  - `MDBX_Param.envFlag.safeNosync` - Safe nosync mode
896
910
  - `MDBX_Param.envFlag.utterlyNosync` - Utterly nosync mode
897
911
 
912
+ ### Environment Options
913
+ - `MDBX_Param.envOption.maxDb` - Raw `MDBX_opt_max_db` option id
914
+ - `MDBX_Param.envOption.maxReaders` - Raw `MDBX_opt_max_readers` option id
915
+ - `MDBX_Param.envOption.syncBytes` - Threshold for forced flushes in weak sync modes
916
+ - `MDBX_Param.envOption.syncPeriod` - Sync period in **seconds** when used with `setOption()`
917
+ - `MDBX_Param.envOption.rpAugmentLimit` - Raw `MDBX_opt_rp_augment_limit`
918
+ - `MDBX_Param.envOption.looseLimit` - Raw `MDBX_opt_loose_limit`
919
+ - `MDBX_Param.envOption.dpReserveLimit` - Raw `MDBX_opt_dp_reserve_limit`
920
+ - `MDBX_Param.envOption.txnDpLimit` - Raw `MDBX_opt_txn_dp_limit`
921
+ - `MDBX_Param.envOption.txnDpInitial` - Raw `MDBX_opt_txn_dp_initial`
922
+ - `MDBX_Param.envOption.spillMaxDenominator` - Raw `MDBX_opt_spill_max_denominator`
923
+ - `MDBX_Param.envOption.spillMinDenominator` - Raw `MDBX_opt_spill_min_denominator`
924
+ - `MDBX_Param.envOption.spillParent4childDenominator` - Raw `MDBX_opt_spill_parent4child_denominator`
925
+ - `MDBX_Param.envOption.mergeThreshold16dot16Percent` - Raw `MDBX_opt_merge_threshold_16dot16_percent`
926
+ - `MDBX_Param.envOption.writethroughThreshold` - Raw `MDBX_opt_writethrough_threshold`
927
+ - `MDBX_Param.envOption.prefaultWriteEnable` - Raw `MDBX_opt_prefault_write_enable`
928
+ - `MDBX_Param.envOption.gcTimeLimit` - Raw `MDBX_opt_gc_time_limit`
929
+ - `MDBX_Param.envOption.preferWafInsteadofBalance` - Raw `MDBX_opt_prefer_waf_insteadof_balance`
930
+ - `MDBX_Param.envOption.subpageLimit` - Raw `MDBX_opt_subpage_limit`
931
+ - `MDBX_Param.envOption.subpageRoomThreshold` - Raw `MDBX_opt_subpage_room_threshold`
932
+ - `MDBX_Param.envOption.subpageReservePrereq` - Raw `MDBX_opt_subpage_reserve_prereq`
933
+ - `MDBX_Param.envOption.subpageReserveLimit` - Raw `MDBX_opt_subpage_reserve_limit`
934
+
898
935
  ### Database Modes
899
936
  - `MDBX_Param.dbMode.create` - Create database if it doesn't exist
900
937
  - `MDBX_Param.dbMode.accede` - Open existing database with any flags
@@ -0,0 +1,8 @@
1
+ mdbx.c
2
+ mdbx.c++
3
+ mdbx_chk.c
4
+ mdbx_copy.c
5
+ mdbx_drop.c
6
+ mdbx_dump.c
7
+ mdbx_load.c
8
+ mdbx_stat.c
@@ -0,0 +1,38 @@
1
+ name: ci-android
2
+
3
+ env:
4
+ CI: GITHUB
5
+
6
+ concurrency:
7
+ group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
8
+ cancel-in-progress: true
9
+
10
+ on: [push]
11
+
12
+ jobs:
13
+ ci-job:
14
+ runs-on: ${{ matrix.os }}
15
+ strategy:
16
+ fail-fast: false
17
+ matrix:
18
+ ndk: [r26d, r27c]
19
+ target: [arm64-v8a, "armeabi-v7a with NEON", x86_64]
20
+ build-type: [Debug, Release]
21
+ os: [ubuntu-latest]
22
+ exclude:
23
+ - ndk: r26d
24
+ build-type: Debug
25
+ steps:
26
+ - uses: actions/checkout@v4
27
+ - uses: nttld/setup-ndk@v1
28
+ id: setup-ndk
29
+ with:
30
+ ndk-version: ${{ matrix.ndk }}
31
+ add-to-path: true
32
+ - name: ci-step
33
+ env:
34
+ ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
35
+ CI_MAKE_TARGET: ""
36
+ shell: bash
37
+ run: |
38
+ . ci.sh "-DANDROID_ABI=${{ matrix.target }}|-DCMAKE_TOOLCHAIN_FILE:PATH=${{ steps.setup-ndk.outputs.ndk-path }}/build/cmake/android.toolchain.cmake|-DCMAKE_BUILD_TYPE=${{ matrix.build-type }}"
@@ -0,0 +1,40 @@
1
+ name: ci-mingw
2
+
3
+ env:
4
+ CI: GITHUB
5
+
6
+ concurrency:
7
+ group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
8
+ cancel-in-progress: true
9
+
10
+ on: [push]
11
+
12
+ jobs:
13
+ ci-job:
14
+ runs-on: ${{ matrix.os }}
15
+ strategy:
16
+ fail-fast: false
17
+ matrix:
18
+ build-type: [Debug, Release]
19
+ dll: [ON, OFF]
20
+ without_crt: [ON, OFF]
21
+ os: [windows-latest]
22
+ exclude:
23
+ - build-type: Debug
24
+ dll: OFF
25
+ - build-type: Release
26
+ without_crt: ON
27
+ steps:
28
+ - uses: actions/checkout@v4
29
+ # - name: Update mingw64
30
+ # run: choco upgrade mingw -y --no-progress
31
+ - name: ci-step
32
+ shell: bash
33
+ env:
34
+ CI_MAKE_TARGET: smoke
35
+ run: |
36
+ echo "initial-PATH=$PATH" && \
37
+ export "PATH=/c/mingw64/bin:/c/programdata/mingw64/mingw64/bin:$PATH" && \
38
+ export MDBX_BUILD_OPTIONS=$(if [ "${{ matrix.build-type }}" = 'Debug' ]; then echo '-DMDBX_FORCE_ASSERTIONS=1'; else echo '-DNDEBUG=1'; fi) && \
39
+ export MDBX_BUILD_CXX=$(if [ "${{ matrix.without_crt }}" = 'OFF' ]; then echo 'YES'; else echo 'NO'; fi) && \
40
+ . ci.sh "-G|MinGW Makefiles|-DCMAKE_BUILD_TYPE=${{ matrix.build-type }}|-DMDBX_BUILD_SHARED_LIBRARY:BOOL=${{ matrix.dll }}|-DMDBX_WITHOUT_MSVC_CRT:BOOL=${{ matrix.without_crt }}"
@@ -0,0 +1,34 @@
1
+ name: ci-posix
2
+
3
+ env:
4
+ CI: GITHUB
5
+
6
+ concurrency:
7
+ group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
8
+ cancel-in-progress: true
9
+
10
+ on: [push]
11
+
12
+ jobs:
13
+ ci-job:
14
+ runs-on: ${{ matrix.os }}
15
+ strategy:
16
+ fail-fast: false
17
+ matrix:
18
+ os: [ubuntu-24.04, macos-14, macos-26]
19
+ build-type: [Debug, Release]
20
+ # alloy: [ON, OFF]
21
+ cxx: [ON, OFF]
22
+ # exclude:
23
+ # - os: macos-14
24
+ # cxx: OFF
25
+ # alloy: ON
26
+ steps:
27
+ - uses: actions/checkout@v4
28
+ - name: ci-step
29
+ shell: bash
30
+ run: |
31
+ export CI_MAKE_TARGET=$(if [ "$(uname)" = 'Linux' ]; then echo 'check'; elif [ "${{ matrix.build-type }}" != 'Debug' ]; then echo 'test'; else echo 'smoke'; fi) && \
32
+ export MDBX_BUILD_OPTIONS=$(if [ "${{ matrix.build-type }}" = 'Debug' ]; then echo '-DMDBX_FORCE_ASSERTIONS=1'; else echo '-DNDEBUG=1'; fi) && \
33
+ export MDBX_BUILD_CXX=$(if [ "${{ matrix.cxx }}" = 'ON' ]; then echo 'YES'; else echo 'NO'; fi) && \
34
+ . ci.sh "-DCMAKE_BUILD_TYPE=${{ matrix.build-type }}|-DMDBX_BUILD_CXX:BOOL=${{ matrix.cxx }}"
@@ -0,0 +1,45 @@
1
+ name: ci-wincxx
2
+
3
+ env:
4
+ CI: GITHUB
5
+
6
+ concurrency:
7
+ group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
8
+ cancel-in-progress: true
9
+
10
+ on: [push]
11
+
12
+ jobs:
13
+ ci-job:
14
+ strategy:
15
+ fail-fast: false
16
+ matrix:
17
+ toolset: [v142, v143]
18
+ cxx: [11, 14, 17, 20]
19
+ target: [Win32, x64, ARM64]
20
+ build-type: [Debug, Release]
21
+ os: [windows-latest, windows-2022]
22
+ exclude:
23
+ - os: windows-latest
24
+ toolset: v142
25
+ - os: windows-latest
26
+ cxx: 11
27
+ - os: windows-2022
28
+ toolset: v143
29
+ - os: windows-2022
30
+ cxx: 20
31
+ # - target: x64
32
+ # build-type: Debug
33
+ - target: ARM64
34
+ toolset: v142
35
+ runs-on: ${{ matrix.os }}
36
+ steps:
37
+ - uses: actions/checkout@v4
38
+ - name: ci-step
39
+ env:
40
+ CI_MAKE_TARGET: ""
41
+ CXXSTD: "-std=gnu++${{ matrix.cxx }}"
42
+ shell: bash
43
+ run: |
44
+ . ci.sh "-A|${{ matrix.target }}|-T|${{ matrix.toolset }}|-DCMAKE_BUILD_TYPE=${{ matrix.build-type }}|-DCMAKE_CXX_STANDARD=${{ matrix.cxx }}" \
45
+ "--config|${{ matrix.build-type }}" "--build-config|${{ matrix.build-type }}"
@@ -0,0 +1,32 @@
1
+ name: ci-windows
2
+
3
+ env:
4
+ CI: GITHUB
5
+
6
+ concurrency:
7
+ group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
8
+ cancel-in-progress: true
9
+
10
+ on: [push]
11
+
12
+ jobs:
13
+ ci-job:
14
+ strategy:
15
+ fail-fast: false
16
+ matrix:
17
+ toolset: [v143]
18
+ dll: [ON, OFF]
19
+ without_crt: [ON, OFF]
20
+ target: [x64, Win32]
21
+ build-type: [Debug, Release]
22
+ os: [windows-latest]
23
+ runs-on: ${{ matrix.os }}
24
+ steps:
25
+ - uses: actions/checkout@v4
26
+ - name: ci-step
27
+ env:
28
+ CI_MAKE_TARGET: ""
29
+ shell: bash
30
+ run: |
31
+ . ci.sh "-A|${{ matrix.target }}|-T|${{ matrix.toolset }}|-DCMAKE_BUILD_TYPE=${{ matrix.build-type }}|-DMDBX_BUILD_SHARED_LIBRARY:BOOL=${{ matrix.dll }}|-DMDBX_WITHOUT_MSVC_CRT:BOOL=${{ matrix.without_crt }}" \
32
+ "--config|${{ matrix.build-type }}" "--build-config|${{ matrix.build-type }}"