diff --git a/mk/config.mk.in b/mk/config.mk.in
index 762aee8c3883e1651ba489d0ba5376b23f921a88..a20a3b1578b43e2555983571a63c58e3839de0a9 100644
--- a/mk/config.mk.in
+++ b/mk/config.mk.in
@@ -168,7 +168,7 @@ GhcCompilerWays=
 #
 #	-dcore-lint	check the types after every pass of the compiler;
 #			a pretty strong internal check
-GhcHcOpts=
+GhcHcOpts=-O
 
 # GhcWithHscBuiltViaC - build GHC compiler proper (\`hsc') from .hc files?
 GhcWithHscBuiltViaC=@BootingFromHc@
@@ -262,7 +262,10 @@ GhcRtsCcOpts=-O2 -optc-fomit-frame-pointer
 HsLibsFor	= ghc
 
 # hslibs for GHC also uses the following variables (defined above):
-#   GhcLibWays, GhcLibHcOpts, EnableWin32DLLs, StripLibraries
+#   GhcLibWays, GhcLibHcOpts, GhcLibToolsHcOpts, EnableWin32DLLs, StripLibraries
+
+# Haskell compiler options for tools in hslibs
+GhcLibToolsHcOpts=-O
 
 # Build the Haskell Readline bindings?
 #