X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Flibrary%2Flibrarian.mli;h=4eed9051d459784866b28138523e29ff61bb8c25;hb=e9b09b14538f770b9e65083c24e3e9cf487df648;hp=63c900036f89d92f4dd98fd0a4cdcc5195ced80e;hpb=aa665248454b1dcaf8cfe622dc1a159602119708;p=helm.git diff --git a/helm/software/components/library/librarian.mli b/helm/software/components/library/librarian.mli index 63c900036..4eed9051d 100644 --- a/helm/software/components/library/librarian.mli +++ b/helm/software/components/library/librarian.mli @@ -1,7 +1,42 @@ +(* Copyright (C) 2004-2008, HELM Team. + * + * This file is part of HELM, an Hypertextual, Electronic + * Library of Mathematics, developed at the Computer Science + * Department, University of Bologna, Italy. + * + * HELM is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * HELM is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with HELM; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, + * MA 02111-1307, USA. + * + * For details, see the HELM World-Wide-Web page, + * http://helm.cs.unibo.it/ + *) + exception NoRootFor of string +(* make a relative path absolute *) val absolutize: string -> string +(* a root file is a text, line oriented, file containing pairs separated by + * the '=' character. Example: + * + * baseuri = cic:/foo/bar + * include_paths = ../baz ../../pippo + * + * spaces at the end/begin of the line and around '=' are ignored, + * multiple spaces in the middle of an item are shrinked to one. + *) val load_root_file: string -> (string*string) list (* baseuri_of_script ?(inc:REG[matita.includes]) fname @@ -12,12 +47,18 @@ val load_root_file: string -> (string*string) list val baseuri_of_script: include_paths:string list -> string -> string * string * string * string +(* given a baseuri and a file name (relative to its root) + * returns a baseuri: + * mk_baseuri "cic:/matita" "nat/plus.ma" -> "cic:/matita/nat/plus" + *) val mk_baseuri: string -> string -> string -(* finds all the roots files in the specified dir *) +(* finds all the roots files in the specified dir, roots are + * text files, readable by the user named 'root' + *) val find_roots_in_dir: string -> string list -(* make *) +(* make implementation *) type options = (string * string) list module type Format = @@ -29,7 +70,9 @@ module type Format = val string_of_target_object: target_object -> string val build: options -> source_object -> bool val root_and_target_of: - options -> source_object -> string option * target_object + options -> source_object -> + (* root, relative source, writeable target, read only target *) + string option * source_object * target_object * target_object val mtime_of_source_object: source_object -> float option val mtime_of_target_object: target_object -> float option val is_readonly_buri_of: options -> source_object -> bool @@ -42,5 +85,21 @@ module Make : val make : string -> F.source_object list -> bool end +(* deps are made with scripts names, for example lines like + * + * nat/plus.ma nat/nat.ma logic/equality.ma + * + * state that plus.ma needs nat and equality + *) val load_deps_file: string -> (string * string list) list -val write_deps_file: string -> (string * string list) list -> unit +val write_deps_file: string option -> (string * string list) list -> unit + +(* FG ***********************************************************************) + +(* true if the argunent starts with a uri scheme prefix *) +val is_uri: string -> bool + +(* Valid values: 0: no debug; 1: normal debug; > 1: extra debug *) +val debug: int ref + +val time_stamp: string -> unit