Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Modifications to the build process to accomidate linux Added sherpa to the pantheon of bootstrapped packages Removed the autosetup step for toadkits baked into odie autosetup ø |
|---|---|
| Timelines: | family | ancestors | descendants | both | autosetup |
| Files: | files | file ages | folders |
| SHA1: |
99ca0f2d456309b5c6a0ef6aad363ef1 |
| User & Date: | hypnotoad 2015-03-27 18:41:47 |
Context
|
2015-03-27
| ||
| 19:03 | Fixed where sherpa_bootstrap installs sherpa packages check-in: 223625274c user: hypnotoad tags: autosetup | |
| 18:41 | Modifications to the build process to accomidate linux Added sherpa to the pantheon of bootstrapped packages Removed the autosetup step for toadkits baked into odie autosetup ø check-in: 99ca0f2d45 user: hypnotoad tags: autosetup | |
|
2015-03-24
| ||
| 21:20 | Formalizing on ::project(srcdir) as the appropriate flag for file directories Adapted the tea-like template building mechanism from odielib into a general purpose tool check-in: a69c0492a6 user: hypnotoad tags: autosetup | |
Changes
Changes to auto.def.
1 2 3 | ### # Odie autosetup script ### | | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
###
# Odie autosetup script
###
use system
options {
sandbox: with-sandbox: => {Writable location for builds}
download: with-download => {Writable location for downloading source}
tclbranch:release => {Branch of the Tcl core to build against}
tkbranch: => {Branch of the Tk core to build against
* defaults to tclbranch
* if "none" is specified, Tk is disabled}
windowsystem:native => {For platforms with multiple windowing systems, which system to target.
native - The native window system
x11 - An x11 emulation environment
none - Disable Tk support (equivilent to tkbranch=none)
}
64bit:detect => {Enable 64 bit support (default detect)}
fossil: => {Location of native fossil executable (default detect)}
tclsh: => {Location of native tcl shell (default detect)}
}
set ::odie(src_dir) [file dirname [file-normalize [info script]]]
use odie
switch [opt-val 64bit] {
amd64 -
x64 -
x86_64 {
set ::odie(64bit) 1
|
| ︙ | ︙ | |||
75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
if {$::odie(build_tclsh) eq {}} {
set ::odie(build_tclsh) [info nameofexecutable]
} else {
set ::odie_config(tclsh) $::odie(build_tclsh)
}
set ::odie_prog(tclsh) $::odie(build_tclsh)
define ODIE_BUILD_TCLSH $::odie(build_tclsh)
foreach {program required domake} {
zip 1 0
unzip 1 0
tar 1 0
git 0 1
strip 0 0
| > > | 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
if {$::odie(build_tclsh) eq {}} {
set ::odie(build_tclsh) [info nameofexecutable]
} else {
set ::odie_config(tclsh) $::odie(build_tclsh)
}
set ::odie_prog(tclsh) $::odie(build_tclsh)
define ODIE_BUILD_TCLSH $::odie(build_tclsh)
use cc cc-lib odie
foreach {program required domake} {
zip 1 0
unzip 1 0
tar 1 0
git 0 1
strip 0 0
|
| ︙ | ︙ | |||
274 275 276 277 278 279 280 |
if {[llength $value]!=1} {
set value '$value'
}
puts $fout "TK_[string toupper $field]=$value"
}
close $fout
| < < < < < | 277 278 279 280 281 282 283 |
if {[llength $value]!=1} {
set value '$value'
}
puts $fout "TK_[string toupper $field]=$value"
}
close $fout
|
Changes to scripts/common.tcl.
1 2 3 4 | ### # Common suite of routines for the odie boostrap process ### set path [file normalize [file join [file dirname [file normalize [info script]]] ..]] | < > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
###
# Common suite of routines for the odie boostrap process
###
set path [file normalize [file join [file dirname [file normalize [info script]]] ..]]
if {[file exists [file join $path odieConfig.tcl]]} {
source [file join $path odieConfig.tcl]
}
lappend ::auto_path [file join $::odie(prefix) lib]
set ::autosetup(exe) $::argv0
set ::autosetup(istcl) 1
set ::autosetup(start) [clock millis]
set ::autosetup(installed) 0
set ::autosetup(msg-checking) 0
set ::autosetup(msg-quiet) 0
set ::autosetup(msg-timing) 0
|
| ︙ | ︙ | |||
73 74 75 76 77 78 79 80 81 82 83 |
proc ::sherpa_bootstrap::sandbox_path pkg {
return [file join $::odie(sandbox) $pkg]
}
proc ::sherpa_bootstrap::build_gnumake {pkg action} {
if {$action eq "install"} {
set PKG_SRCPATH [sandbox_path $pkg]
cd ${PKG_SRCPATH}
doexec $::odie(fossil) update
| > | | | < < | > > > > > | 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
proc ::sherpa_bootstrap::sandbox_path pkg {
return [file join $::odie(sandbox) $pkg]
}
proc ::sherpa_bootstrap::build_gnumake {pkg action} {
puts "BUILD GNUMAKE $pkg $action"
if {$action eq "install"} {
set PKG_SRCPATH [sandbox_path $pkg]
cd ${PKG_SRCPATH}
doexec $::odie(fossil) update
set args [list --prefix=$::odie(local_repo)]
if {$::odie(host) != $::odie(target)} {
lappend args --host=$::odie(host)
}
if {[file exists ${PKG_SRCPATH}/auto.def]} {
doexec [info nameofexecutable] $::odie(odie_src_dir)/autosetup/autosetup {*}$args
} elseif {![file exists ${PKG_SRCPATH}/Makefile]} {
lappend args --libdir=$::odie(local_repo)/lib
doexec sh ./configure {*}$args
}
if [catch {
domake install
} err] {
puts "Died on $err"
exit 1
}
|
| ︙ | ︙ | |||
183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 |
}
if {!$::odie(windows)} {
::sherpa_bootstrap::distribution tclx {
get_proc download_fossil
build_proc build_gnumake
}
::sherpa_bootstrap::distribution kettle {
get_proc download_fossil
requires {tclx tcllib tklib}
build_proc build_kettle
}
}
::sherpa_bootstrap::distribution tclvfs {
get_proc download_fossil
requires tcllib
build_proc build_gnumake
}
::sherpa_bootstrap::distribution taolib {
| > > | 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 |
}
if {!$::odie(windows)} {
::sherpa_bootstrap::distribution tclx {
get_proc download_fossil
build_proc build_gnumake
}
if 0 {
::sherpa_bootstrap::distribution kettle {
get_proc download_fossil
requires {tclx tcllib tklib}
build_proc build_kettle
}
}
}
::sherpa_bootstrap::distribution tclvfs {
get_proc download_fossil
requires tcllib
build_proc build_gnumake
}
::sherpa_bootstrap::distribution taolib {
|
| ︙ | ︙ | |||
216 217 218 219 220 221 222 223 224 225 226 227 228 229 |
::sherpa_bootstrap::distribution odielib {
get_proc download_fossil
fossil_branch autosetup
requires {tcllib}
build_proc build_gnumake
}
proc ::doexec args {
exec {*}$args >&@ stdout
}
###
# Make sure the odielib toolkit is downloaded
| > > > > > > > | 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 |
::sherpa_bootstrap::distribution odielib {
get_proc download_fossil
fossil_branch autosetup
requires {tcllib}
build_proc build_gnumake
}
::sherpa_bootstrap::distribution sherpa {
get_proc download_fossil
fossil_branch trunk
requires {tcllib odielib taolib}
build_proc build_gnumake
}
proc ::doexec args {
exec {*}$args >&@ stdout
}
###
# Make sure the odielib toolkit is downloaded
|
| ︙ | ︙ |
Changes to scripts/sherpa.tcl.
| ︙ | ︙ |