diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2017-05-23 21:58:12 +0100 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2017-05-23 22:15:48 +0100 |
commit | 725c067ee23c5a007d9d282423f170cc3660fdca (patch) | |
tree | 566c79375757d8401459cecffdc83aa8c686fd2c /dev-lang | |
parent | media-plugins/audacious-plugins: bug fix for #596444 and possibly others (diff) | |
download | gentoo-725c067ee23c5a007d9d282423f170cc3660fdca.tar.gz gentoo-725c067ee23c5a007d9d282423f170cc3660fdca.tar.bz2 gentoo-725c067ee23c5a007d9d282423f170cc3660fdca.zip |
dev-lang/ghc: restore HCFLAGS=-O1 for UNREG arches
This fix is primary to restore ia64 support.
But in general it speeds GHC build up substantially:
from 10+ hours down to 3.5 hours.
Package-Manager: Portage-2.3.6, Repoman-2.3.2
Diffstat (limited to 'dev-lang')
-rw-r--r-- | dev-lang/ghc/files/ghc-8.0.2-O2-unreg.patch | 35 | ||||
-rw-r--r-- | dev-lang/ghc/ghc-8.0.2.ebuild | 1 |
2 files changed, 36 insertions, 0 deletions
diff --git a/dev-lang/ghc/files/ghc-8.0.2-O2-unreg.patch b/dev-lang/ghc/files/ghc-8.0.2-O2-unreg.patch new file mode 100644 index 000000000000..b64d65b80a05 --- /dev/null +++ b/dev-lang/ghc/files/ghc-8.0.2-O2-unreg.patch @@ -0,0 +1,35 @@ +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 diff --git a/dev-lang/ghc/ghc-8.0.2.ebuild b/dev-lang/ghc/ghc-8.0.2.ebuild index 5dc0277ec6fd..6ca4874cefef 100644 --- a/dev-lang/ghc/ghc-8.0.2.ebuild +++ b/dev-lang/ghc/ghc-8.0.2.ebuild @@ -459,6 +459,7 @@ src_prepare() { epatch "${FILESDIR}"/${PN}-8.0.1-par-g0-on-A32.patch epatch "${FILESDIR}"/${PN}-8.0.2_rc2-old-sphinx.patch epatch "${FILESDIR}"/${PN}-8.0.2-libffi-alpha.patch + epatch "${FILESDIR}"/${PN}-8.0.2-O2-unreg.patch if use prefix; then # Make configure find docbook-xsl-stylesheets from Prefix |