summaryrefslogtreecommitdiff
path: root/src/compiler.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2010-02-11 09:10:01 -0500
committerGravatar Adam Chlipala <adamc@hcoop.net>2010-02-11 09:10:01 -0500
commitabe2d7ed6e151579cd6f13fd0ce92e29bb83a23d (patch)
tree07742ac1accf17b7abc4153c890887c5a20ad464 /src/compiler.sml
parent861dbf0153f3383666dc0f3c35675d0b9a625b8d (diff)
sigfile directive
Diffstat (limited to 'src/compiler.sml')
-rw-r--r--src/compiler.sml18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/compiler.sml b/src/compiler.sml
index ba80e37e..99c730f1 100644
--- a/src/compiler.sml
+++ b/src/compiler.sml
@@ -55,7 +55,8 @@ type job = {
filterUrl : Settings.rule list,
filterMime : Settings.rule list,
protocol : string option,
- dbms : string option
+ dbms : string option,
+ sigFile : string option
}
type ('src, 'dst) phase = {
@@ -379,6 +380,7 @@ fun parseUrp' accLibs fname =
val libs = ref []
val protocol = ref NONE
val dbms = ref NONE
+ val sigFile = ref (Settings.getSigFile ())
fun finish sources =
let
@@ -405,7 +407,8 @@ fun parseUrp' accLibs fname =
filterMime = rev (!mime),
sources = sources,
protocol = !protocol,
- dbms = !dbms
+ dbms = !dbms,
+ sigFile = !sigFile
}
fun mergeO f (old, new) =
@@ -446,7 +449,8 @@ fun parseUrp' accLibs fname =
@ List.filter (fn s => List.all (fn s' => s' <> s) (#sources new))
(#sources old),
protocol = mergeO #2 (#protocol old, #protocol new),
- dbms = mergeO #2 (#dbms old, #dbms new)
+ dbms = mergeO #2 (#dbms old, #dbms new),
+ sigFile = mergeO #2 (#sigFile old, #sigFile new)
}
in
if accLibs then
@@ -523,6 +527,14 @@ fun parseUrp' accLibs fname =
(case !database of
NONE => database := SOME arg
| SOME _ => ())
+ | "dbms" =>
+ (case !dbms of
+ NONE => dbms := SOME arg
+ | SOME _ => ())
+ | "sigfile" =>
+ (case !sigFile of
+ NONE => sigFile := SOME arg
+ | SOME _ => ())
| "exe" =>
(case !exe of
NONE => exe := SOME (relify arg)