let make ~name ~parse ~print ~default ~help ~fcli () =
let () =
check_variable_name name;
if Hashtbl.mem metaconf name then
failwithf
"Duplicate definition for configuration variable %S." name
in
let set, get = OUnitPropList.new_property default in
let parse_set str conf = set conf (parse str) in
let get_print conf = print (get conf) in
Hashtbl.add metaconf name
{help = help;
get_print = get_print;
parse_set = parse_set;
cli = (fun conf -> fcli (get conf) (set conf))};
get