152 Commits

Author SHA1 Message Date
Leonid Yuriev
d7aad3a7cf mdbx-make: distinct smoke* and test* targets. 2021-07-09 17:44:27 +03:00
Leonid Yuriev
b66780633e mdbx-tools: linking with math library (-lm). 2021-07-06 13:45:26 +03:00
Леонид Юрьев (Leonid Yuriev)
ac69464143 mdbx-make: change prefix of the 'TIP' messages (cosmetics). 2021-07-04 13:23:53 +03:00
Leonid Yuriev
62889b5b7f mdbx-test: use mdbx::buffer from mdbx++. 2021-07-04 13:23:53 +03:00
Leonid Yuriev
2c18225654 mdbx-make: minor cleanup shell in/out redirection spaces. 2021-06-26 17:38:52 +03:00
Leonid Yuriev
77a1f32e2a mdbx: use VERSION.txt instead of VERSION to avoid collision with #include <version>. 2021-06-24 14:59:29 +03:00
Leonid Yuriev
581ca4fdf4 mdbx-ci: performs make's install target during check.
Related to https://github.com/erthink/libmdbx/issues/208.
2021-06-17 15:15:57 +03:00
Leonid Yuriev
6771b7526c mdbx-make: use only portable option of install utility.
Fixes https://github.com/erthink/libmdbx/issues/208.
2021-06-17 15:15:54 +03:00
Leonid Yuriev
f951f246b8 mdbx: allow to predefine/override MDBX_BUILD_TIMESTAMP for builds reproducibility.
Resolve https://github.com/erthink/libmdbx/issues/201
2021-06-02 14:50:22 +03:00
Leonid Yuriev
7addfc8358 mdbx: explicit checking for and warning about using unfit github's archives.
Related to https://github.com/erthink/libmdbx/issues/197 and https://github.community/t/disable-tarball
2021-05-13 12:19:18 +03:00
Leonid Yuriev
3531164fed mdbx-make: fix escaping of quotation mark character. 2021-05-08 20:02:09 +03:00
Leonid Yuriev
3e5dbb42f5 mdbx-make: build silently by default.
Resolves https://github.com/erthink/libmdbx/issues/165

Change-Id: I52e80f079989c2bc8d6cdfea5205d2a28a27512b
2021-05-01 19:34:46 +03:00
Leonid Yuriev
dfeb6b5acb mdbx-make: support for make help to list available make targets.
Change-Id: I72b92101a494fc7b507f54259c3db69990ce5a2d
2021-05-01 11:55:53 +03:00
Leonid Yuriev
70b7ec0c1c mdbx-make: support for make options to list available build options.
Change-Id: Ib153834241e33c672867aa402d3fc66a06a489fa
2021-04-30 14:05:36 +03:00
Leonid Yuriev
6b6165cdeb mdbx: rename internal defines/macros to distinguish it from build options.
Change-Id: I42fe240e6ddd5d34c8fec38633849ebdcce0e116
2021-04-30 01:59:48 +03:00
Leonid Yuriev
50e729a687 mdbx-make: add install-strip and install-no-strip targets.
Resolves https://github.com/erthink/libmdbx/pull/180
2021-03-26 14:45:32 +03:00
Leonid Yuriev
f01e0efc2d mdbx-tools: add mdbx_drop tool.
Change-Id: Ib7b32668c13fcef5951ff7250df57b3263e14d69
2021-03-13 15:45:15 +03:00
Leonid Yuriev
cc7c41a9c0 mdbx-ci: use --force to avoid errors while fetching flags.
Change-Id: I8ba31e2f6cfd9b396d6706c71ed0ff42493f7fe9
2021-02-04 19:24:23 +03:00
Leonid Yuriev
7e2de94e1f mdbx-make: show dist-verification build error(s) on failure.
Change-Id: I78f54341b10dd605eb37ceaa19c355df2e7e1707
2021-01-29 04:38:13 +03:00
Leonid Yuriev
0cfb853d7f mdbx-make: workaround for MacOS's buggy sed.
Resolve https://github.com/erthink/libmdbx/issues/156

Change-Id: I69bf8378ff19fa2e6c03bf1955e4e6ba68383561
2021-01-26 02:37:18 +03:00
Leonid Yuriev
0679ea07c6 mdbx-make: rework verification amalgamated sources during make build.
Rework 0166071ec9a7f8146bbacf9a8c218d8825f719c9 for https://github.com/erthink/libmdbx/issues/155
Related to https://github.com/erthink/libmdbx/issues/156

Change-Id: I40697203ff351d10709b3094d50b894c663c67c3
2021-01-24 03:57:23 +03:00
Leonid Yuriev
67b99eadbd mdbx-make: workaround for BSD's sed limitations.
Resolves https://github.com/erthink/libmdbx/issues/156
Related to https://github.com/erthink/libmdbx/issues/155

Change-Id: I68da3f40b055da08a905525a4a31b44018d419b0
2021-01-24 03:57:04 +03:00
Leonid Yuriev
0166071ec9 mdbx-make: check building amalgamated sources during make dist.
Related to https://github.com/erthink/libmdbx/issues/155

Change-Id: I45a4f6d3d62052d091c18eae634bbe418829761e
2021-01-22 14:17:53 +03:00
Leonid Yuriev
51ec5c442b mdbx-make: fix missing .gz suffix when check target called from stochastic script.
Change-Id: I32892df03d59848737677f59d50e94a1a98301ad
2021-01-19 23:53:16 +03:00
Jens Alfke
adc7208169 mdbx-make: Added DLLs and dSYMs to clean & gitignore.
- Added file types .dll, .dylib and .dSYM to .gitignore
- Added above to the file types deleted by `make clean`

Resolves https://github.com/erthink/libmdbx/issues/151
2021-01-07 02:01:45 +03:00
Leonid Yuriev
87161f5920 mdbx-make: add stub/guard for obsolete git.
Change-Id: I8f4837ef29be37d40ae9ccf851bebe0a6734f523
2020-11-18 16:24:40 +03:00
Leonid Yuriev
9668aa58ef mdbx-make: explicitly fetch git-tags on make dist.
Change-Id: I19d96dba645af0302f2b91870e7311336c4e5083
2020-11-18 15:11:53 +03:00
Leonid Yuriev
61f0ee891f mdbx-docs: workaround for Doxygen's macros bug(s).
Change-Id: I959b36aa8037ca17b0dca2be33d091f0a53f491f
2020-10-31 03:08:41 +03:00
Leonid Yuriev
b964b2abf5 mdbx: more spelling.
Change-Id: I45e42c1d8ef51f910b8e41279b92e54a6b2ce772
2020-10-21 01:00:48 +03:00
Leonid Yuriev
76b3fd4311 mdbx-make: add bench-couple target.
Change-Id: I2e077dee7d6f6b3d60abac302983e387eaef67bc
2020-10-08 01:50:18 +03:00
Leonid Yuriev
649dd04020 mdbx-make: add BENCH_CRUD_MODE option for bench* targets.
Change-Id: Ic654f0d68868032f288a2948bd4d5427fdaba2d5
2020-10-01 02:28:10 +03:00
Leonid Yuriev
de441fffbd mdbx-make: add bench-triplet with sqlite3. 2020-09-30 14:36:00 +03:00
Leonid Yuriev
5627521f16 mdbx++: more spelling.
Change-Id: I3f33e695fb918c6a57c39047bba54a72ecb9bc5b
2020-09-27 17:01:59 +03:00
Leonid Yuriev
8d1a8d3f4f mdbx-make: workarounds for cross-qemu target (running tests for cross-builded library under QEMU).
QEMU 4.2 has problems with extending mmap range while emulating SPARC64 and Alpha platforms.
So as a workaround, just run the test on SPARC64 and Alpha with a fixed database size.

Change-Id: I2d727cd718bde9ee8e8a7eab1be25b5048ef42fd
2020-09-22 00:16:44 +03:00
Leonid Yuriev
5c3655dff9 mdbx-make: update list of arch'es for cross-gcc and cross-qemu targets.
Change-Id: I20ae4af433524da5a81c6251d0e163154de1d2ef
2020-09-21 17:18:07 +03:00
Leonid Yuriev
f2ba1f6fdb mdbx-make: use deferred simple variable expansion trick for CXXSTD.
Change-Id: I3852ff0af27c828a1ac73344330b4f5fb91e3f1f
2020-09-20 18:11:13 +03:00
Leonid Yuriev
35e9c6decf mdbx-make: pass STDCXX to sub-make.
Change-Id: Ie48bc62f79c8ce56e2d41828fcea35d0ff29a9bc
2020-09-20 18:11:13 +03:00
Leonid Yuriev
8d63f876d5 mdbx-make: add CXXSTD to MDBX_BUILD_FLAGS.
Change-Id: I173ff6e21c9131a8c40b834adba4615aaf103b08
2020-09-20 18:11:13 +03:00
Leonid Yuriev
6c70a7fe11 mdbx++: enables C++ API for amalgamated source code.
Change-Id: Ie73f32ee6b9a565eee69fa7267798a0fd67db4b0
2020-09-13 21:22:41 +03:00
Leonid Yuriev
369612a9b2 mdbx: Merge branch 'master' into c++.
Change-Id: I7431973ca96afe98d991ffd0a876a15e6ed94714
2020-09-10 01:33:32 +03:00
Leonid Yuriev
7272403cfd mdbx-doc: simplify Doxygen TOC.
Change-Id: I9f433628433fd8deea6c4128c4e1452bcadfba49
2020-09-07 15:21:21 +03:00
Leonid Yuriev
88a4b8cb9b mdbx++: Initial C++ API (some extra methods are not implemented).
Change-Id: I0478d0c94dcd12b52916e87815e5731817407c3c
2020-08-28 16:45:30 +03:00
Leonid Yuriev
5e43ee61a2 mdbx: drop/deprecate MDBX_MAPASYNC.
Change-Id: I472f97f568a32325eb056c8ee4d2f2350a473bda
2020-08-06 01:48:56 +03:00
Leonid Yuriev
dcd61289d8 mdbx-doc: more for Doxygen (refs, build options).
Change-Id: I8b15bce3d6638a24bdafa3171ae10f01311862d7
2020-07-29 02:18:44 +03:00
Leonid Yuriev
a902538e34 mdbx: more Doxygen tags (almost done).
Change-Id: I696e717e37a905f68af059c51f9df327c257332e
2020-07-24 22:49:21 +03:00
Leonid Yuriev
5f4f828bae mdbx-doc: provide non-API docs via doxygen (squashed).
Change-Id: Ie33858517f964f794ec182a1e8bb630730a0f172
2020-07-23 18:44:32 +03:00
Leonid Yuriev
e3efef40c4 mdbx: initial support for doxygen.
Change-Id: I5258b9f5dac981f03658ed35a799a52250a3e136
2020-07-23 11:58:04 +03:00
Leonid Yuriev
100832b677 mdbx-make: minor fix for lcc/E2K compiler.
Change-Id: I32018f915e3ef4758cc65bb3c5d73a209a0edb53
2020-06-17 16:17:38 +00:00
Leonid Yuriev
0bb950ad55 mdbx: provide ChangeLog.
Change-Id: I1fce6d48c8f5cbef5ecf1e932cbd9c7dff58462d
2020-06-13 03:07:15 +03:00
Leonid Yuriev
4884cd2bcd mdbx: tally revision number since the last release, not from an epoch.
Change-Id: I623b2a57bfe4e1a242d1d68350001ebadef3d634
2020-06-13 03:06:20 +03:00
Leonid Yuriev
0fb2e4e4cc mdbx-ci: engage github-actions to make release-assets.
Resolves https://github.com/erthink/libmdbx/issues/86

Change-Id: I87417c03bf0d657ece47a59aabbd3cb5bfaa81ec
2020-06-04 17:13:42 +03:00
Leonid Yuriev
5c322ed6cf mdbx-make: fix '-std=c++17' typo.
Change-Id: Ibdc888ba4a2b005080ce4ac47a521ea8bcbd9e0a
2020-06-04 16:59:43 +03:00
Leonid Yuriev
231a34b627 mdbx-make: add --table=+data.integer --keygen.split=29 to test-targets. 2020-05-15 11:30:35 +03:00
Leonid Yuriev
0c62355fb5 mdbx-make: add ntdll for Windows. 2020-05-15 08:59:10 +03:00
Leonid Yuriev
5b4b3fa9ea mdbx-windows: fix MDBX_AVOID_CRT option & ntdll.def distribution.
Resolve https://github.com/erthink/libmdbx/issues/100

Change-Id: I18ab055e79e249fca856353b2585739c88e01758
2020-05-10 03:41:28 +03:00
Leonid Yuriev
c99f258a47 mdbx-make: don't use clang-format < 10 to avoid misformating.
Change-Id: I58d3b5071011a106b1801a1bd966f5c2d8354fcb
2020-05-09 02:46:35 +03:00
Leonid Yuriev
6a38111528 mdbx-make: rename & reorganize 'test*' targets.
Change-Id: I16f073d78e16dc898308e394465cb204b87f2217
2020-05-03 20:33:47 +03:00
Leonid Yuriev
ebd47557f0 mdbx-make: refine 'test-valgrind' target.
Change-Id: I2de34502157476a1bc516d125c9fdf40c987f77f
2020-05-03 20:33:47 +03:00
Leonid Yuriev
2d75e9b5ba mdbx-make: add check-analyzer check-ubsan check-asan check-leak targets. 2020-05-03 02:07:21 +03:00
Leonid Yuriev
9922d3337e mdbx-ci: refork calling coverity-scan for travis-ci. 2020-05-01 21:20:21 +03:00
Leonid Yuriev
df90263b00 mdbx-make: add 'reformat' target. 2020-05-01 21:20:17 +03:00
Leonid Yuriev
a2c39f34a0 mdbx-make: use gzip for log.
Change-Id: I6dcec6d1331f457b8971ca13142da8c036d00264
2020-05-01 02:43:05 +03:00
Leonid Yuriev
971f924c44 mdbx-build: rearrange source files, rework CMakeLists.txt and refine GNUMakefile (squashed).
Change-Id: Id73d346695011dab2f670bb9e6293a1e5a1835ca
2020-04-17 00:37:57 +03:00
Leonid Yuriev
9b94e45e25 mdbx-make: add CFLAGS_EXTRA for convenience.
Change-Id: I838f5b60cf9479e230a74da1bf80d30a8a7b437e
2020-04-11 02:37:50 +03:00
Leonid Yuriev
d37d3b54f4 mdbx-make: refine install/uninstall targets.
Change-Id: Id8390b6ff462f55237534a06a92d03b8666b518f
2020-04-07 00:36:56 +03:00
Leo Yuriev
cf7cce9079 mdbx-make: workaround for non-GNU tar.
Related to https://github.com/erthink/libmdbx/issues/85#issuecomment-606490013
and https://github.com/erthink/libmdbx/issues/86

Change-Id: I9e7d08214dbaf214af29bb2d3ab2f9fd9b76f9fc
2020-04-04 17:40:13 +03:00
Leo Yuriev
63449a44c5 mdbx-cmake: #if/#endif instead of cmake-conditions for posix/windows sources.
Change-Id: Ic95bd3ba345160cf1d68c79f11d6560d4c41cb2b
2020-02-28 15:51:12 +03:00
Leonid Yuriev
fe40af160d mdbx: split-off mdbx-options into options.h. 2019-11-13 23:50:38 +03:00
Leonid Yuriev
7d0206d2cf mdbx-make: rename targets, add more to non-GNU makefile. 2019-11-13 16:04:26 +03:00
Leonid Yuriev
d47c4eeb78 mdbx-make: add -mapasync option to tests for clarity.
Change-Id: Ice2a483cf41aaa310dc2f8a47e9316e0f0efa131
2019-11-13 15:47:38 +03:00
Leonid Yuriev
d655289d08 mdbx-make: fix/refine LIBS propagation.
Change-Id: Iaa140ca39fc460f896996e81f663de0026b4e5e9
2019-11-13 11:31:22 +03:00
Leonid Yuriev
a7e0b3ccdf mdbx-build: SunOS/Solaris/OpenIndiana support, etc. 2019-11-11 15:14:03 +03:00
Leonid Yuriev
6da4c1f06b mdbx-build: add stub Makefile for non-GNU Make. 2019-11-11 13:10:22 +03:00
Leonid Yuriev
1f82b4ff21 mdbx-build: minor fix GNUMakefile for xBSD-compatibility.
Change-Id: Ib97f2d1ea7c439d1e9144fb1a8e3962694682273
2019-11-08 18:40:29 +03:00
Leonid Yuriev
64ecfe171a mdbx-ci: remove sh4-linux-gnu-gcc and mips64-linux-gnuabi64-gcc from cross-qemu blacklist.
Change-Id: I3b474f2e0da6ec2c3b8b50e3dd0ccd0534a5503a
2019-10-26 01:15:40 +03:00
Leonid Yuriev
84bff89eb1 mdbx: conform to and use -Wpedantic.
Change-Id: I3056af7ae53c5a7c3ecbfe828ab1d5ee94c2bc26
2019-10-26 00:02:28 +03:00
Leonid Yuriev
b690415f44 mdbx-build: add test make-target.
Change-Id: Iffb3a0ce17622b51aca2649bcb4cb245e1546eea
2019-10-21 07:50:11 +03:00
Leonid Yuriev
73b60d991a mdbx-build: add -Wno-tautological-compare.
Change-Id: I8b0be4c9dfb8864cb50759d08e7d2700ed7b8c36
2019-10-17 00:37:59 +03:00
Leonid Yuriev
1794aeb79b mdbx-dist: refix typo of fixing typo ;)
Change-Id: If77d011ed1337f870fcc6dd5ad87266a9ad3a6e0
2019-10-15 22:31:02 +03:00
Leonid Yuriev
2280ab0513 mdbx-build: refine memcheck target.
Change-Id: I8551c5d7ce5249a16959d34c1272c38cd1ad2d27
2019-10-15 21:54:31 +03:00
Leonid Yuriev
d67d3f97cc mdbx-build: fix bench target.
Change-Id: I884e8d16a8b851d87c62d4166b586ed079c1f3eb
2019-10-11 16:03:54 +03:00
Leonid Yuriev
9e42fc4fe0 mdbx-build: fix GNUmakefile for git-submodule case.
Change-Id: Ideae8035e776c338a3a5cd4a5c0f2ce8266541e9
2019-10-11 15:54:54 +03:00
Leonid Yuriev
456f77abec mdbx-ci: extend check-targets with nested-txn cases.
Change-Id: I9a5de3b1fd433a64ade9d3dcc0c597f05a408440
2019-10-11 01:06:26 +03:00
Leonid Yuriev
39c1238d8e mdbx: refine Valgrind support (i.e. avoid false-positives).
Change-Id: I688b2e905d0b705c34ab29df29bfd0a9bcdde8c9
2019-10-11 01:06:26 +03:00
Leonid Yuriev
26641d839b mdbx-build: use optimization for size (i.e. -Os) by default.
Change-Id: I28be71720c12b1b3579febdbbf1189065eb12d0c
2019-10-09 23:27:16 +03:00
Leonid Yuriev
0a5dcdb120 mdbx-dist: fix typo.
Change-Id: I474184db5f68fed83e00c0cd10a4493d6ce0ae93
2019-10-06 18:45:52 +03:00
Leonid Yuriev
7d621f6f0a mdbx: auto-define _GNU_SOURCE under control of MDBX_DISABLE_GNU_SOURCE.
Change-Id: I314d88b86517e3c44ad35fe02d3a27cb987c6d60
2019-10-06 18:45:52 +03:00
Leonid Yuriev
85cd04b712 mdbx-test: using c++17 (for std::string_view).
Change-Id: I79d9bac8ea8ba6c337d71683549a37c8434b93fa
2019-10-06 18:45:52 +03:00
Leonid Yuriev
a644c50307 mdbx-ci: enable non-console progress indicator explicitly.
Change-Id: I58c27cc17f1ae11d476e5a338efe7ee515efc389
2019-10-02 12:08:07 +03:00
Leonid Yuriev
1ab33333bc mdbx: refine options and build-info.
Change-Id: Ib1a778dd27a0ea8b3a05484b2208e2222736b2d3
2019-09-25 19:03:04 +03:00
Leonid Yuriev
9b9baddd0b mdbx-build: fix wingetopt.c amalgamation.
Change-Id: I1527dace166e708847ead7cea1087600aa055210
2019-09-19 14:04:10 +03:00
Leonid Yuriev
8fa718c5f9 mdbx: refine mdbx.h and API description, etc (4 of 5).
Change-Id: I36955c54f55facfb31b403f12fe6fd16c789e167
2019-09-18 04:00:57 +03:00
Leonid Yuriev
8f08e1c7ed mdbx: fix cross-build & qemu-testing issues.
Change-Id: I6b2343cc4e08c3cb706a190c4c515965182733a2
2019-09-11 18:58:51 +03:00
Leonid Yuriev
5cfcc0e3c1 mdbx-cmake: add template for build amalgamated source code.
Change-Id: Ie0908ab62460eb51f2f050fcce915fe4e64f61ca
2019-09-11 02:09:21 +03:00
Leonid Yuriev
5e9e417cf6 mdbx-install: refine cmake-install, install man-pages. 2019-09-11 00:56:07 +03:00
Leonid Yuriev
7433436ec5 mdbx: add man-page for mdbx_chk, refine other.
Change-Id: I0c5026f0b753525ec5b21e11957c23bf570fbe0b
2019-09-10 19:01:39 +03:00
Leonid Yuriev
d1d1258591 mdbx-build: made 'config.h' optional.
Change-Id: Iafc968cb7000f77cf23169ce07b532386bbce029
2019-09-10 15:52:37 +03:00
Leonid Yuriev
3ec081c187 mdbx-build: add 'make dist' target.
Change-Id: I72c2ff2f90e9da4664bf542761fe445bb713a67a
2019-09-10 02:28:41 +03:00
Leonid Yuriev
449307a69f mdbx-build: sourcery pinning (but cmake requires manually config-files removal for now). 2019-09-09 14:29:05 +03:00
Leonid Yuriev
263837094e mdbx-build: refine CMake scripts, add build options.
Change-Id: Ie3db2f6439d5cc7ef3cd9ebb5b8e5d5d34f743dd
2019-09-03 02:56:01 +03:00