From 0a27aaf1e6823ea2c81f91265e97d98d2d20d9ea Mon Sep 17 00:00:00 2001 From: hallgren Date: Wed, 13 Apr 2011 14:58:01 +0000 Subject: Added a preliminary "gf -server" mode. The command "gf -server" now starts a simple HTTP server on port 41295, providing a simple web API to the GF compiler. It currently support the follwing operations: * creating new temporary directories for grammar uploads, * uploading grammars files for use in the GF shell, * executing GF shell commands, and * accessing static files. This means that GF now depends on some additional networking related packages, but they should be available and easy to install on all platforms. There is also a new configuration flag "server" in gf.cabal, so GF will be compiled without support for server mode if the extra packages are unavailable. Note that running gf -server while connected to the internet can be a security risk. To prevent unauthorized access to the rest of the system, it is advisable to run the server in GF_RESTRICTED mode and as a user with suitably restricted file permissions. --- gf.cabal | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'gf.cabal') diff --git a/gf.cabal b/gf.cabal index acd1ac2e3..6a5a27441 100644 --- a/gf.cabal +++ b/gf.cabal @@ -19,6 +19,10 @@ flag interrupt Description: Enable Ctrl+Break in the shell Default: True +flag server + Description: Include --server mode + Default: True + library build-depends: base >= 4.2 && <5, array, @@ -82,6 +86,10 @@ executable gf pretty, mtl, haskeline + if flag(server) + build-depends: httpd-shed, network, silently, utf8-string + cpp-options: -DSERVER_MODE + other-modules: GFServer build-tools: happy, alex if os(windows) build-depends: Win32 -- cgit v1.2.3