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 631, Fri Apr 28 08:30:52 2000 UTC revision 632, Sat Apr 29 15:50:42 2000 UTC
# Line 117  Line 117 
117    
118      fun mk_compile { deliver, root, dirbase = dbopt, paranoid } = let      fun mk_compile { deliver, root, dirbase = dbopt, paranoid } = let
119    
         val _ = StabModmap.reset ()  
   
120          val dirbase = getOpt (dbopt, BtNames.dirbaseDefault)          val dirbase = getOpt (dbopt, BtNames.dirbaseDefault)
121          val _ = checkDirbase dirbase          val _ = checkDirbase dirbase
122          val pcmodespec = BtNames.pcmodespec          val pcmodespec = BtNames.pcmodespec
# Line 205  Line 203 
203                  end                  end
204              in              in
205                  GG.GROUP { exports = foldl add_exports special_exports others,                  GG.GROUP { exports = foldl add_exports special_exports others,
206                             kind = GroupGraph.LIB { wrapped = StringSet.empty,                             kind = GG.LIB {
207                                 kind = GG.DEVELOPED { wrapped = StringSet.empty,
208                                                     subgroups = [] },                                                     subgroups = [] },
209                                    version = NONE },
210                             required = StringSet.singleton "primitive",                             required = StringSet.singleton "primitive",
211                             grouppath = initgspec,                             grouppath = initgspec,
212                             sublibs = [] }                             sublibs = [] }
# Line 219  Line 219 
219                      { getGroup = fn _ => raise Fail "CMB: initial getGroup",                      { getGroup = fn _ => raise Fail "CMB: initial getGroup",
220                        anyerrors = ref false }                        anyerrors = ref false }
221              in              in
222                  case Stabilize.loadStable ginfo lsarg initgspec of                  case Stabilize.loadStable ginfo lsarg (initgspec, NONE) of
223                      NONE => NONE                      NONE => NONE
224                    | SOME (g as GG.GROUP { exports, ... }) => SOME g                    | SOME (g as GG.GROUP { exports, ... }) => SOME g
225                    | SOME GG.ERRORGROUP => NONE                    | SOME GG.ERRORGROUP => NONE
# Line 251  Line 251 
251                  if paranoid then let                  if paranoid then let
252                      val export_nodes = perv_n :: others                      val export_nodes = perv_n :: others
253                      val ver_arg = (initgspec, export_nodes, [],                      val ver_arg = (initgspec, export_nodes, [],
254                                     SrcPathSet.empty)                                     SrcPathSet.empty, NONE)
255                      val em = StableMap.empty                      val em = StableMap.empty
256                  in                  in
257                      if VerifyStable.verify' ginfo em ver_arg then                      if VerifyStable.verify' ginfo em ver_arg then
# Line 276  Line 276 
276                    paranoid = paranoid }                    paranoid = paranoid }
277          in          in
278              Servers.dirbase dirbase;              Servers.dirbase dirbase;
279                Servers.cmb_new { archos = archos };
280              case Parse.parse parse_arg of              case Parse.parse parse_arg of
281                  NONE => NONE                  NONE => NONE
282                | SOME (g, gp) => let                | SOME (g, gp) => let
# Line 361  Line 362 
362      end      end
363    
364      fun compile dbopt =      fun compile dbopt =
365            (StabModmap.reset ();
366          case mk_compile { deliver = true, root = NONE,          case mk_compile { deliver = true, root = NONE,
367                            dirbase = dbopt, paranoid = true } of                            dirbase = dbopt, paranoid = true } of
368              NONE => false              NONE => false
369            | SOME (_, thunk) => thunk ()             | SOME (_, thunk) => thunk ())
370    
371      local      local
372          fun slave (dirbase, root) =          fun slave NONE = (StabModmap.reset (); NONE)
373              | slave (SOME (dirbase, root)) =
374              case mk_compile { deliver = false, root = SOME root,              case mk_compile { deliver = false, root = SOME root,
375                                dirbase = SOME dirbase, paranoid = false } of                                dirbase = SOME dirbase, paranoid = false } of
376                  NONE => NONE                  NONE => NONE

Legend:
Removed from v.631  
changed lines
  Added in v.632

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