From 58a9601dffa6d9b3b881a476169458787d382919 Mon Sep 17 00:00:00 2001 From: fanquake Date: Mon, 20 Jun 2022 11:43:21 +0100 Subject: [PATCH] build: globally define NOMINMAX Define (and document) `NOMINMAX` once, rather than across multiple source files. Defining this prevents the definition of min/max macros when using mingw-w64, which may conflict with unprefixed std::min/max usage. While that might not be the case for us, we'd always prefer to use the standard library in any case. For example: https://github.com/mingw-w64/mingw-w64/blob/73cadc06c62c6af5faf76f64ef08e684b48de48c/mingw-w64-headers/include/ntdef.h#L289-L300 --- configure.ac | 3 +++ src/compat.h | 3 --- src/fs.cpp | 3 --- src/qt/guiutil.cpp | 3 --- src/support/lockedpool.cpp | 3 --- src/util/system.cpp | 3 --- 6 files changed, 3 insertions(+), 15 deletions(-) diff --git a/configure.ac b/configure.ac index a4a23474c8213..11b4abde5e51b 100644 --- a/configure.ac +++ b/configure.ac @@ -710,6 +710,9 @@ case $host in fi CORE_CPPFLAGS="$CORE_CPPFLAGS -D_MT -DWIN32 -D_WINDOWS -D_WIN32_WINNT=0x0601 -D_WIN32_IE=0x0501 -DWIN32_LEAN_AND_MEAN" + dnl Prevent the definition of min/max macros. + dnl We always want to use the standard library. + CORE_CPPFLAGS="$CORE_CPPFLAGS -DNOMINMAX" dnl libtool insists upon adding -nostdlib and a list of objects/libs to link against. dnl That breaks our ability to build dll's with static libgcc/libstdc++/libssp. Override diff --git a/src/compat.h b/src/compat.h index f41c501c84fb5..0a44b98b4eaac 100644 --- a/src/compat.h +++ b/src/compat.h @@ -11,9 +11,6 @@ #endif #ifdef WIN32 -#ifndef NOMINMAX -#define NOMINMAX -#endif #ifdef FD_SETSIZE #undef FD_SETSIZE // prevent redefinition compiler warning #endif diff --git a/src/fs.cpp b/src/fs.cpp index b61115bf014ed..74b167e313559 100644 --- a/src/fs.cpp +++ b/src/fs.cpp @@ -12,9 +12,6 @@ #include #include #else -#ifndef NOMINMAX -#define NOMINMAX -#endif #include #include #include diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp index e3c6d8a6247b5..186ed4f644e97 100644 --- a/src/qt/guiutil.cpp +++ b/src/qt/guiutil.cpp @@ -24,9 +24,6 @@ #include #ifdef WIN32 -#ifndef NOMINMAX -#define NOMINMAX -#endif #include #include #include diff --git a/src/support/lockedpool.cpp b/src/support/lockedpool.cpp index b7ef479675462..e48accf0a47ee 100644 --- a/src/support/lockedpool.cpp +++ b/src/support/lockedpool.cpp @@ -10,9 +10,6 @@ #endif #ifdef WIN32 -#ifndef NOMINMAX -#define NOMINMAX -#endif #include #else #include // for mmap diff --git a/src/util/system.cpp b/src/util/system.cpp index 6e2638a5d6c30..1ae82fbc9697d 100644 --- a/src/util/system.cpp +++ b/src/util/system.cpp @@ -62,9 +62,6 @@ #pragma warning(disable:4717) #endif -#ifndef NOMINMAX -#define NOMINMAX -#endif #include #include /* for _commit */