From d441b2c6298fe986e975171f82fe65037649dbab Mon Sep 17 00:00:00 2001 From: hallgren Date: Tue, 6 Nov 2012 15:29:38 +0000 Subject: [PATCH] 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= --- src/compiler/GFServer.hs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/compiler/GFServer.hs b/src/compiler/GFServer.hs index dfb76bc88..fc0dcf347 100644 --- a/src/compiler/GFServer.hs +++ b/src/compiler/GFServer.hs @@ -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