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
|
From: Stefano Zacchiroli <zack@debian.org>
Date: Sat, 12 Feb 2011 10:21:40 +0100
Subject: Extra configuration search path
Support for an extra, debian-specific, dir where to look for
configuration file snippets (namely /usr/share/ocaml-findlib/).
Forwarded: not-needed
Signed-off-by: Stephane Glondu <steph@glondu.net>
---
src/findlib/findlib.ml | 9 ++++++++-
src/findlib/findlib_config.mlp | 1 +
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/findlib/findlib.ml b/src/findlib/findlib.ml
index 2376315..e2e2689 100644
--- a/src/findlib/findlib.ml
+++ b/src/findlib/findlib.ml
@@ -116,6 +116,8 @@ let init
let configd_file =
config_file ^ ".d" in
+ let extra_configd_file = Findlib_config.extra_configd_file in
+
let vars_of_file f =
let ch = open_in f in
try
@@ -159,12 +161,17 @@ let init
vars_of_file config_file
else
[] in
+ let extra_configd_vars = (* Debian specific *)
+ if Sys.file_exists extra_configd_file then
+ vars_of_dir extra_configd_file
+ else
+ [] in
let configd_vars =
if Sys.file_exists configd_file then
vars_of_dir configd_file
else
[] in
- let vars = config_vars @ configd_vars in
+ let vars = config_vars @ configd_vars @ extra_configd_vars in
if vars <> [] then (
let found = ref false in
let lookup name default =
diff --git a/src/findlib/findlib_config.mlp b/src/findlib/findlib_config.mlp
index 64b4840..cf2fa86 100644
--- a/src/findlib/findlib_config.mlp
+++ b/src/findlib/findlib_config.mlp
@@ -4,6 +4,7 @@
*)
let config_file = "@CONFIGFILE@";;
+let extra_configd_file = "/usr/share/ocaml-findlib/";; (* Debian specific *)
let ocaml_stdlib = "@STDLIB@";;
|