mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-10 11:57:28 -03:00
ae56b3230b
CMake parses some paths from the spec of the C compiler, assuming it will be the linker, resulting in the link to end up with `-L/usr/lib/gcc/x86_64-w64-mingw32/12-win32` on debian bookworm if both -win32 and -posix variants are installed, and -win32 is the default alternative. This results in the wrong C++ library being linked, missing std::threads::hardware_concurrency and other threading functions. To fix this, use the -posix variant of gcc as well when available. This fixes a regression compared to autotools, where this scenario worked.
27 lines
762 B
Makefile
27 lines
762 B
Makefile
ifneq ($(shell $(SHELL) $(.SHELLFLAGS) "command -v $(host)-gcc-posix"),)
|
|
mingw32_CC := $(host)-gcc-posix
|
|
endif
|
|
ifneq ($(shell $(SHELL) $(.SHELLFLAGS) "command -v $(host)-g++-posix"),)
|
|
mingw32_CXX := $(host)-g++-posix
|
|
endif
|
|
|
|
mingw32_CFLAGS=-pipe -std=$(C_STANDARD)
|
|
mingw32_CXXFLAGS=-pipe -std=$(CXX_STANDARD)
|
|
|
|
ifneq ($(LTO),)
|
|
mingw32_AR = $(host_toolchain)gcc-ar
|
|
mingw32_NM = $(host_toolchain)gcc-nm
|
|
mingw32_RANLIB = $(host_toolchain)gcc-ranlib
|
|
endif
|
|
|
|
mingw32_release_CFLAGS=-O2
|
|
mingw32_release_CXXFLAGS=$(mingw32_release_CFLAGS)
|
|
|
|
mingw32_debug_CFLAGS=-O1 -g
|
|
mingw32_debug_CXXFLAGS=$(mingw32_debug_CFLAGS)
|
|
|
|
mingw32_debug_CPPFLAGS=-D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC
|
|
|
|
mingw32_cmake_system_name=Windows
|
|
# Windows 7 (NT 6.1).
|
|
mingw32_cmake_system_version=6.1
|