Overview
Comment: | Fixed some bugs in cross-compile builds |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: | 9fbb0ef3cab68195e4f2cbe5038a3233b12d7c8c |
User & Date: | rkeene on 2011-09-10 22:29:21 |
Other Links: | manifest | tags |
Context
2011-09-11
| ||
23:59 | Updated to CTk 8.0.2801 to fix issues with Tcl 8.6 check-in: c80dceaca0 user: rkeene tags: trunk | |
2011-09-10
| ||
22:29 | Fixed some bugs in cross-compile builds check-in: 9fbb0ef3ca user: rkeene tags: trunk | |
22:28 | Updated to use Tcl 8.5/8.4 depending on which is built Added script to cross-compile for various platforms check-in: fb61490a11 user: rkeene tags: trunk | |
Changes
Modified server/buildpkgs/build_all.sh from [feba34159a] to [5e7c9aafc7].
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
..
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
rm -rf tcl fi if [ "${CLEANONLY}" = "0" ]; then PROJROOTDIR="$(pwd)" export PROJROOTDIR for TCLVERS in 8.5.9 8.4.19; do TCLSHORTVERS="$(echo "${TCLVERS}" | cut -f 1-2 -d '.')" TCLPRIVATE="$(pwd)/tcl/build/tcl${TCLVERS}" TCLINSTDIR="$(pwd)/tcl/inst-${TCLSHORTVERS}" export TCLVERS TCLPRIVATE TCLINSTDIR if [ -f "${TCLINSTDIR}/lib/tclConfig.sh" ]; then echo "Skipping build of Tcl ${TCLVERS} (already found)" continue fi mkdir tcl tcl/build >/dev/null 2>/dev/null if [ ! -f "tcl/src/tcl${TCLVERS}.tar.gz" ]; then mkdir tcl/src >/dev/null 2>/dev/null wget -o /dev/null -O "tcl/src/tcl${TCLVERS}.tar.gz" "http://prdownloads.sourceforge.net/tcl/tcl${TCLVERS}-src.tar.gz" fi echo "Building Tcl ${TCLVERS}" ( mkdir tcl/build >/dev/null 2>/dev/null cd tcl/build || exit 1 gzip -dc "../src/tcl${TCLVERS}.tar.gz" | tar -xf - # DDE and Reg can fail to compile, but we don't care echo '' > "${TCLPRIVATE}/win/tclWinDde.c" echo '' > "${TCLPRIVATE}/win/tclWinReg.c" for dir in unix win macosx; do cd "${TCLPRIVATE}/${dir}" || exit 1 echo " Executing: ./configure --enable-threads ${CONFIGUREEXTRA} --prefix=\"${TCLINSTDIR}\"" ./configure --enable-threads ${CONFIGUREEXTRA} --prefix="${TCLINSTDIR}" echo " Executing: ${MAKE:-make}" ${MAKE:-make} || continue echo " Executing: ${MAKE:-make} install" ${MAKE:-make} install || break LD_LIBRARY_PATH=".:${LD_LIBRARY_PATH}" LD_RUN_PATH=".:${LD_RUN_PATH}" export LD_LIBRARY_PATH LD_RUN_PATH file tclsh tclsh*.exe 2>/dev/null | grep -iv 'No such file' > "${PROJROOTDIR}/platform.magic.file" if [ -f tclsh*.exe ]; then ................................................................................ echo "Failed to build Tcl. See \"./tcl/build/build-${TCLVERS}.log\"" >&2 echo 'Aborting.' >&2 exit 1 ) || exit 1 ( TCLBUILDDIR="$(cat "${PROJROOTDIR}/platform.magic.dir")" export TCLBUILDDIR if [ -d "${TCLINSTDIR}" -a -f "${TCLINSTDIR}/lib/tclConfig.sh" ]; then TCLCONFIGDIR="${TCLINSTDIR}/lib" elif [ -d "${TCLBUILDDIR}" -a -f "${TCLBUILDDIR}/tclConfig.sh" ]; then TCLCONFIGDIR="${TCLBUILDDIR}" else echo 'Unable to find appropriate tclConfig.sh, aborting' >&2 |
|
>
>
>
>
|
>
>
>
>
>
>
|
>
>
>
>
>
>
>
>
>
<
>
>
>
>
>
>
>
|
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
...
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
rm -rf tcl fi if [ "${CLEANONLY}" = "0" ]; then PROJROOTDIR="$(pwd)" export PROJROOTDIR for TCLVERS in 8.5.10 8.4.19; do TCLSHORTVERS="$(echo "${TCLVERS}" | cut -f 1-2 -d '.')" TCLPRIVATE="$(pwd)/tcl/build/tcl${TCLVERS}" TCLINSTDIR="$(pwd)/tcl/inst-${TCLSHORTVERS}" export TCLVERS TCLPRIVATE TCLINSTDIR if [ -f "${TCLINSTDIR}/lib/tclConfig.sh" ]; then echo "Skipping build of Tcl ${TCLVERS} (already found)" continue fi mkdir tcl tcl/build >/dev/null 2>/dev/null # Clean this up so that other platforms don't use it rm -f "${PROJROOTDIR}/platform.magic.dir" if [ ! -f "tcl/src/tcl${TCLVERS}.tar.gz" ]; then mkdir tcl/src >/dev/null 2>/dev/null wget -o /dev/null -O "tcl/src/tcl${TCLVERS}.tar.gz" "http://prdownloads.sourceforge.net/tcl/tcl${TCLVERS}-src.tar.gz" fi echo "Building Tcl ${TCLVERS}" ( mkdir tcl/build >/dev/null 2>/dev/null cd tcl/build || exit 1 gzip -dc "../src/tcl${TCLVERS}.tar.gz" | tar -xf - # Source fix-ups ## DDE and Reg can fail to compile, but we don't care echo '' > "${TCLPRIVATE}/win/tclWinDde.c" 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" for dir in unix win macosx; do cd "${TCLPRIVATE}/${dir}" || exit 1 echo " Executing: ./configure --enable-threads ${CONFIGUREEXTRA} --prefix=\"${TCLINSTDIR}\"" ./configure --enable-threads ${CONFIGUREEXTRA} --prefix="${TCLINSTDIR}" echo " Executing: ${MAKE:-make}" ${MAKE:-make} || ( rm -f tclConfig.sh exit 1 ) || continue ## Kludge to make Tcl install when cross-compiling. sed 's@^${TCL_EXE}@blah@' Makefile > Makefile.new cat Makefile.new > Makefile rm -f Makefile.new echo " Executing: ${MAKE:-make} install" ${MAKE:-make} install TCL_EXE="../../../../../../../../../../../../../../../../../$(which "${TCLSH_NATIVE:-tclsh}")" || break LD_LIBRARY_PATH=".:${LD_LIBRARY_PATH}" LD_RUN_PATH=".:${LD_RUN_PATH}" export LD_LIBRARY_PATH LD_RUN_PATH file tclsh tclsh*.exe 2>/dev/null | grep -iv 'No such file' > "${PROJROOTDIR}/platform.magic.file" if [ -f tclsh*.exe ]; then ................................................................................ echo "Failed to build Tcl. See \"./tcl/build/build-${TCLVERS}.log\"" >&2 echo 'Aborting.' >&2 exit 1 ) || exit 1 ( rm -f "${PROJROOTDIR}/platform.magic.env-${TCLSHORTVERS}" TCLBUILDDIR="$(cat "${PROJROOTDIR}/platform.magic.dir")" export TCLBUILDDIR if [ -z "${TCLBUILDDIR}" ]; then TCLBUILDDIR="/dev/null" fi if [ -d "${TCLINSTDIR}" -a -f "${TCLINSTDIR}/lib/tclConfig.sh" ]; then TCLCONFIGDIR="${TCLINSTDIR}/lib" elif [ -d "${TCLBUILDDIR}" -a -f "${TCLBUILDDIR}/tclConfig.sh" ]; then TCLCONFIGDIR="${TCLBUILDDIR}" else echo 'Unable to find appropriate tclConfig.sh, aborting' >&2 |