Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

new v14_1 version of mdbx #162

Merged
merged 1 commit into from
Feb 13, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions mdbxdist/.clang-format-ignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
mdbx.c
mdbx.c++
mdbx_chk.c
mdbx_copy.c
mdbx_drop.c
mdbx_dump.c
mdbx_load.c
mdbx_stat.c
22 changes: 21 additions & 1 deletion mdbxdist/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2020-2024 Леонид Юрьев aka Leonid Yuriev <[email protected]> ###############################################
# Copyright (c) 2020-2025 Леонид Юрьев aka Leonid Yuriev <[email protected]> ###############################################
# SPDX-License-Identifier: Apache-2.0
#
# Donations are welcome to ETH `0xD104d8f8B2dC312aaD74899F83EBf3EEBDC1EA3A`. Всё будет хорошо!
Expand Down Expand Up @@ -149,6 +149,9 @@ if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git"
AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/tree-ops.c"
AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/txl.c"
AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/txl.h"
AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/txn-basal.c"
AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/txn-nested.c"
AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/txn-ro.c"
AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/txn.c"
AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/unaligned.h"
AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/utils.c"
Expand Down Expand Up @@ -213,6 +216,20 @@ if(DEFINED PROJECT_NAME AND NOT MDBX_FORCE_BUILD_AS_MAIN_PROJECT)
else()
set(SUBPROJECT OFF)
set(NOT_SUBPROJECT ON)

# Setup Apple stuff which should be set prior to the first project() or enable_language()
if(APPLE)
# Enable universal binaries for macOS (target arm64 and x86_64)
if(NOT DEFINED CMAKE_OSX_ARCHITECTURES)
set(CMAKE_OSX_ARCHITECTURES "arm64;x86_64")
endif()

# Set the minimum macOS deployment target if not already defined
if(NOT DEFINED CMAKE_OSX_DEPLOYMENT_TARGET)
set(CMAKE_OSX_DEPLOYMENT_TARGET "13.0")
endif()
endif()

project(libmdbx C)
if(NOT MDBX_AMALGAMATED_SOURCE AND NOT DEFINED BUILD_TESTING)
set(BUILD_TESTING ON)
Expand Down Expand Up @@ -824,6 +841,9 @@ else()
"${MDBX_SOURCE_DIR}/tree-ops.c"
"${MDBX_SOURCE_DIR}/txl.c"
"${MDBX_SOURCE_DIR}/txl.h"
"${MDBX_SOURCE_DIR}/txn-basal.c"
"${MDBX_SOURCE_DIR}/txn-nested.c"
"${MDBX_SOURCE_DIR}/txn-ro.c"
"${MDBX_SOURCE_DIR}/txn.c"
"${MDBX_SOURCE_DIR}/unaligned.h"
"${MDBX_SOURCE_DIR}/utils.c"
Expand Down
192 changes: 189 additions & 3 deletions mdbxdist/ChangeLog.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion mdbxdist/NOTICE
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ to the Telegram' group https://t.me/libmdbx.
Donations are welcome to ETH `0xD104d8f8B2dC312aaD74899F83EBf3EEBDC1EA3A`.
Всё будет хорошо!

Copyright 2015-2024 Леонид Юрьев aka Leonid Yuriev <[email protected]>
Copyright 2015-2025 Леонид Юрьев aka Leonid Yuriev <[email protected]>
SPDX-License-Identifier: Apache-2.0
For notes about the license change, credits and acknowledgments,
please refer to the COPYRIGHT file within original libmdbx source code
Expand Down
27 changes: 17 additions & 10 deletions mdbxdist/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@
> with [`C` API description](https://libmdbx.dqdkfa.ru/group__c__api.html)
> and pay attention to the [`C++` API](https://gitflic.ru/project/erthink/libmdbx/blob?file=mdbx.h%2B%2B#line-num-1).

> Questions, feedback and suggestions are welcome to the [Telegram' group](https://t.me/libmdbx).
> Questions, feedback and suggestions are welcome to the [Telegram' group](https://t.me/libmdbx) (archive [1](https://libmdbx.dqdkfa.ru/tg-archive/messages1.html),
> [2](https://libmdbx.dqdkfa.ru/tg-archive/messages2.html), [3](https://libmdbx.dqdkfa.ru/tg-archive/messages3.html), [4](https://libmdbx.dqdkfa.ru/tg-archive/messages4.html),
> [5](https://libmdbx.dqdkfa.ru/tg-archive/messages5.html), [6](https://libmdbx.dqdkfa.ru/tg-archive/messages6.html), [7](https://libmdbx.dqdkfa.ru/tg-archive/messages7.html)).
> See the [ChangeLog](https://gitflic.ru/project/erthink/libmdbx/blob?file=ChangeLog.md) for `NEWS` and latest updates.

> Donations are welcome to ETH `0xD104d8f8B2dC312aaD74899F83EBf3EEBDC1EA3A`.
Expand Down Expand Up @@ -634,19 +636,24 @@ Bindings

| Runtime | Repo | Author |
| ------- | ------ | ------ |
| Rust | [libmdbx-rs](https://github.com/vorot93/libmdbx-rs) | [Artem Vorotnikov](https://github.com/vorot93) |
| Python | [PyPi/libmdbx](https://pypi.org/project/libmdbx/) | [Lazymio](https://github.com/wtdcode) |
| Java | [mdbxjni](https://github.com/castortech/mdbxjni) | [Castor Technologies](https://castortech.com/) |
| Go | [mdbx-go](https://github.com/torquem-ch/mdbx-go) | [Alex Sharov](https://github.com/AskAlexSharov) |
| Ruby | [ruby-mdbx](https://rubygems.org/gems/mdbx/) | [Mahlon E. Smith](https://github.com/mahlonsmith) |

##### Obsolete/Outdated/Unsupported:

| Runtime | Repo | Author |
| ------- | ------ | ------ |
| .NET | [mdbx.NET](https://github.com/wangjia184/mdbx.NET) | [Jerry Wang](https://github.com/wangjia184) |
| Scala | [mdbx4s](https://github.com/david-bouyssie/mdbx4s) | [David Bouyssié](https://github.com/david-bouyssie) |
| Rust | [mdbx](https://crates.io/crates/mdbx) | [gcxfd](https://github.com/gcxfd) |
| Haskell | [libmdbx-hs](https://hackage.haskell.org/package/libmdbx) | [Francisco Vallarino](https://github.com/fjvallarino) |
| Lua | [lua-libmdbx](https://github.com/mah0x211/lua-libmdbx) | [Masatoshi Fukunaga](https://github.com/mah0x211) |
| NodeJS, [Deno](https://deno.land/) | [lmdbx-js](https://github.com/kriszyp/lmdbx-js) | [Kris Zyp](https://github.com/kriszyp/)
| NodeJS | [node-mdbx](https://www.npmjs.com/package/node-mdbx/) | [Сергей Федотов](mailto:[email protected]) |
| Ruby | [ruby-mdbx](https://rubygems.org/gems/mdbx/) | [Mahlon E. Smith](https://github.com/mahlonsmith) |
| Go | [mdbx-go](https://github.com/torquem-ch/mdbx-go) | [Alex Sharov](https://github.com/AskAlexSharov) |
| [Nim](https://en.wikipedia.org/wiki/Nim_(programming_language)) | [NimDBX](https://github.com/snej/nimdbx) | [Jens Alfke](https://github.com/snej)
| Lua | [lua-libmdbx](https://github.com/mah0x211/lua-libmdbx) | [Masatoshi Fukunaga](https://github.com/mah0x211) |
| Rust | [libmdbx-rs](https://github.com/vorot93/libmdbx-rs) | [Artem Vorotnikov](https://github.com/vorot93) |
| Rust | [mdbx](https://crates.io/crates/mdbx) | [gcxfd](https://github.com/gcxfd) |
| Java | [mdbxjni](https://github.com/castortech/mdbxjni) | [Castor Technologies](https://castortech.com/) |
| Python | [PyPi/libmdbx](https://pypi.org/project/libmdbx/) | [Lazymio](https://github.com/wtdcode) |
| .NET (obsolete) | [mdbx.NET](https://github.com/wangjia184/mdbx.NET) | [Jerry Wang](https://github.com/wangjia184) |
| Nim | [NimDBX](https://github.com/snej/nimdbx) | [Jens Alfke](https://github.com/snej)

<!-- section-end -->

Expand Down
1 change: 1 addition & 0 deletions mdbxdist/VERSION.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{ "git_describe": "v0.14.0-53-g4730abe3", "git_timestamp": "2025-02-11T14:01:10+03:00", "git_tree": "045bfa04a0690584d8256d2d8ea3dffb1325b7d0", "git_commit": "4730abe3e55c95e53e05d2ffbd83ed6a7cb21fe5", "semver": "0.14.0.53" }
29 changes: 20 additions & 9 deletions mdbxdist/cmake/compiler.cmake
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2024 Леонид Юрьев aka Leonid Yuriev <[email protected]> ###############################################
# Copyright (c) 2010-2025 Леонид Юрьев aka Leonid Yuriev <[email protected]> ###############################################
# SPDX-License-Identifier: Apache-2.0

if(CMAKE_VERSION VERSION_LESS 3.8.2)
Expand Down Expand Up @@ -502,7 +502,11 @@ if(CMAKE_COMPILER_IS_GNU${CMAKE_PRIMARY_LANG}
AND CMAKE_GCC_RANLIB
AND gcc_lto_wrapper)
message(STATUS "Found GCC's LTO toolset: ${gcc_lto_wrapper}, ${CMAKE_GCC_AR}, ${CMAKE_GCC_RANLIB}")
set(GCC_LTO_CFLAGS "-flto -fno-fat-lto-objects -fuse-linker-plugin")
if(CMAKE_${CMAKE_PRIMARY_LANG}_COMPILER_VERSION VERSION_LESS 11.4)
set(GCC_LTO_CFLAGS "-flto -fno-fat-lto-objects -fuse-linker-plugin")
else()
set(GCC_LTO_CFLAGS "-flto=auto -fno-fat-lto-objects -fuse-linker-plugin")
endif()
set(GCC_LTO_AVAILABLE TRUE)
message(STATUS "Link-Time Optimization by GCC is available")
else()
Expand Down Expand Up @@ -541,13 +545,21 @@ if(CMAKE_COMPILER_IS_CLANG)
if(regexp_valid)
string(REGEX REPLACE "(^|\n.*)(.*programs: =)([^\n]+)((\n.*)|$)" "\\3" list ${clang_search_dirs})
string(REPLACE ":" ";" list "${list}")
set(libs_extra_subdirs "lib;../lib;lib64;../lib64;lib32;../lib32")
foreach(dir IN LISTS list)
get_filename_component(dir "${dir}" REALPATH)
if(dir MATCHES ".*llvm.*" OR dir MATCHES ".*clang.*")
list(APPEND clang_bindirs "${dir}")
set(list_suffix "")
else()
list(APPEND clang_bindirs_x "${dir}")
set(list_suffix "_x")
endif()
list(APPEND clang_bindirs${list_suffix} "${dir}")
foreach(subdir IN LISTS libs_extra_subdirs)
get_filename_component(subdir "${dir}/${subdir}" REALPATH)
if(EXISTS "${subdir}")
list(APPEND clang_libdirs${list_suffix} "${subdir}")
endif()
endforeach()
endforeach()
list(APPEND clang_bindirs "${clang_bindirs_x}")
list(REMOVE_DUPLICATES clang_bindirs)
Expand All @@ -559,10 +571,11 @@ if(CMAKE_COMPILER_IS_CLANG)
foreach(dir IN LISTS list)
get_filename_component(dir "${dir}" REALPATH)
if(dir MATCHES ".*llvm.*" OR dir MATCHES ".*clang.*")
list(APPEND clang_libdirs "${dir}")
set(list_suffix "")
else()
list(APPEND clang_libdirs_x "${dir}")
set(list_suffix "_x")
endif()
list(APPEND clang_libdirs${list_suffix} "${dir}")
endforeach()
list(APPEND clang_libdirs "${clang_libdirs_x}")
list(REMOVE_DUPLICATES clang_libdirs)
Expand Down Expand Up @@ -655,9 +668,7 @@ if(CMAKE_COMPILER_IS_CLANG)
if(CMAKE_CLANG_AR
AND CMAKE_CLANG_NM
AND CMAKE_CLANG_RANLIB
AND ((CLANG_LTO_PLUGIN AND CMAKE_LD_GOLD)
OR (CMAKE_CLANG_LD AND NOT (CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_NAME STREQUAL "Linux"))
OR APPLE))
AND ((CLANG_LTO_PLUGIN AND CMAKE_LD_GOLD) OR CMAKE_CLANG_LD OR APPLE))
if(ANDROID AND CMAKE_${CMAKE_PRIMARY_LANG}_COMPILER_VERSION VERSION_LESS 12)
set(CLANG_LTO_AVAILABLE FALSE)
message(
Expand Down
2 changes: 1 addition & 1 deletion mdbxdist/cmake/profile.cmake
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2012-2024 Леонид Юрьев aka Leonid Yuriev <[email protected]> ###############################################
# Copyright (c) 2012-2025 Леонид Юрьев aka Leonid Yuriev <[email protected]> ###############################################
# SPDX-License-Identifier: Apache-2.0

if(CMAKE_VERSION VERSION_LESS 3.8.2)
Expand Down
2 changes: 1 addition & 1 deletion mdbxdist/cmake/utils.cmake
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2012-2024 Леонид Юрьев aka Leonid Yuriev <[email protected]> ###############################################
# Copyright (c) 2012-2025 Леонид Юрьев aka Leonid Yuriev <[email protected]> ###############################################
# SPDX-License-Identifier: Apache-2.0

if(CMAKE_VERSION VERSION_LESS 3.8.2)
Expand Down
4 changes: 2 additions & 2 deletions mdbxdist/man1/mdbx_chk.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" Copyright 2015-2024 Leonid Yuriev <[email protected]>.
.\" Copyright 2015-2025 Leonid Yuriev <[email protected]>.
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
.TH MDBX_CHK 1 "2024-08-29" "MDBX 0.13"
.TH MDBX_CHK 1 "2025-01-14" "MDBX 0.14"
.SH NAME
mdbx_chk \- MDBX checking tool
.SH SYNOPSIS
Expand Down
4 changes: 2 additions & 2 deletions mdbxdist/man1/mdbx_copy.1
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
.\" Copyright 2015-2024 Leonid Yuriev <[email protected]>.
.\" Copyright 2015-2025 Leonid Yuriev <[email protected]>.
.\" Copyright 2015,2016 Peter-Service R&D LLC <http://billing.ru/>.
.\" Copyright 2012-2015 Howard Chu, Symas Corp. All Rights Reserved.
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
.TH MDBX_COPY 1 "2024-08-29" "MDBX 0.13"
.TH MDBX_COPY 1 "2025-01-14" "MDBX 0.14"
.SH NAME
mdbx_copy \- MDBX environment copy tool
.SH SYNOPSIS
Expand Down
4 changes: 2 additions & 2 deletions mdbxdist/man1/mdbx_drop.1
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
.\" Copyright 2021-2024 Leonid Yuriev <[email protected]>.
.\" Copyright 2021-2025 Leonid Yuriev <[email protected]>.
.\" Copyright 2014-2021 Howard Chu, Symas Corp. All Rights Reserved.
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
.TH MDBX_DROP 1 "2024-08-29" "MDBX 0.13"
.TH MDBX_DROP 1 "2025-01-14" "MDBX 0.14"
.SH NAME
mdbx_drop \- MDBX database delete tool
.SH SYNOPSIS
Expand Down
4 changes: 2 additions & 2 deletions mdbxdist/man1/mdbx_dump.1
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
.\" Copyright 2015-2024 Leonid Yuriev <[email protected]>.
.\" Copyright 2015-2025 Leonid Yuriev <[email protected]>.
.\" Copyright 2015,2016 Peter-Service R&D LLC <http://billing.ru/>.
.\" Copyright 2014-2015 Howard Chu, Symas Corp. All Rights Reserved.
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
.TH MDBX_DUMP 1 "2024-08-29" "MDBX 0.13"
.TH MDBX_DUMP 1 "2025-01-14" "MDBX 0.14"
.SH NAME
mdbx_dump \- MDBX environment export tool
.SH SYNOPSIS
Expand Down
4 changes: 2 additions & 2 deletions mdbxdist/man1/mdbx_load.1
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
.\" Copyright 2015-2024 Leonid Yuriev <[email protected]>.
.\" Copyright 2015-2025 Leonid Yuriev <[email protected]>.
.\" Copyright 2015,2016 Peter-Service R&D LLC <http://billing.ru/>.
.\" Copyright 2014-2015 Howard Chu, Symas Corp. All Rights Reserved.
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
.TH MDBX_LOAD 1 "2024-08-29" "MDBX 0.13"
.TH MDBX_LOAD 1 "2025-01-14" "MDBX 0.14"
.SH NAME
mdbx_load \- MDBX environment import tool
.SH SYNOPSIS
Expand Down
4 changes: 2 additions & 2 deletions mdbxdist/man1/mdbx_stat.1
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
.\" Copyright 2015-2024 Leonid Yuriev <[email protected]>.
.\" Copyright 2015-2025 Leonid Yuriev <[email protected]>.
.\" Copyright 2015,2016 Peter-Service R&D LLC <http://billing.ru/>.
.\" Copyright 2012-2015 Howard Chu, Symas Corp. All Rights Reserved.
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
.TH MDBX_STAT 1 "2024-08-29" "MDBX 0.13"
.TH MDBX_STAT 1 "2025-01-14" "MDBX 0.14"
.SH NAME
mdbx_stat \- MDBX environment status tool
.SH SYNOPSIS
Expand Down
Loading
Loading