mdbx: make MDBX_STRINGIFYmacro public.

This commit is contained in:
Leonid Yuriev 2021-07-25 15:11:05 +03:00
parent c2fa453725
commit 046dc02f73
7 changed files with 52 additions and 51 deletions

6
mdbx.h
View File

@ -361,6 +361,12 @@ typedef mode_t mdbx_mode_t;
#define LIBMDBX_INLINE_API(TYPE, NAME, ARGS) static __inline TYPE NAME ARGS #define LIBMDBX_INLINE_API(TYPE, NAME, ARGS) static __inline TYPE NAME ARGS
#endif /* LIBMDBX_INLINE_API */ #endif /* LIBMDBX_INLINE_API */
/** \brief Converts a macro argument into a string constant. */
#ifndef MDBX_STRINGIFY
#define MDBX_STRINGIFY_HELPER(x) #x
#define MDBX_STRINGIFY(x) MDBX_STRINGIFY_HELPER(x)
#endif /* MDBX_STRINGIFY */
/*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/
#ifndef __cplusplus #ifndef __cplusplus

View File

@ -22120,7 +22120,7 @@ __dll_export
MDBX_BUILD_TARGET MDBX_BUILD_TARGET
#else #else
#if defined(__ANDROID_API__) #if defined(__ANDROID_API__)
"Android" STRINGIFY(__ANDROID_API__) "Android" MDBX_STRINGIFY(__ANDROID_API__)
#elif defined(__linux__) || defined(__gnu_linux__) #elif defined(__linux__) || defined(__gnu_linux__)
"Linux" "Linux"
#elif defined(EMSCRIPTEN) || defined(__EMSCRIPTEN__) #elif defined(EMSCRIPTEN) || defined(__EMSCRIPTEN__)
@ -22161,7 +22161,7 @@ __dll_export
|| defined(__UNIX) || defined(__UNIX__) || defined(__UNIX) || defined(__UNIX__)
"UNIX" "UNIX"
#elif defined(_POSIX_VERSION) #elif defined(_POSIX_VERSION)
"POSIX" STRINGIFY(_POSIX_VERSION) "POSIX" MDBX_STRINGIFY(_POSIX_VERSION)
#else #else
"UnknownOS" "UnknownOS"
#endif /* Target OS */ #endif /* Target OS */
@ -22217,8 +22217,8 @@ __dll_export
"-" MDBX_BUILD_TYPE "-" MDBX_BUILD_TYPE
#endif /* MDBX_BUILD_TYPE */ #endif /* MDBX_BUILD_TYPE */
, ,
"MDBX_DEBUG=" STRINGIFY(MDBX_DEBUG) "MDBX_DEBUG=" MDBX_STRINGIFY(MDBX_DEBUG)
" MDBX_WORDBITS=" STRINGIFY(MDBX_WORDBITS) " MDBX_WORDBITS=" MDBX_STRINGIFY(MDBX_WORDBITS)
" BYTE_ORDER=" " BYTE_ORDER="
#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
"LITTLE_ENDIAN" "LITTLE_ENDIAN"
@ -22232,8 +22232,8 @@ __dll_export
" MDBX_64BIT_ATOMIC=" MDBX_64BIT_ATOMIC_CONFIG " MDBX_64BIT_ATOMIC=" MDBX_64BIT_ATOMIC_CONFIG
" MDBX_64BIT_CAS=" MDBX_64BIT_CAS_CONFIG " MDBX_64BIT_CAS=" MDBX_64BIT_CAS_CONFIG
" MDBX_TRUST_RTC=" MDBX_TRUST_RTC_CONFIG " MDBX_TRUST_RTC=" MDBX_TRUST_RTC_CONFIG
" MDBX_ENABLE_REFUND=" STRINGIFY(MDBX_ENABLE_REFUND) " MDBX_ENABLE_REFUND=" MDBX_STRINGIFY(MDBX_ENABLE_REFUND)
" MDBX_ENABLE_MADVISE=" STRINGIFY(MDBX_ENABLE_MADVISE) " MDBX_ENABLE_MADVISE=" MDBX_STRINGIFY(MDBX_ENABLE_MADVISE)
#if MDBX_DISABLE_PAGECHECKS #if MDBX_DISABLE_PAGECHECKS
" MDBX_DISABLE_PAGECHECKS=YES" " MDBX_DISABLE_PAGECHECKS=YES"
#endif /* MDBX_DISABLE_PAGECHECKS */ #endif /* MDBX_DISABLE_PAGECHECKS */
@ -22252,53 +22252,53 @@ __dll_export
" _GNU_SOURCE=NO" " _GNU_SOURCE=NO"
#endif /* _GNU_SOURCE */ #endif /* _GNU_SOURCE */
#ifdef __APPLE__ #ifdef __APPLE__
" MDBX_OSX_SPEED_INSTEADOF_DURABILITY=" STRINGIFY(MDBX_OSX_SPEED_INSTEADOF_DURABILITY) " MDBX_OSX_SPEED_INSTEADOF_DURABILITY=" MDBX_STRINGIFY(MDBX_OSX_SPEED_INSTEADOF_DURABILITY)
#endif /* MacOS */ #endif /* MacOS */
#if defined(_WIN32) || defined(_WIN64) #if defined(_WIN32) || defined(_WIN64)
" MDBX_WITHOUT_MSVC_CRT=" STRINGIFY(MDBX_AVOID_CRT) " MDBX_WITHOUT_MSVC_CRT=" MDBX_STRINGIFY(MDBX_AVOID_CRT)
" MDBX_BUILD_SHARED_LIBRARY=" STRINGIFY(MDBX_BUILD_SHARED_LIBRARY) " MDBX_BUILD_SHARED_LIBRARY=" MDBX_STRINGIFY(MDBX_BUILD_SHARED_LIBRARY)
#if !MDBX_BUILD_SHARED_LIBRARY #if !MDBX_BUILD_SHARED_LIBRARY
" MDBX_MANUAL_MODULE_HANDLER=" STRINGIFY(MDBX_MANUAL_MODULE_HANDLER) " MDBX_MANUAL_MODULE_HANDLER=" MDBX_STRINGIFY(MDBX_MANUAL_MODULE_HANDLER)
#endif #endif
" WINVER=" STRINGIFY(WINVER) " WINVER=" MDBX_STRINGIFY(WINVER)
#else /* Windows */ #else /* Windows */
" MDBX_LOCKING=" MDBX_LOCKING_CONFIG " MDBX_LOCKING=" MDBX_LOCKING_CONFIG
" MDBX_USE_OFDLOCKS=" MDBX_USE_OFDLOCKS_CONFIG " MDBX_USE_OFDLOCKS=" MDBX_USE_OFDLOCKS_CONFIG
#endif /* !Windows */ #endif /* !Windows */
" MDBX_CACHELINE_SIZE=" STRINGIFY(MDBX_CACHELINE_SIZE) " MDBX_CACHELINE_SIZE=" MDBX_STRINGIFY(MDBX_CACHELINE_SIZE)
" MDBX_CPU_WRITEBACK_INCOHERENT=" STRINGIFY(MDBX_CPU_WRITEBACK_INCOHERENT) " MDBX_CPU_WRITEBACK_INCOHERENT=" MDBX_STRINGIFY(MDBX_CPU_WRITEBACK_INCOHERENT)
" MDBX_MMAP_INCOHERENT_CPU_CACHE=" STRINGIFY(MDBX_MMAP_INCOHERENT_CPU_CACHE) " MDBX_MMAP_INCOHERENT_CPU_CACHE=" MDBX_STRINGIFY(MDBX_MMAP_INCOHERENT_CPU_CACHE)
" MDBX_MMAP_INCOHERENT_FILE_WRITE=" STRINGIFY(MDBX_MMAP_INCOHERENT_FILE_WRITE) " MDBX_MMAP_INCOHERENT_FILE_WRITE=" MDBX_STRINGIFY(MDBX_MMAP_INCOHERENT_FILE_WRITE)
" MDBX_UNALIGNED_OK=" STRINGIFY(MDBX_UNALIGNED_OK) " MDBX_UNALIGNED_OK=" MDBX_STRINGIFY(MDBX_UNALIGNED_OK)
" MDBX_PNL_ASCENDING=" STRINGIFY(MDBX_PNL_ASCENDING) " MDBX_PNL_ASCENDING=" MDBX_STRINGIFY(MDBX_PNL_ASCENDING)
, ,
#ifdef MDBX_BUILD_COMPILER #ifdef MDBX_BUILD_COMPILER
MDBX_BUILD_COMPILER MDBX_BUILD_COMPILER
#else #else
#ifdef __INTEL_COMPILER #ifdef __INTEL_COMPILER
"Intel C/C++ " STRINGIFY(__INTEL_COMPILER) "Intel C/C++ " MDBX_STRINGIFY(__INTEL_COMPILER)
#elif defined(__apple_build_version__) #elif defined(__apple_build_version__)
"Apple clang " STRINGIFY(__apple_build_version__) "Apple clang " MDBX_STRINGIFY(__apple_build_version__)
#elif defined(__ibmxl__) #elif defined(__ibmxl__)
"IBM clang C " STRINGIFY(__ibmxl_version__) "." STRINGIFY(__ibmxl_release__) "IBM clang C " MDBX_STRINGIFY(__ibmxl_version__) "." MDBX_STRINGIFY(__ibmxl_release__)
"." STRINGIFY(__ibmxl_modification__) "." STRINGIFY(__ibmxl_ptf_fix_level__) "." MDBX_STRINGIFY(__ibmxl_modification__) "." MDBX_STRINGIFY(__ibmxl_ptf_fix_level__)
#elif defined(__clang__) #elif defined(__clang__)
"clang " STRINGIFY(__clang_version__) "clang " MDBX_STRINGIFY(__clang_version__)
#elif defined(__MINGW64__) #elif defined(__MINGW64__)
"MINGW-64 " STRINGIFY(__MINGW64_MAJOR_VERSION) "." STRINGIFY(__MINGW64_MINOR_VERSION) "MINGW-64 " MDBX_STRINGIFY(__MINGW64_MAJOR_VERSION) "." MDBX_STRINGIFY(__MINGW64_MINOR_VERSION)
#elif defined(__MINGW32__) #elif defined(__MINGW32__)
"MINGW-32 " STRINGIFY(__MINGW32_MAJOR_VERSION) "." STRINGIFY(__MINGW32_MINOR_VERSION) "MINGW-32 " MDBX_STRINGIFY(__MINGW32_MAJOR_VERSION) "." MDBX_STRINGIFY(__MINGW32_MINOR_VERSION)
#elif defined(__IBMC__) #elif defined(__IBMC__)
"IBM C " STRINGIFY(__IBMC__) "IBM C " MDBX_STRINGIFY(__IBMC__)
#elif defined(__GNUC__) #elif defined(__GNUC__)
"GNU C/C++ " "GNU C/C++ "
#ifdef __VERSION__ #ifdef __VERSION__
__VERSION__ __VERSION__
#else #else
STRINGIFY(__GNUC__) "." STRINGIFY(__GNUC_MINOR__) "." STRINGIFY(__GNUC_PATCHLEVEL__) MDBX_STRINGIFY(__GNUC__) "." MDBX_STRINGIFY(__GNUC_MINOR__) "." MDBX_STRINGIFY(__GNUC_PATCHLEVEL__)
#endif #endif
#elif defined(_MSC_VER) #elif defined(_MSC_VER)
"MSVC " STRINGIFY(_MSC_FULL_VER) "-" STRINGIFY(_MSC_BUILD) "MSVC " MDBX_STRINGIFY(_MSC_FULL_VER) "-" MDBX_STRINGIFY(_MSC_BUILD)
#else #else
"Unknown compiler" "Unknown compiler"
#endif #endif

View File

@ -304,11 +304,6 @@
# define ARRAY_END(array) (&array[ARRAY_LENGTH(array)]) # define ARRAY_END(array) (&array[ARRAY_LENGTH(array)])
#endif /* ARRAY_END */ #endif /* ARRAY_END */
#ifndef STRINGIFY
# define STRINGIFY_HELPER(x) #x
# define STRINGIFY(x) STRINGIFY_HELPER(x)
#endif /* STRINGIFY */
#define CONCAT(a,b) a##b #define CONCAT(a,b) a##b
#define XCONCAT(a,b) CONCAT(a,b) #define XCONCAT(a,b) CONCAT(a,b)
@ -326,7 +321,7 @@
#define MDBX_STRING_TETRAD(str) MDBX_TETRAD(str[0], str[1], str[2], str[3]) #define MDBX_STRING_TETRAD(str) MDBX_TETRAD(str[0], str[1], str[2], str[3])
#define FIXME "FIXME: " __FILE__ ", " STRINGIFY(__LINE__) #define FIXME "FIXME: " __FILE__ ", " MDBX_STRINGIFY(__LINE__)
#ifndef STATIC_ASSERT_MSG #ifndef STATIC_ASSERT_MSG
# if defined(static_assert) # if defined(static_assert)

View File

@ -344,7 +344,7 @@ __cold const char *error::what() const noexcept {
switch (code()) { switch (code()) {
#define ERROR_CASE(CODE) \ #define ERROR_CASE(CODE) \
case CODE: \ case CODE: \
return STRINGIFY(CODE) return MDBX_STRINGIFY(CODE)
ERROR_CASE(MDBX_ENODATA); ERROR_CASE(MDBX_ENODATA);
ERROR_CASE(MDBX_EINVAL); ERROR_CASE(MDBX_EINVAL);
ERROR_CASE(MDBX_EACCESS); ERROR_CASE(MDBX_EACCESS);

View File

@ -39,18 +39,18 @@
#else #else
#define MDBX_ENV_CHECKPID 1 #define MDBX_ENV_CHECKPID 1
#endif #endif
#define MDBX_ENV_CHECKPID_CONFIG "AUTO=" STRINGIFY(MDBX_ENV_CHECKPID) #define MDBX_ENV_CHECKPID_CONFIG "AUTO=" MDBX_STRINGIFY(MDBX_ENV_CHECKPID)
#else #else
#define MDBX_ENV_CHECKPID_CONFIG STRINGIFY(MDBX_ENV_CHECKPID) #define MDBX_ENV_CHECKPID_CONFIG MDBX_STRINGIFY(MDBX_ENV_CHECKPID)
#endif /* MDBX_ENV_CHECKPID */ #endif /* MDBX_ENV_CHECKPID */
/** Controls checking transaction owner thread against misuse transactions from /** Controls checking transaction owner thread against misuse transactions from
* other threads. */ * other threads. */
#ifndef MDBX_TXN_CHECKOWNER #ifndef MDBX_TXN_CHECKOWNER
#define MDBX_TXN_CHECKOWNER 1 #define MDBX_TXN_CHECKOWNER 1
#define MDBX_TXN_CHECKOWNER_CONFIG "AUTO=" STRINGIFY(MDBX_TXN_CHECKOWNER) #define MDBX_TXN_CHECKOWNER_CONFIG "AUTO=" MDBX_STRINGIFY(MDBX_TXN_CHECKOWNER)
#else #else
#define MDBX_TXN_CHECKOWNER_CONFIG STRINGIFY(MDBX_TXN_CHECKOWNER) #define MDBX_TXN_CHECKOWNER_CONFIG MDBX_STRINGIFY(MDBX_TXN_CHECKOWNER)
#endif /* MDBX_TXN_CHECKOWNER */ #endif /* MDBX_TXN_CHECKOWNER */
/** Does a system have battery-backed Real-Time Clock or just a fake. */ /** Does a system have battery-backed Real-Time Clock or just a fake. */
@ -61,9 +61,9 @@
#else #else
#define MDBX_TRUST_RTC 1 #define MDBX_TRUST_RTC 1
#endif #endif
#define MDBX_TRUST_RTC_CONFIG "AUTO=" STRINGIFY(MDBX_TRUST_RTC) #define MDBX_TRUST_RTC_CONFIG "AUTO=" MDBX_STRINGIFY(MDBX_TRUST_RTC)
#else #else
#define MDBX_TRUST_RTC_CONFIG STRINGIFY(MDBX_TRUST_RTC) #define MDBX_TRUST_RTC_CONFIG MDBX_STRINGIFY(MDBX_TRUST_RTC)
#endif /* MDBX_TRUST_RTC */ #endif /* MDBX_TRUST_RTC */
/** Controls online database auto-compactification during write-transactions. */ /** Controls online database auto-compactification during write-transactions. */
@ -238,9 +238,9 @@
#else #else
#define MDBX_LOCKING MDBX_LOCKING_SYSV #define MDBX_LOCKING MDBX_LOCKING_SYSV
#endif #endif
#define MDBX_LOCKING_CONFIG "AUTO=" STRINGIFY(MDBX_LOCKING) #define MDBX_LOCKING_CONFIG "AUTO=" MDBX_STRINGIFY(MDBX_LOCKING)
#else #else
#define MDBX_LOCKING_CONFIG STRINGIFY(MDBX_LOCKING) #define MDBX_LOCKING_CONFIG MDBX_STRINGIFY(MDBX_LOCKING)
#endif /* MDBX_LOCKING */ #endif /* MDBX_LOCKING */
#endif /* !Windows */ #endif /* !Windows */
@ -253,9 +253,9 @@
#else #else
#define MDBX_USE_OFDLOCKS 0 #define MDBX_USE_OFDLOCKS 0
#endif #endif
#define MDBX_USE_OFDLOCKS_CONFIG "AUTO=" STRINGIFY(MDBX_USE_OFDLOCKS) #define MDBX_USE_OFDLOCKS_CONFIG "AUTO=" MDBX_STRINGIFY(MDBX_USE_OFDLOCKS)
#else #else
#define MDBX_USE_OFDLOCKS_CONFIG STRINGIFY(MDBX_USE_OFDLOCKS) #define MDBX_USE_OFDLOCKS_CONFIG MDBX_STRINGIFY(MDBX_USE_OFDLOCKS)
#endif /* MDBX_USE_OFDLOCKS */ #endif /* MDBX_USE_OFDLOCKS */
/** Advanced: Using sendfile() syscall (autodetection by default). */ /** Advanced: Using sendfile() syscall (autodetection by default). */
@ -326,9 +326,9 @@
#else #else
#define MDBX_64BIT_ATOMIC 0 #define MDBX_64BIT_ATOMIC 0
#endif #endif
#define MDBX_64BIT_ATOMIC_CONFIG "AUTO=" STRINGIFY(MDBX_64BIT_ATOMIC) #define MDBX_64BIT_ATOMIC_CONFIG "AUTO=" MDBX_STRINGIFY(MDBX_64BIT_ATOMIC)
#else #else
#define MDBX_64BIT_ATOMIC_CONFIG STRINGIFY(MDBX_64BIT_ATOMIC) #define MDBX_64BIT_ATOMIC_CONFIG MDBX_STRINGIFY(MDBX_64BIT_ATOMIC)
#endif /* MDBX_64BIT_ATOMIC */ #endif /* MDBX_64BIT_ATOMIC */
#ifndef MDBX_64BIT_CAS #ifndef MDBX_64BIT_CAS
@ -355,9 +355,9 @@
#else #else
#define MDBX_64BIT_CAS MDBX_64BIT_ATOMIC #define MDBX_64BIT_CAS MDBX_64BIT_ATOMIC
#endif #endif
#define MDBX_64BIT_CAS_CONFIG "AUTO=" STRINGIFY(MDBX_64BIT_CAS) #define MDBX_64BIT_CAS_CONFIG "AUTO=" MDBX_STRINGIFY(MDBX_64BIT_CAS)
#else #else
#define MDBX_64BIT_CAS_CONFIG STRINGIFY(MDBX_64BIT_CAS) #define MDBX_64BIT_CAS_CONFIG MDBX_STRINGIFY(MDBX_64BIT_CAS)
#endif /* MDBX_64BIT_CAS */ #endif /* MDBX_64BIT_CAS */
#ifndef MDBX_UNALIGNED_OK #ifndef MDBX_UNALIGNED_OK

View File

@ -8,7 +8,7 @@
#error "API version mismatch! Had `git fetch --tags` done?" #error "API version mismatch! Had `git fetch --tags` done?"
#endif #endif
static const char sourcery[] = STRINGIFY(MDBX_BUILD_SOURCERY); static const char sourcery[] = MDBX_STRINGIFY(MDBX_BUILD_SOURCERY);
__dll_export __dll_export
#ifdef __attribute_used__ #ifdef __attribute_used__

View File

@ -130,8 +130,8 @@ public:
}; };
#define REGISTER_TESTCASE(NAME) \ #define REGISTER_TESTCASE(NAME) \
static registry::factory<testcase_##NAME> gRegister_##NAME(ac_##NAME, \ static registry::factory<testcase_##NAME> gRegister_##NAME( \
STRINGIFY(NAME)) ac_##NAME, MDBX_STRINGIFY(NAME))
class testcase { class testcase {
protected: protected: