Changeset 190


Ignore:
Timestamp:
Aug 18, 2002, 12:57:19 AM (18 years ago)
Author:
landonf (Landon Fuller)
Message:

create unique interpreter names

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/base/Install/darwinports1.0/darwinports.tcl

    r186 r190  
    77set bootstrap_options "sysportpath libpath auto_path"
    88set portinterp_options "sysportpath portpath auto_path portconf"
     9set uniqid 0
    910
    1011# XXX not portable
     
    6566
    6667proc build {portdir chain target {options ""}} {
    67     global targets portpath portinterp_options
     68    global targets portpath portinterp_options uniqid
    6869
    6970    if [file isdirectory $portdir] {
    7071        cd $portdir
    7172        set portpath [pwd]
    72         interp create workerbee
    73         workerbee alias {} build workerbee build
     73        set workername workername[incr uniqid]
     74        interp create $workername
     75        $workername alias build build
    7476
    7577        foreach opt $portinterp_options {
    7678                upvar #0 $opt upopt
    7779                if [info exists upopt] {
    78                         workerbee eval set system_options($opt) \"$upopt\"
    79                         workerbee eval set $opt \"$upopt\"
     80                        $workername eval set system_options($opt) \"$upopt\"
     81                        $workername eval set $opt \"$upopt\"
    8082                }
    8183        }
     
    8385        foreach opt $options {
    8486                if {[regexp {([A-Za-z_\.]+)=(.+)} $opt match key val] == 1} {
    85                         workerbee eval set user_options($key) \"$val\"
    86                         workerbee eval set $key \"$val\"
     87                        $workername eval set user_options($key) \"$val\"
     88                        $workername eval set $key \"$val\"
    8789                }
    8890        }
    89         workerbee eval source Portfile
    90         workerbee eval {flock [open Portfile r] -exclusive}
    91         workerbee eval eval_targets targets $chain $target
     91        $workername eval source Portfile
     92        $workername eval {flock [open Portfile r] -exclusive}
     93        $workername eval eval_targets targets $chain $target
    9294    } else {
    9395        return -code error "Portdir $portpath does not exist"
Note: See TracChangeset for help on using the changeset viewer.