# How to do cross-compiling using MinGW?
## 1. Prepare a pkg-config wrapper
- Create sysroot for MinGW. For example, create a folder named $HOME/mingw-sysroot
- Create ${CHOST}-pkg-config wrapper. The wrapper will set PKG_CONFIG_SYSROOT_DIR as sysroot.
```
#!/bin/sh
# Point to your sysroot.
SYSROOT=$HOME/mingw-sysroot
export PKG_CONFIG_DIR=
export PKG_CONFIG_LIBDIR=${SYSROOT}/usr/lib/pkgconfig:${SYSROOT}/usr/share/pkgconfig
export PKG_CONFIG_SYSROOT_DIR=${SYSROOT}
exec pkg-config "$@"
```
- Export PKG_CONFIG as your wrapper.
```
export PKG_CONFIG=${CHOST}-pkg-config
```
## 2. Config with new sysroot.
```
./configure --host=i686-w64-mingw32 \
--prefix=/usr \
--with-sysroot=$HOME/mingw-sysroot
```
3. Make and install.
```
make install DESTDIR=$HOME/mingw-sysroot
```
Reference:
* [Supporting Cross-Compilation](https://autotools.io/pkgconfig/cross-compiling.html?utm_source=www.flameeyes.eu&utm_medium=url&utm_campaign=vanitydomainssite)
* [How to use MinGW to cross compile software for Windows](https://gitlab.kitware.com/cmake/community/wikis/doc/cmake/cross_compiling/Mingw)