`--via-asm` only for windows targets
authorMoritz Angermann <moritz.angermann@gmail.com>
Mon, 5 Mar 2018 09:18:25 +0000 (17:18 +0800)
committerMoritz Angermann <moritz.angermann@gmail.com>
Tue, 6 Mar 2018 01:26:01 +0000 (09:26 +0800)
Reviewers: trofi, bgamari

Reviewed By: trofi, bgamari

Subscribers: rwbarton, thomie, carter

Differential Revision: https://phabricator.haskell.org/D4467

mk/config.mk.in

index 26b07f3..92830fa 100644 (file)
@@ -649,12 +649,16 @@ $(eval $(call set_stage_HSC2HS_OPTS,0))
 $(eval $(call set_stage_HSC2HS_OPTS,1))
 $(eval $(call set_stage_HSC2HS_OPTS,2))
 ifeq "$(CrossCompiling)" "YES"
+SRC_HSC2HS_OPTS_STAGE1 += --cross-compile
+SRC_HSC2HS_OPTS_STAGE2 += --cross-compile
+ifeq "$(Windows_Target)" "YES"
 # We'll assume we compile with gcc or clang, and both support `-S` and can as such use the
 # --via-asm pass, which should be faster and is required for cross compiling to windows, as
 # the c compiler complains about non-constant expressions even though they are constant and
 # end up as constants in the assembly.
-SRC_HSC2HS_OPTS_STAGE1 += --cross-compile --via-asm
-SRC_HSC2HS_OPTS_STAGE2 += --cross-compile --via-asm
+SRC_HSC2HS_OPTS_STAGE1 += --via-asm
+SRC_HSC2HS_OPTS_STAGE2 += --via-asm
+endif
 endif
 SRC_HSC2HS_OPTS_STAGE0 += --cflag=-D$(HostArch_CPP)_HOST_ARCH --cflag=-D$(HostOS_CPP)_HOST_OS
 SRC_HSC2HS_OPTS_STAGE1 += --cflag=-D$(TargetArch_CPP)_HOST_ARCH --cflag=-D$(TargetOS_CPP)_HOST_OS