@@ -70,21 +70,21 @@ } set pkgcachedir [file join [__get_homedir] ".teapot-client" "cachedir"] # Conversions from Teapot-style names to local ones - set osTeapotToLocal(tcl) * - set osTeapotToLocal(linux-*) linux - set osTeapotToLocal(win32) windows - set osTeapotToLocal(solaris*) solaris - set osTeapotToLocal(freebsd) freebsd_* - set osTeapotToLocal(irix) irix_* - - set cpuTeapotToLocal(ix86) x86 - set cpuTeapotToLocal(sparc) sun4* - set cpuTeapotToLocal(universal) * - set cpuTeapotToLocal(powerpc) ppc + set osTeapotToLocal(tcl) [list *] + set osTeapotToLocal(linux-*) [list linux] + set osTeapotToLocal(win32) [list windows] + set osTeapotToLocal(solaris*) [list solaris] + set osTeapotToLocal(freebsd) [list freebsd_*] + set osTeapotToLocal(irix) [list irix_*] + + set cpuTeapotToLocal(ix86) [list x86 intel] + set cpuTeapotToLocal(sparc) [list sun4*] + set cpuTeapotToLocal(universal) [list *] + set cpuTeapotToLocal(powerpc) [list ppc] proc download_extensions {rootdir servers extensions os cpu {existingExts ""}} { foreach chkdefext [list Tcl Tk] { if {[lsearch -exact $existingExts $chkdefext] == -1} { lappend existingExts $chkdefext @@ -288,15 +288,17 @@ if {$arch == "tcl"} { set isCompatOS 1 } elseif {[string match $limitos $arch_os]} { set isCompatOS 1 } else { - foreach {teapot local} [array get osTeapotToLocal] { - if {[string match $limitos $local] || [string match $local $limitos]} { - if {[string match $teapot $arch_os] || [string match $arch_os $teapot]} { - set isCompatOS 1 - break + foreach {teapot localvariants} [array get osTeapotToLocal] { + foreach local $localvariants { + if {[string match $limitos $local] || [string match $local $limitos]} { + if {[string match $teapot $arch_os] || [string match $arch_os $teapot]} { + set isCompatOS 1 + break + } } } } } if {!$isCompatOS} { @@ -307,15 +309,17 @@ if {$arch == "tcl"} { set isCompatCPU 1 } elseif {[string match $limitcpu $arch_cpu]} { set isCompatCPU 1 } else { - foreach {teapot local} [array get cpuTeapotToLocal] { - if {[string match $limitcpu $local] || [string match $local $limitcpu]} { - if {[string match $teapot $arch_cpu] || [string match $arch_cpu $teapot]} { - set isCompatCPU 1 - break + foreach {teapot localvariants} [array get cpuTeapotToLocal] { + foreach local $localvariants { + if {[string match $limitcpu $local] || [string match $local $limitcpu]} { + if {[string match $teapot $arch_cpu] || [string match $arch_cpu $teapot]} { + set isCompatCPU 1 + break + } } } } } if {!$isCompatCPU} {