Commit 3fc8c5b2 authored by simonmar's avatar simonmar
Browse files

[project @ 2004-10-11 14:44:36 by simonmar]

Fixes to readline detection and use.
VS: ----------------------------------------------------------------------
parent bc3291f1
......@@ -273,21 +273,49 @@ compiling_with_4xx = $(shell if (test $(GhcCanonVersion) -lt 500); then echo YES
endif
endif
# Only include GHCi if we're bootstrapping with at least version 411
# -----------------------------------------------------------------------------
# Building a compiler with interpreter support
#
# The interpreter, GHCi interface, and Template Haskell are only
# enabled when we are bootstrapping with the same version of GHC, and
# the interpreter is supported on this platform.
ifeq "$(GhcWithInterpreter) $(bootstrapped)" "YES YES"
# Yes, include the interpreter, readline, and Template Haskell extensions
# Yes, include the interepreter, readline, and Template Haskell extensions
SRC_HC_OPTS += -DGHCI -package template-haskell
ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
SRC_HC_OPTS += -package unix
ifeq "$(GhcLibsWithReadline)" "YES"
SRC_HC_OPTS += -package readline
endif
endif
ALL_DIRS += ghci
# Enable readline if either:
# - we're building stage 1 and $(GhcHasReadline)="YES"
# - we're building stage 2/3, and we have built the readline package
#
# But we don't enable readline on Windows, because readline is fairly
# broken there.
#
ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
ifeq "$(stage)" "1"
ifeq "$(GhcHasReadline)" "YES"
SRC_HC_OPTS += -package readline -DUSE_READLINE
endif
else
ifeq "$(GhcLibsWithReadline)" "YES"
SRC_HC_OPTS += -package readline -DUSE_READLINE
endif
endif # stage=1
endif # not windows
else
# No interpreter, so exclude Template Haskell modules
EXCLUDED_SRCS += deSugar/DsMeta.hs typecheck/TcSplice.lhs hsSyn/Convert.lhs
endif
endif # bootstrapped with interpreter
# -----------------------------------------------
# mkdependC stuff
......
{-# OPTIONS -#include "Linker.h" #-}
-----------------------------------------------------------------------------
-- $Id: InteractiveUI.hs,v 1.176 2004/09/30 10:36:47 simonpj Exp $
-- $Id: InteractiveUI.hs,v 1.177 2004/10/11 14:44:38 simonmar Exp $
--
-- GHC Interactive User Interface
--
......@@ -47,7 +47,7 @@ import System.Posix
#endif
#endif
#if HAVE_READLINE_HEADERS && HAVE_READLINE_LIBS
#ifdef USE_READLINE
import Control.Concurrent ( yield ) -- Used in readline loop
import System.Console.Readline as Readline
#endif
......@@ -185,7 +185,7 @@ interactiveUI srcs maybe_expr = do
-- initial context is just the Prelude
cmstate <- cmSetContext cmstate [] ["Prelude"]
#if HAVE_READLINE_HEADERS && HAVE_READLINE_LIBS
#ifdef USE_READLINE
Readline.initialize
#endif
......@@ -196,7 +196,7 @@ interactiveUI srcs maybe_expr = do
cmstate = cmstate,
options = [] }
#if HAVE_READLINE_HEADERS && HAVE_READLINE_LIBS
#ifdef USE_READLINE
Readline.resetTerminal Nothing
#endif
......@@ -265,8 +265,8 @@ interactiveLoop is_tty show_prompt = do
_other -> return ()) $ do
-- read commands from stdin
#if HAVE_READLINE_HEADERS && HAVE_READLINE_LIBS
if (is_tty)
#ifdef USE_READLINE
if (True || is_tty)
then readlineLoop
else fileLoop stdin show_prompt
#else
......@@ -331,7 +331,7 @@ stringLoop (s:ss) = do
mkPrompt toplevs exports
= concat (intersperse " " (map ('*':) toplevs ++ exports)) ++ "> "
#if HAVE_READLINE_HEADERS && HAVE_READLINE_LIBS
#ifdef USE_READLINE
readlineLoop :: GHCi ()
readlineLoop = do
cmstate <- getCmState
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment