forked from ocaml/opam
-
Notifications
You must be signed in to change notification settings - Fork 0
/
globals.ml.in
127 lines (101 loc) · 3.32 KB
/
globals.ml.in
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
(***********************************************************************)
(* *)
(* Copyright 2012 OCamlPro *)
(* Copyright 2012 INRIA *)
(* *)
(* All rights reserved. This file is distributed under the terms of *)
(* the GNU Public License version 3.0. *)
(* *)
(* OPAM 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. *)
(* *)
(***********************************************************************)
let debug = ref (
try int_of_string (Sys.getenv "OPAMDEBUG") >= 2
with _ -> false
)
let verbose = ref (
try int_of_string (Sys.getenv "OPAMDEBUG") >= 1
with _ -> false
)
let base_packages = ref true
let verify_checksums = ref true
let yes = ref false
let version = "@PACKAGE_VERSION@"
let default_repository_name = "default"
let default_repository_address = "http://opam.ocamlpro.com"
let default_repository_kind = "curl"
let default_build_command = [ [ "./build.sh" ] ]
let default_package = "conf-ocaml"
let default_compiler_version = "system"
let opam_version = "1"
let home = Unix.getenv "HOME"
let default_opam_path = Filename.concat home ".opam"
let root_path = ref default_opam_path
let log section fmt =
Printf.ksprintf (fun str ->
if !debug then
Printf.eprintf "[%d] %-20s %s\n%!" (Unix.getpid ()) section str
) fmt
let error fmt =
Printf.ksprintf (fun str ->
Printf.eprintf "%s\n%!" str
) fmt
let warning fmt =
Printf.ksprintf (fun str ->
Printf.eprintf "[WARNING] %s\n%!" str
) fmt
exception Exit of int
let error_and_exit fmt =
Printf.ksprintf (fun str ->
error "%s" str;
raise (Exit 66)
) fmt
let msg fmt =
Printf.ksprintf (fun str ->
Printf.printf "%s%!" str
) fmt
type os =
| Darwin
| Linux
| FreeBSD
| OpenBSD
| Cygwin
| Win32
| Unix
| Other of string
let os = match Sys.os_type with
| "Unix" -> begin
match input_line (Unix.open_process_in "uname -s") with
| "Darwin" -> Darwin
| "Linux" -> Linux
| "FreeBSD" -> FreeBSD
| "OpenBSD" -> OpenBSD
| _ -> Unix
end
| "Win32" -> Win32
| "Cygwin" -> Cygwin
| s -> Other s
let os_string = match os with
| Darwin -> "darwin"
| Linux -> "linux"
| FreeBSD
| OpenBSD -> "bsd"
| Cygwin -> "cygwin"
| Win32 -> "win32"
| Unix -> "unix"
| Other x -> x
let makecmd = ref (match os with FreeBSD | OpenBSD -> "gmake" | _ -> "make") (* WARNING check the result of "which gmake", "which make", ... *)
let default_cores = 1
let version_msg () =
Printf.printf "\
%s version %s
Copyright (C) 2012 OCamlPro - INRIA
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
Sys.argv.(0) version;
exit 0
let exit i =
raise (Exit i)