ghc -O2 generates too large C files for unregisterised compiler. On ia64 it causes DynFlags to compile for 60 minutes (then assembler crashes). To decrease C code inflation we don't use -O2 in UNREG mode. diff --git a/mk/config.mk.in b/mk/config.mk.in index bfaaa66..d8f93b3 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -72,11 +72,2 @@ GhcStage3HcOpts=-O2 -# Disable -O2 optimization. Otherwise amount of generated C code -# makes things very slow to compile (~5 minutes on core-i7 for 'compiler/hsSyn/HsExpr.lhs') -# and sometimes not compile at all (powerpc64 overflows something -# on 'compiler/hsSyn/HsExpr.lhs'). -ifeq "$(GhcUnregisterised)" "YES" -GhcStage1HcOpts= -GhcStage2HcOpts= -GhcStage3HcOpts= -endif @@ -894 +885,13 @@ CURSES_INCLUDE_DIRS = @CURSES_INCLUDE_DIRS@ CURSES_LIB_DIRS = @CURSES_LIB_DIRS@ + +# Disable -O2 optimization. Otherwise amount of generated C code +# makes things very slow to compile (~5 minutes on core-i7 for 'compiler/hsSyn/HsExpr.lhs') +# and sometimes not compile at all (powerpc64 overflows something +# on 'compiler/hsSyn/HsExpr.lhs'). +ifeq "$(GhcUnregisterised)" "YES" +GhcStage1HcOpts= +GhcStage2HcOpts= +GhcStage3HcOpts= + +GhcLibHcOpts= +endif