aboutsummaryrefslogtreecommitdiffstats
path: root/driver/Configuration.ml
diff options
context:
space:
mode:
Diffstat (limited to 'driver/Configuration.ml')
-rw-r--r--driver/Configuration.ml26
1 files changed, 15 insertions, 11 deletions
diff --git a/driver/Configuration.ml b/driver/Configuration.ml
index c4bcf278..1956b151 100644
--- a/driver/Configuration.ml
+++ b/driver/Configuration.ml
@@ -18,18 +18,22 @@ let config_vars: (string, string) Hashtbl.t = Hashtbl.create 10
let _ =
try
let file =
- let dir = Sys.getcwd ()
- and name = Sys.argv.(0) in
- let dirname = if Filename.is_relative name then
- Filename.dirname (Filename.concat dir name)
- else
- Filename.dirname name
- in
- let share_dir = Filename.concat (Filename.concat dirname Filename.parent_dir_name) "share" in
try
- open_in (Filename.concat dirname "compcert.ini")
- with Sys_error _ ->
- open_in (Filename.concat share_dir "compcert.ini")
+ let env_file = Sys.getenv "COMPCERT_CONFIG" in
+ open_in env_file
+ with Not_found ->
+ let dir = Sys.getcwd ()
+ and name = Sys.argv.(0) in
+ let dirname = if Filename.is_relative name then
+ Filename.dirname (Filename.concat dir name)
+ else
+ Filename.dirname name
+ in
+ let share_dir = Filename.concat (Filename.concat dirname Filename.parent_dir_name) "share" in
+ try
+ open_in (Filename.concat dirname "compcert.ini")
+ with Sys_error _ ->
+ open_in (Filename.concat share_dir "compcert.ini")
in
(try
let ini_line = Str.regexp "\\([^=]+\\)=\\(.+\\)" in