summaryrefslogtreecommitdiff
path: root/HACKING.md
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2017-04-23 11:44:45 +0100
committerSergei Trofimovich <slyfox@gentoo.org>2017-04-23 12:00:58 +0100
commit745032dd02da511067c2939259ed212852187e0f (patch)
treeacbe17d77ef83edc6baf47296c2875cfc6a57977 /HACKING.md
parentfe37e2c6ab9dae6a522735114fea4dde9509250f (diff)
downloadhaskell-745032dd02da511067c2939259ed212852187e0f.tar.gz
rts: tweak cross-compilation to mingw32
Found the problem on x86_64-linux host where I tried to cross-compile GHC to windows as: $ ./configure --target=i686-w64-mingw32 \ Windres=i686-w64-mingw32-windres \ DllWrap=i686-w64-mingw32-dllwrap As a result build failed as POSIX bits of RTS. For example 'rts/posix/OSMem.c' contains unix-specific mmap() syscalls and constants and thus can't be compiled by i686-w64-mingw32 toolchain. It's caused by the following part of 'rts/ghc.mk': ifeq "$(HostOS_CPP)" "mingw32" ALL_DIRS += win32 else ALL_DIRS += posix endif In our case _CPP variables are defined this way (project.mk): BuildOS_CPP = linux HostOS_CPP = linux TargetOS_CPP = mingw32 RTS should never be built for 'BuildOS' or 'HostOS' as it's always built by ghc-stage1 (targeted at TargetOS). The change is to flip 'HostOS_CPP' to 'TargetOS_CPP' in 'rts/ghc.mk'. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Diffstat (limited to 'HACKING.md')
0 files changed, 0 insertions, 0 deletions