Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/trunk/src/cm/bootstrap/btcompile.sml
ViewVC logotype

Diff of /sml/trunk/src/cm/bootstrap/btcompile.sml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 353, Thu Jun 24 09:43:28 1999 UTC revision 354, Fri Jun 25 08:36:12 1999 UTC
# Line 44  Line 44 
44    
45          val keep_going = EnvConfig.getSet StdConfig.keep_going NONE          val keep_going = EnvConfig.getSet StdConfig.keep_going NONE
46    
47          val ctxt = AbsPath.cwdContext ()          val ctxt = SrcPath.cwdContext ()
48    
49          val pcmodespec = AbsPath.native { context = ctxt, spec = pcmodespec }          val pidfile = OS.Path.joinDirFile { dir = binroot, file = "RTPID" }
50          val binrootp = AbsPath.native { context = ctxt, spec = binroot }          val listfile = OS.Path.joinDirFile { dir = binroot, file = "BINLIST" }
         val pidfile = AbsPath.joinDirFile { dir = binrootp, file = "RTPID" }  
         val listfile = AbsPath.joinDirFile { dir = binrootp, file = "BINLIST" }  
51    
52          val pcmode = let          val pcmode = let
53              fun work s = let              fun work s = let
# Line 59  Line 57 
57                      if line = "" then PathConfig.hardwire l                      if line = "" then PathConfig.hardwire l
58                      else case String.tokens Char.isSpace line of                      else case String.tokens Char.isSpace line of
59                          [a, s] => loop ((a, s) :: l)                          [a, s] => loop ((a, s) :: l)
60                        | _ => (Say.say [AbsPath.name pcmodespec,                        | _ => (Say.say [pcmodespec,
61                                         ": malformed line (ignored)\n"];                                         ": malformed line (ignored)\n"];
62                                loop l)                                loop l)
63                  end                  end
# Line 67  Line 65 
65                  loop []                  loop []
66              end              end
67          in          in
68              SafeIO.perform { openIt = fn () => AbsPath.openTextIn pcmodespec,              SafeIO.perform { openIt = fn () => TextIO.openIn pcmodespec,
69                               closeIt = TextIO.closeIn,                               closeIt = TextIO.closeIn,
70                               work = work,                               work = work,
71                               cleanup = fn () => () }                               cleanup = fn () => () }
72          end          end
73    
74          fun stdpath s = AbsPath.standard pcmode { context = ctxt, spec = s }          fun stdpath s = SrcPath.standard pcmode { context = ctxt, spec = s }
75    
76          val initgspec = stdpath initgspec          val initgspec = stdpath initgspec
77          val maingspec = stdpath maingspec          val maingspec = stdpath maingspec
# Line 184  Line 182 
182                              fun offset NONE = ["\n"]                              fun offset NONE = ["\n"]
183                                | offset (SOME i) = ["@", Int.toString i, "\n"]                                | offset (SOME i) = ["@", Int.toString i, "\n"]
184                              fun showBootFile (p, off) =                              fun showBootFile (p, off) =
185                                  TextIO.output (s,                                  TextIO.output (s, concat (p :: offset off))
                                                concat (AbsPath.name p  
                                                        :: offset off))  
186                          in                          in
187                              app showBootFile bootfiles                              app showBootFile bootfiles
188                          end                          end
189                      in                      in
190                          Say.say ["Runtime System PID is: ", rtspid, "\n"];                          Say.say ["Runtime System PID is: ", rtspid, "\n"];
191                          SafeIO.perform { openIt = fn () =>                          SafeIO.perform { openIt = fn () =>
192                                             AbsPath.openTextOut pidfile,                                             AutoDir.openTextOut pidfile,
193                                           closeIt = TextIO.closeOut,                                           closeIt = TextIO.closeOut,
194                                           work = fn s =>                                           work = fn s =>
195                                             TextIO.output (s, rtspid ^ "\n"),                                             TextIO.output (s, rtspid ^ "\n"),
196                                           cleanup = fn () =>                                           cleanup = fn () =>
197                                             AbsPath.delete pidfile };                                             OS.FileSys.remove pidfile
198                                               handle _ => () };
199                          SafeIO.perform { openIt = fn () =>                          SafeIO.perform { openIt = fn () =>
200                                             AbsPath.openTextOut listfile,                                             AutoDir.openTextOut listfile,
201                                           closeIt = TextIO.closeOut,                                           closeIt = TextIO.closeOut,
202                                           work = writeList,                                           work = writeList,
203                                           cleanup = fn () =>                                           cleanup = fn () =>
204                                             AbsPath.delete listfile };                                             OS.FileSys.remove listfile
205                                               handle _ => () };
206                          true                          true
207                      end                      end
208                      else false                      else false

Legend:
Removed from v.353  
changed lines
  Added in v.354

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0