mirror of
https://github.com/dashpay/dash.git
synced 2024-12-25 03:52:49 +01:00
merge bitcoin#22093: Try posix-specific CXX first for mingw32 host
This commit is contained in:
parent
638806b2cc
commit
cc55ebbf93
@ -1,3 +1,7 @@
|
|||||||
|
ifneq ($(shell which $(host)-g++-posix),)
|
||||||
|
mingw32_CXX := $(host)-g++-posix
|
||||||
|
endif
|
||||||
|
|
||||||
mingw32_CFLAGS=-pipe
|
mingw32_CFLAGS=-pipe
|
||||||
mingw32_CXXFLAGS=$(mingw32_CFLAGS)
|
mingw32_CXXFLAGS=$(mingw32_CFLAGS)
|
||||||
|
|
||||||
|
@ -39,27 +39,6 @@ The first step is to install the mingw-w64 cross-compilation tool chain:
|
|||||||
|
|
||||||
sudo apt-get install g++-mingw-w64-x86-64 mingw-w64-x86-64-dev
|
sudo apt-get install g++-mingw-w64-x86-64 mingw-w64-x86-64-dev
|
||||||
|
|
||||||
Next, set the default `mingw32 g++` compiler option to POSIX<sup>[1](#footnote1)</sup>:
|
|
||||||
|
|
||||||
```
|
|
||||||
sudo update-alternatives --config x86_64-w64-mingw32-g++
|
|
||||||
```
|
|
||||||
|
|
||||||
After running the above command, you should see output similar to that below.
|
|
||||||
Choose the option that ends with `posix`.
|
|
||||||
|
|
||||||
```
|
|
||||||
There are 2 choices for the alternative x86_64-w64-mingw32-g++ (providing /usr/bin/x86_64-w64-mingw32-g++).
|
|
||||||
|
|
||||||
Selection Path Priority Status
|
|
||||||
------------------------------------------------------------
|
|
||||||
0 /usr/bin/x86_64-w64-mingw32-g++-win32 60 auto mode
|
|
||||||
* 1 /usr/bin/x86_64-w64-mingw32-g++-posix 30 manual mode
|
|
||||||
2 /usr/bin/x86_64-w64-mingw32-g++-win32 60 manual mode
|
|
||||||
|
|
||||||
Press <enter> to keep the current choice[*], or type selection number:
|
|
||||||
```
|
|
||||||
|
|
||||||
Once the toolchain is installed the build steps are common:
|
Once the toolchain is installed the build steps are common:
|
||||||
|
|
||||||
Note that for WSL the Dash Core source path MUST be somewhere in the default mount file system, for
|
Note that for WSL the Dash Core source path MUST be somewhere in the default mount file system, for
|
||||||
@ -100,13 +79,3 @@ way. This will install to `c:\workspace\dash`, for example:
|
|||||||
You can also create an installer using:
|
You can also create an installer using:
|
||||||
|
|
||||||
make deploy
|
make deploy
|
||||||
|
|
||||||
Footnotes
|
|
||||||
---------
|
|
||||||
|
|
||||||
<a name="footnote1">1</a>: Starting from Ubuntu Xenial 16.04, both the 32 and 64 bit Mingw-w64 packages install two different
|
|
||||||
compiler options to allow a choice between either posix or win32 threads. The default option is win32 threads which is the more
|
|
||||||
efficient since it will result in binary code that links directly with the Windows kernel32.lib. Unfortunately, the headers
|
|
||||||
required to support win32 threads conflict with some of the classes in the C++11 standard library, in particular std::mutex.
|
|
||||||
It's not possible to build the Dash Core code using the win32 version of the Mingw-w64 cross compilers (at least not without
|
|
||||||
modifying headers in the Dash Core source code).
|
|
||||||
|
Loading…
Reference in New Issue
Block a user