val runcmd : string -> int
val runcmdf : ('a, unit, string, int) format4 -> 'a
val findcmd : ?path:string list -> string -> string
val system_path : unit -> string list
val search_libs_path : unit -> string list
val read_file : string -> string
val write_file : string -> string -> unit
val read_from_cmd : string -> int * string
val read_from_cmdf : ('a, unit, string, int * string) format4 -> 'a
val env : string -> string
val env_req : string -> string
val env_opt : string -> string option
type 'a cmdstate = 'a Godi_script.cmdstate
val code : 'a cmdstate -> int
val result : 'a cmdstate -> 'a option
val return_code : int -> 'a cmdstate -> 'a cmdstate
val return_result : 'a option -> 'a cmdstate -> 'a cmdstate
val initial_state : unit -> 'a cmdstate
type 'a cmdlet = 'a cmdstate -> 'a cmdstate
val cmd : string -> 'a cmdlet
val cmdf : ('a, unit, string, 'b cmdlet) format4 -> 'a
val cmd_output : string -> string cmdlet
val cmdf_output : ('a, unit, string, string cmdlet) format4 -> 'a
val set_code : int -> 'a cmdlet
val set_code_from : ('a cmdstate -> int) -> 'a cmdlet
val set_bool_code : bool -> 'a cmdlet
val set_bool_code_from : ('a cmdstate -> bool) -> 'a cmdlet
val ( &- ) : 'a cmdlet -> 'a cmdlet -> 'a cmdlet
val ( |- ) : 'a cmdlet -> 'a cmdlet -> 'a cmdlet
val ignore_code : 'a cmdlet -> 'a cmdlet
val eval : 'a cmdlet -> 'a option
val eval_test : 'a cmdlet -> bool
val log : string -> unit
val logf : ('a, unit, string, unit) format4 -> 'a
val print_conf_file : string -> (string * string) list -> unit
val parse_conf_file : string -> (string * string) list
type lang_env = [ `C of c_env ]
and c_env =
Godi_script.c_env = {
c_env_file : (string * string) option;
c_incdirs : string list;
c_libdirs : string list;
c_libs : string list;
c_flags : string list;
c_ld_flags : string list;
c_elf_rpath : bool;
c_config_script : string option;
c_godi_deps : string list;
c_requirements : c_env list;
}
val empty_c_env : c_env
val c_env_from_config_script :
?arg_cflags:string ->
?arg_ldflags:string ->
?args:string list -> script_name:string -> unit -> c_env
val create_test_whether_c_function_exists : string -> string
val c_flags : ?with_requirements:bool -> c_env -> string list
val c_ld_flags : ?with_requirements:bool -> c_env -> string list
val c_compiler_name : unit -> string
val c_compile_test : c_env -> string -> string cmdlet
val run_test : string cmdlet
val find_c_library :
?godi_deps:string list ->
?pref_incdir:string ->
?pref_libdir:string ->
?flags:string list ->
?ld_flags:string list ->
?inc_name:string ->
?requirements:c_env list ->
?locations:string list ->
?frameworks:string list ->
libs:string list -> test:(c_env -> c_env option) -> unit -> c_env cmdlet
val parse_c_result : file:string -> prefix:string -> unit -> c_env
val print_c_result :
?vars:(string * string) list ->
file:string -> prefix:string -> c_env -> unit
val main_c_finder :
?godi_deps:string list ref ->
?pref_incdir:string option ref ->
?pref_libdir:string option ref ->
?c_flags:string list ref -> ?ld_flags:string list ref -> unit -> unit
val main_config_finder : script_basename:string -> unit -> string