Overview
| Comment: | Updated to use "fake-uname" when building Tcl if cross-compiling |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
2655d453ea5b5913688b55a9e852a850 |
| User & Date: | rkeene on 2014-05-19 03:32:27 |
| Other Links: | manifest | tags |
Context
|
2014-05-19
| ||
| 17:01 | Updated to supply licensing information in build check-in: 4f493878e3 user: rkeene tags: trunk | |
| 03:32 | Updated to use "fake-uname" when building Tcl if cross-compiling check-in: 2655d453ea user: rkeene tags: trunk | |
| 03:29 | Removed extra whitespace check-in: 0d0e6831fe user: rkeene tags: trunk | |
Changes
Modified server/buildpkgs/build_all.sh from [4bef3a5bc6] to [c3ccff1f0c].
| ︙ | ︙ | |||
70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
echo '' > "${TCLPRIVATE}/win/tclWinReg.c"
## Long-standing bug in Tcl
echo '#undef strtod' > "${TCLPRIVATE}/compat/strtod.c.new"
cat "${TCLPRIVATE}/compat/strtod.c" >> "${TCLPRIVATE}/compat/strtod.c.new"
cat "${TCLPRIVATE}/compat/strtod.c.new" > "${TCLPRIVATE}/compat/strtod.c"
rm -f "${TCLPRIVATE}/compat/strtod.c.new"
tcl_platform_dir='unix win macosx'
case "${CC}" in
*mingw*)
# If the compiler looks like Mingw, use Windows
tcl_platform_dir='win'
| > > > > > > > > > > | 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
echo '' > "${TCLPRIVATE}/win/tclWinReg.c"
## Long-standing bug in Tcl
echo '#undef strtod' > "${TCLPRIVATE}/compat/strtod.c.new"
cat "${TCLPRIVATE}/compat/strtod.c" >> "${TCLPRIVATE}/compat/strtod.c.new"
cat "${TCLPRIVATE}/compat/strtod.c.new" > "${TCLPRIVATE}/compat/strtod.c"
rm -f "${TCLPRIVATE}/compat/strtod.c.new"
## Update to call fake "uname" since Tcl insists on
## using "uname" to determine HOST information
case "${CC}" in
*-*-*)
sed 's|`uname |`'"${PROJROOTDIR}"'/fake-uname |g' "${TCLPRIVATE}/unix/configure" > "${TCLPRIVATE}/unix/configure.new"
cat "${TCLPRIVATE}/unix/configure.new" > "${TCLPRIVATE}/unix/configure"
rm -f "${TCLPRIVATE}/unix/configure.new"
;;
esac
tcl_platform_dir='unix win macosx'
case "${CC}" in
*mingw*)
# If the compiler looks like Mingw, use Windows
tcl_platform_dir='win'
|
| ︙ | ︙ |
Added server/buildpkgs/fake-uname version [bed70cf53f].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 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 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 |
#! /bin/bash
if [ "$1" == "--fake" ]; then
echo "true"
exit 0
fi
case "${CC}" in
*-*-*)
;;
*)
CC=''
;;
esac
if [ -z "${CC}" ]; then
# If not cross compiling, revert to system uname
while [ "$(uname --fake 2>/dev/null)" == "true" -a -n "${PATH}" ]; do
PATH="$(echo "${PATH}" | sed 's@^[^:]*$@@;s@^[^:]*:@@')"
export PATH
done
if [ -z "${PATH}" ]; then
exit 1
fi
exec uname "$@"
fi
CROSS="$(echo "${CC}" | sed -r 's@-[^-]*($| .*$)@@')"
# Determine release information
case "${CROSS}" in
*-hpux11*)
sysname="HP-UX"
sysrelease="$(echo "${CROSS}" | sed 's@^.*-hpux@@')"
;;
*-solaris2*)
sysname="SunOS"
sysrelease="$(echo "${CROSS}" | sed 's@^.*-solaris@@;s@^2@5@')"
;;
*-linux*)
sysname="Linux"
sysrelease="2.6.5"
;;
*-netbsd*)
sysname="NetBSD"
sysrelease="$(echo "${CROSS}" | sed 's@^.*-netbsd@@;s@$@.0@')"
;;
*-freebsd*)
sysname="FreeBSD"
sysrelease="$(echo "${CROSS}" | sed 's@^.*-freebsd@@;s@$@.0-RELEASE@')"
;;
*-aix[0-9].*)
sysname="AIX"
sysrelease="$(echo "${CROSS}" | sed 's@.*-aix\([0-9]\..*\)@\1@')"
;;
esac
# Determine machine information
case "${CROSS}" in
hppa64-*-hpux*)
sysmachine="9000/859"
;;
i386-*-solaris*)
sysmachine="i86pc"
;;
sparc-*-solaris*)
sysmachine="sun4u"
;;
x86_64-*)
sysmachine="x86_64"
;;
i?86-*)
sysmachine="i686"
;;
ia64-*)
sysmachine="ia64"
;;
arm-*|armel-*|armeb-*)
sysmachine="armv7l"
;;
mipsel-*|mipseb-*)
sysmachine="mips"
;;
powerpc-*)
sysmachine="ppc"
;;
esac
for arg in $(echo "$@" | sed 's@.@ & @g'); do
case "${arg}" in
-)
continue
;;
v)
retval="${retval} unknown"
;;
r)
retval="${retval} ${sysrelease}"
;;
s)
retval="${retval} ${sysname}"
;;
m)
retval="${retval} ${sysmachine}"
;;
p)
# XXX
retval="${retval} ${syscpu}"
;;
n)
retval="${retval} $(hostname)"
;;
a)
retval="${sysname} $(hostname) ${sysrelease} ${sysversion} ${sysmachine} ${syscpu}"
;;
esac
done
echo "${retval}" | sed 's@^ *@@;s@ *$@@'
|