Import Debian changes 20180207-1
[hcoop/debian/mlton.git] / mlnlffigen / control.sig
1 (* Copyright (C) 2005-2008 Henry Cejtin, Matthew Fluet, Suresh
2 * Jagannathan, and Stephen Weeks.
3 *
4 * MLton is released under a BSD-style license.
5 * See the file MLton-LICENSE for details.
6 *)
7
8 signature CONTROL =
9 sig
10 (* set all flags to their default values *)
11 val defaults: unit -> unit
12
13 (*------------------------------------*)
14 (* Begin Flags *)
15 (*------------------------------------*)
16 val debug : bool ref
17
18 val allSU : bool ref
19
20 val collect_enums : bool ref
21
22 val cppopts : string list ref
23
24 val dir : string ref
25
26 val enum_cons : bool ref
27
28 val extramembers : string list ref
29
30 val gensym : string ref
31
32 val libhandle : string ref
33
34 structure Linkage :
35 sig
36 datatype t = Archive | Dynamic | Shared
37 end
38 val linkage : Linkage.t ref
39
40 val match : (string -> bool) ref
41
42 val mlbfile : string ref
43
44 val namedargs : bool ref
45
46 val prefix : string ref
47
48 structure Target :
49 sig
50 type t
51 val fromString : string -> t option
52 val make: t -> {name: string, sizes: Sizes.sizes,
53 endianShift: Endian.shift} option
54 end
55 val target: {name: string, sizes: Sizes.sizes,
56 endianShift: Endian.shift} option ref
57
58 val weight: {heavy: bool, light: bool} ref
59
60 val width : int ref
61 end