aboutsummaryrefslogtreecommitdiff
path: root/ide/dune
diff options
context:
space:
mode:
authorEmilio Jesus Gallego Arias2018-10-03 20:54:32 +0200
committerEmilio Jesus Gallego Arias2018-10-08 19:14:28 +0200
commitfaf6ffc00d91a7cc759ef65f9864d00773c96b19 (patch)
treeeec75942d48fdf1a5b97afc5693a83d1d88aad00 /ide/dune
parentd792c2bf18e68a6301f295c79c05f25738456ecf (diff)
[ide] [dune] [test-suite] Reorganize `fake_ide` build.
Even if `fake_ide` was under tools, it depended on libraries from `ide`. Thus, we move `fake_ide` to `ide`, and make it "private" to the test-suite [this means `test-suite` depends on the `ide` folder then]. In the Dune side, we reorganize libraries so `fake_ide` doesn't depend on GTK anymore, this allows to run the test-suite when GTK is not available. In order to achieve this, we had to split the `coqide` package in a server and client version.
Diffstat (limited to 'ide/dune')
-rw-r--r--ide/dune39
1 files changed, 27 insertions, 12 deletions
diff --git a/ide/dune b/ide/dune
index 6931a747ac..037b0fcc9e 100644
--- a/ide/dune
+++ b/ide/dune
@@ -1,11 +1,34 @@
+; IDE Server
(ocamllex utf8_convert config_lexer coq_lex)
(library
(name core)
- (public_name coqide.core)
+ (public_name coqide-server.core)
(wrapped false)
- (modules (:standard \ idetop coqide_main))
- (libraries threads str lablgtk2.sourceview2 coq.lib coqide.protocol))
+ (modules document)
+ (libraries coq.lib))
+
+(executable
+ (name fake_ide)
+ (modules fake_ide)
+ (libraries coqide-server.protocol coqide-server.core))
+
+(executable
+ (name idetop)
+ (public_name coqidetop.opt)
+ (package coqide-server)
+ (modules idetop)
+ (libraries coq.toplevel coqide-server.protocol)
+ (link_flags -linkall))
+
+; IDE Client
+(library
+ (name gui)
+ (public_name coqide.gui)
+ (wrapped false)
+ (modules (:standard \ document fake_ide idetop coqide_main))
+ (optional)
+ (libraries coqide-server.protocol coqide-server.core lablgtk2.sourceview2))
(rule
(targets coqide_main.ml)
@@ -17,12 +40,4 @@
(public_name coqide)
(package coqide)
(modules coqide_main)
- (libraries coqide.core))
-
-(executable
- (name idetop)
- (public_name coqidetop.opt)
- (package coqide)
- (modules idetop)
- (libraries coq.toplevel coqide.protocol)
- (link_flags -linkall))
+ (libraries coqide.gui))