2 ||M|| This file is part of HELM, an Hypertextual, Electronic
3 ||A|| Library of Mathematics, developed at the Computer Science
4 ||T|| Department, University of Bologna, Italy.
6 ||T|| HELM is free software; you can redistribute it and/or
7 ||A|| modify it under the terms of the GNU General Public License
8 \ / version 2 or (at your option) any later version.
9 \ / This software is distributed as is, NO WARRANTY.
10 V_______________________________________________________________ *)
16 module R = Helm_registry
17 module US = NUri.UriSet
19 type def_xflavour = [ C.def_flavour
23 let default_objs = US.empty
25 let default_srcs = US.empty
27 let default_remove = []
29 let default_exclude = []
33 let default_no_devel = true
35 let default_no_init = true
39 let slot = A.make xflavours 0
41 let objs = ref default_objs
43 let srcs = ref default_srcs
45 let remove = ref default_remove
47 let exclude = ref default_exclude
49 let net = ref default_net
51 let no_devel = ref default_no_devel
53 let no_init = ref default_no_init
55 let index_of_xflavour = function
65 let add_xflavour n xf =
66 let i = index_of_xflavour xf in
67 slot.(i) <- slot.(i) + n
69 let clear_slot i _ = slot.(i) <- 0
71 let iter_xflavours map = A.iteri (fun _ -> map) slot
74 R.clear (); A.iteri clear_slot slot;
75 objs := default_objs; srcs := default_srcs; remove := default_remove;
76 exclude := default_exclude; net := default_net;
77 no_devel := default_no_devel; no_init := default_no_init