aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfanquake <fanquake@gmail.com>2022-06-20 11:43:21 +0100
committerfanquake <fanquake@gmail.com>2022-06-20 12:22:05 +0100
commit58a9601dffa6d9b3b881a476169458787d382919 (patch)
treead17aa0f9a79d38db266d618827173f795024012
parenta09033e22c4f072c86a1885dd476f3059e5416d1 (diff)
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
-rw-r--r--configure.ac3
-rw-r--r--src/compat.h3
-rw-r--r--src/fs.cpp3
-rw-r--r--src/qt/guiutil.cpp3
-rw-r--r--src/support/lockedpool.cpp3
-rw-r--r--src/util/system.cpp3
6 files changed, 3 insertions, 15 deletions
diff --git a/configure.ac b/configure.ac
index a4a23474c8..11b4abde5e 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 f41c501c84..0a44b98b4e 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 b61115bf01..74b167e313 100644
--- a/src/fs.cpp
+++ b/src/fs.cpp
@@ -12,9 +12,6 @@
#include <sys/utsname.h>
#include <unistd.h>
#else
-#ifndef NOMINMAX
-#define NOMINMAX
-#endif
#include <codecvt>
#include <limits>
#include <windows.h>
diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp
index e3c6d8a624..186ed4f644 100644
--- a/src/qt/guiutil.cpp
+++ b/src/qt/guiutil.cpp
@@ -24,9 +24,6 @@
#include <util/time.h>
#ifdef WIN32
-#ifndef NOMINMAX
-#define NOMINMAX
-#endif
#include <shellapi.h>
#include <shlobj.h>
#include <shlwapi.h>
diff --git a/src/support/lockedpool.cpp b/src/support/lockedpool.cpp
index b7ef479675..e48accf0a4 100644
--- a/src/support/lockedpool.cpp
+++ b/src/support/lockedpool.cpp
@@ -10,9 +10,6 @@
#endif
#ifdef WIN32
-#ifndef NOMINMAX
-#define NOMINMAX
-#endif
#include <windows.h>
#else
#include <sys/mman.h> // for mmap
diff --git a/src/util/system.cpp b/src/util/system.cpp
index 6e2638a5d6..1ae82fbc96 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 <codecvt>
#include <io.h> /* for _commit */