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/tools/main/private-tools.sml
ViewVC logotype

Diff of /sml/trunk/src/cm/tools/main/private-tools.sml

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

revision 985, Wed Nov 21 19:09:12 2001 UTC revision 986, Wed Nov 21 21:03:17 2001 UTC
# Line 45  Line 45 
45    
46      type splitting = int option option      type splitting = int option option
47    
48        type smlparams =
49             { share: Sharing.request,
50               setup: setup,
51               split: splitting,
52               locl: bool }
53    
54        type cmparams =
55             { version: Version.t option,
56               rebindings: rebindings }
57    
58      type expansion =      type expansion =
59           { smlfiles: (srcpath * Sharing.request * setup * splitting) list,           { smlfiles: (srcpath * smlparams) list,
60             cmfiles: (srcpath * Version.t option * rebindings) list,             cmfiles: (srcpath * cmparams) list,
61             sources: (srcpath * { class: string, derived: bool}) list }             sources: (srcpath * { class: string, derived: bool}) list }
62    
63      type partial_expansion = expansion * spec list      type partial_expansion = expansion * spec list
# Line 284  Line 294 
294                          parseOptions { tool = tool,                          parseOptions { tool = tool,
295                                         keywords = [kw_setup, kw_lambdasplit],                                         keywords = [kw_setup, kw_lambdasplit],
296                                         options = to }                                         options = to }
297                        fun is_shspec "shared" = true
298                          | is_shspec "private" = true
299                          | is_shspec _ = false
300                        val (sh_options, restoptions) =
301                            List.partition is_shspec restoptions
302                      val srq =                      val srq =
303                          case restoptions of                          case sh_options of
304                              [] => Sharing.DONTCARE                              [] => Sharing.DONTCARE
305                            | ["shared"] => Sharing.SHARED                            | ["shared"] => Sharing.SHARED
306                            | ["private"] => Sharing.PRIVATE                            | ["private"] => Sharing.PRIVATE
307                            | _ => err "invalid option(s)"                            | _ => err "invalid option(s)"
308                        val locl =
309                            case restoptions of
310                                ["local"] => true
311                              | [] => false
312                              | _ => err "invalid option(s)"
313                      val setup =                      val setup =
314                          case matches kw_setup of                          case matches kw_setup of
315                              NONE => (NONE, NONE)                              NONE => (NONE, NONE)
# Line 334  Line 354 
354                      (srq, setup, splitting)                      (srq, setup, splitting)
355                  end                  end
356          val p = srcpath (mkpath ())          val p = srcpath (mkpath ())
357            val sparam = { share = srq, setup = setup, split = splitting,
358                           locl = false (* FIXME *) }
359      in      in
360          ({ smlfiles = [(p, srq, setup, splitting)],          ({ smlfiles = [(p, sparam)],
361             sources = [(p, { class = "sml", derived = derived })],             sources = [(p, { class = "sml", derived = derived })],
362             cmfiles = [] },             cmfiles = [] },
363           [])           [])
# Line 371  Line 393 
393                              NONE => ([], NONE)                              NONE => ([], NONE)
394                            | SOME l => proc_opts ([], NONE, l)                            | SOME l => proc_opts ([], NONE, l)
395          val p = srcpath (mkpath ())          val p = srcpath (mkpath ())
396            val cparams = { version = vrq, rebindings = rev rb }
397      in      in
398          ({ smlfiles = [],          ({ smlfiles = [],
399             sources = [(p, { class = "cm", derived = derived })],             sources = [(p, { class = "cm", derived = derived })],
400             cmfiles = [(p, vrq, rev rb)] },             cmfiles = [(p, cparams)] },
401           [])           [])
402      end      end
403    

Legend:
Removed from v.985  
changed lines
  Added in v.986

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