gf -server: make it possible to pass arbitrary flags/options to gf when compiling grammars

For example, you can add -optimize-pgf:

  http://localhost:41296/cloud?dir=...&command=remake&-optimize-pgf=&Foods2Eng.gf=&Foods2Swe.gf=
This commit is contained in:
hallgren
2012-11-06 15:29:38 +00:00
parent f7344b8f38
commit d441b2c629

View File

@@ -211,9 +211,12 @@ handle state0 cache execute1
then return path
else err $ resp400 $ "unacceptable path "++path
make skip dir files =
do _ <- upload skip files
let args = "-s":"-make":map fst files
make skip dir args =
do let (flags,files) = partition ((=="-").take 1.fst) args
_ <- upload skip files
let args = "-s":"-make":map flag flags++map fst files
flag (n,"") = n
flag (n,v) = n++"="++v
cmd = unwords ("gf":args)
out <- liftIO $ readProcessWithExitCode "gf" args ""
cwd <- liftIO $ getCurrentDirectory