aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/coqProject_file.mli
diff options
context:
space:
mode:
authorGravatar Enrico Tassi <Enrico.Tassi@inria.fr>2017-01-03 16:15:40 +0100
committerGravatar Enrico Tassi <Enrico.Tassi@inria.fr>2017-05-23 10:48:27 +0200
commit088ddea70d2d9121d76f0f3c6c0412fd2a67ff0a (patch)
treed24700797ab1dc78fe97b05a0c7417edeb963a8f /lib/coqProject_file.mli
parent79bb444169f0ac919cf9672fb371ee42d98ead2e (diff)
CoqProject_file: API and code cleanup (tuples -> records)
Diffstat (limited to 'lib/coqProject_file.mli')
-rw-r--r--lib/coqProject_file.mli91
1 files changed, 36 insertions, 55 deletions
diff --git a/lib/coqProject_file.mli b/lib/coqProject_file.mli
index 36513dbde..2bcf658fc 100644
--- a/lib/coqProject_file.mli
+++ b/lib/coqProject_file.mli
@@ -6,63 +6,44 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
-type target =
- | ML of string (* ML file : foo.ml -> (ML "foo.ml") *)
- | MLI of string (* MLI file : foo.mli -> (MLI "foo.mli") *)
- | ML4 of string (* ML4 file : foo.ml4 -> (ML4 "foo.ml4") *)
- | MLLIB of string (* MLLIB file : foo.mllib -> (MLLIB "foo.mllib") *)
- | MLPACK of string (* MLLIB file : foo.mlpack -> (MLLIB "foo.mlpack") *)
- | V of string (* V file : foo.v -> (V "foo") *)
- | Arg of string
- | Special of string * string * bool * string
- (* file, dependencies, is_phony, command *)
- | Subdir of string
- | Def of string * string (* X=foo -> Def ("X","foo") *)
- | MLInclude of string (* -I physicalpath *)
- | Include of string * string (* -Q physicalpath logicalpath *)
- | RInclude of string * string (* -R physicalpath logicalpath *)
-
-type install =
+exception Parsing_error of string
+
+type project = {
+ project_file : string option;
+ makefile : string option;
+ install_kind : install option;
+ use_ocamlopt : bool;
+
+ v_files : string list;
+ mli_files : string list;
+ ml4_files : string list;
+ ml_files : string list;
+ mllib_files : string list;
+ mlpack_files : string list;
+
+ extra_targets : extra_target list;
+ subdirs : string list;
+ ml_includes : path list;
+ r_includes : (path * logic_path) list;
+ q_includes : (path * logic_path) list;
+ extra_args : string list;
+ defs : (string * string) list;
+}
+and extra_target = {
+ target : string;
+ dependencies : string;
+ phony : bool;
+ command : string;
+}
+and logic_path = string
+and path = { path : string; canonical_path : string }
+and install =
| NoInstall
| TraditionalInstall
| UserInstall
- | UnspecInstall
-
-exception Parsing_error
-
-val args_from_project :
- string ->
- (string *
- ('a *
- (('b * string) list * ('c * string * string) list *
- ('d * string * string) list) *
- (string list * 'e)))
- list -> string -> string * string list
-
-val read_project_file :
- string ->
- (string list *
- (string list * string list * string list * string list *
- string list) *
- (string * string * bool * string) list * string list) *
- ((string * string) list * (string * string * string) list *
- (string * string * string) list) *
- (string list * (string * string) list)
-
-val process_cmd_line :
- string ->
- string option * string option * install * bool ->
- target list ->
- string list ->
- (string option * string option * install * bool) * target list
-val split_arguments :
- target list ->
- (string list *
- (string list * string list * string list * string list *
- string list) *
- (string * string * bool * string) list * string list) *
- ((string * string) list * (string * string * string) list *
- (string * string * string) list) *
- (string list * (string * string) list)
+val cmdline_args_to_project : curdir:string -> string list -> project
+val read_project_file : string -> project
+val coqtop_args_from_project : project -> string list
+val find_project_file : from:string -> projfile_name:string -> string option