HCoop
/
hcoop
/
domtool2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix regeneration of multi-file dependencies
[hcoop/domtool2.git]
/
src
/
main-client.sml
diff --git
a/src/main-client.sml
b/src/main-client.sml
index
29db1b4
..
ef083b4
100644
(file)
--- a/
src/main-client.sml
+++ b/
src/main-client.sml
@@
-18,22
+18,35
@@
(* Driver for configuration requests *)
(* Driver for configuration requests *)
+fun uid () =
+ case Posix.ProcEnv.getenv "DOMTOOL_USER" of
+ NONE => Posix.ProcEnv.getuid ()
+ | SOME user => Posix.SysDB.Passwd.uid (Posix.SysDB.getpwnam user)
+
fun domtoolRoot () =
let
fun domtoolRoot () =
let
- val uid = Posix.ProcEnv.getuid ()
- val dname = Posix.SysDB.Passwd.home (Posix.SysDB.getpwuid uid)
+ val dname = Posix.SysDB.Passwd.home (Posix.SysDB.getpwuid (uid ()))
in
OS.Path.joinDirFile {dir = dname,
in
OS.Path.joinDirFile {dir = dname,
- file = "domtool"}
+ file = "
.
domtool"}
end
end
-val
_
=
+val
(doit, doitDir, args)
=
case CommandLine.arguments () of
case CommandLine.arguments () of
+ "-tc" :: args => (fn fname => (Main.setupUser (); ignore (Main.check (Main.basis ()) fname)),
+ Main.checkDir,
+ args)
+ | args => (Main.request,
+ Main.requestDir,
+ args)
+
+val _ =
+ case args of
[fname] =>
if Posix.FileSys.access (fname, []) then
[fname] =>
if Posix.FileSys.access (fname, []) then
-
Main.reques
t fname
+
doi
t fname
else
else
-
Main.reques
t (OS.Path.joinDirFile {dir = domtoolRoot (),
-
file = fname})
- | [] =>
Main.reques
tDir (domtoolRoot ())
+
doi
t (OS.Path.joinDirFile {dir = domtoolRoot (),
+ file = fname})
+ | [] =>
doi
tDir (domtoolRoot ())
| _ => print "Invalid command-line arguments\n"
| _ => print "Invalid command-line arguments\n"