Implement parallel jobs (-j option).
[goals.git] / src / cmdline.mli
1 (* Goals command line
2  * Copyright (C) 2019 Richard W.M. Jones
3  * Copyright (C) 2019 Red Hat Inc.
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License along
16  * with this program; if not, write to the Free Software Foundation, Inc.,
17  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18  *)
19
20 val stdlibdir : string
21 (** Get the stdlib directory. *)
22
23 val prelude_gl_file : string
24 (** Get the absolute path of the prelude.gl file. *)
25
26 val prelude_sh_file : string
27 (** Get the absolute path of the prelude.sh file. *)
28
29 val input_file : string
30 (** Get the name of the input Goalfile. *)
31
32 val debug : ('a, unit, string, unit) format4 -> 'a
33 (** If debugging is enabled (-d option) then print the formatted
34     output.  If debugging was not enabled then nothing is printed. *)
35
36 val debug_flag : bool
37 (** If debugging is enabled. *)
38
39 val directory : string
40 (** Get the name of working directory (-C option). *)
41
42 val includes : string list
43 (** Get list of include directories (-I option). *)
44
45 val nr_jobs : int
46 (** Number of jobs (-j option). *)
47
48 val use_prelude : bool
49 (** True if we should load the prelude, or false if --no-prelude. *)
50
51 val anon_vars : (string * string) list
52 (** List of anonymous variable assignments on the command line. *)
53
54 val targets : string list
55 (** List of target expressions on the command line. *)