mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-24 03:52:50 -06:00
version-related changes in Makefile and help
This commit is contained in:
@@ -39,19 +39,19 @@ langsCoding = [
|
|||||||
langs = map fst langsCoding
|
langs = map fst langsCoding
|
||||||
|
|
||||||
-- languagues for which to compile Lang
|
-- languagues for which to compile Lang
|
||||||
langsLang = langs `except` ["Ara"]
|
langsLang = langs
|
||||||
|
|
||||||
-- languages for which to compile Try
|
-- languages for which to compile Try
|
||||||
langsAPI = langsLang `except` ["Bul","Cat","Hin","Ina","Rus","Tha"]
|
langsAPI = langsLang `except` ["Ara","Bul","Cat","Hin","Ina","Rus","Tha"]
|
||||||
|
|
||||||
-- languages for which to compile Mathematical
|
-- languages for which to compile Mathematical
|
||||||
langsMath = langsAPI
|
langsMath = langsAPI
|
||||||
|
|
||||||
-- languages for which to run treebank test
|
-- languages for which to run treebank test
|
||||||
langsTest = langsLang `except` ["Bul","Cat","Hin","Rus","Spa","Tha"]
|
langsTest = langsLang `except` ["Ara","Bul","Cat","Hin","Rus","Spa","Tha"]
|
||||||
|
|
||||||
-- languages for which to run demo test
|
-- languages for which to run demo test
|
||||||
langsDemo = langsLang `except` ["Hin","Ina","Tha"]
|
langsDemo = langsLang `except` ["Ara","Hin","Ina","Tha"]
|
||||||
|
|
||||||
-- languages for which langs.pgf is built
|
-- languages for which langs.pgf is built
|
||||||
langsPGF = langsTest `only` ["Eng","Fre","Swe"]
|
langsPGF = langsTest `only` ["Eng","Fre","Swe"]
|
||||||
@@ -78,7 +78,7 @@ make xx = do
|
|||||||
mapM_ (gfc pres presApiPath . try) (optl langsAPI)
|
mapM_ (gfc pres presApiPath . try) (optl langsAPI)
|
||||||
system $ "cp */*.gfo " ++ dir
|
system $ "cp */*.gfo " ++ dir
|
||||||
ifx "math" $ do
|
ifx "math" $ do
|
||||||
mapM_ (gfc False [] . math) (optl langsMath)
|
mapM_ (gfc_stack mathstack False [] . math) (optl langsMath)
|
||||||
system $ "cp mathematical/*.gfo ../mathematical"
|
system $ "cp mathematical/*.gfo ../mathematical"
|
||||||
mapM_ (gfc False [] . symbolic) (optl langsMath)
|
mapM_ (gfc False [] . symbolic) (optl langsMath)
|
||||||
system $ "cp mathematical/Symbolic*.gfo ../mathematical"
|
system $ "cp mathematical/Symbolic*.gfo ../mathematical"
|
||||||
@@ -93,7 +93,7 @@ make xx = do
|
|||||||
let ls = optl langsDemo
|
let ls = optl langsDemo
|
||||||
gf (demos "Demo" ls) $ unwords ["demo/Demo" ++ la ++ ".gf" | (_,la) <- ls]
|
gf (demos "Demo" ls) $ unwords ["demo/Demo" ++ la ++ ".gf" | (_,la) <- ls]
|
||||||
ifxx "clean" $ do
|
ifxx "clean" $ do
|
||||||
system "rm */*.gfo ../alltenses/*.gfo ../present/*.gfo"
|
system "rm -f */*.gfo ../alltenses/*.gfo ../present/*.gfo"
|
||||||
ifxx "clone" $ do
|
ifxx "clone" $ do
|
||||||
let (pref,lang) = case getLangName xx of
|
let (pref,lang) = case getLangName xx of
|
||||||
Just pl -> pl
|
Just pl -> pl
|
||||||
@@ -102,11 +102,15 @@ make xx = do
|
|||||||
mapM_ (\la -> writeFile (pref ++ la ++ ".gf") (replaceLang lang la s)) (map snd (optl langs))
|
mapM_ (\la -> writeFile (pref ++ la ++ ".gf") (replaceLang lang la s)) (map snd (optl langs))
|
||||||
return ()
|
return ()
|
||||||
|
|
||||||
gfc pres ppath file = do
|
gfc_stack stack pres ppath file = do
|
||||||
let preproc = if pres then " -preproc=./mkPresent " else ""
|
let preproc = if pres then " -preproc=./mkPresent " else ""
|
||||||
let path = if pres then ppath else ""
|
let path = if pres then ppath else ""
|
||||||
putStrLn $ "compiling " ++ file
|
putStrLn $ "compiling " ++ file
|
||||||
system $ "gfc -s -src " ++ preproc ++ path ++ file
|
system $ "gfc -s -src " ++ preproc ++ path ++ file ++ stack
|
||||||
|
|
||||||
|
gfc = gfc_stack ""
|
||||||
|
|
||||||
|
mathstack = " +RTS -K100M"
|
||||||
|
|
||||||
gf comm file = do
|
gf comm file = do
|
||||||
putStrLn $ "reading " ++ file
|
putStrLn $ "reading " ++ 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
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
|
||||||
|
|
||||||
|
|||||||
54
src/GF/Command/Messages.hs
Normal file
54
src/GF/Command/Messages.hs
Normal 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"
|
||||||
|
]
|
||||||
@@ -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
|
||||||
|
|||||||
65
src/Makefile
65
src/Makefile
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user