version-related changes in Makefile and help

This commit is contained in:
aarne
2008-06-27 09:09:29 +00:00
parent e8dc8c3ef5
commit f7b2a83059
6 changed files with 82 additions and 68 deletions

View File

@@ -65,3 +65,10 @@ prOpt o = case o of
mkOpt :: String -> Option mkOpt :: String -> Option
mkOpt = OOpt mkOpt = OOpt
-- abbreviation convention from gf commands
getCommandOp s = case break (=='_') s of
(a:_,_:b:_) -> [a,b] -- axx_byy --> ab
_ -> case s of
[a,b] -> s -- ab --> ab
a:_ -> [a] -- axx --> a

View File

@@ -23,6 +23,7 @@ import GF.Infra.UseIO
import GF.Data.ErrM ---- import GF.Data.ErrM ----
import PGF.Expr (readTree) import PGF.Expr (readTree)
import GF.Command.Abstract import GF.Command.Abstract
import GF.Command.Messages
import GF.Text.Lexing import GF.Text.Lexing
import GF.Text.Transliterations import GF.Text.Transliterations
@@ -193,10 +194,16 @@ allCommands enc pgf = Map.fromList [
"Without argument, shows the synopsis of all commands." "Without argument, shows the synopsis of all commands."
], ],
options = [ options = [
("full","give full information of the commands") ("changes","give a summary of changes from GF 2.9"),
("coding","give advice on character encoding"),
("full","give full information of the commands"),
("license","show copyright and license information")
], ],
exec = \opts ts -> return ([], case ts of exec = \opts ts -> return ([], case ts of
[t] -> let co = showTree t in _ | isOpt "changes" opts -> changesMsg
_ | isOpt "coding" opts -> codingMsg
_ | isOpt "license" opts -> licenseMsg
[t] -> let co = getCommandOp (showTree t) in
case lookCommand co (allCommands enc pgf) of ---- new map ??!! case lookCommand co (allCommands enc pgf) of ---- new map ??!!
Just info -> commandHelp True (co,info) Just info -> commandHelp True (co,info)
_ -> "command not found" _ -> "command not found"
@@ -612,3 +619,5 @@ infinity = 256
lookFlag :: PGF -> String -> String -> Maybe String lookFlag :: PGF -> String -> String -> Maybe String
lookFlag pgf lang flag = lookConcrFlag pgf (mkCId lang) (mkCId flag) lookFlag pgf lang flag = lookConcrFlag pgf (mkCId lang) (mkCId flag)

View File

@@ -116,10 +116,3 @@ getCommandArg env a ts = case a of
ATree t -> [t] -- ignore piped ATree t -> [t] -- ignore piped
ANoArg -> ts -- use piped ANoArg -> ts -- use piped
-- abbreviation convention from gf commands
getCommandOp s = case break (=='_') s of
(a:_,_:b:_) -> [a,b] -- axx_byy --> ab
_ -> case s of
[a,b] -> s -- ab --> ab
a:_ -> [a] -- axx --> a

View File

@@ -0,0 +1,54 @@
module GF.Command.Messages where
licenseMsg = unlines [
"Copyright (c)",
"Krasimir Angelov, Bj\246rn Bringert, H\229kan Burden, Hans-Joachim Daniels,",
"Markus Forsberg, Thomas Hallgren, Harald Hammarstr\246m, Kristofer Johannisson,",
"Janna Khegai, Peter Ljungl\246f, Petri M\228enp\228\228, and",
"Aarne Ranta, 1998-2008, under GNU General Public License (GPL)",
"see LICENSE in GF distribution, or http://www.gnu.org/licenses/gpl.html."
]
codingMsg = unlines [
"The GF shell uses Unicode internally, but assumes user input to be UTF8",
"and converts terminal and file output to UTF8. If your terminal is not UTF8",
"see 'help set_encoding."
]
changesMsg = unlines [
"While GF 3.0 is backward compatible with source grammars, the shell commands",
"have changed from version 2.9. Below the most importand changes. Bug reports",
"and feature requests should be sent to http://trac.haskell.org/gf/.",
"",
"af use wf -append",
"at not supported",
"eh not yet supported",
"es no longer supported; use javascript generation",
"g not yet supported",
"l now by default multilingual",
"ml not yet supported",
"p now by default multilingual",
"pi not yet supported",
"pl not yet supported",
"pm subsumed to pg",
"po not yet supported",
"pt not yet supported",
"r not yet supported",
"rf changed syntax",
"rl not supported",
"s no longer needed",
"sa not supported",
"sf not supported",
"si not supported",
"so not yet supported",
"t use pipe with l and p",
"tb use l -treebank",
"tl not yet supported",
"tq changed syntax",
"ts not supported",
"tt use ps",
"ut not supported",
"vg not yet supported",
"wf changed syntax",
"wt not supported"
]

View File

@@ -147,7 +147,9 @@ welcome = unlines [
" * * * ", " * * * ",
" ", " ",
"This is GF version "++showVersion version++". ", "This is GF version "++showVersion version++". ",
"Some things may work. " "License: see help -license. ",
"Differences from GF 2.9: see help -changes.",
"Bug reports: http://trac.haskell.org/gf/"
] ]
prompt env = absname ++ "> " where prompt env = absname ++ "> " where

View File

@@ -30,11 +30,9 @@ EMBED = GF/Embed/TemplateApp
# use the temporary binary file name 'gf-bin' to not clash with directory 'GF' # use the temporary binary file name 'gf-bin' to not clash with directory 'GF'
# on case insensitive file systems (such as FAT) # on case insensitive file systems (such as FAT)
GF_EXE=gf3$(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)
GF3_EXE=gf3$(EXEEXT)
TESTGF3_EXE=testgf3$(EXEEXT)
ifeq ("$(READLINE)","readline") ifeq ("$(READLINE)","readline")
@@ -65,9 +63,9 @@ endif
.PHONY: all unix jar tags gfdoc windows install install-gf \ .PHONY: all unix jar tags gfdoc windows install install-gf \
lib temp install-gfdoc install-editor \ lib temp install-gfdoc install-editor \
today help clean windows-msi dist today help clean windows-msi dist gfc
all: unix gfdoc $(BUILD_JAR) lib all: unix gfc lib
static: GHCFLAGS += -optl-static static: GHCFLAGS += -optl-static
static: unix static: unix
@@ -82,7 +80,6 @@ windows: unix
temp: today noopt temp: today noopt
build: build:
$(GHMAKE) $(GHCFLAGS) GF.hs -o $(GF_EXE_TMP) $(GHMAKE) $(GHCFLAGS) GF.hs -o $(GF_EXE_TMP)
strip $(GF_EXE_TMP) strip $(GF_EXE_TMP)
@@ -98,28 +95,8 @@ embed:
noopt: build noopt: build
ghci: ghci-nofud
fud:
$(GHCXMAKE) $(GHCFLAGS) $(GHCFUDFLAG) GF.hs -o fgf
strip fgf
mv fgf ../bin/
gft:
$(GHMAKE) $(GHCFLAGS) -itranslate translate/GFT.hs -o gft-bin
strip gft-bin
mv gft-bin ../bin/gft
api:
$(GHMAKE) $(GHCFLAGS) $(GHCOPTFLAGS) GF/API.hs
shell:
$(GHMAKE) $(GHCFLAGS) $(GHCOPTFLAGS) GF/Shell.hs
clean: clean:
find . '(' -name '*~' -o -name '*.hi' -o -name '*.ghi' -o -name '*.o' ')' -exec rm -f '{}' ';' find . '(' -name '*~' -o -name '*.hi' -o -name '*.ghi' -o -name '*.o' ')' -exec rm -f '{}' ';'
-rm -f JavaGUI/*.class
-rm -f $(GFEDITOR)/de/uka/ilkd/key/ocl/gf/*.class
-rm -f gf.wixobj -rm -f gf.wixobj
-rm -f ../bin/$(GF_EXE) -rm -f ../bin/$(GF_EXE)
$(MAKE) -C tools/c clean $(MAKE) -C tools/c clean
@@ -127,32 +104,20 @@ clean:
-rm -f ../bin/gfcc2c -rm -f ../bin/gfcc2c
distclean: clean distclean: clean
-rm -f JavaGUI/gf-java.jar jgf
-rm -f $(GFEDITOR)/gfeditor.jar jgf
-rm -f tools/$(GF_DOC_EXE) -rm -f tools/$(GF_DOC_EXE)
-rm -f config.status config.mk config.log -rm -f config.status config.mk config.log
-rm -f *.tgz *.zip -rm -f *.tgz *.zip
-rm -rf $(DIST_DIR) $(BIN_DIST_DIR) -rm -rf $(DIST_DIR) $(BIN_DIST_DIR)
-rm -rf gf.wxs *.msi -rm -rf gf.wxs *.msi
ghci-nofud:
$(GHCI) $(GHCFLAGS)
today: today:
echo 'module Paths_gf (version, getDataDir) where' > Paths_gf.hs echo 'module Paths_gf (version, getDataDir) where' > Paths_gf.hs
echo 'import Data.Version' >> Paths_gf.hs echo 'import Data.Version' >> Paths_gf.hs
echo '{-# NOINLINE version #-}' >> Paths_gf.hs echo '{-# NOINLINE version #-}' >> Paths_gf.hs
echo 'version :: Version' >> Paths_gf.hs echo 'version :: Version' >> Paths_gf.hs
echo 'version = Version {versionBranch = [3,0], versionTags = ["alpha"]}' >> Paths_gf.hs echo 'version = Version {versionBranch = [3,0], versionTags = ["beta"]}' >> Paths_gf.hs
echo 'getDataDir = return "$(GF_DATA_DIR)" :: IO FilePath' >> Paths_gf.hs echo 'getDataDir = return "$(GF_DATA_DIR)" :: IO FilePath' >> Paths_gf.hs
javac:
$(JAVAC) $(JAVAFLAGS) -classpath $(GFEDITOR)/jargs-1.0.jar $(GFEDITOR)/de/uka/ilkd/key/ocl/gf/*.java
$(JAVAC) $(JAVAFLAGS) JavaGUI/*.java
jar: javac
cd JavaGUI; $(JAR) -cmf manifest.txt gf-java.jar *.class ; cd ..
cd $(GFEDITOR) ; rm -rf jarcontents ; mkdir jarcontents ; cp -r de ManifestMain.txt ../../LICENSE LICENCE_jargs gf-icon.gif jarcontents ; cat jargs-1.0.jar | (cd jarcontents; jar -x jargs) ; cd jarcontents ; $(JAR) -cmf ManifestMain.txt ../gfeditor.jar de/uka/ilkd/key/ocl/gf/*.class jargs LICENSE LICENCE_jargs gf-icon.gif ; cd .. ; cd ..
showflags: showflags:
@echo $(GHCFLAGS) @echo $(GHCFLAGS)
@@ -196,22 +161,11 @@ gfdoc: tools/$(GF_DOC_EXE)
tools/$(GF_DOC_EXE): tools/GFDoc.hs tools/$(GF_DOC_EXE): tools/GFDoc.hs
$(GHMAKE) $(GHCOPTFLAGS) -o $@ $^ $(GHMAKE) $(GHCOPTFLAGS) -o $@ $^
gfc: gf3 gfc: gf
echo GFC!
cp -f gfc ../bin/ cp -f gfc ../bin/
chmod a+x ../bin/gfc chmod a+x ../bin/gfc
gfi: gf3
gf3:
$(GHMAKE) $(GHCOPTFLAGS) $(GHCFLAGS) -o gf3 GF.hs
strip $(GF3_EXE)
mv $(GF3_EXE) ../bin/
testgf3:
$(GHMAKE) $(GHCOPTFLAGS) -o testgf3 GF/Devel/TestGF3.hs
strip $(TESTGF3_EXE)
mv $(TESTGF3_EXE) ../bin/
gfcc2c: gfcc2c:
$(MAKE) -C tools/c $(MAKE) -C tools/c
$(MAKE) -C ../lib/c $(MAKE) -C ../lib/c
@@ -222,7 +176,7 @@ gfcc2c:
# #
lib: lib:
$(MAKE) -C ../lib/resource clean new $(MAKE) -C ../lib/resource clean all
# #
# Distribution # Distribution
@@ -292,11 +246,6 @@ install-gf:
$(INSTALL) -d $(bindir) $(INSTALL) -d $(bindir)
$(INSTALL) ../bin/$(GF_EXE) $(bindir) $(INSTALL) ../bin/$(GF_EXE) $(bindir)
install-gf3:
$(INSTALL) -d $(bindir)
$(INSTALL) ../bin/$(GF3_EXE) $(bindir)
$(INSTALL) ../bin/gfc $(bindir)
install-gfdoc: install-gfdoc:
$(INSTALL) -d $(bindir) $(INSTALL) -d $(bindir)
$(INSTALL) tools/$(GF_DOC_EXE) $(bindir) $(INSTALL) tools/$(GF_DOC_EXE) $(bindir)