mdbx-build: refine CMake scripts, add build options.

Change-Id: Ie3db2f6439d5cc7ef3cd9ebb5b8e5d5d34f743dd
This commit is contained in:
Leonid Yuriev
2019-09-03 02:24:19 +03:00
parent 874418a301
commit 263837094e
10 changed files with 182 additions and 88 deletions

View File

@@ -1,10 +1,4 @@
#cmakedefine HAVE_UNISTD_H
#cmakedefine HAVE_SYS_UIO_H
#cmakedefine HAVE_SYS_STAT_H
#cmakedefine HAVE_TIMEVAL_TV_USEC
#cmakedefine HAVE_TIMESPEC_TV_NSEC
#cmakedefine CMAKE_HAVE_PTHREAD_H
#cmakedefine HAVE_VALGRIND_MEMCHECK_H
#cmakedefine HAVE_VALGRIND_MEMCHECK_H
#cmakedefine HAS_RELAXED_CONSTEXPR
#cmakedefine LTO_ENABLED
@@ -14,3 +8,29 @@
#cmakedefine ENABLE_ASAN
#cmakedefine01 HAVE_MDBX_VERSIONINFO
/* Common */
#cmakedefine01 MDBX_TXN_CHECKPID
#cmakedefine01 MDBX_TXN_CHECKOWNER
/* Windows */
#cmakedefine MDBX_BUILD_DLL
#cmakedefine01 MDBX_CONFIG_MANUAL_TLS_CALLBACK
#cmakedefine MDBX_AVOID_CRT
/* MacOS */
#cmakedefine01 MDBX_OSX_SPEED_INSTEADOF_DURABILITY
/* POSIX */
#cmakedefine01 MDBX_USE_ROBUST
#cmakedefine01 MDBX_USE_OFDLOCKS
/* Simulate "AUTO" values of tristate options */
#cmakedefine MDBX_USE_ROBUST_AUTO
#ifdef MDBX_USE_ROBUST_AUTO
#undef MDBX_USE_ROBUST
#endif
#cmakedefine MDBX_USE_OFDLOCKS_AUTO
#ifdef MDBX_USE_OFDLOCKS_AUTO
#undef MDBX_USE_OFDLOCKS
#endif

View File

@@ -15,6 +15,10 @@
/* *INDENT-OFF* */
/* clang-format off */
#ifdef MDBX_CONFIG_H
#include MDBX_CONFIG_H
#endif
/* In case the MDBX_DEBUG is undefined set it corresponding to NDEBUG */
#ifndef MDBX_DEBUG
#ifdef NDEBUG

View File

@@ -719,14 +719,14 @@ MDBX_INTERNAL_FUNC void mdbx_rdt_unlock(MDBX_env *env);
/// \brief Захватывает блокировку для изменения БД (при старте пишущей
/// транзакции). Транзакции чтения при этом никак не блокируются.
/// Объявлена без MDBX_INTERNAL_FUNC так как используется в mdbx_chk.
/// Объявлена LIBMDBX_API так как используется в mdbx_chk.
/// \return Код ошибки или 0 в случае успеха.
int mdbx_txn_lock(MDBX_env *env, bool dontwait);
LIBMDBX_API int mdbx_txn_lock(MDBX_env *env, bool dontwait);
/// \brief Освобождает блокировку по окончанию изменения БД (после завершения
/// пишущей транзакции).
/// Объявлена без MDBX_INTERNAL_FUNC так как используется в mdbx_chk.
void mdbx_txn_unlock(MDBX_env *env);
/// Объявлена LIBMDBX_API так как используется в mdbx_chk.
LIBMDBX_API void mdbx_txn_unlock(MDBX_env *env);
/// \brief Устанавливает alive-флажок присутствия (индицирующую блокировку)
/// читателя для pid текущего процесса. Функции может выполнить не более

View File

@@ -36,5 +36,5 @@
"@MDBX_GIT_DESCRIBE@"}};
/*LIBMDBX_API*/ const mdbx_build_info mdbx_build = {
"@MDBX_BUILD_TIMESTAMP@", ${MDBX_BUILD_TARGET}, "@MDBX_OPTIONS@",
"@MDBX_BUILD_COMPILER@", ${MDBX_COMPILE_FLAGS}};
"@MDBX_BUILD_TIMESTAMP@", "${MDBX_BUILD_TARGET}", "@MDBX_OPTIONS_STRING@",
"@MDBX_BUILD_COMPILER@", "${MDBX_COMPILE_FLAGS}"};