Check-in [b84f59e5de]
Overview
Comment:Fixed issue with Tcl 8.5 and up cross-compile installation

Fixed check for no Tk libs to exclude stubs in the check, but include it in the linking

Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:b84f59e5de7589980023db3e16a167b58fd5d341
User & Date: rkeene on 2010-09-26 04:40:31
Other Links: manifest | tags
Context
2010-09-26
04:40
KitCreator 0.0.8.x

Updated documentation regarding mipsel-linux cross-compiling check-in: 7b805333b0 user: rkeene tags: trunk, 0.0.8

04:40
Fixed issue with Tcl 8.5 and up cross-compile installation

Fixed check for no Tk libs to exclude stubs in the check, but include it in the linking check-in: b84f59e5de user: rkeene tags: trunk

04:40
Updated kitsh to support Windows

Removed executable bit from boot.tcl

Updated licensing

Added documentation regarding statically linking to Tk

Updated win32 build test to pass in path to zlib check-in: f644c21488 user: rkeene tags: trunk

Changes

Modified kitsh/buildsrc/kitsh-0.0/aclocal.m4 from [274d569e46] to [e980cfaf2c].

122
123
124
125
126
127
128

129
130
131
132
133
134
135
136
137
138
139
140
141
142
AC_DEFUN(DC_FIND_TCLKIT_LIBS, [
	DC_SETUP_TCL_PLAT_DEFS

	for proj in mk4tcl tcl tclvfs tk; do
		AC_MSG_CHECKING([for libraries required for ${proj}])

		libdir="../../../${proj}/inst"

		libfiles="`find "${libdir}" -name '*.a' | grep -v 'stub' | tr "\n" ' '`"

		ARCHS="${ARCHS} ${libfiles}"

		AC_MSG_RESULT([${libfiles}])

		if test "${libfiles}" != ""; then
			if test "${proj}" = "mk4tcl"; then
				AC_DEFINE(KIT_INCLUDES_MK4TCL, [1], [Specify this if you link against mkt4tcl])
				DC_DO_STATIC_LINK_LIBCXX
			fi
			if test "${proj}" = "tk"; then
				DC_DO_TK
				AC_DEFINE(KIT_INCLUDES_TK, [1], [Specify this if we link statically to Tk])







>
|





|







122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
AC_DEFUN(DC_FIND_TCLKIT_LIBS, [
	DC_SETUP_TCL_PLAT_DEFS

	for proj in mk4tcl tcl tclvfs tk; do
		AC_MSG_CHECKING([for libraries required for ${proj}])

		libdir="../../../${proj}/inst"
		libfiles="`find "${libdir}" -name '*.a' | tr "\n" ' '`"
		libfilesnostub="`find "${libdir}" -name '*.a' | grep -v 'stub' | tr "\n" ' '`"

		ARCHS="${ARCHS} ${libfiles}"

		AC_MSG_RESULT([${libfiles}])

		if test "${libfilesnostub}" != ""; then
			if test "${proj}" = "mk4tcl"; then
				AC_DEFINE(KIT_INCLUDES_MK4TCL, [1], [Specify this if you link against mkt4tcl])
				DC_DO_STATIC_LINK_LIBCXX
			fi
			if test "${proj}" = "tk"; then
				DC_DO_TK
				AC_DEFINE(KIT_INCLUDES_TK, [1], [Specify this if we link statically to Tk])

Modified tcl/build.sh from [5c0e5e63d0] to [6599bcea65].

60
61
62
63
64
65
66
67














68
69
70
71
72
73
74
75
76
77
78
79

		cd "${BUILDDIR}/${dir}" || exit 1

		./configure --disable-shared --prefix="${INSTDIR}" ${CONFIGUREEXTRA}

		${MAKE:-make} || continue

		${MAKE:-make} install















		mkdir "${OUTDIR}/lib" || exit 1
		cp -r "${INSTDIR}/lib"/* "${OUTDIR}/lib/"
		rm -rf "${OUTDIR}/lib/pkgconfig"
		rm -f "${OUTDIR}"/lib/* >/dev/null 2>/dev/null
		find "${OUTDIR}" -name '*.a' | xargs rm -f >/dev/null 2>/dev/null

		break
	done
) || exit 1

exit 0







|
>
>
>
>
>
>
>
>
>
>
>
>
>
>












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

		cd "${BUILDDIR}/${dir}" || exit 1

		./configure --disable-shared --prefix="${INSTDIR}" ${CONFIGUREEXTRA}

		${MAKE:-make} || continue

		${MAKE:-make} install || (
			# Work with Tcl 8.6.x's TCLSH_NATIVE solution for
			# cross-compile installs

			${MAKE:-make} install TCLSH_NATIVE="${TCLKIT:-tclkit}"
		) || (
			# Make install can fail if cross-compiling using Tcl 8.5.x
			# because the Makefile calls "$(TCLSH)".  We can't simply
			# redefine TCLSH because it also uses TCLSH as a build target
			sed 's@^$(TCLSH)@blah@' Makefile > Makefile.new
			cat Makefile.new > Makefile
			rm -f Makefile.new

			${MAKE:-make} install TCLSH="../../../../../../../../../../../../../../../../../$(which "${TCLKIT:-tclkit}")"
		)

		mkdir "${OUTDIR}/lib" || exit 1
		cp -r "${INSTDIR}/lib"/* "${OUTDIR}/lib/"
		rm -rf "${OUTDIR}/lib/pkgconfig"
		rm -f "${OUTDIR}"/lib/* >/dev/null 2>/dev/null
		find "${OUTDIR}" -name '*.a' | xargs rm -f >/dev/null 2>/dev/null

		break
	done
) || exit 1

exit 0