82 lines
3.0 KiB
OCaml
82 lines
3.0 KiB
OCaml
(**************************************************************************)
|
|
(* *)
|
|
(* OCaml *)
|
|
(* *)
|
|
(* Fabrice Le Fessant, EPI Gallium, INRIA Paris-Rocquencourt *)
|
|
(* *)
|
|
(* Copyright 2013 Institut National de Recherche en Informatique et *)
|
|
(* en Automatique. *)
|
|
(* *)
|
|
(* All rights reserved. This file is distributed under the terms of *)
|
|
(* the GNU Lesser General Public License version 2.1, with the *)
|
|
(* special exception on linking described in the file LICENSE. *)
|
|
(* *)
|
|
(**************************************************************************)
|
|
|
|
exception Exit_with_status of int
|
|
|
|
val module_of_filename : string -> string -> string
|
|
|
|
val output_prefix : string -> string
|
|
val extract_output : string option -> string
|
|
val default_output : string option -> string
|
|
|
|
val print_version_and_library : string -> 'a
|
|
val print_version_string : unit -> 'a
|
|
val print_standard_library : unit -> 'a
|
|
val fatal : string -> 'a
|
|
|
|
val first_ccopts : string list ref
|
|
val first_ppx : string list ref
|
|
val first_include_dirs : string list ref
|
|
val last_include_dirs : string list ref
|
|
|
|
(* return the list of objfiles, after OCAMLPARAM and List.rev *)
|
|
val get_objfiles : with_ocamlparam:bool -> string list
|
|
val last_objfiles : string list ref
|
|
val first_objfiles : string list ref
|
|
|
|
val stop_early : bool ref
|
|
|
|
type filename = string
|
|
|
|
type readenv_position =
|
|
Before_args | Before_compile of filename | Before_link
|
|
|
|
val readenv : Format.formatter -> readenv_position -> unit
|
|
|
|
(* [is_unit_name name] returns true only if [name] can be used as a
|
|
correct module name *)
|
|
val is_unit_name : string -> bool
|
|
(* [check_unit_name ppf filename name] prints a warning in [filename]
|
|
on [ppf] if [name] should not be used as a module name. *)
|
|
val check_unit_name : string -> string -> unit
|
|
|
|
(* Deferred actions of the compiler, while parsing arguments *)
|
|
|
|
type deferred_action =
|
|
| ProcessImplementation of string
|
|
| ProcessInterface of string
|
|
| ProcessCFile of string
|
|
| ProcessOtherFile of string
|
|
| ProcessObjects of string list
|
|
| ProcessDLLs of string list
|
|
|
|
val c_object_of_filename : string -> string
|
|
|
|
val defer : deferred_action -> unit
|
|
val anonymous : string -> unit
|
|
val impl : string -> unit
|
|
val intf : string -> unit
|
|
|
|
val process_deferred_actions :
|
|
Format.formatter *
|
|
(start_from:Clflags.Compiler_pass.t ->
|
|
source_file:string -> output_prefix:string -> unit) *
|
|
(* compile implementation *)
|
|
(source_file:string -> output_prefix:string -> unit) *
|
|
(* compile interface *)
|
|
string * (* ocaml module extension *)
|
|
string -> (* ocaml library extension *)
|
|
unit
|