Index: .fossil-settings/ignore-glob
==================================================================
--- .fossil-settings/ignore-glob
+++ .fossil-settings/ignore-glob
@@ -144,6 +144,6 @@
kitdll/buildsrc/kitdll-0.0/vfs_kitdll_data_tcl.c
kitdll/buildsrc/kitdll-0.0/vfs_kitdll.tcl.h
kitdll/build/kitdll-*
kitdll/build/kitdll-*/*
kitdll/build.log
-libtclkit-*.*
+libtclkit*.*
Index: README
==================================================================
--- README
+++ README
@@ -143,10 +143,21 @@
10. KC_TCL_STATICPKGS
Set this variable to the value "1" to attempt to force the
packages included in the "pkgs" directory of Tcl 8.6+
to be compiled statically
+
+ 11. KITCREATOR_STATIC_KITDLL
+ Set this variable to the value "1" to build a static KitDLL.
+ This only has an affect when KITCREATOR_PKGS specifies that
+ "kitdll" is to be built (e.g., KITCREATOR_PKGS='kitdll')
+
+ 12. KITCREATOR_ITCL3_FORCE
+ Set this variable to the value "1" to build [incr Tcl] version
+ 3.x even with Tcl 8.6+. Note that [incr Tcl] 4.x will still
+ be built as part of Tcl 8.6+ (unless excluded using
+ KITCREATOR_MINBUILD).
Cross compiling Environment Variables:
1. CC
Index: build/make-kit-macosx-amd64
==================================================================
--- build/make-kit-macosx-amd64
+++ build/make-kit-macosx-amd64
@@ -2,6 +2,6 @@
CC='gcc -arch x86_64'
CXX='g++ -arch x86_64'
export CC CXX
-./build/make-kit-powermacg5 "$@" --enable-aqua --host=x86_64-apple-darwin9
+./build/make-kit-remote buildb.wu.ac.at "$@" --enable-aqua --host=x86_64-apple-darwin9
Index: build/make-kit-macosx-i386
==================================================================
--- build/make-kit-macosx-i386
+++ build/make-kit-macosx-i386
@@ -2,6 +2,6 @@
CC='gcc -arch i386'
CXX='g++ -arch i386'
export CC CXX
-./build/make-kit-powermacg5 "$@" --enable-aqua --host=i386-apple-darwin9
+./build/make-kit-remote buildb.wu.ac.at "$@" --enable-aqua --host=i386-apple-darwin9
Index: build/make-kit-macosx-ppc
==================================================================
--- build/make-kit-macosx-ppc
+++ build/make-kit-macosx-ppc
@@ -1,3 +1,3 @@
#! /bin/sh
-./build/make-kit-powermacg5 "$@" --enable-aqua
+./build/make-kit-remote powermacg5.vpn.oc9.org "$@" --enable-aqua
Index: build/make-kit-macosx-ppc64
==================================================================
--- build/make-kit-macosx-ppc64
+++ build/make-kit-macosx-ppc64
@@ -2,6 +2,6 @@
CC='gcc -arch ppc64'
CXX='g++ -arch ppc64'
export CC CXX
-./build/make-kit-powermacg5 "$@" --enable-aqua
+./build/make-kit-remote powermacg5.vpn.oc9.org "$@" --enable-aqua
DELETED build/make-kit-powermacg5
Index: build/make-kit-powermacg5
==================================================================
--- build/make-kit-powermacg5
+++ /dev/null
@@ -1,39 +0,0 @@
-#! /bin/bash
-
-if [ "$(uname -s)" != 'Darwin' ]; then
- buildid="$(( hostname; id -u; pwd ) | openssl sha1 | sed 's@^.*= *@@')"
- workdir="/tmp/work-kitcreator-${buildid}"
-
- rsync -aq --delete -e ssh . powermacg5.vpn.oc9.org:${workdir}/ || exit 1
-
- (
- newArgv=("$@"); declare -p newArgv
- declare -p workdir
- export
- cat << \_EOF_
-cd "${workdir}" || exit 1
-export PATH="${PATH}:/usr/local/bin:/usr/bin"
-./kitcreator "${newArgv[@]}"
-exit "$?"
-_EOF_
- ) | ssh powermacg5.vpn.oc9.org bash -s
- retval="$?"
-
- rm -f */build.log
- ssh powermacg5.vpn.oc9.org "workdir='${workdir}'; "'cd "${workdir}" && tar -cf - tclkit-* libtclkit* */build.log 2>/dev/null' | tar -xf -
-
- # Clean-up if appropriate
- case "$(pwd)" in
- /home/rkeene/*)
- ;;
- *)
- ssh powermacg5.vpn.oc9.org "workdir='${workdir}'; "'rm -rf "${workdir}"'
- ;;
- esac
-
- exit "${retval}"
-else
- exec ./kitcreator "$@"
-fi
-
-exit 1
ADDED build/make-kit-remote
Index: build/make-kit-remote
==================================================================
--- /dev/null
+++ build/make-kit-remote
@@ -0,0 +1,54 @@
+#! /bin/bash
+
+TARGET="$1"
+shift
+
+buildid="$(( hostname; id -u; pwd ) | openssl sha1 | sed 's@^.*= *@@')"
+workdir="/tmp/work-kitcreator-${buildid}"
+
+hostUp='0'
+for try in {1..3}; do
+ checkOk="$(timeout 300 ssh -q "${TARGET}" 'echo ok' 2>/dev/null)"
+
+ if [ "${checkOk}" = 'ok' ]; then
+ hostUp='1'
+ break
+ fi
+
+ sleep 10
+done
+
+if [ "${hostUp}" != '1' ]; then
+ echo "Unable to establish a link to the remote system." >&2
+
+ exit 1
+fi
+
+rsync -aq --delete -e ssh . "${TARGET}:${workdir}/" || exit 1
+
+(
+ newArgv=("$@"); declare -p newArgv
+ declare -p workdir
+ export
+ cat << \_EOF_
+cd "${workdir}" || exit 1
+export PATH="${PATH}:/usr/local/bin:/usr/bin"
+./kitcreator "${newArgv[@]}"
+exit "$?"
+_EOF_
+) | ssh "${TARGET}" bash -s
+retval="$?"
+
+rm -f */build.log
+ssh "${TARGET}" "workdir='${workdir}'; "'cd "${workdir}" && tar -cf - tclkit-* libtclkit* */build.log 2>/dev/null' | tar -xf -
+
+# Clean-up if appropriate
+case "$(pwd)" in
+ /home/rkeene/*)
+ ;;
+ *)
+ ssh "${TARGET}" "workdir='${workdir}'; "'rm -rf "${workdir}"'
+ ;;
+esac
+
+exit "${retval}"
Index: build/makearch.info
==================================================================
--- build/makearch.info
+++ build/makearch.info
@@ -14,11 +14,11 @@
# each time a "makearch" is done.
#
# If @@SVNLCR@@ is used anywhere in this version number, it will be
# replaced with the highest last-changed-rev from the output of
# svn info -R (or 0)
-VERS="0.9.2"
+VERS="0.9.5"
# Space sperated list of documents, if they exist, they will be
# prefixed with the contents of the DOC_HDR file and substitution
# will occur:
# @@UTIL@@ becomes the utility name ${UTIL}
Index: build/test/test
==================================================================
--- build/test/test
+++ build/test/test
@@ -1,8 +1,8 @@
#! /bin/bash
-VERSIONS="8.5.18 8.6.4 fossil_trunk"
+VERSIONS="8.5.19 8.6.5 fossil_trunk"
# Find the base directory
for x in 1 2 3 4 __fail__; do
if [ "${x}" = "__fail__" ]; then
echo 'Unable to find KitCreator, aborting.' >&2
ADDED build/utils/download-tclkit.tcl
Index: build/utils/download-tclkit.tcl
==================================================================
--- /dev/null
+++ build/utils/download-tclkit.tcl
@@ -0,0 +1,64 @@
+#!/usr/bin/env tclsh
+# Tclkit Downloader v0.2.2 -- download Tclkits created with the KitCreator
+# Web Interface. Works with Tcl 8.5+ and Jim Tcl v0.75+. This script requires
+# that cURL be available through [exec curl].
+# Copyright (C) 2016, dbohdan.
+# License: MIT.
+proc download url {
+ if {![string match */buildinfo $url]} {
+ # Guess at what the buildinfo URL might be if we are given, e.g., a
+ # building page URL.
+ set url [string map {/building {}} $url]
+ set checksum {}
+ foreach piece [split $url /] {
+ if {[regexp {^[a-z0-9]{40}$} $piece checksum]} {
+ break
+ }
+ }
+ if {$checksum eq {}} {
+ error "can't determine how to get the from the URL \"$url\" to the\
+ buildinfo"
+ }
+ set url [regexp -inline "^.*$checksum" $url]/buildinfo
+ }
+
+ set buildInfo [exec curl -s $url]
+
+ set filename [dict get $buildInfo filename]
+ append filename -[dict get $buildInfo tcl_version]
+ append filename -[dict get $buildInfo platform]
+
+ if {[llength [dict get $buildInfo packages]] > 0} {
+ foreach option {staticpkgs threaded debug} {
+ if {[dict exists $buildInfo options $option] &&
+ [dict get $buildInfo options $option]} {
+ append filename -$option
+ }
+ }
+ append filename -[join [dict get $buildInfo packages] -]
+ }
+
+ set tail [file tail $url]
+ # We can't use [file dirname] here because it will transform
+ # "http://example.com/" into "http:/example.com/".
+ set baseUrl [string range $url 0 end-[string length $tail]]
+ if {[string index $baseUrl end] ne {/}} {
+ append baseUrl /
+ }
+ set tclkit $baseUrl[dict get $buildInfo filename]
+
+ puts "Downloading $tclkit to $filename..."
+ exec curl -o $filename $tclkit >@ stdout 2>@ stderr
+
+ catch {exec chmod +x $filename}
+}
+
+set url [lindex $argv 0]
+if {$url eq {}} {
+ puts "usage: $argv0 url"
+ puts {The URL should be a KitCreator Web Interface buildinfo page.\
+ If it is instead, e.g., a building page or a direct Tclkit download\
+ URL, the script will try to guess where the buildinfo is.}
+} else {
+ download $url
+}
Index: build/web/building.cgi
==================================================================
--- build/web/building.cgi
+++ build/web/building.cgi
@@ -71,10 +71,15 @@
}
"staticlibssl" {
if {$value} {
append description ", Statically linked to LibSSL"
}
+ }
+ "staticpkgs" {
+ if {$value} {
+ append description ", With Tcl 8.6+ pkgs/ directory all packages statically linked in"
+ }
}
"storage" {
switch -- $value {
"mk4" {
append description ", Metakit-based"
Index: build/web/kitcreator.vfs/index.rvt
==================================================================
--- build/web/kitcreator.vfs/index.rvt
+++ build/web/kitcreator.vfs/index.rvt
@@ -17,14 +17,16 @@
set tcl_versions(8.5.15) 8.5.15
set tcl_versions(8.5.16) 8.5.16
set tcl_versions(8.5.17) 8.5.17
set tcl_versions(8.5.18) 8.5.18
+ set tcl_versions(8.5.19) 8.5.19
set tcl_versions(8.6.1) 8.6.1
set tcl_versions(8.6.2) 8.6.2
set tcl_versions(8.6.3) 8.6.3
set tcl_versions(8.6.4) 8.6.4
+ set tcl_versions(8.6.5) 8.6.5
set tcl_versions(fossil_trunk) "Fossil Trunk Tip"
set platforms(android-arm) "Android/ARM"
set platforms(freebsd-amd64) "FreeBSD/amd64"
set platforms(hpux-hppa64) "HP-UX/PA-RISC 2.0"
@@ -120,10 +122,16 @@
set build_options(minbuild) 1
}
"option_staticlibssl" {
set build_options(staticlibssl) 1
}
+ "option_staticpkgs" {
+ set build_options(staticpkgs) 1
+ }
+ "option_tclutfmax6" {
+ set build_options(tclutfmax6) 1
+ }
"option_storage" {
switch -- $args($arg) {
"mk4" - "zip" - "cvfs" {
set build_options(storage) $args($arg)
}
@@ -359,10 +367,12 @@
Kit: Threaded
Kit: Debugging Build
Kit: Build Library (KitDLL)
Kit: Always link Tk dynamically (if Tk is built)
Kit: "Minimal" build (remove extra packages shipped as part of Tcl and reduce encodings)
+ Kit: Statically link packages in pkgs directory
+ Kit: TCL_UTF_MAX=6 (incompatibility with standard Tcl)
TLS: Statically link to LibSSL
Kit Storage: |
Index: build/web/process_queue
==================================================================
--- build/web/process_queue
+++ build/web/process_queue
@@ -106,10 +106,20 @@
}
"staticlibssl" {
if {$value} {
set ::env(KC_TLS_LINKSSLSTATIC) 1
}
+ }
+ "staticpkgs" {
+ if {$value} {
+ set ::env(KC_TCL_STATICPKGS) 1
+ }
+ }
+ "tclutfmax6" {
+ if {$value} {
+ set ::env(KC_TCL_UTF_MAX) 6
+ }
}
"staticmk4" {
}
}
}
@@ -125,11 +135,11 @@
catch {
set cmd [list $script $buildinfo(tcl_version) {*}$args]
set fd [open "${outfile}.log" w+]
puts $fd "Running: export KITCREATOR_PKGS=\"$::env(KITCREATOR_PKGS)\""
- foreach variable [list STRIP STATICTK KITCREATOR_MINENCODINGS KITCREATOR_MINBUILD KC_TLS_LINKSSLSTATIC] {
+ foreach variable [list STRIP STATICTK KITCREATOR_MINENCODINGS KITCREATOR_MINBUILD KC_TLS_LINKSSLSTATIC KC_TCL_STATICPKGS KC_TCL_UTF_MAX] {
if {[info exists ::env($variable)]} {
puts $fd "Running: export $variable=\"$::env($variable)\""
}
}
ADDED common/helpers/download
Index: common/helpers/download
==================================================================
--- /dev/null
+++ common/helpers/download
@@ -0,0 +1,120 @@
+#! /usr/bin/env bash
+
+url="$1"
+file="$2"
+hash="$3"
+
+if [ "${#}" != '3' ]; then
+ echo 'Usage: download ' >&2
+
+ exit 1
+fi
+
+for tryDownloadProgram in wget curl; do
+ tryDownloadProgramPath="$(which "${tryDownloadProgram}" 2>/dev/null)"
+
+ if [ -z "${tryDownloadProgramPath}" ]; then
+ continue
+ fi
+
+ if [ -x "${tryDownloadProgramPath}" ]; then
+ downloadProgram="${tryDownloadProgram}"
+ downloadProgramPath="${tryDownloadProgramPath}"
+
+ break
+ fi
+done
+
+case "${hash}" in
+ ????????????????????????????????????????)
+ hashMethod='sha1'
+ ;;
+ ????????????????????????????????????????????????????????????????)
+ hashMethod='sha256'
+ ;;
+ -)
+ hashMethod='null'
+ ;;
+ *)
+ echo "Unknown hash method for hash ${hash}" >&2
+
+ exit 1
+ ;;
+esac
+
+function downloadFile() {
+ local file urls
+ local downloadProgramArgs
+ local url
+ local authoritativeURL
+
+ file="$1"
+ shift
+
+ urls=("$@")
+
+ authoritativeURL="${urls[@]: -1}"
+
+ case "${downloadProgram}" in
+ curl)
+ downloadProgramArgs=(--header "X-Cache-URL: ${authoritativeURL}" --location --insecure --fail --output "${file}")
+ ;;
+ wget)
+ downloadProgramArgs=(--header="X-Cache-URL: ${authoritativeURL}" --no-check-certificate --output-document="${file}")
+ ;;
+ esac
+
+ for url in "${urls[@]}" __fail__; do
+ rm -f "${file}"
+
+ if [ "${url}" = '__fail__' ]; then
+ return 1
+ fi
+
+ "${downloadProgram}" "${downloadProgramArgs[@]}" "${url}" && break
+ done
+
+ return 0
+}
+
+function verifyHash() {
+ local file hash hashMethod
+ local checkHash
+
+ file="$1"
+ hash="$2"
+ hashMethod="$3"
+
+ if [ "${hashMethod}" = 'null' ]; then
+ return 0
+ fi
+
+ checkHash="$(openssl dgst "-${hashMethod}" "${file}" | sed 's@.*= *@@')"
+
+ if [ "${checkHash}" = "${hash}" ]; then
+ return 0
+ fi
+
+ echo "Hash (${hashMethod}) mismatch: Got: ${checkHash}; Expected: ${hash}" >&2
+
+ return 1
+}
+
+rm -f "${file}.new" || exit 1
+
+urls=("${url}")
+
+if [ "${hashMethod}" != 'null' ]; then
+ urls=(
+ "http://hashcache.rkeene.org/${hashMethod}/${hash}"
+ "${urls[@]}"
+ )
+fi
+
+downloadFile "${file}.new" "${urls[@]}" || exit 1
+
+verifyHash "${file}.new" "${hash}" "${hashMethod}" || exit 1
+
+mv "${file}.new" "${file}" || exit 1
+
+exit 0
Index: dbus/build.sh
==================================================================
--- dbus/build.sh
+++ dbus/build.sh
@@ -19,10 +19,11 @@
# The dbus package
DBUSVERS="2.0"
SRC="src/dbus-${DBUSVERS}.tar.gz"
SRCURL="http://sourceforge.net/projects/dbus-tcl/files/dbus/${DBUSVERS}/dbus-${DBUSVERS}.tar.gz/download"
+SRCHASH='-'
BUILDDIR="$(pwd)/build/dbus-${DBUSVERS}"
OUTDIR="$(pwd)/out"
INSTDIR="$(pwd)/inst"
export DBUSVERS SRC SRCURL BUILDDIR OUTDIR INSTDIR
@@ -35,13 +36,11 @@
if [ ! -f "${SRC}" ]; then
mkdir 'src' >/dev/null 2>/dev/null
if [ ! -d 'buildsrc' ]; then
- rm -f "${SRC}.tmp"
- wget -O "${SRC}.tmp" "${SRCURL}" || exit 1
- mv "${SRC}.tmp" "${SRC}"
+ download "${SRCURL}" "${SRC}" "${SRCHASH}" || exit 1
fi
fi
(
cd 'build' || exit 1
Index: itcl/build.sh
==================================================================
--- itcl/build.sh
+++ itcl/build.sh
@@ -9,14 +9,15 @@
echo 'ERROR: The TCLVERS environment variable is not set' >&2
exit 1
fi
-ITCLVERS="3.4.2"
+ITCLVERS="3.4.3"
ITCLVERSEXTRA=""
SRC="src/itcl-${ITCLVERS}.tar.gz"
-SRCURL="http://sourceforge.net/projects/incrtcl/files/%5BIncr%20Tcl_Tk%5D-source/${ITCLVERS}/itcl${ITCLVERS}${ITCLVERSEXTRA}.tar.gz/download"
+SRCURL="http://sourceforge.net/projects/incrtcl/files/%5BIncr%20Tcl_Tk%5D-source/Itcl%20${ITCLVERS}/itcl${ITCLVERS}${ITCLVERSEXTRA}.tar.gz/download"
+SRCHASH='28b55f44a2fd450862a6f12982c00c1d03d767f62a834d83945a616e06068887'
BUILDDIR="$(pwd)/build/itcl${ITCLVERS}"
OUTDIR="$(pwd)/out"
INSTDIR="$(pwd)/inst"
export ITCLVERS SRC SRCURL BUILDDIR OUTDIR INSTDIR
@@ -30,10 +31,15 @@
rm -rf 'build' 'out' 'inst'
mkdir 'build' 'out' 'inst' || exit 1
# Determine if Itcl is even needed
(
+ # Always build if we are being forced to build
+ if [ "${KITCREATOR_ITCL3_FORCE}" = '1' ]; then
+ exit 0
+ fi
+
TCL_VERSION="unknown"
if [ -f "${TCLCONFIGDIR}/tclConfig.sh" ]; then
source "${TCLCONFIGDIR}/tclConfig.sh"
fi
@@ -57,13 +63,11 @@
if [ ! -f "${SRC}" ]; then
mkdir 'src' >/dev/null 2>/dev/null
if [ ! -d 'buildsrc' ]; then
- rm -f "${SRC}.tmp"
- wget -O "${SRC}.tmp" "${SRCURL}" || exit 1
- mv "${SRC}.tmp" "${SRC}"
+ download "${SRCURL}" "${SRC}" "${SRCHASH}" || exit 1
fi
fi
(
cd 'build' || exit 1
Index: kitcreator
==================================================================
--- kitcreator
+++ kitcreator
@@ -11,17 +11,21 @@
shift
;;
esac
# Determine which Tcl version to build
-TCLVERS="8.6.4"
+TCLVERS="8.6.5"
if echo "$1" | grep '^[0-9][0-9]*\.' >/dev/null || echo "$1" | egrep '^(cvs|fossil)_' >/dev/null; then
TCLVERS="$1"
shift
fi
export TCLVERS
+
+# Add the helpers directory to the path
+PATH="$(cd "$(dirname "$(which "$0")")" && pwd)"/common/helpers:"${PATH}"
+export PATH
# Verify that "pre.sh" has been run if this is a development snapshot of
# KitCreator
if [ -f 'build/pre.sh' ]; then
if ! find 'kitsh/buildsrc/' -name configure -type f 2>/dev/null | grep configure >/dev/null; then
@@ -155,10 +159,37 @@
break
fi
done
export TCLSH_NATIVE
+
+# Verify that each component is happy with the environment
+validatefailed="0"
+for pkg in tcl tclvfs zlib ${KITCREATOR_PKGS} kitsh; do
+ failed='0'
+ if [ -f "${pkg}/.success" ]; then
+ continue
+ fi
+
+ if [ -x "${pkg}/validate.sh" ]; then
+ (
+ cd "${pkg}" >/dev/null 2>/dev/null || exit 1
+
+ ./validate.sh 3>&1 4>&2 > build.log 2>&1 || exit 1
+ ) || failed="1"
+
+ if [ "${failed}" = '1' ]; then
+ echo "Failed pre-requisite check for ${pkg}" >&2
+
+ validatefailed='1'
+ fi
+ fi
+done
+
+if [ "${validatefailed}" = '1' ]; then
+ exit 1
+fi
# Do build
failedpkgs=""
buildfailed="0"
for pkg in tcl tclvfs zlib ${KITCREATOR_PKGS} kitsh; do
Index: kitsh/build.sh
==================================================================
--- kitsh/build.sh
+++ kitsh/build.sh
@@ -34,11 +34,11 @@
rm -rf 'build' 'out' 'inst'
mkdir 'out' 'inst' || exit 1
(
- cp -r 'buildsrc' 'build'
+ cp -rp 'buildsrc' 'build'
cd "${BUILDDIR}" || exit 1
# Fix up archives that Tcl gets wrong
for archive in ../../../tcl/inst/lib/dde*/tcldde*.a ../../../tcl/inst/lib/reg*/tclreg*.a; do
if [ ! -f "${archive}" ]; then
@@ -113,11 +113,15 @@
# Cleanup
rm -f kit kit.exe tclsh tclsh.exe
# Determine if target is KitDLL or KitSH
if [ "${KITTARGET}" = "kitdll" ]; then
- CONFIGUREEXTRA="${CONFIGUREEXTRA} --enable-kitdll"
+ if [ "${KITCREATOR_STATIC_KITDLL}" = '1' ]; then
+ CONFIGUREEXTRA="${CONFIGUREEXTRA} --enable-kitdll=static"
+ else
+ CONFIGUREEXTRA="${CONFIGUREEXTRA} --enable-kitdll"
+ fi
fi
# Compile Kit
if [ -z "${ZLIBDIR}" ]; then
echo "Running: ./configure --with-tcl=\"${TCLCONFIGDIR}\" ${CONFIGUREEXTRA}"
@@ -166,11 +170,11 @@
for chkkittarget in libtclkit*.*; do
if [ ! -f "${chkkittarget}" ]; then
continue
fi
- if echo "${chkkittarget}" | egrep '\.(lib|def|a)$'; then
+ if echo "${chkkittarget}" | egrep '\..*\.(lib|def|a)$'; then
continue
fi
KITTARGET_NAME="./${chkkittarget}"
Index: kitsh/buildsrc/kitsh-0.0/Makefile.common.in
==================================================================
--- kitsh/buildsrc/kitsh-0.0/Makefile.common.in
+++ kitsh/buildsrc/kitsh-0.0/Makefile.common.in
@@ -14,10 +14,12 @@
EXTRA_KIT_DEPS = @EXTRA_KIT_DEPS@
EXTRA_VFS_OBJS = @EXTRA_VFS_OBJS@
TCLSH_NATIVE = tclsh
LDFLAGS_ADD = @LDFLAGS_ADD@
DIR2C_FLAGS = @DIR2C_FLAGS@
+AR = @AR@
+RANLIB = @RANLIB@
# Build targets
## VFS Build
cvfs_data_tcl.o: cvfs_data_tcl.c
cvfs_data_tcl.c: dir2c.tcl starpack.vfs cvfs_data.c
@@ -43,10 +45,11 @@
kit.res.o: kit.rc tclkit.ico
$(RC) -o kit.res.o $(CPPFLAGS) kit.rc
# Cleanup routines
clean:
+ rm -rf __TMP__
rm -f kit kit.res.o
rm -f libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@
rm -f $(OBJS) $(EXTRA_OBJS) $(EXTRA_VFS_OBJS)
rm -f cvfs_data_tcl.c cvfs_data_tcl.o
rm -f cvfs.tcl.h
Index: kitsh/buildsrc/kitsh-0.0/Makefile.kitdll.in
==================================================================
--- kitsh/buildsrc/kitsh-0.0/Makefile.kitdll.in
+++ kitsh/buildsrc/kitsh-0.0/Makefile.kitdll.in
@@ -1,11 +1,14 @@
OBJS = kitInit.o rechan.o pwb.o zlib.o
# Default target
-all: libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@
+all: @TARGET@
-include Makefile.common
+
+kitdll: libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@
+kitdll-static: libtclkit@KITDLL_LIB_VERSION@.a
## DLL Build
libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@: $(OBJS) $(EXTRA_KIT_DEPS) $(EXTRA_OBJS) $(EXTRA_VFS_OBJS)
$(CC) $(CPPFLAGS) $(CFLAGS) -o libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@ $(OBJS) $(EXTRA_OBJS) $(EXTRA_VFS_OBJS) $(LDFLAGS) $(SHOBJLDFLAGS) @WHOLEARCHIVE@ $(ARCHS) @NOWHOLEARCHIVE@ $(LIBS) $(LDFLAGS_ADD)
-for striplib in $(STRIPLIBS); do $(OBJCOPY) --weaken "$${striplib}"; done
@@ -12,13 +15,27 @@
-mv libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@ libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@.safe; \
$(CC) $(CPPFLAGS) $(CFLAGS) -o libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@ $(OBJS) $(EXTRA_OBJS) $(EXTRA_VFS_OBJS) $(LDFLAGS) $(SHOBJLDFLAGS) @WHOLEARCHIVE@ $(ARCHS) @NOWHOLEARCHIVE@ $(LIBS) || \
mv libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@.safe libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@
-rm -f libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@.safe
+## Static archive build
+libtclkit@KITDLL_LIB_VERSION@.a: $(OBJS) $(EXTRA_KIT_DEPS) $(EXTRA_OBJS) $(EXTRA_VFS_OBJS)
+ rm -f libtclkit@KITDLL_LIB_VERSION@.a.new
+ rm -rf __TMP__
+ mkdir __TMP__
+ for arch in $(ARCHS); do ( cd __TMP__ && ar x ../$${arch} ); done
+ $(OBJCOPY) --redefine-sym Tcl_Init=Tcl_InitReal --redefine-sym _Tcl_Init=_Tcl_InitReal __TMP__/tclInterp.o
+ $(AR) cr libtclkit@KITDLL_LIB_VERSION@.a.new $(OBJS) $(EXTRA_OBJS) $(EXTRA_VFS_OBJS) __TMP__/*.o
+ rm -rf __TMP__
+ $(RANLIB) libtclkit@KITDLL_LIB_VERSION@.a.new
+ mv libtclkit@KITDLL_LIB_VERSION@.a.new libtclkit@KITDLL_LIB_VERSION@.a
+
# Test driver
tclsh.o: tclsh.c
-tclsh: tclsh.o $(EXTRA_OBJS) libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@
+tclsh: tclsh.o $(EXTRA_OBJS) @TARGET@
$(CC) $(CPPFLAGS) $(CFLAGS) -o tclsh tclsh.o $(EXTRA_OBJS) -L. -ltclkit@KITDLL_LIB_VERSION@ $(LDRUNPATH)
wish.o: wish.c
wish: wish.o $(EXTRA_OBJS) libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@
$(CC) $(CPPFLAGS) $(CFLAGS) $(WISH_CFLAGS) -o wish wish.o $(EXTRA_OBJS) -L. -ltclkit@KITDLL_LIB_VERSION@ $(LDRUNPATH)
+
+.PHONY: kitdll kitdll-static
Index: kitsh/buildsrc/kitsh-0.0/boot.tcl
==================================================================
--- kitsh/buildsrc/kitsh-0.0/boot.tcl
+++ kitsh/buildsrc/kitsh-0.0/boot.tcl
@@ -163,23 +163,30 @@
}
# Now that the initialization is complete, mount the user VFS if needed
## Mount the VFS from the Shared Object
if {[info exists ::TCLKIT_INITVFS] && [info exists ::tclKitFilename]} {
- catch {
+ if {![catch {
vfs::zip::Mount $::tclKitFilename "/.KITDLL_USER"
+ }]} {
+ if {[file exists "/.KITDLL_USER"]} {
+ lappend auto_path [file normalize "/.KITDLL_USER/lib"]
+ }
}
}
- lappend auto_path "/.KITDLL_USER/lib"
+
## Mount the VFS from executable
if {[info exists ::TCLKIT_INITVFS]} {
- catch {
+ if {![catch {
vfs::zip::Mount [info nameofexecutable] "/.KITDLL_APP"
+ }]} {
+ if {[file exists "/.KITDLL_APP"]} {
+ lappend auto_path [file normalize "/.KITDLL_APP/lib"]
+ }
}
}
- lappend auto_path "/.KITDLL_APP/lib"
}
# Clean up
unset -nocomplain ::zip::max_header_seek
unset -nocomplain ::TCLKIT_TYPE ::TCLKIT_INITVFS
Index: kitsh/buildsrc/kitsh-0.0/config.guess
==================================================================
--- kitsh/buildsrc/kitsh-0.0/config.guess
+++ kitsh/buildsrc/kitsh-0.0/config.guess
@@ -1,16 +1,14 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-# 2011, 2012 Free Software Foundation, Inc.
+# Copyright 1992-2016 Free Software Foundation, Inc.
-timestamp='2012-02-10'
+timestamp='2016-04-02'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
@@ -20,23 +18,21 @@
# along with this program; if not, see .
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Originally written by Per Bothner. Please send patches (context
-# diff format) to and include a ChangeLog
-# entry.
-#
-# This script attempts to guess a canonical system name similar to
-# config.sub. If it succeeds, it prints the system name on stdout, and
-# exits with 0. Otherwise, it exits with 1.
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
+#
+# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
#
# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
+#
+# Please send patches to .
+
me=`echo "$0" | sed -e 's,.*/,,'`
usage="\
Usage: $0 [OPTION]
@@ -52,13 +48,11 @@
version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-Free Software Foundation, Inc.
+Copyright 1992-2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
help="
@@ -135,10 +129,31 @@
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+case "${UNAME_SYSTEM}" in
+Linux|GNU|GNU/*)
+ # If the system lacks a compiler, then just pick glibc.
+ # We could probably try harder.
+ LIBC=gnu
+
+ eval $set_cc_for_build
+ cat <<-EOF > $dummy.c
+ #include
+ #if defined(__UCLIBC__)
+ LIBC=uclibc
+ #elif defined(__dietlibc__)
+ LIBC=dietlibc
+ #else
+ LIBC=gnu
+ #endif
+ EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
+ ;;
+esac
# Note: order is significant - the case branches are not exclusive.
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:NetBSD:*:*)
@@ -151,24 +166,31 @@
# object file format.
#
# Note: NetBSD doesn't particularly care about the vendor
# portion of the name. We always set it to "unknown".
sysctl="sysctl -n hw.machine_arch"
- UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
- /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+ UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
+ /sbin/$sysctl 2>/dev/null || \
+ /usr/sbin/$sysctl 2>/dev/null || \
+ echo unknown)`
case "${UNAME_MACHINE_ARCH}" in
armeb) machine=armeb-unknown ;;
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
sh5el) machine=sh5le-unknown ;;
+ earmv*)
+ arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+ endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
+ machine=${arch}${endian}-unknown
+ ;;
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
esac
# The Operating System including object format, if it has switched
# to ELF recently, or will in the future.
case "${UNAME_MACHINE_ARCH}" in
- arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax)
eval $set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ELF__
then
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
@@ -179,10 +201,17 @@
fi
;;
*)
os=netbsd
;;
+ esac
+ # Determine ABI tags.
+ case "${UNAME_MACHINE_ARCH}" in
+ earm*)
+ expr='s/^earmv[0-9]/-eabi/;s/eb$//'
+ abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
+ ;;
esac
# The OS release
# Debian GNU/NetBSD machines have a different userland, and
# thus, need a distinct triplet. However, they do not need
# kernel version information, so it can be replaced with a
@@ -190,22 +219,30 @@
case "${UNAME_VERSION}" in
Debian*)
release='-gnu'
;;
*)
- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
;;
esac
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "${machine}-${os}${release}"
+ echo "${machine}-${os}${release}${abi}"
+ exit ;;
+ *:Bitrig:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
exit ;;
*:OpenBSD:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
exit ;;
+ *:LibertyBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
+ exit ;;
*:ekkoBSD:*:*)
echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
exit ;;
*:SolidBSD:*:*)
echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
@@ -214,10 +251,13 @@
echo powerpc-unknown-mirbsd${UNAME_RELEASE}
exit ;;
*:MirBSD:*:*)
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
exit ;;
+ *:Sortix:*:*)
+ echo ${UNAME_MACHINE}-unknown-sortix
+ exit ;;
alpha:OSF1:*:*)
case $UNAME_RELEASE in
*4.0)
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
;;
@@ -230,46 +270,46 @@
# covers most systems running today. This code pipes the CPU
# types through head -n 1, so we only detect the type of CPU 0.
ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
case "$ALPHA_CPU_TYPE" in
"EV4 (21064)")
- UNAME_MACHINE="alpha" ;;
+ UNAME_MACHINE=alpha ;;
"EV4.5 (21064)")
- UNAME_MACHINE="alpha" ;;
+ UNAME_MACHINE=alpha ;;
"LCA4 (21066/21068)")
- UNAME_MACHINE="alpha" ;;
+ UNAME_MACHINE=alpha ;;
"EV5 (21164)")
- UNAME_MACHINE="alphaev5" ;;
+ UNAME_MACHINE=alphaev5 ;;
"EV5.6 (21164A)")
- UNAME_MACHINE="alphaev56" ;;
+ UNAME_MACHINE=alphaev56 ;;
"EV5.6 (21164PC)")
- UNAME_MACHINE="alphapca56" ;;
+ UNAME_MACHINE=alphapca56 ;;
"EV5.7 (21164PC)")
- UNAME_MACHINE="alphapca57" ;;
+ UNAME_MACHINE=alphapca57 ;;
"EV6 (21264)")
- UNAME_MACHINE="alphaev6" ;;
+ UNAME_MACHINE=alphaev6 ;;
"EV6.7 (21264A)")
- UNAME_MACHINE="alphaev67" ;;
+ UNAME_MACHINE=alphaev67 ;;
"EV6.8CB (21264C)")
- UNAME_MACHINE="alphaev68" ;;
+ UNAME_MACHINE=alphaev68 ;;
"EV6.8AL (21264B)")
- UNAME_MACHINE="alphaev68" ;;
+ UNAME_MACHINE=alphaev68 ;;
"EV6.8CX (21264D)")
- UNAME_MACHINE="alphaev68" ;;
+ UNAME_MACHINE=alphaev68 ;;
"EV6.9A (21264/EV69A)")
- UNAME_MACHINE="alphaev69" ;;
+ UNAME_MACHINE=alphaev69 ;;
"EV7 (21364)")
- UNAME_MACHINE="alphaev7" ;;
+ UNAME_MACHINE=alphaev7 ;;
"EV7.9 (21364A)")
- UNAME_MACHINE="alphaev79" ;;
+ UNAME_MACHINE=alphaev79 ;;
esac
# A Pn.n version is a patched version.
# A Vn.n version is a released version.
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
exitcode=$?
trap '' 0
exit $exitcode ;;
Alpha\ *:Windows_NT*:*)
@@ -300,11 +340,11 @@
echo powerpc-ibm-os400
exit ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
exit ;;
- arm:riscos:*:*|arm:RISCOS:*:*)
+ arm*:riscos:*:*|arm*:RISCOS:*:*)
echo arm-unknown-riscos
exit ;;
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
echo hppa1.1-hitachi-hiuxmpp
exit ;;
@@ -338,20 +378,20 @@
i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
echo i386-pc-auroraux${UNAME_RELEASE}
exit ;;
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
eval $set_cc_for_build
- SUN_ARCH="i386"
+ SUN_ARCH=i386
# If there is a compiler, see if it is configured for 64-bit objects.
# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
# This test works for both compilers.
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
grep IS_64BIT_ARCH >/dev/null
then
- SUN_ARCH="x86_64"
+ SUN_ARCH=x86_64
fi
fi
echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
sun4*:SunOS:6*:*)
@@ -372,11 +412,11 @@
sun3*:SunOS:*:*)
echo m68k-sun-sunos${UNAME_RELEASE}
exit ;;
sun*:*:4.2BSD:*)
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
- test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+ test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
case "`/bin/arch`" in
sun3)
echo m68k-sun-sunos${UNAME_RELEASE}
;;
sun4)
@@ -558,12 +598,13 @@
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
IBM_ARCH=rs6000
else
IBM_ARCH=powerpc
fi
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
+ if [ -x /usr/bin/lslpp ] ; then
+ IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
+ awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
else
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
exit ;;
@@ -596,17 +637,17 @@
9000/[678][0-9][0-9])
if [ -x /usr/bin/getconf ]; then
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
case "${sc_cpu_version}" in
- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+ 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
532) # CPU_PA_RISC2_0
case "${sc_kernel_bits}" in
- 32) HP_ARCH="hppa2.0n" ;;
- 64) HP_ARCH="hppa2.0w" ;;
- '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
+ 32) HP_ARCH=hppa2.0n ;;
+ 64) HP_ARCH=hppa2.0w ;;
+ '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
esac ;;
esac
fi
if [ "${HP_ARCH}" = "" ]; then
eval $set_cc_for_build
@@ -641,15 +682,15 @@
default: puts ("hppa1.0"); break;
}
exit (0);
}
EOF
- (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
test -z "$HP_ARCH" && HP_ARCH=hppa
fi ;;
esac
- if [ ${HP_ARCH} = "hppa2.0w" ]
+ if [ ${HP_ARCH} = hppa2.0w ]
then
eval $set_cc_for_build
# hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
# 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
@@ -658,16 +699,16 @@
# $ CC_FOR_BUILD=cc ./config.guess
# => hppa2.0w-hp-hpux11.23
# $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
# => hppa64-hp-hpux11.23
- if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+ if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
grep -q __LP64__
then
- HP_ARCH="hppa2.0w"
+ HP_ARCH=hppa2.0w
else
- HP_ARCH="hppa64"
+ HP_ARCH=hppa64
fi
fi
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
exit ;;
ia64:HP-UX:*:*)
@@ -768,18 +809,18 @@
exit ;;
*:UNICOS/mp:*:*)
echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
- FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
5000:UNIX_System_V:4.*:*)
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
exit ;;
@@ -799,14 +840,17 @@
esac
exit ;;
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
exit ;;
+ *:MINGW64*:*)
+ echo ${UNAME_MACHINE}-pc-mingw64
+ exit ;;
*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
- i*:MSYS*:*)
+ *:MSYS*:*)
echo ${UNAME_MACHINE}-pc-msys
exit ;;
i*:windows32*:*)
# uname -m includes "-pc" on this system.
echo ${UNAME_MACHINE}-mingw32
@@ -850,25 +894,25 @@
prep*:SunOS:5.*:*)
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
*:GNU:*:*)
# the GNU system
- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
exit ;;
*:GNU/*:*:*)
# other systems with GNU libc and userland
- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
exit ;;
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
exit ;;
aarch64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
aarch64_be:Linux:*:*)
UNAME_MACHINE=aarch64_be
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
alpha:Linux:*:*)
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
EV5) UNAME_MACHINE=alphaev5 ;;
EV56) UNAME_MACHINE=alphaev56 ;;
@@ -877,63 +921,64 @@
EV6) UNAME_MACHINE=alphaev6 ;;
EV67) UNAME_MACHINE=alphaev67 ;;
EV68*) UNAME_MACHINE=alphaev68 ;;
esac
objdump --private-headers /bin/sh | grep -q ld.so.1
- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+ if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ arc:Linux:*:* | arceb:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
arm*:Linux:*:*)
eval $set_cc_for_build
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_EABI__
then
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
else
if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_PCS_VFP
then
- echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
else
- echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
fi
fi
exit ;;
avr32*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
cris:Linux:*:*)
- echo ${UNAME_MACHINE}-axis-linux-gnu
+ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
exit ;;
crisv32:Linux:*:*)
- echo ${UNAME_MACHINE}-axis-linux-gnu
+ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+ exit ;;
+ e2k:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
frv:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
hexagon:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
i*86:Linux:*:*)
- LIBC=gnu
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #ifdef __dietlibc__
- LIBC=dietlibc
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
- echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+ echo ${UNAME_MACHINE}-pc-linux-${LIBC}
exit ;;
ia64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ k1om:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
m32r*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
m68*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
mips:Linux:*:* | mips64:Linux:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#undef CPU
@@ -948,58 +993,67 @@
CPU=
#endif
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
;;
- or32:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ openrisc*:Linux:*:*)
+ echo or1k-unknown-linux-${LIBC}
+ exit ;;
+ or32:Linux:*:* | or1k*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
padre:Linux:*:*)
- echo sparc-unknown-linux-gnu
+ echo sparc-unknown-linux-${LIBC}
exit ;;
parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-gnu
+ echo hppa64-unknown-linux-${LIBC}
exit ;;
parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
- PA7*) echo hppa1.1-unknown-linux-gnu ;;
- PA8*) echo hppa2.0-unknown-linux-gnu ;;
- *) echo hppa-unknown-linux-gnu ;;
+ PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
+ PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
+ *) echo hppa-unknown-linux-${LIBC} ;;
esac
exit ;;
ppc64:Linux:*:*)
- echo powerpc64-unknown-linux-gnu
+ echo powerpc64-unknown-linux-${LIBC}
exit ;;
ppc:Linux:*:*)
- echo powerpc-unknown-linux-gnu
+ echo powerpc-unknown-linux-${LIBC}
+ exit ;;
+ ppc64le:Linux:*:*)
+ echo powerpc64le-unknown-linux-${LIBC}
+ exit ;;
+ ppcle:Linux:*:*)
+ echo powerpcle-unknown-linux-${LIBC}
exit ;;
s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-ibm-linux
+ echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
exit ;;
sh64*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
sh*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
sparc:Linux:*:* | sparc64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
tile*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
vax:Linux:*:*)
- echo ${UNAME_MACHINE}-dec-linux-gnu
+ echo ${UNAME_MACHINE}-dec-linux-${LIBC}
exit ;;
x86_64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-pc-linux-${LIBC}
exit ;;
xtensa*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
# earlier versions are messed up and put the nodename in both
# sysname and nodename.
@@ -1071,11 +1125,11 @@
pc:*:*:*)
# Left here for compatibility:
# uname -m prints for DJGPP always 'pc', but it prints nothing about
# the processor, so we play safe by assuming i586.
# Note: whatever this is, it MUST be the same as what config.sub
- # prints for the "djgpp" host, or else GDB configury will decide that
+ # prints for the "djgpp" host, or else GDB configure will decide that
# this is a cross-build.
echo i586-pc-msdosdjgpp
exit ;;
Intel:Mach:3*:*)
echo i386-pc-mach3
@@ -1199,10 +1253,13 @@
echo i586-pc-beos
exit ;;
BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
echo i586-pc-haiku
exit ;;
+ x86_64:Haiku:*:*)
+ echo x86_64-unknown-haiku
+ exit ;;
SX-4:SUPER-UX:*:*)
echo sx4-nec-superux${UNAME_RELEASE}
exit ;;
SX-5:SUPER-UX:*:*)
echo sx5-nec-superux${UNAME_RELEASE}
@@ -1217,36 +1274,51 @@
echo sx8-nec-superux${UNAME_RELEASE}
exit ;;
SX-8R:SUPER-UX:*:*)
echo sx8r-nec-superux${UNAME_RELEASE}
exit ;;
+ SX-ACE:SUPER-UX:*:*)
+ echo sxace-nec-superux${UNAME_RELEASE}
+ exit ;;
Power*:Rhapsody:*:*)
echo powerpc-apple-rhapsody${UNAME_RELEASE}
exit ;;
*:Rhapsody:*:*)
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
exit ;;
*:Darwin:*:*)
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
- case $UNAME_PROCESSOR in
- i386)
- eval $set_cc_for_build
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- UNAME_PROCESSOR="x86_64"
- fi
- fi ;;
- unknown) UNAME_PROCESSOR=powerpc ;;
- esac
+ eval $set_cc_for_build
+ if test "$UNAME_PROCESSOR" = unknown ; then
+ UNAME_PROCESSOR=powerpc
+ fi
+ if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+ if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ case $UNAME_PROCESSOR in
+ i386) UNAME_PROCESSOR=x86_64 ;;
+ powerpc) UNAME_PROCESSOR=powerpc64 ;;
+ esac
+ fi
+ fi
+ elif test "$UNAME_PROCESSOR" = i386 ; then
+ # Avoid executing cc on OS X 10.9, as it ships with a stub
+ # that puts up a graphical alert prompting to install
+ # developer tools. Any system running Mac OS X 10.7 or
+ # later (Darwin 11 and later) is required to have a 64-bit
+ # processor. This is not true of the ARM version of Darwin
+ # that Apple uses in portable devices.
+ UNAME_PROCESSOR=x86_64
+ fi
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
exit ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
UNAME_PROCESSOR=`uname -p`
- if test "$UNAME_PROCESSOR" = "x86"; then
+ if test "$UNAME_PROCESSOR" = x86; then
UNAME_PROCESSOR=i386
UNAME_MACHINE=pc
fi
echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
exit ;;
@@ -1254,11 +1326,11 @@
echo i386-pc-qnx
exit ;;
NEO-?:NONSTOP_KERNEL:*:*)
echo neo-tandem-nsk${UNAME_RELEASE}
exit ;;
- NSE-?:NONSTOP_KERNEL:*:*)
+ NSE-*:NONSTOP_KERNEL:*:*)
echo nse-tandem-nsk${UNAME_RELEASE}
exit ;;
NSR-?:NONSTOP_KERNEL:*:*)
echo nsr-tandem-nsk${UNAME_RELEASE}
exit ;;
@@ -1273,11 +1345,11 @@
exit ;;
*:Plan9:*:*)
# "uname -m" is not consistent, so use $cputype instead. 386
# is converted to i386 for consistency with other x86
# operating systems.
- if test "$cputype" = "386"; then
+ if test "$cputype" = 386; then
UNAME_MACHINE=i386
else
UNAME_MACHINE="$cputype"
fi
echo ${UNAME_MACHINE}-unknown-plan9
@@ -1315,11 +1387,11 @@
esac ;;
*:XENIX:*:SysV)
echo i386-pc-xenix
exit ;;
i*86:skyos:*:*)
- echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'`
exit ;;
i*86:rdos:*:*)
echo ${UNAME_MACHINE}-pc-rdos
exit ;;
i*86:AROS:*:*)
@@ -1326,173 +1398,25 @@
echo ${UNAME_MACHINE}-pc-aros
exit ;;
x86_64:VMkernel:*:*)
echo ${UNAME_MACHINE}-unknown-esx
exit ;;
-esac
-
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-eval $set_cc_for_build
-cat >$dummy.c <
-# include
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
- /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
- I don't know.... */
- printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include
- printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
- "4"
-#else
- ""
-#endif
- ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
- printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
- int version;
- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
- if (version < 4)
- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
- else
- printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
- exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
- printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
- printf ("ns32k-encore-mach\n"); exit (0);
-#else
- printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
- printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
- printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
- printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
- struct utsname un;
-
- uname(&un);
-
- if (strncmp(un.version, "V2", 2) == 0) {
- printf ("i386-sequent-ptx2\n"); exit (0);
- }
- if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
- printf ("i386-sequent-ptx1\n"); exit (0);
- }
- printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-# include
-# if defined (BSD)
-# if BSD == 43
- printf ("vax-dec-bsd4.3\n"); exit (0);
-# else
-# if BSD == 199006
- printf ("vax-dec-bsd4.3reno\n"); exit (0);
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# endif
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# else
- printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
- printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
- exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
- case `getsysinfo -f cpu_type` in
- c1*)
- echo c1-convex-bsd
- exit ;;
- c2*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- c34*)
- echo c34-convex-bsd
- exit ;;
- c38*)
- echo c38-convex-bsd
- exit ;;
- c4*)
- echo c4-convex-bsd
- exit ;;
- esac
-fi
+ amd64:Isilon\ OneFS:*:*)
+ echo x86_64-unknown-onefs
+ exit ;;
+esac
cat >&2 < in order to provide the needed
information to handle your system.
Index: kitsh/buildsrc/kitsh-0.0/config.sub
==================================================================
--- kitsh/buildsrc/kitsh-0.0/config.sub
+++ kitsh/buildsrc/kitsh-0.0/config.sub
@@ -1,46 +1,41 @@
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-# 2011, 2012 Free Software Foundation, Inc.
-
-timestamp='2012-04-18'
-
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine. It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# Copyright 1992-2016 Free Software Foundation, Inc.
+
+timestamp='2016-03-30'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see .
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
-# Please send patches to . Submit a context
-# diff and a properly formatted GNU ChangeLog entry.
+# Please send patches to .
#
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
# If it is invalid, we print an error message on stderr and exit with code 1.
# Otherwise, we print the canonical config type on stdout and succeed.
# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
# that are meaningful with *any* GNU software.
# Each package is responsible for reporting which valid configurations
@@ -56,12 +51,11 @@
# It is wrong to echo any other type of specification.
me=`echo "$0" | sed -e 's,.*/,,'`
usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
- $0 [OPTION] ALIAS
+Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
Canonicalize a configuration name.
Operation modes:
-h, --help print this help, then exit
@@ -71,13 +65,11 @@
Report bugs and patches to ."
version="\
GNU config.sub ($timestamp)
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-Free Software Foundation, Inc.
+Copyright 1992-2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
help="
@@ -120,13 +112,13 @@
# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
- nto-qnx* | linux-gnu* | linux-musl | linux-android* | linux-dietlibc | linux-newlib* | \
- linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
- knetbsd*-gnu* | netbsd*-gnu* | \
+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
+ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+ knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
kopensolaris*-gnu* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
@@ -154,11 +146,11 @@
-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple | -axis | -knuth | -cray | -microblaze)
+ -apple | -axis | -knuth | -cray | -microblaze*)
os=
basic_machine=$1
;;
-bluegene*)
os=-cnk
@@ -257,25 +249,29 @@
| a29k \
| aarch64 | aarch64_be \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
- | be32 | be64 \
+ | arc | arceb \
+ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+ | avr | avr32 \
+ | ba \
+ | be32 | be64 \
| bfin \
- | c4x | clipper \
+ | c4x | c8051 | clipper \
| d10v | d30v | dlx | dsp16xx \
- | epiphany \
- | fido | fr30 | frv \
+ | e2k | epiphany \
+ | fido | fr30 | frv | ft32 \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| hexagon \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
+ | k1om \
| le32 | le64 \
| lm32 \
| m32c | m32r | m32rle | m68000 | m68k | m88k \
- | maxq | mb | microblaze | mcore | mep | metag \
+ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
| mips64octeon | mips64octeonel \
| mips64orion | mips64orionel \
@@ -285,37 +281,41 @@
| mips64vr4300 | mips64vr4300el \
| mips64vr5000 | mips64vr5000el \
| mips64vr5900 | mips64vr5900el \
| mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \
+ | mipsisa32r6 | mipsisa32r6el \
| mipsisa64 | mipsisa64el \
| mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64r6 | mipsisa64r6el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \
+ | mipsr5900 | mipsr5900el \
| mipstx39 | mipstx39el \
| mn10200 | mn10300 \
| moxie \
| mt \
| msp430 \
| nds32 | nds32le | nds32be \
- | nios | nios2 \
+ | nios | nios2 | nios2eb | nios2el \
| ns16k | ns32k \
- | open8 \
- | or32 \
+ | open8 | or1k | or1knd | or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle \
| pyramid \
+ | riscv32 | riscv64 \
| rl78 | rx \
| score \
- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
| spu \
| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
| ubicom32 \
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+ | visium \
| we32k \
| x86 | xc16x | xstormy16 | xtensa \
| z8k | z80)
basic_machine=$basic_machine-unknown
;;
@@ -326,11 +326,14 @@
basic_machine=tic55x-unknown
;;
c6x)
basic_machine=tic6x-unknown
;;
- m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
+ leon|leon[3-9])
+ basic_machine=sparc-$basic_machine
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
basic_machine=$basic_machine-unknown
os=-none
;;
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
;;
@@ -368,30 +371,33 @@
580-* \
| a29k-* \
| aarch64-* | aarch64_be-* \
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \
+ | ba-* \
| be32-* | be64-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* \
- | clipper-* | craynv-* | cydra-* \
+ | c8051-* | clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
- | elxsi-* \
+ | e2k-* | elxsi-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| hexagon-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \
+ | k1om-* \
| le32-* | le64-* \
| lm32-* \
| m32c-* | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+ | microblaze-* | microblazeel-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
| mips16-* \
| mips64-* | mips64el-* \
| mips64octeon-* | mips64octeonel-* \
| mips64orion-* | mips64orionel-* \
@@ -401,39 +407,45 @@
| mips64vr4300-* | mips64vr4300el-* \
| mips64vr5000-* | mips64vr5000el-* \
| mips64vr5900-* | mips64vr5900el-* \
| mipsisa32-* | mipsisa32el-* \
| mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa32r6-* | mipsisa32r6el-* \
| mipsisa64-* | mipsisa64el-* \
| mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64r6-* | mipsisa64r6el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ | mipsr5900-* | mipsr5900el-* \
| mipstx39-* | mipstx39el-* \
| mmix-* \
| mt-* \
| msp430-* \
| nds32-* | nds32le-* | nds32be-* \
- | nios-* | nios2-* \
+ | nios-* | nios2-* | nios2eb-* | nios2el-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| open8-* \
+ | or1k*-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
| pyramid-* \
+ | riscv32-* | riscv64-* \
| rl78-* | romp-* | rs6000-* | rx-* \
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
| sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
| tahoe-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tile*-* \
| tron-* \
| ubicom32-* \
| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
| vax-* \
+ | visium-* \
| we32k-* \
| x86-* | x86_64-* | xc16x-* | xps100-* \
| xstormy16-* | xtensa*-* \
| ymp-* \
| z8k-* | z80-*)
@@ -506,10 +518,13 @@
;;
aros)
basic_machine=i386-pc
os=-aros
;;
+ asmjs)
+ basic_machine=asmjs-unknown
+ ;;
aux)
basic_machine=m68k-apple
os=-aux
;;
balance)
@@ -767,10 +782,13 @@
;;
isi68 | isi)
basic_machine=m68k-isi
os=-sysv
;;
+ leon-*|leon[3-9]-*)
+ basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
+ ;;
m68knommu)
basic_machine=m68k-unknown
os=-linux
;;
m68knommu-*)
@@ -786,15 +804,19 @@
;;
merlin)
basic_machine=ns32k-utek
os=-sysv
;;
- microblaze)
+ microblaze*)
basic_machine=microblaze-xilinx
;;
+ mingw64)
+ basic_machine=x86_64-pc
+ os=-mingw64
+ ;;
mingw32)
- basic_machine=i386-pc
+ basic_machine=i686-pc
os=-mingw32
;;
mingw32ce)
basic_machine=arm-unknown
os=-mingw32ce
@@ -818,19 +840,23 @@
;;
morphos)
basic_machine=powerpc-unknown
os=-morphos
;;
+ moxiebox)
+ basic_machine=moxie-unknown
+ os=-moxiebox
+ ;;
msdos)
basic_machine=i386-pc
os=-msdos
;;
ms1-*)
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
;;
msys)
- basic_machine=i386-pc
+ basic_machine=i686-pc
os=-msys
;;
mvs)
basic_machine=i370-ibm
os=-mvs
@@ -1017,11 +1043,15 @@
;;
pw32)
basic_machine=i586-unknown
os=-pw32
;;
- rdos)
+ rdos | rdos64)
+ basic_machine=x86_64-pc
+ os=-rdos
+ ;;
+ rdos32)
basic_machine=i386-pc
os=-rdos
;;
rom68k)
basic_machine=m68k-rom68k
@@ -1344,33 +1374,34 @@
# Each alternative MUST END IN A *, to match a version number.
# -sysv* is not here because it comes later, after sysvr4.
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
- | -sym* | -kopensolaris* \
+ | -sym* | -kopensolaris* | -plan9* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* | -aros* \
+ | -aos* | -aros* | -cloudabi* | -sortix* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
- | -openbsd* | -solidbsd* \
+ | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* | -cegcc* \
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -linux-android* \
- | -linux-newlib* | -linux-uclibc* \
- | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+ | -linux-newlib* | -linux-musl* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
+ | -onefs* | -tirtos*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
case $basic_machine in
x86-* | i*86-*)
@@ -1490,20 +1521,19 @@
os=-mint
;;
-aros*)
os=-aros
;;
- -kaos*)
- os=-kaos
- ;;
-zvmoe)
os=-zvmoe
;;
-dicos*)
os=-dicos
;;
-nacl*)
+ ;;
+ -ios)
;;
-none)
;;
*)
# Get rid of the `-' at the beginning of $os.
@@ -1540,10 +1570,16 @@
arm*-semi)
os=-aout
;;
c4x-* | tic4x-*)
os=-coff
+ ;;
+ c8051-*)
+ os=-elf
+ ;;
+ hexagon-*)
+ os=-elf
;;
tic54x-*)
os=-coff
;;
tic55x-*)
Index: kitsh/buildsrc/kitsh-0.0/configure.ac
==================================================================
--- kitsh/buildsrc/kitsh-0.0/configure.ac
+++ kitsh/buildsrc/kitsh-0.0/configure.ac
@@ -15,10 +15,13 @@
AC_ARG_ENABLE(kitdll, AC_HELP_STRING([--enable-kitdll], [Enable building KitDLL instead of Tclkit (default: no)]), [
AS_CASE([$enableval],
[yes|kitdll], [
TARGET="kitdll"
],
+ static, [
+ TARGET="kitdll-static"
+ ],
no, [
true
], [
AC_MSG_RESULT([unknown])
@@ -25,22 +28,26 @@
AC_MSG_ERROR([Invalid option: $enableval])
]
)
])
AC_MSG_RESULT([$TARGET])
+AC_SUBST(TARGET)
dnl Find the appropriate libraries to link to
AC_SEARCH_LIBS(acos, m,, [ AC_MSG_WARN([Couldn't find acos (normally in libm)!]) ])
AC_SEARCH_LIBS(dlsym, dl,, [ AC_MSG_WARN([Couldn't find dlsym (normally in libdl)!]) ])
AS_IF([test "$TARGET" = "tclkit"], [
dnl We have Tclkit
+ TARGET_BASE='tclkit'
dnl Specify local Appinit function
AC_DEFINE(TK_LOCAL_APPINIT, [TclKit_AppInit], [Tclkit appinit function])
+
], [
dnl We have KitDLL
+ TARGET_BASE='kitdll'
dnl Determine system information
DC_CHK_OS_INFO
dnl Determine how to create a shared object
@@ -49,10 +56,18 @@
dnl Determine if we have "objcopy" available to weaken non-Tcl/Tk symbols
AC_CHECK_TOOL(OBJCOPY, objcopy, [:])
dnl Define KitDLL usage
AC_DEFINE([TCLKIT_DLL], [1], [Define if you are using a KitDLL rather than a Tclkit])
+
+ dnl Define a static KitDLL
+ AS_IF([test "$TARGET" = "kitdll-static"], [
+ AC_CHECK_TOOL(RANLIB, [ranlib], [:])
+ AC_CHECK_TOOL(AR, [ar], [false MISSING AR])
+
+ AC_DEFINE([TCLKIT_DLL_STATIC], [1], [Define if you are building a static KitDLL])
+ ])
])
dnl Figure out how to statically link to libgcc, if needed
DC_STATIC_LIBGCC
@@ -199,9 +214,9 @@
AC_SUBST(EXTRA_KIT_DEPS)
AC_SUBST(LDFLAGS_ADD)
dnl Put correct Makefile template in place
rm -f Makefile.in
-cp Makefile.${TARGET}.in Makefile.in
+cp Makefile.${TARGET_BASE}.in Makefile.in
dnl Produce output
AC_OUTPUT(Makefile Makefile.common)
Index: kitsh/buildsrc/kitsh-0.0/kitInit.c
==================================================================
--- kitsh/buildsrc/kitsh-0.0/kitInit.c
+++ kitsh/buildsrc/kitsh-0.0/kitInit.c
@@ -207,11 +207,11 @@
"set ::TCLKIT_TYPE \"kitdll\"\n"
#else
"set ::TCLKIT_TYPE \"tclkit\"\n"
#endif /* TCLKIT_DLL */
"set ::TCLKIT_MOUNTPOINT " TCLKIT_MOUNTPOINT "\n"
- "set ::TCLKIT_VFSSOURCE " TCLKIT_VFSSOURCE "\n"
+ "catch { set ::TCLKIT_VFSSOURCE " TCLKIT_VFSSOURCE " }\n"
"set ::TCLKIT_MOUNTPOINT_VAR {" TCLKIT_MOUNTPOINT "}\n"
"set ::TCLKIT_VFSSOURCE_VAR {" TCLKIT_VFSSOURCE "}\n"
"uplevel #0 $s\n"
#if defined(KIT_INCLUDES_TK) && defined(KIT_TK_VERSION)
"package ifneeded Tk " KIT_TK_VERSION " {\n"
@@ -569,11 +569,29 @@
#ifdef TCLKIT_DLL
void __attribute__((constructor)) _Tclkit_Init(void) {
#else
static void _Tclkit_Init(void) {
#endif
+ static int called = 0;
+
+ if (called) {
+ return;
+ }
+
+ called = 1;
+
Tcl_StaticPackage(0, "tclkit::init", Tclkit_init_Init, NULL);
_Tclkit_Generic_Init();
return;
}
+
+#if defined(TCLKIT_DLL) && defined(TCLKIT_DLL_STATIC)
+int Tcl_InitReal(Tcl_Interp *interp);
+
+int Tcl_Init(Tcl_Interp *interp) {
+ _Tclkit_Init();
+
+ return(Tcl_InitReal(interp));
+}
+#endif
Index: mk4tcl/build.sh
==================================================================
--- mk4tcl/build.sh
+++ mk4tcl/build.sh
@@ -13,10 +13,11 @@
MK4VERS="2.4.9.7"
SRC="src/metakit-${MK4VERS}.tar.gz"
SRCURL="http://www.equi4.com/pub/mk/metakit-${MK4VERS}.tar.gz"
SRCURL="http://pkgs.fedoraproject.org/repo/pkgs/metakit/metakit-${MK4VERS}.tar.gz/17330257376eea657827ed632ea62c9e/metakit-${MK4VERS}.tar.gz"
+SRCHASH='d1ba361d2d8517925cff5c23e8602822da9c8c347a75a15c225ec656ff7ca94d'
BUILDDIR="$(pwd)/build/metakit-${MK4VERS}"
OUTDIR="$(pwd)/out"
INSTDIR="$(pwd)/inst"
PATCHDIR="$(pwd)/patches"
export MK4VERS SRC SRCURL BUILDDIR OUTDIR INSTDIR PATCHDIR
@@ -40,13 +41,11 @@
if [ ! -f "${SRC}" ]; then
mkdir 'src' >/dev/null 2>/dev/null
if [ ! -d 'buildsrc' ]; then
- rm -f "${SRC}.tmp"
- wget -O "${SRC}.tmp" "${SRCURL}" || exit 1
- mv "${SRC}.tmp" "${SRC}"
+ download "${SRCURL}" "${SRC}" "${SRCHASH}" || exit 1
fi
fi
(
cd 'build' || exit 1
Index: nsf/build.sh
==================================================================
--- nsf/build.sh
+++ nsf/build.sh
@@ -13,10 +13,11 @@
NSFVERS="2.0.0"
NSFVERSEXTRA=""
SRC="src/nsf${NSFVERS}.tar.gz"
SRCURL="http://sourceforge.net/projects/next-scripting/files/${NSFVERS}/nsf${NSFVERS}.tar.gz/download"
+SRCHASH='-'
BUILDDIR="$(pwd)/build/nsf${NSFVERS}"
OUTDIR="$(pwd)/out"
INSTDIR="$(pwd)/inst"
export NSFVERS SRC SRCURL BUILDDIR OUTDIR INSTDIR
@@ -32,13 +33,11 @@
if [ ! -f "${SRC}" ]; then
mkdir 'src' >/dev/null 2>/dev/null
if [ ! -d 'buildsrc' ]; then
- rm -f "${SRC}.tmp"
- wget -O "${SRC}.tmp" "${SRCURL}" || exit 1
- mv "${SRC}.tmp" "${SRC}"
+ download "${SRCURL}" "${SRC}" "${SRCHASH}" || exit 1
fi
fi
(
cd 'build' || exit 1
Index: tcc4tcl/build.sh
==================================================================
--- tcc4tcl/build.sh
+++ tcc4tcl/build.sh
@@ -9,13 +9,14 @@
echo 'ERROR: The TCLVERS environment variable is not set' >&2
exit 1
fi
-TCC4TCLVERS="0.23"
+TCC4TCLVERS="0.26"
SRC="src/tcc4tcl-${TCC4TCLVERS}.tar.gz"
SRCURL="http://rkeene.org/devel/tcc4tcl/tcc4tcl-${TCC4TCLVERS}.tar.gz"
+SRCHASH='8116d2ab94cc611c4e0be81e34bd8cc11a6f3e1fd49d02d7e894bbadcfffde0b'
BUILDDIR="$(pwd)/build/tcc4tcl-${TCC4TCLVERS}"
OUTDIR="$(pwd)/out"
INSTDIR="$(pwd)/inst"
PATCHDIR="$(pwd)/patches"
export TCC4TCLVERS SRC SRCURL BUILDDIR OUTDIR INSTDIR PATCHDIR
@@ -38,13 +39,11 @@
if [ ! -f "${SRC}" ]; then
mkdir 'src' >/dev/null 2>/dev/null
if [ ! -d 'buildsrc' ]; then
- rm -f "${SRC}.tmp"
- wget -O "${SRC}.tmp" "${SRCURL}" || exit 1
- mv "${SRC}.tmp" "${SRC}"
+ download "${SRCURL}" "${SRC}" "${SRCHASH}" || exit 1
fi
fi
(
cd 'build' || exit 1
Index: tcl/build.sh
==================================================================
--- tcl/build.sh
+++ tcl/build.sh
@@ -11,16 +11,23 @@
exit 1
fi
SRC="src/tcl${TCLVERS}.tar.gz"
SRCURL="http://prdownloads.sourceforge.net/tcl/tcl${TCLVERS}-src.tar.gz"
+SRCHASH='-'
BUILDDIR="$(pwd)/build/tcl${TCLVERS}"
OUTDIR="$(pwd)/out"
INSTDIR="$(pwd)/inst"
PATCHSCRIPTDIR="$(pwd)/patchscripts"
PATCHDIR="$(pwd)/patches"
export SRC SRCURL BUILDDIR OUTDIR INSTDIR PATCHSCRIPTDIR PATCHDIR
+
+case "${TCLVERS}" in
+ 8.6.4)
+ SRCHASH='9e6ed94c981c1d0c5f5fefb8112d06c6bf4d050a7327e95e71d417c416519c8d'
+ ;;
+esac
# Set configure options for this sub-project
LDFLAGS="${LDFLAGS} ${KC_TCL_LDFLAGS}"
CFLAGS="${CFLAGS} ${KC_TCL_CFLAGS}"
CPPFLAGS="${CPPFLAGS} ${KC_TCL_CPPFLAGS}"
@@ -63,11 +70,11 @@
mkdir "${workdir}" || exit 1
cd "${workdir}" || exit 1
# Handle Tcl first, since it will be used to base other packages on
- wget -O "tmp-tcl.tar.gz" "http://core.tcl.tk/tcl/tarball/tcl-fossil.tar.gz?uuid=${FOSSILTAG}" || rm -f 'tmp-tcl.tar.gz'
+ download "http://core.tcl.tk/tcl/tarball/tcl-fossil.tar.gz?uuid=${FOSSILTAG}" "tmp-tcl.tar.gz" - || rm -f 'tmp-tcl.tar.gz'
gzip -dc 'tmp-tcl.tar.gz' | tar -xf -
mv "tcl-fossil" "tcl${TCLVERS}"
# Determine date of this Tcl release and use that date for all other dependent packages
## Unless the release we are talking about is "trunk", in which case we use that everywhere
@@ -81,25 +88,25 @@
if [ -z "${FOSSILDATE}" ]; then
FOSSILDATE="${FOSSILTAG}"
fi
# Handle other packages
- wget -O "tmp-itcl.tar.gz" "http://core.tcl.tk/itcl/tarball/itcl-fossil.tar.gz?uuid=${FOSSILDATE}" || rm -f 'tmp-itcl.tar.gz'
- wget -O "tmp-thread.tar.gz" "http://core.tcl.tk/thread/tarball/thread-fossil.tar.gz?uuid=${FOSSILDATE}" || rm -f "tmp-thread.tar.gz"
- wget -O "tmp-tclconfig.tar.gz" "http://core.tcl.tk/tclconfig/tarball/tclconfig-fossil.tar.gz?uuid=${FOSSILDATE}" || rm -f "tmp-tclconfig.tar.gz"
+ download "http://core.tcl.tk/itcl/tarball/itcl-fossil.tar.gz?uuid=${FOSSILDATE}" "tmp-itcl.tar.gz" - || rm -f 'tmp-itcl.tar.gz'
+ download "http://core.tcl.tk/thread/tarball/thread-fossil.tar.gz?uuid=${FOSSILDATE}" "tmp-thread.tar.gz" - || rm -f "tmp-thread.tar.gz"
+ download "http://core.tcl.tk/tclconfig/tarball/tclconfig-fossil.tar.gz?uuid=${FOSSILDATE}" "tmp-tclconfig.tar.gz" - || rm -f "tmp-tclconfig.tar.gz"
if [ "${FOSSILDATE}" = "trunk" ] || [ "$(echo "${FOSSILDATE}" | cut -f 1 -d '-')" -ge '2012' ]; then
_USE_TDBC='1'
_USE_SQLITE='1'
SQLITEVERS='3071401'
fi
if [ "${_USE_TDBC}" = '1' ]; then
- wget -O "tmp-tdbc.tar.gz" "http://core.tcl.tk/tdbc/tarball/tdbc-fossil.tar.gz?uuid=${FOSSILDATE}" || rm -f "tmp-tdbc.tar.gz"
+ download "http://core.tcl.tk/tdbc/tarball/tdbc-fossil.tar.gz?uuid=${FOSSILDATE}" "tmp-tdbc.tar.gz" - || rm -f "tmp-tdbc.tar.gz"
fi
if [ "${_USE_SQLITE}" = '1' ]; then
- wget -O "tmp-sqlite3.tar.gz" "http://www.sqlite.org/sqlite-autoconf-${SQLITEVERS}.tar.gz" || rm -f "tmp-sqlite3.tar.gz"
+ download "http://www.sqlite.org/sqlite-autoconf-${SQLITEVERS}.tar.gz" "tmp-sqlite3.tar.gz" - || rm -f "tmp-sqlite3.tar.gz"
fi
gzip -dc "tmp-itcl.tar.gz" | tar -xf -
gzip -dc "tmp-thread.tar.gz" | tar -xf -
gzip -dc "tmp-tclconfig.tar.gz" | tar -xf -
@@ -149,22 +156,16 @@
rm -rf "${workdir}"
) || exit 1
else
if [ ! -d 'buildsrc' ]; then
- rm -f "${SRC}.tmp"
- wget -O "${SRC}.tmp" "${SRCURL}" || (
+ download "${SRCURL}" "${SRC}" "${SRCHASH}" || (
echo ' Unable to download source code for Tcl.' >&4
- echo " Attempted to run: wget -O \"${SRC}.tmp\" \"${SRCURL}\"" >&4
- echo " Got:"
- wget -O "${SRC}.tmp" "${SRCURL}" 2>&1 | sed 's@^@ @' >&4
-
echo ' Aborting Tcl -- further packages will likely also fail.' >&4
exit 1
) || exit 1
- mv "${SRC}.tmp" "${SRC}"
fi
fi
fi
(
ADDED tcl/patchscripts/static-kitdll-noextern.sh
Index: tcl/patchscripts/static-kitdll-noextern.sh
==================================================================
--- /dev/null
+++ tcl/patchscripts/static-kitdll-noextern.sh
@@ -0,0 +1,15 @@
+#! /bin/bash
+
+if [ "${KITTARGET}" != "kitdll" ]; then
+ exit 0
+fi
+
+if [ "${KITCREATOR_STATIC_KITDLL}" != '1' ]; then
+ exit 0
+fi
+
+# For a static KitDLL we are linking directly to the object
+# so there is nothing external.
+sed 's/define EXTERN .*/define EXTERN/' generic/tcl.h > generic/tcl.h.new
+cat generic/tcl.h.new > generic/tcl.h
+rm -f generic/tcl.h.new
ADDED tcl/patchscripts/tcl-utf-max.sh
Index: tcl/patchscripts/tcl-utf-max.sh
==================================================================
--- /dev/null
+++ tcl/patchscripts/tcl-utf-max.sh
@@ -0,0 +1,11 @@
+#! /bin/bash
+
+if [ -z "${KC_TCL_UTF_MAX}" ]; then
+ exit 0
+fi
+
+sed 's@^# *define TCL_UTF_MAX.*$@#define TCL_UTF_MAX '"${KC_TCL_UTF_MAX}"'@' generic/tcl.h > generic/tcl.h.new
+cat generic/tcl.h.new > generic/tcl.h
+rm -f generic/tcl.h.new
+
+exit 0
ADDED tcl/validate.sh
Index: tcl/validate.sh
==================================================================
--- /dev/null
+++ tcl/validate.sh
@@ -0,0 +1,11 @@
+#! /usr/bin/env bash
+
+PATCH="${PATCH:-patch}"
+if [ ! -x "$(which "${PATCH}" 2>/dev/null)" ]; then
+ echo "No \"${PATCH}\" command (for patch)."
+ echo "No \"${PATCH}\" command (for patch)." >&4
+
+ exit 1
+fi
+
+exit 0
Index: tcllib/build.sh
==================================================================
--- tcllib/build.sh
+++ tcllib/build.sh
@@ -1,10 +1,11 @@
#! /usr/bin/env bash
TCLLIB_VERS='1.16'
SRC="src/tcllib-${TCLLIB_VERS}.tar.bz2"
SRCURL="http://sourceforge.net/projects/tcllib/files/tcllib/${TCLLIB_VERS}/tcllib-${TCLLIB_VERS}.tar.bz2"
+SRCHASH='033334306d3ffc499c8830d393bf7528227e49c68077b3e9247c4171b15be012'
BUILDDIR="$(pwd)/build/Tcllib-${TCLLIB_VERS}"
OUTDIR="$(pwd)/out"
INSTDIR="$(pwd)/inst"
PATCHDIR="$(pwd)/patches"
export TCLLIB_VERS SRC SRCURL BUILDDIR OUTDIR INSTDIR PATCHDIR
@@ -14,13 +15,11 @@
if [ ! -f "${SRC}" ]; then
mkdir 'src' >/dev/null 2>/dev/null
if [ ! -d 'buildsrc' ]; then
- rm -f "${SRC}.tmp"
- wget -O "${SRC}.tmp" "${SRCURL}" || exit 1
- mv "${SRC}.tmp" "${SRC}"
+ download "${SRCURL}" "${SRC}" "${SRCHASH}" || exit 1
fi
fi
(
cd 'build' || exit 1
Index: tclvfs/build.sh
==================================================================
--- tclvfs/build.sh
+++ tclvfs/build.sh
@@ -12,10 +12,11 @@
fi
TCLVFSVERS="20080503"
SRC="src/tclvfs-${TCLVFSVERS}.tar.gz"
SRCURL="http://sourceforge.net/projects/tclvfs/files/tclvfs/tclvfs-${TCLVFSVERS}/tclvfs-${TCLVFSVERS}.tar.gz/download"
+SRCHASH='0d90362078c8f59347b14be377e9306336b6d25d147397f845e705a6fa1d38f2'
BUILDDIR="$(pwd)/build/tclvfs-${TCLVFSVERS}"
OUTDIR="$(pwd)/out"
INSTDIR="$(pwd)/inst"
PATCHDIR="$(pwd)/patches"
export TCLVFSVERS SRC SRCURL BUILDDIR OUTDIR INSTDIR PATCHDIR
@@ -38,13 +39,11 @@
if [ ! -f "${SRC}" ]; then
mkdir 'src' >/dev/null 2>/dev/null
if [ ! -d 'buildsrc' ]; then
- rm -f "${SRC}.tmp"
- wget -O "${SRC}.tmp" "${SRCURL}" || exit 1
- mv "${SRC}.tmp" "${SRC}"
+ download "${SRCURL}" "${SRC}" "${SRCHASH}" || exit 1
fi
fi
(
cd 'build' || exit 1
Index: tclx/build.sh
==================================================================
--- tclx/build.sh
+++ tclx/build.sh
@@ -12,10 +12,11 @@
fi
TCLXVERS="8.4.1"
SRC="src/tclx${TCLXVERS}.tar.bz2"
SRCURL="http://sourceforge.net/projects/tclx/files/TclX/${TCLXVERS}/tclx${TCLXVERS}.tar.bz2/download"
+SRCHASH='-'
BUILDDIR="$(pwd)/build/tclx8.4"
OUTDIR="$(pwd)/out"
INSTDIR="$(pwd)/inst"
PATCHDIR="$(pwd)/patches"
export TCLXVERS SRC SRCURL BUILDDIR OUTDIR INSTDIR PATCHDIR
@@ -38,13 +39,11 @@
if [ ! -f "${SRC}" ]; then
mkdir 'src' >/dev/null 2>/dev/null
if [ ! -d 'buildsrc' ]; then
- rm -f "${SRC}.tmp"
- wget -O "${SRC}.tmp" "${SRCURL}" || exit 1
- mv "${SRC}.tmp" "${SRC}"
+ download "${SRCURL}" "${SRC}" "${SRCHASH}" || exit 1
fi
fi
(
cd 'build' || exit 1
Index: thread/build.sh
==================================================================
--- thread/build.sh
+++ thread/build.sh
@@ -12,10 +12,11 @@
fi
THREADVERS="2.7.2"
SRC="src/thread-${THREADVERS}.tar.gz"
SRCURL="http://sourceforge.net/projects/tcl/files/Thread%20Extension/${THREADVERS}/thread${THREADVERS}.tar.gz/download"
+SRCHASH='-'
BUILDDIR="$(pwd)/build/thread${THREADVERS}"
OUTDIR="$(pwd)/out"
INSTDIR="$(pwd)/inst"
export THREADVERS SRC SRCURL BUILDDIR OUTDIR INSTDIR
@@ -56,13 +57,11 @@
if [ ! -f "${SRC}" ]; then
mkdir 'src' >/dev/null 2>/dev/null
if [ ! -d 'buildsrc' ]; then
- rm -f "${SRC}.tmp"
- wget -O "${SRC}.tmp" "${SRCURL}" || exit 1
- mv "${SRC}.tmp" "${SRC}"
+ download "${SRCURL}" "${SRC}" "${SRCHASH}" || exit 1
fi
fi
(
cd 'build' || exit 1
Index: tk/build.sh
==================================================================
--- tk/build.sh
+++ tk/build.sh
@@ -11,16 +11,23 @@
exit 1
fi
SRC="src/tk${TCLVERS}.tar.gz"
SRCURL="http://prdownloads.sourceforge.net/tcl/tk${TCLVERS}-src.tar.gz"
+SRCHASH='-'
BUILDDIR="$(pwd)/build/tk${TCLVERS}"
PATCHDIR="$(pwd)/patches"
OUTDIR="$(pwd)/out"
INSTDIR="$(pwd)/inst"
PATCHSCRIPTDIR="$(pwd)/patchscripts"
export SRC SRCURL BUILDDIR PATCHDIR OUTDIR INSTDIR PATCHSCRIPTDIR
+
+case "${TCLVERS}" in
+ 8.6.4)
+ SRCHASH='08f99df85e5dc9c4271762163c6aabb962c8b297dc5c4c1af8bdd05fc2dd26c1'
+ ;;
+esac
# Set configure options for this sub-project
LDFLAGS="${LDFLAGS} ${KC_TK_LDFLAGS}"
CFLAGS="${CFLAGS} ${KC_TK_CFLAGS}"
CPPFLAGS="${CPPFLAGS} ${KC_TK_CPPFLAGS}"
@@ -79,15 +86,15 @@
rm -rf "${workdir}"
mkdir "${workdir}" || exit 1
cd "${workdir}" || exit 1
- wget -O "tmp-tk.tar.gz" "http://core.tcl.tk/tk/tarball/tk-fossil.tar.gz?uuid=${FOSSILTAG}" || rm -f 'tmp-tk.tar.gz'
+ download "http://core.tcl.tk/tk/tarball/tk-fossil.tar.gz?uuid=${FOSSILTAG}" "tmp-tk.tar.gz" - || rm -f 'tmp-tk.tar.gz'
gzip -dc "tmp-tk.tar.gz" | tar -xf - || rm -f 'tmp-tk.tar.gz'
if [ ! -s 'tmp-tk.tar.gz' ]; then
- wget -O "tmp-tk.tar.gz" "http://core.tcl.tk/tk/tarball/tk-fossil.tar.gz?uuid=${FOSSILDATE}" || rm -f 'tmp-tk.tar.gz'
+ download "http://core.tcl.tk/tk/tarball/tk-fossil.tar.gz?uuid=${FOSSILDATE}" "tmp-tk.tar.gz" - || rm -f 'tmp-tk.tar.gz'
gzip -dc "tmp-tk.tar.gz" | tar -xf -
fi
mv "tk-fossil" "tk${TCLVERS}"
@@ -96,13 +103,11 @@
cd ..
rm -rf "${workdir}"
)
else
if [ ! -d 'buildsrc' ]; then
- rm -f "${SRC}.tmp"
- wget -O "${SRC}.tmp" "${SRCURL}" || exit 1
- mv "${SRC}.tmp" "${SRC}"
+ download "${SRCURL}" "${SRC}" "${SRCHASH}" || exit 1
fi
fi
fi
(
Index: tls/build.sh
==================================================================
--- tls/build.sh
+++ tls/build.sh
@@ -12,10 +12,11 @@
fi
TLSVERS="1.6.7"
SRC="src/tls-${TLSVERS}.tar.gz"
SRCURL="http://sourceforge.net/projects/tls/files/tls/${TLSVERS}/tls${TLSVERS}-src.tar.gz"
+SRCHASH='5119de3e5470359b97a8a00d861c9c48433571ee0167af0a952de66c99d3a3b8'
BUILDDIR="$(pwd)/build/tls${TLSVERS}"
OUTDIR="$(pwd)/out"
INSTDIR="$(pwd)/inst"
PATCHDIR="$(pwd)/patches"
export TLSVERS SRC SRCURL BUILDDIR OUTDIR INSTDIR PATCHDIR
@@ -38,13 +39,11 @@
if [ ! -f "${SRC}" ]; then
mkdir 'src' >/dev/null 2>/dev/null
if [ ! -d 'buildsrc' ]; then
- rm -f "${SRC}.tmp"
- wget -O "${SRC}.tmp" "${SRCURL}" || exit 1
- mv "${SRC}.tmp" "${SRC}"
+ download "${SRCURL}" "${SRC}" "${SRCHASH}" || exit 1
fi
fi
(
cd 'build' || exit 1
@@ -55,11 +54,11 @@
cp -rp ../buildsrc/* './'
fi
# Determine SSL directory
if [ -z "${CPP}" ]; then
- CPP="${CC} -E"
+ CPP="${CC:-cc} -E"
fi
if [ -n "${KC_TLS_SSLDIR}" ]; then
SSLDIR="${KC_TLS_SSLDIR}"
else
Index: udp/build.sh
==================================================================
--- udp/build.sh
+++ udp/build.sh
@@ -12,10 +12,11 @@
fi
TCLUDPVERS="1.0.11"
SRC="src/tcludp-${TCLUDPVERS}.tar.gz"
SRCURL="http://sourceforge.net/projects/tcludp/files/tcludp/${TCLUDPVERS}/tcludp-${TCLUDPVERS}.tar.gz"
+SRCHASH='a8a29d55a718eb90aada643841b3e0715216d27cea2e2df243e184edb780aa9d'
BUILDDIR="$(pwd)/build/tcludp"
OUTDIR="$(pwd)/out"
INSTDIR="$(pwd)/inst"
PATCHDIR="$(pwd)/patches"
export TCLUDPVERS SRC SRCURL BUILDDIR OUTDIR INSTDIR PATCHDIR
@@ -38,13 +39,11 @@
if [ ! -f "${SRC}" ]; then
mkdir 'src' >/dev/null 2>/dev/null
if [ ! -d 'buildsrc' ]; then
- rm -f "${SRC}.tmp"
- wget -O "${SRC}.tmp" "${SRCURL}" || exit 1
- mv "${SRC}.tmp" "${SRC}"
+ download "${SRCURL}" "${SRC}" "${SRCHASH}" || exit 1
fi
fi
(
cd 'build' || exit 1
Index: yajltcl/build.sh
==================================================================
--- yajltcl/build.sh
+++ yajltcl/build.sh
@@ -14,11 +14,13 @@
YAJLTCLVERS="1.5"
YAJLVERS='2.1.0'
SRC="src/yajltcl-${YAJLTCLVERS}.tar.gz"
YAJLSRC="src/yajl-${YAJLVERS}.tar.gz"
SRCURL="https://github.com/flightaware/yajl-tcl/archive/v${YAJLTCLVERS}.tar.gz"
+SRCHASH='-'
YAJLSRCURL="http://github.com/lloyd/yajl/tarball/${YAJLVERS}"
+YAJLSRCHASH='-'
BUILDDIR="$(pwd)/build/yajl-tcl-${YAJLTCLVERS}"
YAJLBUILDDIR="$(pwd)/build/lloyd-yajl-66cb08c"
OUTDIR="$(pwd)/out"
INSTDIR="$(pwd)/inst"
PATCHDIR="$(pwd)/patches"
@@ -36,19 +38,15 @@
if [ ! -d 'buildsrc' ]; then
mkdir 'src' >/dev/null 2>/dev/null
if [ ! -f "${SRC}" ]; then
- rm -f "${SRC}.tmp"
- wget -O "${SRC}.tmp" "${SRCURL}" || exit 1
- mv "${SRC}.tmp" "${SRC}"
+ download "${SRCURL}" "${SRC}" "${SRCHASH}" || exit 1
fi
if [ ! -f "${YAJLSRC}" ]; then
- rm -f "${YAJLSRC}.tmp"
- wget -O "${YAJLSRC}.tmp" "${YAJLSRCURL}" || exit 1
- mv "${YAJLSRC}.tmp" "${YAJLSRC}"
+ download "${YAJLSRCURL}" "${YAJLSRC}" "${YAJLSRCHASH}" || exit 1
fi
fi
(
cd 'build' || exit 1
Index: zlib/build.sh
==================================================================
--- zlib/build.sh
+++ zlib/build.sh
@@ -12,10 +12,11 @@
fi
ZLIBVERS="1.2.8"
SRC="src/zlib-${ZLIBVERS}.tar.gz"
SRCURL="http://sourceforge.net/projects/libpng/files/zlib/${ZLIBVERS}/zlib-${ZLIBVERS}.tar.gz/download"
+SRCHASH='36658cb768a54c1d4dec43c3116c27ed893e88b02ecfcb44f2166f9c0b7f2a0d'
BUILDDIR="$(pwd)/build/zlib-${ZLIBVERS}"
OUTDIR="$(pwd)/out"
INSTDIR="$(pwd)/inst"
export ZLIBVERS SRC SRCURL BUILDDIR OUTDIR INSTDIR
@@ -31,13 +32,11 @@
if [ ! -f "${SRC}" ]; then
mkdir 'src' >/dev/null 2>/dev/null
if [ ! -d 'buildsrc' ]; then
- rm -f "${SRC}.tmp"
- wget -O "${SRC}.tmp" "${SRCURL}" || exit 1
- mv "${SRC}.tmp" "${SRC}"
+ download "${SRCURL}" "${SRC}" "${SRCHASH}" || exit 1
fi
fi
(
cd 'build' || exit 1