375 |
Cleanup.install initPaths) |
Cleanup.install initPaths) |
376 |
|
|
377 |
fun procCmdLine () = let |
fun procCmdLine () = let |
378 |
fun p (f, "sml") = HostMachDepVC.Interact.useFile f |
val autoload = ignore o autoload |
379 |
| p (f, "sig") = HostMachDepVC.Interact.useFile f |
val make = ignore o make |
380 |
| p (f, "cm") = ignore (make f) |
fun p (f, ("sml" | "sig"), mk) = HostMachDepVC.Interact.useFile f |
381 |
| p (f, e) = |
| p (f, "cm", mk) = mk f |
382 |
(print (concat ["!* unable to process `", f, |
| p (f, e, mk) = Say.say ["!* unable to process `", f, |
383 |
"' (unknown extension `", e, "')\n"])) |
"' (unknown extension `", e, "')\n"] |
384 |
fun c f = (f, String.map Char.toLower |
fun arg ("-a", _) = autoload |
385 |
(getOpt (OS.Path.ext f, "<none>"))) |
| arg ("-m", _) = make |
386 |
|
| arg (f, mk) = |
387 |
|
(p (f, |
388 |
|
String.map Char.toLower (getOpt (OS.Path.ext f, "<none>")), |
389 |
|
mk); |
390 |
|
mk) |
391 |
in |
in |
392 |
case SMLofNJ.getArgs () of |
case SMLofNJ.getArgs () of |
393 |
["@CMslave"] => (#set StdConfig.verbose false; slave ()) |
["@CMslave"] => (#set StdConfig.verbose false; slave ()) |
394 |
| l => app (p o c) l |
| l => ignore (foldl arg autoload l) |
395 |
end |
end |
396 |
|
|
397 |
structure CM :> CM = struct |
structure CM :> CM = struct |