Index: .travis.yml =================================================================== diff -u -re41cd6fdd00e89e687ae721a98bdf40ced200cc9 -r21d837858fb99f9894e8d730dd2bf0caafe1c876 --- .travis.yml (.../.travis.yml) (revision e41cd6fdd00e89e687ae721a98bdf40ced200cc9) +++ .travis.yml (.../.travis.yml) (revision 21d837858fb99f9894e8d730dd2bf0caafe1c876) @@ -1,7 +1,20 @@ language: c sudo: false -addons: - apt: - packages: - - tcl - - tcl-dev \ No newline at end of file +os: + - osx + - linux +compiler: + - gcc + - clang +env: + TCLTAG = core-8-6-branch + TCLTAG = core-8-6-8 + TCLTAG = core-8-5-branch + TCLTAG = core-8-5-19 + TCLTAG = core-8-7-a1 + TCLTAG = core-8-branch +install: + - if [ $TRAVIS_OS_NAME = linux ]; then wget http://kitcreator.rkeene.org/kits/840dec4286102c869d85bae3b0dcd32565e7bf12/tclkit; else wget http://kitcreator.rkeene.org/kits/6967b89da1f6af7b12cdc82819f3bdb13a661242/tclkit; fi + - chmod +x tclkit +script: + - ./tclkit apps/build.tcl $HOME $TCLTAG \ No newline at end of file Index: apps/build.tcl =================================================================== diff -u --- apps/build.tcl (revision 0) +++ apps/build.tcl (revision 21d837858fb99f9894e8d730dd2bf0caafe1c876) @@ -0,0 +1,65 @@ +# linux: http://kitcreator.rkeene.org/kits/840dec4286102c869d85bae3b0dcd32565e7bf12/tclkit +# osx: http://kitcreator.rkeene.org/kits/6967b89da1f6af7b12cdc82819f3bdb13a661242/tclkit + +package require http +package require tar + +proc ::build {HOMEDIR TCLTAG args} { + set tarball "tcl.tar.gz" + + cd $HOMEDIR + + set fh [open $tarball wb+] + try { + + ::http::geturl http://core.tcl.tk/tcl/tarball/$tarball?uuid=$TCLTAG \ + -binary true \ + -channel $fh + + seek $fh 0 + zlib push gunzip $fh + ::tar::untar $fh -chan + + } on error {e opts} { + file delete -force tcl + return -options $opts $e + } finally { + close $fh + file delete $tarball + } + + # exec tar -xzf tcl.tar.gz + # https://stackoverflow.com/questions/22333745/how-does-tcl-exec-work-exactly + + set tclDir [file normalize [file join tcl unix]] + set buildDir [pwd] + + cd $tclDir + exec >@stdout 2>@stderr [file join [pwd] configure] --libdir=$tclDir + exec >@stdout 2>@stderr make + + set tclSh [file join $tclDir tclsh] + + cd $::env(TRAVIS_BUILD_DIR) + exec >@stdout 2>@stderr [file join [pwd] configure] --with-tcl=$tclDir + exec >@stdout 2>@stderr make test +} + +::build {*}$argv + + +# Local variables: +# mode: tcl +# tcl-indent-level: 2 +# indent-tabs-mode: nil +# End: + + + + + + + + + +