]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/interface/configuration.ml.in
Support for automatic stylesheet configuration retrieval started
[helm.git] / helm / interface / configuration.ml.in
index add4c3a882d35b4a6b5e6beebc8c9b47ca050d5d..df5f61b89099b15aca9a744b7ae2bfb28c050c35 100644 (file)
 let filename =
  let prefix =
   try
-   Sys.getenv "HELM_CONFIGURATION_PREFIX"
+   Sys.getenv "HELM_CONFIGURATION_DIR"
   with
-   Not_found -> ""
+   Not_found -> "@HELM_CONFIGURATION_DIR@"
  in
-  prefix ^ "/local/etc/helm/configuration.xml";;
+  prefix ^ "/configuration.xml";;
 
 exception Warnings;;
 
@@ -72,8 +72,19 @@ let _ =
   ((xml_document ())#root#sub_nodes)
 ;;
 
+(* try to read a configuration variable, given its name into the
+ * configuration.xml file and its name into the shell environment.
+ * The shell variable, if present, has precedence over configuration.xml
+ *)
+let read_configuration_var xml_name env_name =
+ try
+  Sys.getenv env_name
+ with
+  Not_found -> Hashtbl.find vars xml_name
+
 let helm_dir      = Hashtbl.find vars "helm_dir";;
 let dtd_dir       = Hashtbl.find vars "dtd_dir";;
+let style_dir     = read_configuration_var "style_dir" "HELM_STYLE_DIR";;
 let servers_file  = Hashtbl.find vars "servers_file";;
 let uris_dbm      = Hashtbl.find vars "uris_dbm";;
 let dest          = Hashtbl.find vars "dest";;
@@ -81,5 +92,6 @@ let indexname     = Hashtbl.find vars "indexname";;
 let tmpdir        = Hashtbl.find vars "tmpdir";;
 let helm_dir      = Hashtbl.find vars "helm_dir";;
 let getter_url    = Hashtbl.find vars "getter_url";;
+let processor_url = read_configuration_var "processor_url" "HELM_PROCESSOR_URL"
 
 let _ = Hashtbl.clear vars;;