Commit 320be489 authored by POGODALLA Sylvain's avatar POGODALLA Sylvain

Updated install information for dependencies

parent acf9bb90
......@@ -22,10 +22,12 @@
*****************
In order to compile the ACG toolkit, you need:
+ ocaml (>=3.07) installed (http://caml.inria.fr/)
+ ocaml (>=4.03) installed (http://caml.inria.fr/)
+ dune installed (https://github.com/ocaml/dune)
+ dypgen (>=20080925) installed (http://dypgen.free.fr/)
+ bolt (>=1.4) installed (http://bolt.x9c.fr/downloads.html)
+ ANSITerminal (>=0.6.5) installed (https://forge.ocamlcore.org/projects/ansiterminal/)
+ fmt installed (http://erratique.ch/software/fmt)
+ logs installed (http://erratique.ch/software/logs)
+ cairo2 (>=0.4.6) installed (http://forge.ocamlcore.org/projects/cairo/)
+ easy-format installed (http://mjambon.com/releases/easy-format/easy-format-1.0.2.tar.gz). Required by biniou
+ biniou (>=1.0.6) installed (http://mjambon.com/biniou.html). Required by yojson
......@@ -45,86 +47,38 @@ to use "opam" (http://opam.ocaml.org/).
The installation typically goes that way:
+ first install OCaml using your prefered distribution/packaging mode
+ then install opam
+ then install the required libraries with the command
opam install dypgen bolt ANSITerminal cairo2
+ don't forget to add the required library in your path
(look at "Initializing opam" at
http://opam.ocaml.org/doc/Advanced_Install.html)
+ then continue with the ACG toolkit installation
running ``eval `opam config env` ``
(see http://opam.ocaml.org/doc/Usage.html#opam-switch)
+ then run
opam install acgtk
and all the required dependencies should be automatically installed,
and acg and acgc as well!
This will install in the `.opam/OCAML_VERSION/bin` directory (where
`OCAML_VERSION` is the OCaml version that you are using with opam. It
can be `system` in case you are not using a compiler installed by
opam, or a version number (such as 4.05.0) otherwise) the binaries
`acgc`, `acgc.opt`, `acg`, and `acg.opt`.
To install the ACG toolkit, first run:
It will also install in the `.opam/OCAML_VERSION/share/acgtk` directory:
1. the emacs directory
2. the examples directory
./configure
(Skip the following part if you installed acgtk as described above)
Alternatively, if you want to compile acgtk by yourself
+ first install the required libraries with the command
opam install dune dypgen ANSITerminal fmt logs cairo2 easy-format bibiou yojson ocf
+ download the ACGtk sources from http://acg.loria.fr/
NOTE: if your dypgen installation is not in a standard location, run:
To build the ACG toolkit, first run:
./configure --help
dune build
It will tell you:
"Some influential environment variables:
DYPGEN_PATH Directory where to find dypgen if not in a standard location
DYPGENLIB_PATH
Directory where to find dypgen library if not in a standard
location
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations."
For instance, run:
./configure DYPGEN_PATH=/my/dypgen/installation/path/dypgen DYPGENLIB_PATH=/my/dypgen/installation/path/dyplib
Then run:
make byte
to get the bytecode executable, or
make opt
to get native code binaries
It should produce two executables in the current directory: acgc (or
acgc.opt for the native code executable) and acg (or acg.opt for the
native code executable).
If you wan to install it (use ./configure --help to set the
installation directory if you don't want to have it in
/usr/local/bin), run:
make install
If you wan to uninstall it then run:
make uninstall
If you want to install the emacs mode and the examples (see below for
the installation details), you can run
make install-emacs
and
make install-examples
respectively.
To uninstall them, run:
make uninstall-emacs
and
make uninstall-examples
respectively.
Those 3 steps are covered by the command
make install-all
and
make uninstall-all
then
dune install
......@@ -194,20 +148,4 @@ If you installed acgtk using opam, then the default path is
OPAM_REPOSITORY/OCAML_VERSION/share/acgtk
To uninstall the examples, run:
make uninstall-examples
*********************
** For developpers **
*********************
You can get the documented API in all ./src subdirectories getting
there and running:
make doc
It will create a doc subdirectory with htm files.
......@@ -12,9 +12,11 @@ A list of related publications is available at the [ACG web page](http://calligr
In order to compile the ACG toolkit, you need:
* `ocaml` (>=3.07) installed (http://ocaml.org/)
* `dune` installed (https://github.com/ocaml/dune)
* `dypgen` (>=20080925) installed (http://dypgen.free.fr/)
* `bolt` (>=1.4) installed (http://bolt.x9c.fr/downloads.html)
* `ANSITerminal` (>=0.6.5) installed (https://github.com/Chris00/ANSITerminal)
* `fmt` installed (http://erratique.ch/software/fmt)
* `logs` installed (http://erratique.ch/software/logs)
* `cairo2` (>=0.4.6) installed (https://github.com/Chris00/ocaml-cairo)
* `easy-format` installed (https://github.com/mjambon/easy-format). Required by biniou
* `biniou` (>=1.0.6) installed (https://github.com/mjambon/biniou). Required by yojson
......@@ -55,6 +57,18 @@ It will also install in the `.opam/OCAML_VERSION/share/acgtk` directory:
1. the [emacs](emacs) directory
2. the [examples](examples) directory
### Building ACGtk (Skip this part if you installed acgtk as described above)
Alternatively, if you want to compile acgtk by yourself
1. first install the required libraries with the command
```opam install dune dypgen ANSITerminal fmt logs cairo2 easy-format bibiou yojson ocf```
2. Download the ACGtk sources from http://acg.loria.fr/
To build the ACG toolkit, first run:
```dune build```
then
```dune install```
## ACG emacs mode
......
......@@ -321,8 +321,8 @@ struct
let ending_parse_time = Sys.time () in
let parse_forest = Datalog.Program.build_forest ~query:query derivations temp_prog in
let ending_building_forest_time = Sys.time () in
let () = Logs.app (fun m -> m "Parsing time: %.3f seconds\n%!" (ending_parse_time -. starting_parse_time)) in
let () = Logs.app (fun m -> m "Building forest time: %.3f seconds\n%!" (ending_building_forest_time -. ending_parse_time)) in
let () = Logs.app (fun m -> m "Parsing time: %.3f seconds%!" (ending_parse_time -. starting_parse_time)) in
let () = Logs.app (fun m -> m "Building forest time: %.3f seconds%!" (ending_building_forest_time -. ending_parse_time)) in
let resume =
match parse_forest with
| [] -> SharedForest.SharedForest.empty
......@@ -340,7 +340,7 @@ struct
let get_analysis resume lex =
Log.debug (fun m -> m "Trying to get some analysis");
match lex.datalog_prog with
| None -> let () = Logs.warn (fun m -> m "Parsing is not yet implemented for non atomic distinguished type\n%!") in None,resume
| None -> let () = Logs.warn (fun m -> m "Parsing is not yet implemented for non atomic distinguished type%!") in None,resume
| Some {rule_to_cst=rule_id_to_cst} ->
match SharedForest.SharedForest.resumption resume with
| None,resume -> None,resume
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment