... | ... | @@ -5,14 +5,20 @@ |
|
|
This text uses three terms:
|
|
|
|
|
|
* [MinGW](http://www.mingw.org/) - Minimalist GNU for Windows
|
|
|
* [Minw-w64](http://mingw-w64.org/) - a fork of MinGW that is able to build 64-bit binaries
|
|
|
* [Mingw-w64](http://mingw-w64.org/) - a fork of MinGW that is able to build 64-bit binaries
|
|
|
* Mingw - addresses any of the above mentioned projects
|
|
|
|
|
|
**Warning:** The two projects *Minw-w64* and *MinGW* slowly diverge as users are reporting an increasing list of incompatibilities.
|
|
|
**Warning:** The two projects *Mingw-w64* and *MinGW* slowly diverge as users are reporting an increasing list of incompatibilities. There is no guarantee that code that builds under MinGW will also build under Mingw-w64 and vice versa.
|
|
|
|
|
|
# Motivation
|
|
|
### Motivation
|
|
|
|
|
|
Currently only 32-bit Windows builds are officially supported. These are created using an rather old MinGW version (because of the ability to build code that can be used for Internet Explorer extensions). After the release of 64-bit Firefox for Windows some users were asking for a 64-bi Windows extension.
|
|
|
|
|
|
The branch **mingw-w64-building** contains experimental modification so that [Minw-w64](http://mingw-w64.org/) can be used to build both, 32-bit and 64-bit code for Windows.
|
|
|
|
|
|
### Preparing the Environment
|
|
|
|
|
|
Mingw is used to build extensions that contain statically linked libraries from [OpenSSL](https://www.openssl.org/), [Ldns](https://www.nlnetlabs.nl/projects/ldns/) and [Unbound](https://www.unbound.net/). All these libraries need to be compiled and linked using Mingw.
|
|
|
|
|
|
Libunbound relies on POSIX threads (otherwise it uses `fork()` which is not supported under Windows). The compatibility library *libwinpthread* must be installed in order to compile and link libunbound. More precisely, you have to have the static version of libwinpthread installed in your building environment.
|
|
|
|