# Something crazy: compiling on Linux a crosscompiler that
# runs on Windows and generates code for OSX.

[binaries]
exe_wrapper = 'wine' # A command used to run generated executables.
c = '/usr/bin/i686-w64-mingw32-gcc'
cpp = '/usr/bin/i686-w64-mingw32-g++'
ar = '/usr/bin/i686-w64-mingw32-ar'
strip = '/usr/bin/i686-w64-mingw32-strip'
pkgconfig = '/usr/bin/mingw32-pkg-config'

[properties]
root = '/usr/i686-w64-mingw32'

[host_machine]
system = 'windows'
cpu_family = 'x86'
cpu = 'i686'
endian = 'little'

[target_machine]
system = 'darwin'
cpu_family = 'arm'
cpu = 'armv7h' # Don't know if this is correct.
endian = 'little'
