summaryrefslogtreecommitdiff
path: root/ocamltest/ocaml_directories.ml
blob: f33880075c9a5868f3a59677b663fa219ed849a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
(**************************************************************************)
(*                                                                        *)
(*                                 OCaml                                  *)
(*                                                                        *)
(*             Sebastien Hinderer, projet Gallium, INRIA Paris            *)
(*                                                                        *)
(*   Copyright 2018 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.          *)
(*                                                                        *)
(**************************************************************************)

(* Locations of directories in the OCaml source tree *)

open Ocamltest_stdlib

let srcdir () =
  try Sys.getenv "OCAMLSRCDIR"
  with Not_found -> Ocamltest_config.ocamlsrcdir

let stdlib ocamlsrcdir =
  Filename.make_path [ocamlsrcdir; "stdlib"]

let toplevel ocamlsrcdir =
  Filename.make_path [ocamlsrcdir; "toplevel"]

let runtime ocamlsrcdir =
  Filename.make_path [ocamlsrcdir; "byterun"]

let runtime_library backend ocamlsrcdir =
  let backend_lib_dir = match backend with
    | Ocaml_backends.Native -> "asmrun"
    | Ocaml_backends.Bytecode -> "byterun" in
  Filename.make_path [ocamlsrcdir; backend_lib_dir]