1signature buildutils = 2sig 3 4 val startup_check : unit -> unit 5 val normPath : string -> string 6 val fullPath : string list -> string 7 val quote : string -> string 8 val die : string -> 'a 9 val warn : string -> unit 10 11 val SIGOBJ : string 12 val EXECUTABLE : string 13 val SYSTEML : string list -> bool 14 val HOLMAKE : string 15 16 val process_cline : 17 unit -> {SRCDIRS : (string * int) list} buildcline_dtype.final_options 18 19 20 val map_dir : (string * string -> unit) -> string -> unit 21 (* f gets dirname * filename *) 22 val rem_file : string -> unit 23 val copy : string -> string -> unit (* copy src dest *) 24 val bincopy : string -> string -> unit (* bincopy src dest *) 25 val update_copy : (string -> string -> unit) -> string -> string -> unit 26 (* copy fn. applied to args, but modTime on destination set 27 to be that of src *) 28 val cp : bool -> string -> string -> unit 29 (* if boolean is true, then update_copy bincopy, 30 else update_copy copy *) 31 32 val mv : bool -> string -> string -> unit 33 (* if boolean is true, renames (/bin/mv) src to dest. Otherwise 34 does update_copy bincopy *) 35 36 val clean_sigobj : unit -> unit 37 38 val check_against : string -> string -> unit 39 (* [check_against f1 f2] checks to see if file f1 is older than file f2 40 and prints big warning if so *) 41 42 val app_sml_files : (string -> unit) -> {dirname : string} -> unit 43 (* applies function to every .sml and .sig file in given 44 directory *) 45 46 val transfer_file : (bool -> string -> string -> unit) -> string -> 47 (string * string) -> unit 48 (* transfer_file opn dir (d,f) 49 opn will be cp, mv or a symbolic link operation; 50 dir is destination directory 51 (d,f) is source file info (directory and file) *) 52 53 val build_help : bool -> unit 54 (* boolean says whether or not to build the theory graph *) 55 56 val build_dir : (string -> unit) -> int -> (string * int) -> unit 57 (* build_dir Holmake i (dir, j) 58 Holmake calls Holmake in the provided directory argument; 59 i is the user's specified selftest level 60 dir is the directory to make 61 j is the selftest level as given in the build sequence for dir *) 62 63 val make_buildstamp : unit -> unit 64 val setup_logfile : unit -> unit 65 val finish_logging : bool -> unit 66 67 val Holmake : (string -> string list -> 'a) -> ('a -> bool) -> 68 (unit -> string list) -> 69 ('a -> string) -> 70 int -> string -> unit 71 (* [Holmake sysl isSuccess extras analysis selftest dir] invokes 72 Holmake, using function extras to generate extra commandline 73 arguments, and function analysis to generate extra 74 diagnostics from the exit code of the call to Holmake. The 75 dir argument is also used for feedback; the assumption is 76 that the current directory is already dir. The selftest 77 parameter is the user's specification of the selftest level. 78 The sysl function actually does the invocation (fork/exec, 79 whatever), taking the path to the thing to run, and the 80 additional arguments. The isSuccess parameter interprets 81 whether or not the result of sysl constitutes a success. *) 82 83end 84