Artifact e966c50630eb952365eb81b583018e789fafaadb:
0000: 3c 3f 0a 09 70 61 63 6b 61 67 65 20 72 65 71 75 <?..package requ
0010: 69 72 65 20 73 68 61 31 0a 0a 09 6c 6f 61 64 5f ire sha1...load_
0020: 72 65 73 70 6f 6e 73 65 20 61 72 67 73 0a 0a 09 response args...
0030: 73 65 74 20 73 6f 75 72 63 65 64 69 72 20 22 2f set sourcedir "/
0040: 77 65 62 2f 72 6b 65 65 6e 65 2f 64 65 76 65 6c web/rkeene/devel
0050: 2f 6b 69 74 63 72 65 61 74 6f 72 2f 61 6c 6c 22 /kitcreator/all"
0060: 0a 09 73 65 74 20 71 75 65 75 65 20 22 2f 68 6f ..set queue "/ho
0070: 6d 65 2f 72 6b 65 65 6e 65 2f 64 65 76 65 6c 2f me/rkeene/devel/
0080: 6b 69 74 63 72 65 61 74 6f 72 2f 62 75 69 6c 64 kitcreator/build
0090: 2f 77 65 62 2f 71 75 65 75 65 22 0a 09 73 65 74 /web/queue"..set
00a0: 20 73 65 63 72 65 74 66 69 6c 65 20 22 2f 68 6f secretfile "/ho
00b0: 6d 65 2f 72 6b 65 65 6e 65 2f 65 74 63 2f 6b 69 me/rkeene/etc/ki
00c0: 74 63 72 65 61 74 6f 72 2d 77 65 62 2d 73 65 63 tcreator-web-sec
00d0: 72 65 74 22 0a 0a 09 66 6f 72 65 61 63 68 20 66 ret"...foreach f
00e0: 69 6c 65 20 5b 67 6c 6f 62 20 2d 74 61 69 6c 73 ile [glob -tails
00f0: 20 2d 6e 6f 63 6f 6d 70 6c 61 69 6e 20 2d 64 69 -nocomplain -di
0100: 72 65 63 74 6f 72 79 20 24 73 6f 75 72 63 65 64 rectory $sourced
0110: 69 72 20 22 6b 69 74 63 72 65 61 74 6f 72 2d 2a ir "kitcreator-*
0120: 2e 74 61 72 2e 67 7a 22 5d 20 7b 0a 09 09 72 65 .tar.gz"] {...re
0130: 67 65 78 70 20 7b 5e 6b 69 74 63 72 65 61 74 6f gexp {^kitcreato
0140: 72 2d 28 2e 2a 29 2e 74 61 72 2e 67 7a 24 7d 20 r-(.*).tar.gz$}
0150: 24 66 69 6c 65 20 2d 3e 20 76 65 72 73 0a 09 09 $file -> vers...
0160: 73 65 74 20 6b 69 74 63 72 65 61 74 6f 72 5f 76 set kitcreator_v
0170: 65 72 73 69 6f 6e 73 28 24 76 65 72 73 29 20 24 ersions($vers) $
0180: 76 65 72 73 0a 09 7d 0a 09 73 65 74 20 6b 69 74 vers..}..set kit
0190: 63 72 65 61 74 6f 72 5f 76 65 72 73 69 6f 6e 5f creator_version_
01a0: 73 65 6c 65 63 74 65 64 20 5b 6c 69 6e 64 65 78 selected [lindex
01b0: 20 5b 6c 73 6f 72 74 20 2d 64 69 63 74 69 6f 6e [lsort -diction
01c0: 61 72 79 20 5b 61 72 72 61 79 20 6e 61 6d 65 73 ary [array names
01d0: 20 6b 69 74 63 72 65 61 74 6f 72 5f 76 65 72 73 kitcreator_vers
01e0: 69 6f 6e 73 5d 5d 20 65 6e 64 5d 0a 0a 09 73 65 ions]] end]...se
01f0: 74 20 6b 69 74 63 72 65 61 74 6f 72 5f 76 65 72 t kitcreator_ver
0200: 73 69 6f 6e 73 28 74 72 75 6e 6b 29 20 22 46 6f sions(trunk) "Fo
0210: 73 73 69 6c 20 54 72 75 6e 6b 20 54 69 70 22 0a ssil Trunk Tip".
0220: 0a 09 73 65 74 20 74 63 6c 5f 76 65 72 73 69 6f ..set tcl_versio
0230: 6e 73 28 38 2e 35 2e 31 35 29 20 38 2e 35 2e 31 ns(8.5.15) 8.5.1
0240: 35 0a 09 73 65 74 20 74 63 6c 5f 76 65 72 73 69 5..set tcl_versi
0250: 6f 6e 73 28 38 2e 35 2e 31 36 29 20 38 2e 35 2e ons(8.5.16) 8.5.
0260: 31 36 0a 09 73 65 74 20 74 63 6c 5f 76 65 72 73 16..set tcl_vers
0270: 69 6f 6e 73 28 38 2e 35 2e 31 37 29 20 38 2e 35 ions(8.5.17) 8.5
0280: 2e 31 37 0a 09 73 65 74 20 74 63 6c 5f 76 65 72 .17..set tcl_ver
0290: 73 69 6f 6e 73 28 38 2e 36 2e 31 29 20 38 2e 36 sions(8.6.1) 8.6
02a0: 2e 31 0a 09 73 65 74 20 74 63 6c 5f 76 65 72 73 .1..set tcl_vers
02b0: 69 6f 6e 73 28 38 2e 36 2e 32 29 20 38 2e 36 2e ions(8.6.2) 8.6.
02c0: 32 0a 09 73 65 74 20 74 63 6c 5f 76 65 72 73 69 2..set tcl_versi
02d0: 6f 6e 73 28 66 6f 73 73 69 6c 5f 74 72 75 6e 6b ons(fossil_trunk
02e0: 29 20 22 46 6f 73 73 69 6c 20 54 72 75 6e 6b 20 ) "Fossil Trunk
02f0: 54 69 70 22 0a 0a 09 73 65 74 20 70 6c 61 74 66 Tip"...set platf
0300: 6f 72 6d 73 28 61 6e 64 72 6f 69 64 2d 61 72 6d orms(android-arm
0310: 29 20 22 41 6e 64 72 6f 69 64 2f 41 52 4d 22 0a ) "Android/ARM".
0320: 09 73 65 74 20 70 6c 61 74 66 6f 72 6d 73 28 66 .set platforms(f
0330: 72 65 65 62 73 64 2d 61 6d 64 36 34 29 20 22 46 reebsd-amd64) "F
0340: 72 65 65 42 53 44 2f 61 6d 64 36 34 22 0a 09 73 reeBSD/amd64"..s
0350: 65 74 20 70 6c 61 74 66 6f 72 6d 73 28 68 70 75 et platforms(hpu
0360: 78 2d 68 70 70 61 36 34 29 20 22 48 50 2d 55 58 x-hppa64) "HP-UX
0370: 2f 50 41 2d 52 49 53 43 20 32 2e 30 22 0a 09 73 /PA-RISC 2.0"..s
0380: 65 74 20 70 6c 61 74 66 6f 72 6d 73 28 6c 69 6e et platforms(lin
0390: 75 78 2d 61 6d 64 36 34 29 20 22 4c 69 6e 75 78 ux-amd64) "Linux
03a0: 2f 61 6d 64 36 34 22 0a 09 73 65 74 20 70 6c 61 /amd64"..set pla
03b0: 74 66 6f 72 6d 73 28 6c 69 6e 75 78 2d 61 6d 64 tforms(linux-amd
03c0: 36 34 2d 73 74 61 74 69 63 29 20 22 4c 69 6e 75 64-static) "Linu
03d0: 78 2f 61 6d 64 36 34 20 28 73 74 61 74 69 63 29 x/amd64 (static)
03e0: 22 0a 09 73 65 74 20 70 6c 61 74 66 6f 72 6d 73 "..set platforms
03f0: 28 6c 69 6e 75 78 2d 61 72 6d 29 20 22 4c 69 6e (linux-arm) "Lin
0400: 75 78 2f 41 52 4d 22 0a 09 73 65 74 20 70 6c 61 ux/ARM"..set pla
0410: 74 66 6f 72 6d 73 28 6c 69 6e 75 78 2d 69 33 38 tforms(linux-i38
0420: 36 29 20 22 4c 69 6e 75 78 2f 69 33 38 36 22 0a 6) "Linux/i386".
0430: 09 73 65 74 20 70 6c 61 74 66 6f 72 6d 73 28 6c .set platforms(l
0440: 69 6e 75 78 2d 69 33 38 36 2d 73 74 61 74 69 63 inux-i386-static
0450: 29 20 22 4c 69 6e 75 78 2f 69 33 38 36 20 28 73 ) "Linux/i386 (s
0460: 74 61 74 69 63 29 22 0a 09 73 65 74 20 70 6c 61 tatic)"..set pla
0470: 74 66 6f 72 6d 73 28 6c 69 6e 75 78 2d 6d 69 70 tforms(linux-mip
0480: 73 65 6c 29 20 22 4c 69 6e 75 78 2f 4d 49 50 53 sel) "Linux/MIPS
0490: 20 28 73 74 61 74 69 63 29 22 0a 09 73 65 74 20 (static)"..set
04a0: 70 6c 61 74 66 6f 72 6d 73 28 6e 65 74 62 73 64 platforms(netbsd
04b0: 2d 61 6d 64 36 34 29 20 22 4e 65 74 42 53 44 2f -amd64) "NetBSD/
04c0: 61 6d 64 36 34 22 0a 09 73 65 74 20 70 6c 61 74 amd64"..set plat
04d0: 66 6f 72 6d 73 28 6e 65 74 62 73 64 2d 69 33 38 forms(netbsd-i38
04e0: 36 29 20 22 4e 65 74 42 53 44 2f 69 33 38 36 22 6) "NetBSD/i386"
04f0: 0a 09 73 65 74 20 70 6c 61 74 66 6f 72 6d 73 28 ..set platforms(
0500: 73 6f 6c 61 72 69 73 2d 61 6d 64 36 34 29 20 22 solaris-amd64) "
0510: 53 6f 6c 61 72 69 73 2f 61 6d 64 36 34 22 0a 09 Solaris/amd64"..
0520: 73 65 74 20 70 6c 61 74 66 6f 72 6d 73 28 73 6f set platforms(so
0530: 6c 61 72 69 73 2d 69 33 38 36 29 20 22 53 6f 6c laris-i386) "Sol
0540: 61 72 69 73 2f 69 33 38 36 22 0a 09 73 65 74 20 aris/i386"..set
0550: 70 6c 61 74 66 6f 72 6d 73 28 73 6f 6c 61 72 69 platforms(solari
0560: 73 2d 73 70 61 72 63 29 20 22 53 6f 6c 61 72 69 s-sparc) "Solari
0570: 73 2f 53 50 41 52 43 22 0a 09 73 65 74 20 70 6c s/SPARC"..set pl
0580: 61 74 66 6f 72 6d 73 28 73 6f 6c 61 72 69 73 2d atforms(solaris-
0590: 73 70 61 72 63 36 34 29 20 22 53 6f 6c 61 72 69 sparc64) "Solari
05a0: 73 2f 53 50 41 52 43 36 34 22 0a 09 73 65 74 20 s/SPARC64"..set
05b0: 70 6c 61 74 66 6f 72 6d 73 28 77 69 6e 33 32 29 platforms(win32)
05c0: 20 22 57 69 6e 64 6f 77 73 2f 69 33 38 36 22 0a "Windows/i386".
05d0: 09 73 65 74 20 70 6c 61 74 66 6f 72 6d 73 28 77 .set platforms(w
05e0: 69 6e 36 34 29 20 22 57 69 6e 64 6f 77 73 2f 61 in64) "Windows/a
05f0: 6d 64 36 34 22 0a 0a 09 73 65 74 20 70 61 63 6b md64"...set pack
0600: 61 67 65 73 28 74 6b 29 20 22 54 6b 22 0a 09 73 ages(tk) "Tk"..s
0610: 65 74 20 70 61 63 6b 61 67 65 73 28 6d 6b 34 74 et packages(mk4t
0620: 63 6c 29 20 22 4d 65 74 61 6b 69 74 22 0a 09 73 cl) "Metakit"..s
0630: 65 74 20 70 61 63 6b 61 67 65 73 28 74 63 63 34 et packages(tcc4
0640: 74 63 6c 29 20 22 74 63 63 34 74 63 6c 22 0a 09 tcl) "tcc4tcl"..
0650: 73 65 74 20 70 61 63 6b 61 67 65 73 28 74 6c 73 set packages(tls
0660: 29 20 54 4c 53 0a 09 73 65 74 20 70 61 63 6b 61 ) TLS..set packa
0670: 67 65 73 28 64 62 75 73 29 20 44 2d 42 55 53 0a ges(dbus) D-BUS.
0680: 09 73 65 74 20 70 61 63 6b 61 67 65 73 28 74 63 .set packages(tc
0690: 6c 78 29 20 54 63 6c 58 0a 09 73 65 74 20 70 61 lx) TclX..set pa
06a0: 63 6b 61 67 65 73 28 69 74 63 6c 29 20 7b 5b 69 ckages(itcl) {[i
06b0: 6e 63 72 20 54 63 6c 5d 7d 0a 0a 09 73 65 74 20 ncr Tcl]}...set
06c0: 64 69 73 61 62 6c 65 20 7b 0a 09 09 70 6c 61 74 disable {...plat
06d0: 66 6f 72 6d 20 6c 69 6e 75 78 2d 6d 69 70 73 65 form linux-mipse
06e0: 6c 20 7b 70 61 63 6b 61 67 65 5f 74 6b 20 70 61 l {package_tk pa
06f0: 63 6b 61 67 65 5f 74 63 63 34 74 63 6c 20 6b 69 ckage_tcc4tcl ki
0700: 74 64 6c 6c 7d 0a 09 09 70 6c 61 74 66 6f 72 6d tdll}...platform
0710: 20 61 6e 64 72 6f 69 64 2d 61 72 6d 20 70 61 63 android-arm pac
0720: 6b 61 67 65 5f 74 6b 0a 09 09 70 6c 61 74 66 6f kage_tk...platfo
0730: 72 6d 20 6e 65 74 62 73 64 2d 61 6d 64 36 34 20 rm netbsd-amd64
0740: 7b 70 61 63 6b 61 67 65 5f 74 6b 20 70 61 63 6b {package_tk pack
0750: 61 67 65 5f 74 63 63 34 74 63 6c 7d 0a 09 09 70 age_tcc4tcl}...p
0760: 6c 61 74 66 6f 72 6d 20 6e 65 74 62 73 64 2d 69 latform netbsd-i
0770: 33 38 36 20 7b 70 61 63 6b 61 67 65 5f 74 6b 20 386 {package_tk
0780: 70 61 63 6b 61 67 65 5f 74 63 63 34 74 63 6c 7d package_tcc4tcl}
0790: 0a 09 09 70 6c 61 74 66 6f 72 6d 20 73 6f 6c 61 ...platform sola
07a0: 72 69 73 2d 73 70 61 72 63 20 70 61 63 6b 61 67 ris-sparc packag
07b0: 65 5f 74 63 63 34 74 63 6c 0a 09 09 70 6c 61 74 e_tcc4tcl...plat
07c0: 66 6f 72 6d 20 73 6f 6c 61 72 69 73 2d 73 70 61 form solaris-spa
07d0: 72 63 36 34 20 70 61 63 6b 61 67 65 5f 74 63 63 rc64 package_tcc
07e0: 34 74 63 6c 0a 09 09 70 6c 61 74 66 6f 72 6d 20 4tcl...platform
07f0: 68 70 75 78 2d 68 70 70 61 36 34 20 70 61 63 6b hpux-hppa64 pack
0800: 61 67 65 5f 74 63 63 34 74 63 6c 0a 09 09 70 6c age_tcc4tcl...pl
0810: 61 74 66 6f 72 6d 20 6c 69 6e 75 78 2d 61 72 6d atform linux-arm
0820: 20 70 61 63 6b 61 67 65 5f 74 6b 0a 09 09 70 6c package_tk...pl
0830: 61 74 66 6f 72 6d 20 6c 69 6e 75 78 2d 61 6d 64 atform linux-amd
0840: 36 34 2d 73 74 61 74 69 63 20 7b 70 61 63 6b 61 64-static {packa
0850: 67 65 5f 74 6b 20 70 61 63 6b 61 67 65 5f 64 62 ge_tk package_db
0860: 75 73 20 6b 69 74 64 6c 6c 7d 0a 09 09 70 6c 61 us kitdll}...pla
0870: 74 66 6f 72 6d 20 6c 69 6e 75 78 2d 69 33 38 36 tform linux-i386
0880: 2d 73 74 61 74 69 63 20 7b 70 61 63 6b 61 67 65 -static {package
0890: 5f 74 6b 20 70 61 63 6b 61 67 65 5f 64 62 75 73 _tk package_dbus
08a0: 20 6b 69 74 64 6c 6c 7d 0a 09 7d 0a 0a 09 73 65 kitdll}..}...se
08b0: 74 20 73 70 65 63 69 66 69 63 20 7b 0a 09 09 70 t specific {...p
08c0: 6c 61 74 66 6f 72 6d 20 77 69 6e 33 32 20 66 69 latform win32 fi
08d0: 6c 65 20 69 63 6f 6e 20 7b 4b 69 74 20 49 63 6f le icon {Kit Ico
08e0: 6e 7d 0a 09 09 70 6c 61 74 66 6f 72 6d 20 77 69 n}...platform wi
08f0: 6e 33 32 20 74 65 78 74 20 64 65 73 63 72 69 70 n32 text descrip
0900: 74 69 6f 6e 20 7b 44 65 73 63 72 69 70 74 69 6f tion {Descriptio
0910: 6e 7d 0a 09 09 70 6c 61 74 66 6f 72 6d 20 77 69 n}...platform wi
0920: 6e 36 34 20 66 69 6c 65 20 69 63 6f 6e 20 7b 4b n64 file icon {K
0930: 69 74 20 49 63 6f 6e 7d 0a 09 09 70 6c 61 74 66 it Icon}...platf
0940: 6f 72 6d 20 77 69 6e 36 34 20 74 65 78 74 20 64 orm win64 text d
0950: 65 73 63 72 69 70 74 69 6f 6e 20 7b 44 65 73 63 escription {Desc
0960: 72 69 70 74 69 6f 6e 7d 0a 09 7d 0a 0a 09 69 66 ription}..}...if
0970: 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 61 {[info exists a
0980: 72 67 73 28 70 6c 61 74 66 6f 72 6d 29 5d 20 26 rgs(platform)] &
0990: 26 20 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 61 & [info exists a
09a0: 72 67 73 28 74 63 6c 5f 76 65 72 73 69 6f 6e 29 rgs(tcl_version)
09b0: 5d 20 26 26 20 5b 69 6e 66 6f 20 65 78 69 73 74 ] && [info exist
09c0: 20 61 72 67 73 28 6b 69 74 63 72 65 61 74 6f 72 args(kitcreator
09d0: 5f 76 65 72 73 69 6f 6e 29 5d 7d 20 7b 0a 09 09 _version)]} {...
09e0: 23 20 52 65 61 64 20 69 6e 20 61 72 67 75 6d 65 # Read in argume
09f0: 6e 74 73 0a 09 09 23 23 20 4d 61 6e 64 61 74 6f nts...## Mandato
0a00: 72 79 20 61 72 67 75 6d 65 6e 74 73 0a 09 09 73 ry arguments...s
0a10: 65 74 20 62 75 69 6c 64 5f 70 6c 61 74 66 6f 72 et build_platfor
0a20: 6d 20 24 61 72 67 73 28 70 6c 61 74 66 6f 72 6d m $args(platform
0a30: 29 0a 09 09 73 65 74 20 62 75 69 6c 64 5f 74 63 )...set build_tc
0a40: 6c 5f 76 65 72 73 69 6f 6e 20 24 61 72 67 73 28 l_version $args(
0a50: 74 63 6c 5f 76 65 72 73 69 6f 6e 29 0a 09 09 73 tcl_version)...s
0a60: 65 74 20 62 75 69 6c 64 5f 6b 69 74 63 72 65 61 et build_kitcrea
0a70: 74 6f 72 5f 76 65 72 73 69 6f 6e 20 24 61 72 67 tor_version $arg
0a80: 73 28 6b 69 74 63 72 65 61 74 6f 72 5f 76 65 72 s(kitcreator_ver
0a90: 73 69 6f 6e 29 0a 0a 09 09 23 23 20 4f 70 74 69 sion)....## Opti
0aa0: 6f 6e 61 6c 20 41 72 67 75 6d 65 6e 74 73 0a 09 onal Arguments..
0ab0: 09 73 65 74 20 62 75 69 6c 64 5f 70 61 63 6b 61 .set build_packa
0ac0: 67 65 73 20 5b 6c 69 73 74 5d 0a 09 09 73 65 74 ges [list]...set
0ad0: 20 62 75 69 6c 64 5f 6f 70 74 69 6f 6e 73 28 74 build_options(t
0ae0: 68 72 65 61 64 65 64 29 20 30 0a 09 09 73 65 74 hreaded) 0...set
0af0: 20 62 75 69 6c 64 5f 6f 70 74 69 6f 6e 73 28 6b build_options(k
0b00: 69 74 64 6c 6c 29 20 30 0a 09 09 73 65 74 20 62 itdll) 0...set b
0b10: 75 69 6c 64 5f 6f 70 74 69 6f 6e 73 28 64 65 62 uild_options(deb
0b20: 75 67 29 20 30 0a 09 09 66 6f 72 65 61 63 68 20 ug) 0...foreach
0b30: 61 72 67 20 5b 61 72 72 61 79 20 6e 61 6d 65 73 arg [array names
0b40: 20 61 72 67 73 5d 20 7b 0a 09 09 09 73 77 69 74 args] {....swit
0b50: 63 68 20 2d 67 6c 6f 62 20 2d 2d 20 24 61 72 67 ch -glob -- $arg
0b60: 20 7b 0a 09 09 09 09 22 6f 70 74 69 6f 6e 5f 70 {....."option_p
0b70: 61 63 6b 61 67 65 5f 2a 22 20 7b 0a 09 09 09 09 ackage_*" {.....
0b80: 09 73 65 74 20 70 61 63 6b 61 67 65 20 5b 6a 6f .set package [jo
0b90: 69 6e 20 5b 6c 72 61 6e 67 65 20 5b 73 70 6c 69 in [lrange [spli
0ba0: 74 20 24 61 72 67 20 5f 5d 20 32 20 65 6e 64 5d t $arg _] 2 end]
0bb0: 20 5f 5d 0a 0a 09 09 09 09 09 6c 61 70 70 65 6e _].......lappen
0bc0: 64 20 62 75 69 6c 64 5f 70 61 63 6b 61 67 65 73 d build_packages
0bd0: 20 24 70 61 63 6b 61 67 65 0a 09 09 09 09 7d 0a $package.....}.
0be0: 09 09 09 09 22 6f 70 74 69 6f 6e 5f 74 68 72 65 ...."option_thre
0bf0: 61 64 65 64 22 20 7b 0a 09 09 09 09 09 73 65 74 aded" {......set
0c00: 20 62 75 69 6c 64 5f 6f 70 74 69 6f 6e 73 28 74 build_options(t
0c10: 68 72 65 61 64 65 64 29 20 31 0a 09 09 09 09 7d hreaded) 1.....}
0c20: 0a 09 09 09 09 22 6f 70 74 69 6f 6e 5f 6b 69 74 ....."option_kit
0c30: 64 6c 6c 22 20 7b 0a 09 09 09 09 09 73 65 74 20 dll" {......set
0c40: 62 75 69 6c 64 5f 6f 70 74 69 6f 6e 73 28 6b 69 build_options(ki
0c50: 74 64 6c 6c 29 20 31 0a 09 09 09 09 7d 0a 09 09 tdll) 1.....}...
0c60: 09 09 22 6f 70 74 69 6f 6e 5f 64 65 62 75 67 22 .."option_debug"
0c70: 20 7b 0a 09 09 09 09 09 73 65 74 20 62 75 69 6c {......set buil
0c80: 64 5f 6f 70 74 69 6f 6e 73 28 64 65 62 75 67 29 d_options(debug)
0c90: 20 31 0a 09 09 09 09 7d 0a 09 09 09 09 22 6f 70 1.....}....."op
0ca0: 74 69 6f 6e 5f 73 74 6f 72 61 67 65 22 20 7b 0a tion_storage" {.
0cb0: 09 09 09 09 09 73 77 69 74 63 68 20 2d 2d 20 24 .....switch -- $
0cc0: 61 72 67 73 28 24 61 72 67 29 20 7b 0a 09 09 09 args($arg) {....
0cd0: 09 09 09 22 6d 6b 34 22 20 2d 20 22 7a 69 70 22 ..."mk4" - "zip"
0ce0: 20 2d 20 22 63 76 66 73 22 20 7b 0a 09 09 09 09 - "cvfs" {.....
0cf0: 09 09 09 73 65 74 20 62 75 69 6c 64 5f 6f 70 74 ...set build_opt
0d00: 69 6f 6e 73 28 73 74 6f 72 61 67 65 29 20 24 61 ions(storage) $a
0d10: 72 67 73 28 24 61 72 67 29 0a 09 09 09 09 09 09 rgs($arg).......
0d20: 7d 0a 09 09 09 09 09 7d 0a 09 09 09 09 7d 0a 09 }......}.....}..
0d30: 09 09 7d 0a 09 09 7d 0a 09 09 73 65 74 20 62 75 ..}...}...set bu
0d40: 69 6c 64 5f 70 61 63 6b 61 67 65 73 20 5b 6c 73 ild_packages [ls
0d50: 6f 72 74 20 2d 64 69 63 74 69 6f 6e 61 72 79 20 ort -dictionary
0d60: 24 62 75 69 6c 64 5f 70 61 63 6b 61 67 65 73 5d $build_packages]
0d70: 0a 0a 09 09 23 20 56 61 6c 69 64 61 74 65 20 61 ....# Validate a
0d80: 72 67 75 6d 65 6e 74 73 0a 09 09 69 66 20 7b 21 rguments...if {!
0d90: 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 70 6c 61 [info exists pla
0da0: 74 66 6f 72 6d 73 28 24 62 75 69 6c 64 5f 70 6c tforms($build_pl
0db0: 61 74 66 6f 72 6d 29 5d 7d 20 7b 0a 09 09 09 75 atform)]} {....u
0dc0: 6e 73 65 74 20 62 75 69 6c 64 5f 70 6c 61 74 66 nset build_platf
0dd0: 6f 72 6d 0a 09 09 7d 0a 0a 09 09 69 66 20 7b 21 orm...}....if {!
0de0: 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 74 63 6c [info exists tcl
0df0: 5f 76 65 72 73 69 6f 6e 73 28 24 62 75 69 6c 64 _versions($build
0e00: 5f 74 63 6c 5f 76 65 72 73 69 6f 6e 29 5d 7d 20 _tcl_version)]}
0e10: 7b 0a 09 09 09 75 6e 73 65 74 20 62 75 69 6c 64 {....unset build
0e20: 5f 74 63 6c 5f 76 65 72 73 69 6f 6e 0a 09 09 7d _tcl_version...}
0e30: 0a 0a 09 09 69 66 20 7b 21 5b 69 6e 66 6f 20 65 ....if {![info e
0e40: 78 69 73 74 73 20 6b 69 74 63 72 65 61 74 6f 72 xists kitcreator
0e50: 5f 76 65 72 73 69 6f 6e 73 28 24 62 75 69 6c 64 _versions($build
0e60: 5f 6b 69 74 63 72 65 61 74 6f 72 5f 76 65 72 73 _kitcreator_vers
0e70: 69 6f 6e 29 5d 7d 20 7b 0a 09 09 09 75 6e 73 65 ion)]} {....unse
0e80: 74 20 62 75 69 6c 64 5f 6b 69 74 63 72 65 61 74 t build_kitcreat
0e90: 6f 72 5f 76 65 72 73 69 6f 6e 0a 09 09 7d 0a 0a or_version...}..
0ea0: 09 09 66 6f 72 65 61 63 68 20 70 61 63 6b 61 67 ..foreach packag
0eb0: 65 20 24 62 75 69 6c 64 5f 70 61 63 6b 61 67 65 e $build_package
0ec0: 73 20 7b 0a 09 09 09 69 66 20 7b 21 5b 69 6e 66 s {....if {![inf
0ed0: 6f 20 65 78 69 73 74 73 20 70 61 63 6b 61 67 65 o exists package
0ee0: 73 28 24 70 61 63 6b 61 67 65 29 5d 7d 20 7b 0a s($package)]} {.
0ef0: 09 09 09 09 75 6e 73 65 74 20 62 75 69 6c 64 5f ....unset build_
0f00: 70 61 63 6b 61 67 65 73 0a 0a 09 09 09 09 62 72 packages......br
0f10: 65 61 6b 0a 09 09 09 7d 0a 09 09 7d 0a 0a 09 09 eak....}...}....
0f20: 23 20 52 65 73 6f 6c 76 65 20 76 65 72 73 69 6f # Resolve versio
0f30: 6e 20 6e 75 6d 62 65 72 73 20 74 6f 20 63 68 65 n numbers to che
0f40: 63 6b 69 6e 20 49 44 73 0a 09 09 23 23 20 58 58 ckin IDs...## XX
0f50: 58 3a 20 54 4f 44 4f 0a 09 09 73 65 74 20 63 61 X: TODO...set ca
0f60: 63 68 65 5f 74 63 6c 5f 76 65 72 73 69 6f 6e 20 che_tcl_version
0f70: 24 62 75 69 6c 64 5f 74 63 6c 5f 76 65 72 73 69 $build_tcl_versi
0f80: 6f 6e 0a 09 09 69 66 20 7b 24 62 75 69 6c 64 5f on...if {$build_
0f90: 74 63 6c 5f 76 65 72 73 69 6f 6e 20 3d 3d 20 22 tcl_version == "
0fa0: 66 6f 73 73 69 6c 5f 74 72 75 6e 6b 22 7d 20 7b fossil_trunk"} {
0fb0: 0a 09 09 09 73 65 74 20 63 61 63 68 65 5f 74 63 ....set cache_tc
0fc0: 6c 5f 76 65 72 73 69 6f 6e 20 5b 63 6c 6f 63 6b l_version [clock
0fd0: 20 66 6f 72 6d 61 74 20 5b 63 6c 6f 63 6b 20 73 format [clock s
0fe0: 65 63 6f 6e 64 73 5d 20 2d 66 6f 72 6d 61 74 20 econds] -format
0ff0: 7b 25 59 25 6d 25 64 7d 5d 0a 09 09 7d 0a 0a 09 {%Y%m%d}]...}...
1000: 09 73 65 74 20 63 61 63 68 65 5f 6b 69 74 63 72 .set cache_kitcr
1010: 65 61 74 6f 72 5f 76 65 72 73 69 6f 6e 20 24 62 eator_version $b
1020: 75 69 6c 64 5f 6b 69 74 63 72 65 61 74 6f 72 5f uild_kitcreator_
1030: 76 65 72 73 69 6f 6e 0a 09 09 69 66 20 7b 24 62 version...if {$b
1040: 75 69 6c 64 5f 6b 69 74 63 72 65 61 74 6f 72 5f uild_kitcreator_
1050: 76 65 72 73 69 6f 6e 20 3d 3d 20 22 74 72 75 6e version == "trun
1060: 6b 22 7d 20 7b 0a 09 09 09 73 65 74 20 63 61 63 k"} {....set cac
1070: 68 65 5f 6b 69 74 63 72 65 61 74 6f 72 5f 76 65 he_kitcreator_ve
1080: 72 73 69 6f 6e 20 5b 63 6c 6f 63 6b 20 66 6f 72 rsion [clock for
1090: 6d 61 74 20 5b 63 6c 6f 63 6b 20 73 65 63 6f 6e mat [clock secon
10a0: 64 73 5d 20 2d 66 6f 72 6d 61 74 20 7b 25 59 25 ds] -format {%Y%
10b0: 6d 25 64 7d 5d 0a 09 09 7d 0a 0a 09 09 23 20 47 m%d}]...}....# G
10c0: 65 6e 65 72 61 74 65 20 61 20 73 65 72 69 61 6c enerate a serial
10d0: 69 7a 65 64 20 68 61 73 68 20 74 68 61 74 20 72 ized hash that r
10e0: 65 70 72 65 73 65 6e 74 73 20 74 68 65 20 73 74 epresents the st
10f0: 61 74 65 20 6f 66 20 74 68 65 20 62 75 69 6c 64 ate of the build
1100: 0a 09 09 23 23 20 4c 6f 61 64 20 61 20 73 65 63 ...## Load a sec
1110: 72 65 74 20 73 6f 20 6b 65 79 73 20 63 61 6e 6e ret so keys cann
1120: 6f 74 20 62 65 20 70 72 65 2d 63 6f 6d 70 75 74 ot be pre-comput
1130: 65 64 20 28 62 75 74 20 72 65 6d 61 69 6e 20 63 ed (but remain c
1140: 6f 6e 73 69 73 74 65 6e 74 29 0a 09 09 73 65 74 onsistent)...set
1150: 20 73 65 63 72 65 74 66 64 20 5b 6f 70 65 6e 20 secretfd [open
1160: 24 73 65 63 72 65 74 66 69 6c 65 20 22 72 22 5d $secretfile "r"]
1170: 0a 09 09 73 65 74 20 73 65 63 72 65 74 20 5b 67 ...set secret [g
1180: 65 74 73 20 24 73 65 63 72 65 74 66 64 5d 0a 09 ets $secretfd]..
1190: 09 63 6c 6f 73 65 20 24 73 65 63 72 65 74 66 64 .close $secretfd
11a0: 0a 0a 09 09 23 23 20 43 6f 6d 70 75 74 65 20 62 ....## Compute b
11b0: 61 73 69 63 20 6b 65 79 09 0a 09 09 73 65 74 20 asic key....set
11c0: 6b 65 79 20 5b 6c 69 73 74 20 24 73 65 63 72 65 key [list $secre
11d0: 74 20 24 62 75 69 6c 64 5f 70 6c 61 74 66 6f 72 t $build_platfor
11e0: 6d 20 24 63 61 63 68 65 5f 74 63 6c 5f 76 65 72 m $cache_tcl_ver
11f0: 73 69 6f 6e 20 24 63 61 63 68 65 5f 6b 69 74 63 sion $cache_kitc
1200: 72 65 61 74 6f 72 5f 76 65 72 73 69 6f 6e 20 24 reator_version $
1210: 62 75 69 6c 64 5f 70 61 63 6b 61 67 65 73 5d 0a build_packages].
1220: 0a 09 09 23 23 20 55 70 64 61 74 65 20 6b 65 79 ...## Update key
1230: 20 77 69 74 68 20 6f 70 74 69 6f 6e 73 20 69 6e with options in
1240: 20 64 65 74 65 72 6d 69 6e 69 73 74 69 63 20 6f deterministic o
1250: 72 64 65 72 0a 09 09 66 6f 72 65 61 63 68 20 6f rder...foreach o
1260: 70 74 69 6f 6e 20 5b 6c 73 6f 72 74 20 2d 64 69 ption [lsort -di
1270: 63 74 69 6f 6e 61 72 79 20 5b 61 72 72 61 79 20 ctionary [array
1280: 6e 61 6d 65 73 20 62 75 69 6c 64 5f 6f 70 74 69 names build_opti
1290: 6f 6e 73 5d 5d 20 7b 0a 09 09 09 73 77 69 74 63 ons]] {....switc
12a0: 68 20 2d 2d 20 24 6f 70 74 69 6f 6e 20 7b 0a 09 h -- $option {..
12b0: 09 09 09 22 74 68 72 65 61 64 65 64 22 20 2d 20 ..."threaded" -
12c0: 22 6b 69 74 64 6c 6c 22 20 2d 20 22 64 65 62 75 "kitdll" - "debu
12d0: 67 22 20 7b 0a 09 09 09 09 09 23 20 46 6f 72 20 g" {......# For
12e0: 62 6f 6f 6c 65 61 6e 20 6f 70 74 69 6f 6e 73 2c boolean options,
12f0: 20 73 6b 69 70 20 74 68 65 6d 20 69 66 20 74 68 skip them if th
1300: 65 79 20 61 72 65 20 6e 6f 74 20 65 6e 61 62 6c ey are not enabl
1310: 65 64 0a 09 09 09 09 09 69 66 20 7b 21 24 62 75 ed......if {!$bu
1320: 69 6c 64 5f 6f 70 74 69 6f 6e 73 28 24 6f 70 74 ild_options($opt
1330: 69 6f 6e 29 7d 20 7b 0a 09 09 09 09 09 09 63 6f ion)} {.......co
1340: 6e 74 69 6e 75 65 0a 09 09 09 09 09 7d 0a 09 09 ntinue......}...
1350: 09 09 7d 0a 09 09 09 7d 0a 09 09 09 6c 61 70 70 ..}....}....lapp
1360: 65 6e 64 20 6b 65 79 20 5b 6c 69 73 74 20 22 6f end key [list "o
1370: 70 74 69 6f 6e 3a 24 6f 70 74 69 6f 6e 22 20 24 ption:$option" $
1380: 62 75 69 6c 64 5f 6f 70 74 69 6f 6e 73 28 24 6f build_options($o
1390: 70 74 69 6f 6e 29 5d 0a 09 09 7d 0a 0a 09 09 23 ption)]...}....#
13a0: 23 20 43 6f 6e 76 65 72 74 20 6b 65 79 20 74 6f # Convert key to
13b0: 20 61 20 75 73 65 72 2d 63 6f 6e 73 75 6d 61 62 a user-consumab
13c0: 6c 65 20 73 74 72 69 6e 67 20 76 69 61 20 68 61 le string via ha
13d0: 73 68 69 6e 67 0a 09 09 73 65 74 20 6b 65 79 20 shing...set key
13e0: 5b 73 74 72 69 6e 67 20 74 6f 6c 6f 77 65 72 20 [string tolower
13f0: 5b 73 68 61 31 3a 3a 73 68 61 31 20 2d 68 65 78 [sha1::sha1 -hex
1400: 20 24 6b 65 79 5d 5d 0a 0a 09 09 23 20 44 65 74 $key]]....# Det
1410: 65 72 6d 69 6e 65 20 66 69 6c 65 6e 61 6d 65 0a ermine filename.
1420: 09 09 69 66 20 7b 24 62 75 69 6c 64 5f 6f 70 74 ..if {$build_opt
1430: 69 6f 6e 73 28 6b 69 74 64 6c 6c 29 7d 20 7b 0a ions(kitdll)} {.
1440: 09 09 09 73 65 74 20 65 78 74 65 6e 73 69 6f 6e ...set extension
1450: 20 22 73 6f 22 0a 09 09 09 73 77 69 74 63 68 20 "so"....switch
1460: 2d 2d 20 24 62 75 69 6c 64 5f 70 6c 61 74 66 6f -- $build_platfo
1470: 72 6d 20 7b 0a 09 09 09 09 22 77 69 6e 33 32 22 rm {....."win32"
1480: 20 2d 20 22 77 69 6e 36 34 22 20 7b 0a 09 09 09 - "win64" {....
1490: 09 09 73 65 74 20 65 78 74 65 6e 73 69 6f 6e 20 ..set extension
14a0: 22 64 6c 6c 22 0a 09 09 09 09 7d 0a 09 09 09 09 "dll".....}.....
14b0: 22 68 70 75 78 2d 68 70 70 61 36 34 22 20 7b 0a "hpux-hppa64" {.
14c0: 09 09 09 09 09 73 65 74 20 65 78 74 65 6e 73 69 .....set extensi
14d0: 6f 6e 20 22 73 6c 22 0a 09 09 09 09 7d 0a 09 09 on "sl".....}...
14e0: 09 7d 0a 0a 09 09 09 23 23 20 58 58 58 3a 20 54 .}.....## XXX: T
14f0: 4f 44 4f 3a 20 54 68 65 20 76 65 72 73 69 6f 6e ODO: The version
1500: 20 68 65 72 65 20 6e 65 65 64 73 20 74 6f 20 6d here needs to m
1510: 61 74 63 68 20 77 68 61 74 27 73 20 69 6e 20 74 atch what's in t
1520: 68 65 20 53 4f 4e 41 4d 45 0a 09 09 09 73 65 74 he SONAME....set
1530: 20 66 69 6c 65 6e 61 6d 65 20 22 6c 69 62 74 63 filename "libtc
1540: 6c 6b 69 74 5b 73 74 72 69 6e 67 20 6d 61 70 20 lkit[string map
1550: 5b 6c 69 73 74 20 22 2e 22 20 22 22 5d 20 24 7b [list "." ""] ${
1560: 63 61 63 68 65 5f 74 63 6c 5f 76 65 72 73 69 6f cache_tcl_versio
1570: 6e 7d 5d 2e 24 7b 65 78 74 65 6e 73 69 6f 6e 7d n}].${extension}
1580: 22 0a 09 09 7d 20 65 6c 73 65 20 7b 0a 09 09 09 "...} else {....
1590: 73 65 74 20 66 69 6c 65 6e 61 6d 65 20 22 74 63 set filename "tc
15a0: 6c 6b 69 74 22 0a 0a 09 09 09 73 77 69 74 63 68 lkit".....switch
15b0: 20 2d 2d 20 24 62 75 69 6c 64 5f 70 6c 61 74 66 -- $build_platf
15c0: 6f 72 6d 20 7b 0a 09 09 09 09 22 77 69 6e 33 32 orm {....."win32
15d0: 22 20 2d 20 22 77 69 6e 36 34 22 20 7b 0a 09 09 " - "win64" {...
15e0: 09 09 09 61 70 70 65 6e 64 20 66 69 6c 65 6e 61 ...append filena
15f0: 6d 65 20 22 2e 65 78 65 22 0a 09 09 09 09 7d 0a me ".exe".....}.
1600: 09 09 09 7d 0a 09 09 7d 0a 0a 09 09 23 20 51 75 ...}...}....# Qu
1610: 65 75 65 20 62 75 69 6c 64 20 75 70 20 61 6e 64 eue build up and
1620: 20 77 61 69 74 20 66 6f 72 20 69 74 20 74 6f 20 wait for it to
1630: 63 6f 6d 70 6c 65 74 65 0a 09 09 73 65 74 20 66 complete...set f
1640: 64 20 5b 6f 70 65 6e 20 24 71 75 65 75 65 20 61 d [open $queue a
1650: 2b 5d 0a 09 09 70 75 74 73 20 24 66 64 20 5b 6c +]...puts $fd [l
1660: 69 73 74 20 66 69 6c 65 6e 61 6d 65 20 24 66 69 ist filename $fi
1670: 6c 65 6e 61 6d 65 20 6b 65 79 20 24 6b 65 79 20 lename key $key
1680: 70 6c 61 74 66 6f 72 6d 20 24 62 75 69 6c 64 5f platform $build_
1690: 70 6c 61 74 66 6f 72 6d 20 74 63 6c 5f 76 65 72 platform tcl_ver
16a0: 73 69 6f 6e 20 24 62 75 69 6c 64 5f 74 63 6c 5f sion $build_tcl_
16b0: 76 65 72 73 69 6f 6e 20 6b 69 74 63 72 65 61 74 version kitcreat
16c0: 6f 72 5f 76 65 72 73 69 6f 6e 20 24 62 75 69 6c or_version $buil
16d0: 64 5f 6b 69 74 63 72 65 61 74 6f 72 5f 76 65 72 d_kitcreator_ver
16e0: 73 69 6f 6e 20 70 61 63 6b 61 67 65 73 20 24 62 sion packages $b
16f0: 75 69 6c 64 5f 70 61 63 6b 61 67 65 73 20 6f 70 uild_packages op
1700: 74 69 6f 6e 73 20 5b 61 72 72 61 79 20 67 65 74 tions [array get
1710: 20 62 75 69 6c 64 5f 6f 70 74 69 6f 6e 73 5d 5d build_options]]
1720: 0a 09 09 63 6c 6f 73 65 20 24 66 64 0a 0a 09 09 ...close $fd....
1730: 73 65 74 20 75 72 6c 20 22 68 74 74 70 3a 2f 2f set url "http://
1740: 6b 69 74 63 72 65 61 74 6f 72 2e 72 6b 65 65 6e kitcreator.rkeen
1750: 65 2e 6f 72 67 2f 6b 69 74 73 2f 62 75 69 6c 64 e.org/kits/build
1760: 69 6e 67 2f 24 6b 65 79 2f 22 0a 0a 09 09 68 65 ing/$key/"....he
1770: 61 64 65 72 73 20 72 65 64 69 72 65 63 74 20 24 aders redirect $
1780: 75 72 6c 0a 3f 3e 3c 68 74 6d 6c 3e 0a 09 3c 68 url.?><html>..<h
1790: 65 61 64 3e 0a 09 09 3c 74 69 74 6c 65 3e 4b 69 ead>...<title>Ki
17a0: 74 43 72 65 61 74 6f 72 2c 20 57 65 62 20 49 6e tCreator, Web In
17b0: 74 65 72 66 61 63 65 3c 2f 74 69 74 6c 65 3e 0a terface</title>.
17c0: 09 3c 2f 68 65 61 64 3e 0a 09 3c 62 6f 64 79 3e .</head>..<body>
17d0: 0a 09 09 3c 68 31 3e 4b 69 74 43 72 65 61 74 6f ...<h1>KitCreato
17e0: 72 20 57 65 62 20 49 6e 74 65 72 66 61 63 65 3c r Web Interface<
17f0: 2f 68 31 3e 0a 09 09 3c 70 3e 42 75 69 6c 64 20 /h1>...<p>Build
1800: 69 6e 20 70 72 6f 67 72 65 73 73 2c 20 73 65 65 in progress, see
1810: 20 3c 61 20 68 72 65 66 3d 22 3c 3f 20 70 75 74 <a href="<? put
1820: 73 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 24 75 72 s -nonewline $ur
1830: 6c 20 3f 3e 22 3e 3c 3f 20 70 75 74 73 20 2d 6e l ?>"><? puts -n
1840: 6f 6e 65 77 6c 69 6e 65 20 24 75 72 6c 20 3f 3e onewline $url ?>
1850: 3c 2f 61 3e 20 66 6f 72 20 62 75 69 6c 64 20 69 </a> for build i
1860: 6e 66 6f 72 6d 61 74 69 6f 6e 3c 2f 70 3e 0a 09 nformation</p>..
1870: 3c 2f 62 6f 64 79 3e 0a 3c 2f 68 74 6d 6c 3e 0a </body>.</html>.
1880: 3c 3f 0a 09 7d 20 65 6c 73 65 20 7b 0a 3f 3e 3c <?..} else {.?><
1890: 68 74 6d 6c 3e 0a 20 20 3c 68 65 61 64 3e 0a 20 html>. <head>.
18a0: 20 20 20 3c 74 69 74 6c 65 3e 4b 69 74 43 72 65 <title>KitCre
18b0: 61 74 6f 72 2c 20 57 65 62 20 49 6e 74 65 72 66 ator, Web Interf
18c0: 61 63 65 3c 2f 74 69 74 6c 65 3e 0a 20 20 20 20 ace</title>.
18d0: 3c 73 63 72 69 70 74 3e 0a 3c 21 2d 2d 0a 09 66 <script>.<!--..f
18e0: 75 6e 63 74 69 6f 6e 20 65 6e 61 62 6c 65 4f 70 unction enableOp
18f0: 74 69 6f 6e 28 6f 70 74 69 6f 6e 29 20 7b 0a 09 tion(option) {..
1900: 09 76 61 72 20 6f 62 6a 3b 0a 0a 09 09 6f 62 6a .var obj;....obj
1910: 20 3d 20 64 6f 63 75 6d 65 6e 74 2e 67 65 74 45 = document.getE
1920: 6c 65 6d 65 6e 74 42 79 49 64 28 27 6f 70 74 69 lementById('opti
1930: 6f 6e 5f 27 20 2b 20 6f 70 74 69 6f 6e 29 3b 0a on_' + option);.
1940: 09 09 6f 62 6a 2e 64 69 73 61 62 6c 65 64 20 3d ..obj.disabled =
1950: 20 66 61 6c 73 65 3b 0a 09 7d 0a 0a 09 66 75 6e false;..}...fun
1960: 63 74 69 6f 6e 20 64 69 73 61 62 6c 65 4f 70 74 ction disableOpt
1970: 69 6f 6e 28 6f 70 74 69 6f 6e 29 20 7b 0a 09 09 ion(option) {...
1980: 76 61 72 20 6f 62 6a 3b 0a 0a 09 09 6f 62 6a 20 var obj;....obj
1990: 3d 20 64 6f 63 75 6d 65 6e 74 2e 67 65 74 45 6c = document.getEl
19a0: 65 6d 65 6e 74 42 79 49 64 28 27 6f 70 74 69 6f ementById('optio
19b0: 6e 5f 27 20 2b 20 6f 70 74 69 6f 6e 29 3b 0a 09 n_' + option);..
19c0: 09 6f 62 6a 2e 63 68 65 63 6b 65 64 20 3d 20 66 .obj.checked = f
19d0: 61 6c 73 65 3b 0a 09 09 6f 62 6a 2e 64 69 73 61 alse;...obj.disa
19e0: 62 6c 65 64 20 3d 20 74 72 75 65 3b 0a 09 7d 0a bled = true;..}.
19f0: 0a 09 66 75 6e 63 74 69 6f 6e 20 76 65 72 69 66 ..function verif
1a00: 79 4f 70 74 69 6f 6e 73 28 29 20 7b 0a 09 09 76 yOptions() {...v
1a10: 61 72 20 6b 69 74 63 72 65 61 74 6f 72 5f 76 65 ar kitcreator_ve
1a20: 72 73 69 6f 6e 3b 0a 09 09 76 61 72 20 74 63 6c rsion;...var tcl
1a30: 5f 76 65 72 73 69 6f 6e 3b 0a 09 09 76 61 72 20 _version;...var
1a40: 70 6c 61 74 66 6f 72 6d 3b 0a 0a 09 09 6b 69 74 platform;....kit
1a50: 63 72 65 61 74 6f 72 5f 76 65 72 73 69 6f 6e 20 creator_version
1a60: 3d 20 64 6f 63 75 6d 65 6e 74 2e 67 65 74 45 6c = document.getEl
1a70: 65 6d 65 6e 74 73 42 79 4e 61 6d 65 28 27 6b 69 ementsByName('ki
1a80: 74 63 72 65 61 74 6f 72 5f 76 65 72 73 69 6f 6e tcreator_version
1a90: 27 29 5b 30 5d 2e 76 61 6c 75 65 3b 0a 09 09 74 ')[0].value;...t
1aa0: 63 6c 5f 76 65 72 73 69 6f 6e 20 3d 20 64 6f 63 cl_version = doc
1ab0: 75 6d 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e 74 ument.getElement
1ac0: 73 42 79 4e 61 6d 65 28 27 74 63 6c 5f 76 65 72 sByName('tcl_ver
1ad0: 73 69 6f 6e 27 29 5b 30 5d 2e 76 61 6c 75 65 3b sion')[0].value;
1ae0: 0a 09 09 70 6c 61 74 66 6f 72 6d 20 3d 20 64 6f ...platform = do
1af0: 63 75 6d 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e cument.getElemen
1b00: 74 73 42 79 4e 61 6d 65 28 27 70 6c 61 74 66 6f tsByName('platfo
1b10: 72 6d 27 29 5b 30 5d 2e 76 61 6c 75 65 3b 0a 0a rm')[0].value;..
1b20: 3c 3f 0a 09 09 73 65 74 20 61 6c 6c 64 69 73 61 <?...set alldisa
1b30: 62 6c 65 64 6f 70 74 69 6f 6e 73 20 5b 6c 69 73 bledoptions [lis
1b40: 74 5d 0a 09 09 66 6f 72 65 61 63 68 20 7b 6b 65 t]...foreach {ke
1b50: 79 77 6f 72 64 20 76 61 6c 75 65 20 64 69 73 61 yword value disa
1b60: 62 6c 65 6f 70 74 69 6f 6e 73 7d 20 24 64 69 73 bleoptions} $dis
1b70: 61 62 6c 65 20 7b 0a 09 09 09 66 6f 72 65 61 63 able {....foreac
1b80: 68 20 6f 70 74 69 6f 6e 20 24 64 69 73 61 62 6c h option $disabl
1b90: 65 6f 70 74 69 6f 6e 73 20 7b 0a 09 09 09 09 69 eoptions {.....i
1ba0: 66 20 7b 5b 6c 73 65 61 72 63 68 20 2d 65 78 61 f {[lsearch -exa
1bb0: 63 74 20 24 61 6c 6c 64 69 73 61 62 6c 65 64 6f ct $alldisabledo
1bc0: 70 74 69 6f 6e 73 20 24 6f 70 74 69 6f 6e 5d 20 ptions $option]
1bd0: 3d 3d 20 2d 31 7d 20 7b 0a 09 09 09 09 09 6c 61 == -1} {......la
1be0: 70 70 65 6e 64 20 61 6c 6c 64 69 73 61 62 6c 65 ppend alldisable
1bf0: 64 6f 70 74 69 6f 6e 73 20 24 6f 70 74 69 6f 6e doptions $option
1c00: 0a 09 09 09 09 7d 0a 09 09 09 7d 0a 09 09 7d 0a .....}....}...}.
1c10: 0a 09 09 66 6f 72 65 61 63 68 20 6f 70 74 69 6f ...foreach optio
1c20: 6e 20 24 61 6c 6c 64 69 73 61 62 6c 65 64 6f 70 n $alldisabledop
1c30: 74 69 6f 6e 73 20 7b 0a 09 09 09 70 75 74 73 20 tions {....puts
1c40: 22 5c 74 5c 74 65 6e 61 62 6c 65 4f 70 74 69 6f "\t\tenableOptio
1c50: 6e 28 5c 22 24 6f 70 74 69 6f 6e 5c 22 29 3b 22 n(\"$option\");"
1c60: 0a 09 09 7d 0a 0a 09 09 66 6f 72 65 61 63 68 20 ...}....foreach
1c70: 7b 6b 65 79 77 6f 72 64 20 76 61 6c 75 65 20 64 {keyword value d
1c80: 69 73 61 62 6c 65 6f 70 74 69 6f 6e 73 7d 20 24 isableoptions} $
1c90: 64 69 73 61 62 6c 65 20 7b 0a 09 09 09 70 75 74 disable {....put
1ca0: 73 20 22 5c 74 5c 74 69 66 20 28 24 6b 65 79 77 s "\t\tif ($keyw
1cb0: 6f 72 64 20 3d 3d 20 5c 22 24 76 61 6c 75 65 5c ord == \"$value\
1cc0: 22 29 20 5c 7b 22 0a 0a 09 09 09 66 6f 72 65 61 ") \{".....forea
1cd0: 63 68 20 6f 70 74 69 6f 6e 20 24 64 69 73 61 62 ch option $disab
1ce0: 6c 65 6f 70 74 69 6f 6e 73 20 7b 0a 09 09 09 09 leoptions {.....
1cf0: 70 75 74 73 20 22 5c 74 5c 74 5c 74 64 69 73 61 puts "\t\t\tdisa
1d00: 62 6c 65 4f 70 74 69 6f 6e 28 5c 22 24 6f 70 74 bleOption(\"$opt
1d10: 69 6f 6e 5c 22 29 3b 22 0a 09 09 09 7d 0a 0a 09 ion\");"....}...
1d20: 09 09 70 75 74 73 20 22 5c 74 5c 74 5c 7d 22 0a ..puts "\t\t\}".
1d30: 09 09 7d 0a 3f 3e 0a 09 7d 0a 2d 2d 3e 0a 20 20 ..}.?>..}.-->.
1d40: 20 20 3c 2f 73 63 72 69 70 74 3e 0a 20 20 3c 2f </script>. </
1d50: 68 65 61 64 3e 0a 20 20 3c 62 6f 64 79 20 6f 6e head>. <body on
1d60: 4c 6f 61 64 3d 22 76 65 72 69 66 79 4f 70 74 69 Load="verifyOpti
1d70: 6f 6e 73 28 29 3b 22 3e 0a 20 20 20 20 3c 68 31 ons();">. <h1
1d80: 3e 4b 69 74 43 72 65 61 74 6f 72 20 57 65 62 20 >KitCreator Web
1d90: 49 6e 74 65 72 66 61 63 65 3c 2f 68 31 3e 0a 20 Interface</h1>.
1da0: 20 20 20 3c 66 6f 72 6d 20 6d 65 74 68 6f 64 3d <form method=
1db0: 22 70 6f 73 74 22 20 65 6e 63 74 79 70 65 3d 22 "post" enctype="
1dc0: 6d 75 6c 74 69 70 61 72 74 2f 66 6f 72 6d 2d 64 multipart/form-d
1dd0: 61 74 61 22 3e 0a 20 20 20 20 20 20 3c 74 61 62 ata">. <tab
1de0: 6c 65 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e le>. <tr>
1df0: 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4b . <td>K
1e00: 69 74 43 72 65 61 74 6f 72 20 56 65 72 73 69 6f itCreator Versio
1e10: 6e 3a 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 n:</td>.
1e20: 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 <td>.
1e30: 20 20 20 3c 73 65 6c 65 63 74 20 6e 61 6d 65 3d <select name=
1e40: 22 6b 69 74 63 72 65 61 74 6f 72 5f 76 65 72 73 "kitcreator_vers
1e50: 69 6f 6e 22 20 6f 6e 43 68 61 6e 67 65 3d 22 76 ion" onChange="v
1e60: 65 72 69 66 79 4f 70 74 69 6f 6e 73 28 29 3b 22 erifyOptions();"
1e70: 3e 0a 3c 3f 0a 09 66 6f 72 65 61 63 68 20 6b 69 >.<?..foreach ki
1e80: 74 63 72 65 61 74 6f 72 5f 76 65 72 73 69 6f 6e tcreator_version
1e90: 20 5b 6c 73 6f 72 74 20 2d 64 69 63 74 69 6f 6e [lsort -diction
1ea0: 61 72 79 20 5b 61 72 72 61 79 20 6e 61 6d 65 73 ary [array names
1eb0: 20 6b 69 74 63 72 65 61 74 6f 72 5f 76 65 72 73 kitcreator_vers
1ec0: 69 6f 6e 73 5d 5d 20 7b 0a 09 09 73 65 74 20 6b ions]] {...set k
1ed0: 69 74 63 72 65 61 74 6f 72 5f 76 65 72 73 69 6f itcreator_versio
1ee0: 6e 5f 6e 61 6d 65 20 24 6b 69 74 63 72 65 61 74 n_name $kitcreat
1ef0: 6f 72 5f 76 65 72 73 69 6f 6e 73 28 24 6b 69 74 or_versions($kit
1f00: 63 72 65 61 74 6f 72 5f 76 65 72 73 69 6f 6e 29 creator_version)
1f10: 0a 0a 09 09 69 66 20 7b 24 6b 69 74 63 72 65 61 ....if {$kitcrea
1f20: 74 6f 72 5f 76 65 72 73 69 6f 6e 20 3d 3d 20 24 tor_version == $
1f30: 6b 69 74 63 72 65 61 74 6f 72 5f 76 65 72 73 69 kitcreator_versi
1f40: 6f 6e 5f 73 65 6c 65 63 74 65 64 7d 20 7b 0a 09 on_selected} {..
1f50: 09 09 73 65 74 20 73 65 6c 65 63 74 65 64 20 22 ..set selected "
1f60: 20 73 65 6c 65 63 74 65 64 22 0a 09 09 7d 20 65 selected"...} e
1f70: 6c 73 65 20 7b 0a 09 09 09 73 65 74 20 73 65 6c lse {....set sel
1f80: 65 63 74 65 64 20 22 22 0a 09 09 7d 0a 0a 09 09 ected ""...}....
1f90: 70 75 74 73 20 22 20 20 20 20 20 20 20 20 20 20 puts "
1fa0: 20 20 20 20 3c 6f 70 74 69 6f 6e 20 76 61 6c 75 <option valu
1fb0: 65 3d 5c 22 24 7b 6b 69 74 63 72 65 61 74 6f 72 e=\"${kitcreator
1fc0: 5f 76 65 72 73 69 6f 6e 7d 5c 22 24 7b 73 65 6c _version}\"${sel
1fd0: 65 63 74 65 64 7d 3e 24 7b 6b 69 74 63 72 65 61 ected}>${kitcrea
1fe0: 74 6f 72 5f 76 65 72 73 69 6f 6e 5f 6e 61 6d 65 tor_version_name
1ff0: 7d 3c 2f 6f 70 74 69 6f 6e 3e 22 0a 09 7d 0a 3f }</option>"..}.?
2000: 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f >. </
2010: 73 65 6c 65 63 74 3e 0a 20 20 20 20 20 20 20 20 select>.
2020: 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 </td>.
2030: 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 </tr>. <t
2040: 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 r>. <td
2050: 3e 54 63 6c 20 56 65 72 73 69 6f 6e 3a 3c 2f 74 >Tcl Version:</t
2060: 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 d>. <td
2070: 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 >. <s
2080: 65 6c 65 63 74 20 6e 61 6d 65 3d 22 74 63 6c 5f elect name="tcl_
2090: 76 65 72 73 69 6f 6e 22 20 6f 6e 43 68 61 6e 67 version" onChang
20a0: 65 3d 22 76 65 72 69 66 79 4f 70 74 69 6f 6e 73 e="verifyOptions
20b0: 28 29 3b 22 3e 0a 3c 3f 0a 09 66 6f 72 65 61 63 ();">.<?..foreac
20c0: 68 20 74 63 6c 5f 76 65 72 73 69 6f 6e 20 5b 6c h tcl_version [l
20d0: 73 6f 72 74 20 2d 64 69 63 74 69 6f 6e 61 72 79 sort -dictionary
20e0: 20 5b 61 72 72 61 79 20 6e 61 6d 65 73 20 74 63 [array names tc
20f0: 6c 5f 76 65 72 73 69 6f 6e 73 5d 5d 20 7b 0a 09 l_versions]] {..
2100: 09 73 65 74 20 74 63 6c 5f 76 65 72 73 69 6f 6e .set tcl_version
2110: 5f 6e 61 6d 65 20 24 74 63 6c 5f 76 65 72 73 69 _name $tcl_versi
2120: 6f 6e 73 28 24 74 63 6c 5f 76 65 72 73 69 6f 6e ons($tcl_version
2130: 29 0a 09 09 70 75 74 73 20 22 20 20 20 20 20 20 )...puts "
2140: 20 20 20 20 20 20 20 20 3c 6f 70 74 69 6f 6e 20 <option
2150: 76 61 6c 75 65 3d 5c 22 24 7b 74 63 6c 5f 76 65 value=\"${tcl_ve
2160: 72 73 69 6f 6e 7d 5c 22 3e 24 7b 74 63 6c 5f 76 rsion}\">${tcl_v
2170: 65 72 73 69 6f 6e 5f 6e 61 6d 65 7d 3c 2f 6f 70 ersion_name}</op
2180: 74 69 6f 6e 3e 22 0a 09 7d 0a 3f 3e 0a 20 20 20 tion>"..}.?>.
2190: 20 20 20 20 20 20 20 20 20 3c 2f 73 65 6c 65 63 </selec
21a0: 74 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 t>. </t
21b0: 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e d>. </tr>
21c0: 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 . <tr>.
21d0: 20 20 20 20 20 20 20 20 3c 74 64 3e 50 6c 61 74 <td>Plat
21e0: 66 6f 72 6d 3a 3c 2f 74 64 3e 0a 20 20 20 20 20 form:</td>.
21f0: 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 <td>.
2200: 20 20 20 20 20 20 3c 73 65 6c 65 63 74 20 6e 61 <select na
2210: 6d 65 3d 22 70 6c 61 74 66 6f 72 6d 22 20 6f 6e me="platform" on
2220: 43 68 61 6e 67 65 3d 22 76 65 72 69 66 79 4f 70 Change="verifyOp
2230: 74 69 6f 6e 73 28 29 3b 22 3e 0a 3c 3f 0a 09 66 tions();">.<?..f
2240: 6f 72 65 61 63 68 20 70 6c 61 74 66 6f 72 6d 20 oreach platform
2250: 5b 6c 73 6f 72 74 20 2d 64 69 63 74 69 6f 6e 61 [lsort -dictiona
2260: 72 79 20 5b 61 72 72 61 79 20 6e 61 6d 65 73 20 ry [array names
2270: 70 6c 61 74 66 6f 72 6d 73 5d 5d 20 7b 0a 09 09 platforms]] {...
2280: 73 65 74 20 70 6c 61 74 66 6f 72 6d 5f 6e 61 6d set platform_nam
2290: 65 20 24 70 6c 61 74 66 6f 72 6d 73 28 24 70 6c e $platforms($pl
22a0: 61 74 66 6f 72 6d 29 0a 09 09 70 75 74 73 20 22 atform)...puts "
22b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6f <o
22c0: 70 74 69 6f 6e 20 76 61 6c 75 65 3d 5c 22 24 7b ption value=\"${
22d0: 70 6c 61 74 66 6f 72 6d 7d 5c 22 3e 24 7b 70 6c platform}\">${pl
22e0: 61 74 66 6f 72 6d 5f 6e 61 6d 65 7d 3c 2f 6f 70 atform_name}</op
22f0: 74 69 6f 6e 3e 22 0a 09 7d 0a 3f 3e 0a 20 20 20 tion>"..}.?>.
2300: 20 20 20 20 20 20 20 20 20 3c 2f 73 65 6c 65 63 </selec
2310: 74 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 t>. </t
2320: 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e d>. </tr>
2330: 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 . <tr>.
2340: 20 20 20 20 20 20 20 20 3c 74 64 3e 4b 69 74 20 <td>Kit
2350: 4f 70 74 69 6f 6e 73 3a 3c 2f 74 64 3e 0a 20 20 Options:</td>.
2360: 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 3c 3f 20 <td>.<?
2370: 20 66 6f 72 65 61 63 68 20 70 61 63 6b 61 67 65 foreach package
2380: 20 5b 6c 73 6f 72 74 20 2d 64 69 63 74 69 6f 6e [lsort -diction
2390: 61 72 79 20 5b 61 72 72 61 79 20 6e 61 6d 65 73 ary [array names
23a0: 20 70 61 63 6b 61 67 65 73 5d 5d 20 7b 20 3f 3e packages]] { ?>
23b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 69 6e . <in
23c0: 70 75 74 20 74 79 70 65 3d 22 63 68 65 63 6b 62 put type="checkb
23d0: 6f 78 22 20 6e 61 6d 65 3d 22 6f 70 74 69 6f 6e ox" name="option
23e0: 5f 70 61 63 6b 61 67 65 5f 3c 3f 20 70 75 74 73 _package_<? puts
23f0: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 24 70 61 63 -nonewline $pac
2400: 6b 61 67 65 20 3f 3e 22 20 69 64 3d 22 6f 70 74 kage ?>" id="opt
2410: 69 6f 6e 5f 70 61 63 6b 61 67 65 5f 3c 3f 20 70 ion_package_<? p
2420: 75 74 73 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 24 uts -nonewline $
2430: 70 61 63 6b 61 67 65 20 3f 3e 22 3e 50 61 63 6b package ?>">Pack
2440: 61 67 65 3a 20 3c 3f 20 70 75 74 73 20 2d 6e 6f age: <? puts -no
2450: 6e 65 77 6c 69 6e 65 20 24 70 61 63 6b 61 67 65 newline $package
2460: 73 28 24 70 61 63 6b 61 67 65 29 20 3f 3e 3c 62 s($package) ?><b
2470: 72 3e 0a 3c 3f 20 7d 20 3f 3e 0a 20 20 20 20 20 r>.<? } ?>.
2480: 20 20 20 20 20 20 20 3c 69 6e 70 75 74 20 74 79 <input ty
2490: 70 65 3d 22 63 68 65 63 6b 62 6f 78 22 20 6e 61 pe="checkbox" na
24a0: 6d 65 3d 22 6f 70 74 69 6f 6e 5f 74 68 72 65 61 me="option_threa
24b0: 64 65 64 22 3e 4b 69 74 3a 20 54 68 72 65 61 64 ded">Kit: Thread
24c0: 65 64 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 ed<br>.
24d0: 20 20 20 3c 69 6e 70 75 74 20 74 79 70 65 3d 22 <input type="
24e0: 63 68 65 63 6b 62 6f 78 22 20 6e 61 6d 65 3d 22 checkbox" name="
24f0: 6f 70 74 69 6f 6e 5f 64 65 62 75 67 22 3e 4b 69 option_debug">Ki
2500: 74 3a 20 44 65 62 75 67 67 69 6e 67 20 42 75 69 t: Debugging Bui
2510: 6c 64 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 ld<br>.
2520: 20 20 20 3c 69 6e 70 75 74 20 74 79 70 65 3d 22 <input type="
2530: 63 68 65 63 6b 62 6f 78 22 20 6e 61 6d 65 3d 22 checkbox" name="
2540: 6f 70 74 69 6f 6e 5f 6b 69 74 64 6c 6c 22 20 69 option_kitdll" i
2550: 64 3d 22 6f 70 74 69 6f 6e 5f 6b 69 74 64 6c 6c d="option_kitdll
2560: 22 3e 4b 69 74 3a 20 42 75 69 6c 64 20 4c 69 62 ">Kit: Build Lib
2570: 72 61 72 79 20 28 4b 69 74 44 4c 4c 29 3c 62 72 rary (KitDLL)<br
2580: 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 >. </td
2590: 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a >. </tr>.
25a0: 09 3c 74 72 3e 0a 09 09 3c 74 64 3e 4b 69 74 20 .<tr>...<td>Kit
25b0: 53 74 6f 72 61 67 65 3a 3c 2f 74 64 3e 0a 09 09 Storage:</td>...
25c0: 3c 74 64 3e 0a 09 09 09 3c 73 65 6c 65 63 74 20 <td>....<select
25d0: 6e 61 6d 65 3d 22 6f 70 74 69 6f 6e 5f 73 74 6f name="option_sto
25e0: 72 61 67 65 22 3e 0a 09 09 09 09 3c 6f 70 74 69 rage">.....<opti
25f0: 6f 6e 20 76 61 6c 75 65 3d 22 61 75 74 6f 22 3e on value="auto">
2600: 41 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 44 65 Automatically De
2610: 74 65 72 6d 69 6e 65 64 3c 2f 6f 70 74 69 6f 6e termined</option
2620: 3e 0a 09 09 09 09 3c 6f 70 74 69 6f 6e 20 76 61 >.....<option va
2630: 6c 75 65 3d 22 6d 6b 34 22 3e 4d 65 74 61 6b 69 lue="mk4">Metaki
2640: 74 3c 2f 6f 70 74 69 6f 6e 3e 0a 09 09 09 09 3c t</option>.....<
2650: 6f 70 74 69 6f 6e 20 76 61 6c 75 65 3d 22 7a 69 option value="zi
2660: 70 22 3e 5a 69 70 3c 2f 6f 70 74 69 6f 6e 3e 0a p">Zip</option>.
2670: 09 09 09 09 3c 6f 70 74 69 6f 6e 20 76 61 6c 75 ....<option valu
2680: 65 3d 22 63 76 66 73 22 3e 43 2d 56 46 53 3c 2f e="cvfs">C-VFS</
2690: 6f 70 74 69 6f 6e 3e 0a 09 09 09 3c 2f 73 65 6c option>....</sel
26a0: 65 63 74 3e 0a 09 09 3c 2f 74 64 3e 0a 09 3c 2f ect>...</td>..</
26b0: 74 72 3e 0a 3c 21 2d 2d 0a 20 20 20 20 20 20 20 tr>.<!--.
26c0: 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 <tr>.
26d0: 3c 74 64 3e 4b 69 74 20 49 63 6f 6e 3a 3c 2f 74 <td>Kit Icon:</t
26e0: 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 d>. <td
26f0: 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 69 >. <i
2700: 6e 70 75 74 20 74 79 70 65 3d 22 66 69 6c 65 22 nput type="file"
2710: 20 6e 61 6d 65 3d 22 6f 70 74 69 6f 6e 5f 69 63 name="option_ic
2720: 6f 6e 22 3e 0a 20 20 20 20 20 20 20 20 20 20 3c on">. <
2730: 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 /td>. </t
2740: 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a r>. <tr>.
2750: 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 44 65 <td>De
2760: 73 63 72 69 70 74 69 6f 6e 3a 3c 2f 74 64 3e 0a scription:</td>.
2770: 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 <td>.
2780: 20 20 20 20 20 20 20 20 20 20 20 3c 69 6e 70 75 <inpu
2790: 74 20 74 79 70 65 3d 22 74 65 78 74 22 20 6e 61 t type="text" na
27a0: 6d 65 3d 22 6f 70 74 69 6f 6e 5f 64 65 73 63 22 me="option_desc"
27b0: 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 >. </td
27c0: 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a >. </tr>.
27d0: 2d 2d 3e 0a 20 20 20 20 20 20 3c 2f 74 61 62 6c -->. </tabl
27e0: 65 3e 0a 20 20 20 20 20 20 3c 69 6e 70 75 74 20 e>. <input
27f0: 74 79 70 65 3d 22 73 75 62 6d 69 74 22 20 6e 61 type="submit" na
2800: 6d 65 3d 22 73 75 62 6d 69 74 22 20 76 61 6c 75 me="submit" valu
2810: 65 3d 22 43 72 65 61 74 65 22 3e 0a 20 20 20 20 e="Create">.
2820: 3c 2f 66 6f 72 6d 3e 0a 20 20 3c 2f 62 6f 64 79 </form>. </body
2830: 3e 0a 3c 2f 68 74 6d 6c 3e 3c 3f 20 7d 20 3f 3e >.</html><? } ?>
2840: 0a .