forked from GitHub/gf-core
Added option to disable readline.
This commit is contained in:
@@ -5,9 +5,9 @@
|
|||||||
-- Stability : (stable)
|
-- Stability : (stable)
|
||||||
-- Portability : (portable)
|
-- Portability : (portable)
|
||||||
--
|
--
|
||||||
-- > CVS $Date: 2005/04/21 16:46:14 $
|
-- > CVS $Date: 2005/05/10 14:55:01 $
|
||||||
-- > CVS $Author: bringert $
|
-- > CVS $Author: bringert $
|
||||||
-- > CVS $Revision: 1.7 $
|
-- > CVS $Revision: 1.8 $
|
||||||
--
|
--
|
||||||
-- architecture\/compiler dependent definitions for unix\/hbc
|
-- architecture\/compiler dependent definitions for unix\/hbc
|
||||||
-----------------------------------------------------------------------------
|
-----------------------------------------------------------------------------
|
||||||
@@ -21,7 +21,8 @@ import System.Random
|
|||||||
import System.CPUTime
|
import System.CPUTime
|
||||||
import Control.Monad (filterM)
|
import Control.Monad (filterM)
|
||||||
import System.Directory
|
import System.Directory
|
||||||
import System.Console.Readline
|
|
||||||
|
import GF.System.Readline (fetchCommand)
|
||||||
|
|
||||||
---- import qualified UnicodeF as U --(fudlogueWrite)
|
---- import qualified UnicodeF as U --(fudlogueWrite)
|
||||||
|
|
||||||
@@ -44,14 +45,6 @@ prCPU cpu = do
|
|||||||
welcomeArch :: String
|
welcomeArch :: String
|
||||||
welcomeArch = "This is the system compiled with ghc."
|
welcomeArch = "This is the system compiled with ghc."
|
||||||
|
|
||||||
fetchCommand :: String -> IO (String)
|
|
||||||
fetchCommand s = do
|
|
||||||
res <- readline s
|
|
||||||
case res of
|
|
||||||
Nothing -> return "q"
|
|
||||||
Just s -> do addHistory s
|
|
||||||
return s
|
|
||||||
|
|
||||||
-- | selects the one with the later modification time of two
|
-- | selects the one with the later modification time of two
|
||||||
selectLater :: FilePath -> FilePath -> IO FilePath
|
selectLater :: FilePath -> FilePath -> IO FilePath
|
||||||
selectLater x y = do
|
selectLater x y = do
|
||||||
|
|||||||
51
src/GF/System/Readline.hs
Normal file
51
src/GF/System/Readline.hs
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
{-# OPTIONS -cpp #-}
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
-- |
|
||||||
|
-- Module : GF.System.Readline
|
||||||
|
-- Maintainer : BB
|
||||||
|
-- Stability : (stable)
|
||||||
|
-- Portability : (portable)
|
||||||
|
--
|
||||||
|
-- > CVS $Date: 2005/05/10 14:55:01 $
|
||||||
|
-- > CVS $Author: bringert $
|
||||||
|
-- > CVS $Revision: 1.1 $
|
||||||
|
--
|
||||||
|
-- Uses the right readline library to read user input.
|
||||||
|
-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
module GF.System.Readline (fetchCommand) where
|
||||||
|
|
||||||
|
#ifdef USE_READLINE
|
||||||
|
|
||||||
|
import System.Console.Readline (readline, addHistory)
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
import System.IO.Error (try)
|
||||||
|
import System.IO (stdout,hFlush)
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef USE_READLINE
|
||||||
|
|
||||||
|
fetchCommand :: String -> IO (String)
|
||||||
|
fetchCommand s = do
|
||||||
|
res <- readline s
|
||||||
|
case res of
|
||||||
|
Nothing -> return "q"
|
||||||
|
Just s -> do addHistory s
|
||||||
|
return s
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
fetchCommand :: String -> IO (String)
|
||||||
|
fetchCommand s = do
|
||||||
|
putStr s
|
||||||
|
hFlush stdout
|
||||||
|
res <- try getLine
|
||||||
|
case res of
|
||||||
|
Left e -> return "q"
|
||||||
|
Right l -> return l
|
||||||
|
|
||||||
|
#endif
|
||||||
12
src/Makefile
12
src/Makefile
@@ -5,7 +5,6 @@ GHMAKE=$(GHC) --make
|
|||||||
GHCXMAKE=ghcxmake
|
GHCXMAKE=ghcxmake
|
||||||
GHCFLAGS= -package util -fglasgow-exts $(CPPFLAGS) $(LDFLAGS)
|
GHCFLAGS= -package util -fglasgow-exts $(CPPFLAGS) $(LDFLAGS)
|
||||||
GHCOPTFLAGS=-O2
|
GHCOPTFLAGS=-O2
|
||||||
GHCWINFLAGS=-package readline
|
|
||||||
GHCFUDFLAG=
|
GHCFUDFLAG=
|
||||||
JAVAFLAGS=-target 1.4 -source 1.4
|
JAVAFLAGS=-target 1.4 -source 1.4
|
||||||
|
|
||||||
@@ -20,6 +19,10 @@ BIN_DIST_DIR=$(DIST_DIR)-$(host)
|
|||||||
|
|
||||||
SNAPSHOT_DIR=GF-$(shell date +%Y%m%d)
|
SNAPSHOT_DIR=GF-$(shell date +%Y%m%d)
|
||||||
|
|
||||||
|
ifeq ($(READLINE),readline)
|
||||||
|
GHCFLAGS += -package readline -DUSE_READLINE
|
||||||
|
endif
|
||||||
|
|
||||||
GF_EXE=gf$(EXEEXT)
|
GF_EXE=gf$(EXEEXT)
|
||||||
GF_EXE_TMP=gf-bin$(EXEEXT)
|
GF_EXE_TMP=gf-bin$(EXEEXT)
|
||||||
GF_DOC_EXE=gfdoc$(EXEEXT)
|
GF_DOC_EXE=gfdoc$(EXEEXT)
|
||||||
@@ -98,7 +101,8 @@ javac:
|
|||||||
jar: javac
|
jar: javac
|
||||||
cd JavaGUI; $(JAR) -cmf manifest.txt gf-java.jar *.class
|
cd JavaGUI; $(JAR) -cmf manifest.txt gf-java.jar *.class
|
||||||
|
|
||||||
|
showflags:
|
||||||
|
@echo $(GHCFLAGS)
|
||||||
|
|
||||||
# added by peb:
|
# added by peb:
|
||||||
tracing: GHCFLAGS += -DTRACING
|
tracing: GHCFLAGS += -DTRACING
|
||||||
@@ -108,8 +112,8 @@ ghci-trace: GHCFLAGS += -DTRACING
|
|||||||
ghci-trace: ghci
|
ghci-trace: ghci
|
||||||
|
|
||||||
touch-files:
|
touch-files:
|
||||||
rm -f GF/System/Tracing.{hi,o}
|
rm -f GF/System/Tracing.{hi,o} GF/System/Readline.{hi,o}
|
||||||
touch GF/System/Tracing.hs
|
touch GF/System/Tracing.hs GF/System/Readline.hs
|
||||||
|
|
||||||
# profiling
|
# profiling
|
||||||
prof: GHCOPTFLAGS += -prof -auto-all -auto-dicts
|
prof: GHCOPTFLAGS += -prof -auto-all -auto-dicts
|
||||||
|
|||||||
@@ -21,6 +21,8 @@ INSTALL = @INSTALL@
|
|||||||
GHC = @GHC@
|
GHC = @GHC@
|
||||||
GHCI = @GHCI@
|
GHCI = @GHCI@
|
||||||
|
|
||||||
|
READLINE = @READLINE@
|
||||||
|
|
||||||
ENABLE_JAVA = @ENABLE_JAVA@
|
ENABLE_JAVA = @ENABLE_JAVA@
|
||||||
|
|
||||||
JAVAC = @JAVAC@
|
JAVAC = @JAVAC@
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ AC_INIT([GF],[2.2],[aarne@cs.chalmers.se],[GF])
|
|||||||
|
|
||||||
AC_PREREQ(2.53)
|
AC_PREREQ(2.53)
|
||||||
|
|
||||||
AC_REVISION($Revision: 1.13 $)
|
AC_REVISION($Revision: 1.14 $)
|
||||||
|
|
||||||
AC_CONFIG_FILES([config.mk jgf])
|
AC_CONFIG_FILES([config.mk jgf])
|
||||||
|
|
||||||
@@ -41,6 +41,34 @@ GHCI=$(dirname $GHC)/ghci
|
|||||||
AC_SUBST(GHC)
|
AC_SUBST(GHC)
|
||||||
AC_SUBST(GHCI)
|
AC_SUBST(GHCI)
|
||||||
|
|
||||||
|
dnl ***********************************************
|
||||||
|
dnl readline
|
||||||
|
dnl ***********************************************
|
||||||
|
|
||||||
|
AC_ARG_WITH(readline,
|
||||||
|
AC_HELP_STRING([--with-readline=<readline alternative>],
|
||||||
|
[Select which readline implementation to use.
|
||||||
|
Available alternatives are: 'readline' (GNU readline),
|
||||||
|
'no' (don't use readline)
|
||||||
|
(default = readline)]),
|
||||||
|
[if test "$withval" = "yes"; then
|
||||||
|
READLINE="readline"
|
||||||
|
else
|
||||||
|
READLINE="$withval"
|
||||||
|
fi],
|
||||||
|
[READLINE="readline"])
|
||||||
|
|
||||||
|
case $READLINE in
|
||||||
|
readline)
|
||||||
|
;;
|
||||||
|
no)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
AC_MSG_ERROR([Bad value for --with-readline: $READLINE])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
AC_SUBST(READLINE)
|
||||||
|
|
||||||
dnl ***********************************************
|
dnl ***********************************************
|
||||||
dnl java stuff
|
dnl java stuff
|
||||||
|
|||||||
Reference in New Issue
Block a user