List.iter (fun key, value -> Helm_registry.set ~key ~value)
let fill_registry init_status =
- wants [ ConfigurationFile ] init_status;
if not (already_configured [ Registry ] init_status) then begin
set_registry_values registry_defaults;
Registry :: init_status
init_status
let initialize_environment init_status =
- wants [ConfigurationFile] init_status;
+ wants [CmdLine] init_status;
if not (already_configured [Getter;Environment] init_status) then
begin
Http_getter.init ();
let parse_cmdline init_status =
if not (already_configured [CmdLine] init_status) then begin
+ wants [Registry] init_status;
let includes = ref [] in
let default_includes = [
".";
let reduce_verbosity () =
Helm_registry.set_int "matita.verbosity"
(Helm_registry.get_int "matita.verbosity" - 1) in
+ let print_version () =
+ Printf.printf "%s\n" BuildTimeConf.version;exit 0 in
let increase_verbosity () =
Helm_registry.set_int "matita.verbosity"
(Helm_registry.get_int "matita.verbosity" + 1) in
+ let no_innertypes () =
+ Helm_registry.set_bool "matita.noinnertypes" false in
let arg_spec =
let std_arg_spec = [
"-I", Arg.String (add_l includes),
"-noprofile",
Arg.Unit (fun () -> Helm_registry.set_bool "matita.profile" false),
"Turns off profiling printings";
+ "-noinnertypes", Arg.Unit no_innertypes,
+ "Turns off inner types generation while publishing";
"-profile-only",
Arg.String (fun rex -> Helm_registry.set "matita.profile_only" rex),
"Activates only profiler with label matching the provided regex";
("Act on the system library instead of the user one"
^ "\n WARNING: not for the casual user");
"-v", Arg.Unit increase_verbosity, "Increase verbosity";
+ "--version", Arg.Unit print_version, "Prints version";
] in
let debug_arg_spec =
if BuildTimeConf.debug then
exit 1
let conf_components =
- [ parse_cmdline; load_configuration; fill_registry ]
+ [ load_configuration; fill_registry; parse_cmdline]
let other_components =
[ initialize_makelib; initialize_db; initialize_environment ]
let parse_cmdline_and_configuration_file () =
status := List.fold_left (fun s f -> f s) !status conf_components
-;;
+let initialize_environment () =
+ status := initialize_environment !status
-Inversion_principle.init ()
+let _ =
+ Inversion_principle.init ()