Check-in [b781586ff9]
Overview
Comment:Updated to allow statically linking the Thread extension to the tclkit (excludes 8.6.0 for now)
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: b781586ff94ad30d77c182cdbd5009feb03f3415
User & Date: rkeene on 2013-09-15 04:13:38
Other Links: manifest | tags
Context
2013-09-15
04:35
Updated to not strip kit if "--enable-symbols" is passed check-in: 8553201f59 user: rkeene tags: trunk
04:13
Updated to allow statically linking the Thread extension to the tclkit (excludes 8.6.0 for now) check-in: b781586ff9 user: rkeene tags: trunk
2013-09-14
04:51
Added TLS optional package check-in: 9e6949c7b4 user: rkeene tags: trunk
Changes

Modified kitsh/buildsrc/kitsh-0.0/aclocal.m4 from [fd44c1d90a] to [0e91c1e1fd].

253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270

				hide_symbols="0"
			fi

			initialize="0"
		fi

		if test "${proj}" = "thread"; then
			initialize="0"
		fi

		if test "${proj}" = "tclvfs"; then
			initialize="0"
		fi

		if test "${hide_symbols}" = "1"; then
			STRIPLIBS="${STRIPLIBS} ${projlibfiles}"
		fi







<
<
<
<







253
254
255
256
257
258
259




260
261
262
263
264
265
266

				hide_symbols="0"
			fi

			initialize="0"
		fi





		if test "${proj}" = "tclvfs"; then
			initialize="0"
		fi

		if test "${hide_symbols}" = "1"; then
			STRIPLIBS="${STRIPLIBS} ${projlibfiles}"
		fi

Modified thread/build.sh from [27dbaffc4b] to [1e6b680b6e].

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
	if [ ! -d '../buildsrc' ]; then
		gzip -dc "../${SRC}" | tar -xf -
	else
		cp -rp ../buildsrc/* './'
	fi

	cd "${BUILDDIR}" || exit 1














































	echo "Running: ./configure --enable-shared --disable-symbols --prefix=\"${INSTDIR}\" --exec-prefix=\"${INSTDIR}\" --libdir=\"${INSTDIR}/lib\" --with-tcl=\"${TCLCONFIGDIR}\" ${CONFIGUREEXTRA}"
	./configure --enable-shared --disable-symbols --prefix="${INSTDIR}" --exec-prefix="${INSTDIR}" --libdir="${INSTDIR}/lib" --with-tcl="${TCLCONFIGDIR}" ${CONFIGUREEXTRA}

	echo "Running: ${MAKE:-make}"
	${MAKE:-make} || exit 1

	echo "Running: ${MAKE:-make} install"
	${MAKE:-make} install





	mkdir "${OUTDIR}/lib" || exit 1
	cp -r "${INSTDIR}/lib"/thread*/ "${OUTDIR}/lib/"









	"${STRIP:-strip}" -g "${OUTDIR}"/lib/thread*/*.so >/dev/null 2>/dev/null

	exit 0
) || exit 1

exit 0







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

|
|

|
|
>

>
>
>


>
>
>
>
>
>
>
>







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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
	if [ ! -d '../buildsrc' ]; then
		gzip -dc "../${SRC}" | tar -xf -
	else
		cp -rp ../buildsrc/* './'
	fi

	cd "${BUILDDIR}" || exit 1


	# Try to build as a shared object if requested
	if [ "${STATICTHREAD}" = "0" ]; then
		tryopts="--enable-shared --disable-shared"
	elif [ "${STATICTHREAD}" = "1" ]; then
		tryopts="--disable-shared"
	else
		tryopts="--enable-shared"
	fi

	SAVE_CFLAGS="${CFLAGS}"
	for tryopt in $tryopts __fail__; do
		# Clean up, if needed
		make distclean >/dev/null 2>/dev/null
		rm -rf "${INSTDIR}"
		mkdir "${INSTDIR}"

		if [ "${tryopt}" = "__fail__" ]; then
			exit 1
		fi

		if [ "${tryopt}" == "--enable-shared" ]; then
			isshared="1"
		else
			isshared="0"
		fi

		# If build a static TLS for KitDLL, ensure that we use PIC
		# so that it can be linked into the shared object
		if [ "${isshared}" = "0" -a "${KITTARGET}" = "kitdll" ]; then
			CFLAGS="${SAVE_CFLAGS} -fPIC"
		else
			CFLAGS="${SAVE_CFLAGS}"
		fi
		export CFLAGS

		if [ "${isshared}" = '0' ]; then
			sed 's@USE_TCL_STUBS@XXX_TCL_STUBS@g' configure > configure.new
		else
			sed 's@XXX_TCL_STUBS@USE_TCL_STUBS@g' configure > configure.new
		fi
		cat configure.new > configure
		rm -f configure.new

		(
			echo "Running: ./configure $tryopt --disable-symbols --prefix=\"${INSTDIR}\" --exec-prefix=\"${INSTDIR}\" --libdir=\"${INSTDIR}/lib\" --with-tcl=\"${TCLCONFIGDIR}\" ${CONFIGUREEXTRA}"
			./configure $tryopt --disable-symbols --prefix="${INSTDIR}" --exec-prefix="${INSTDIR}" --libdir="${INSTDIR}/lib" --with-tcl="${TCLCONFIGDIR}" ${CONFIGUREEXTRA}

			echo "Running: ${MAKE:-make}"
			${MAKE:-make} || exit 1

			echo "Running: ${MAKE:-make} install"
			${MAKE:-make} install
		) || continue

		break
	done

	mkdir "${OUTDIR}/lib" || exit 1
	cp -r "${INSTDIR}/lib"/thread*/ "${OUTDIR}/lib/"
	rm -f "${OUTDIR}"/lib/thread*/*.a

	if [ "${isshared}" = '0' ]; then
		cat << _EOF_ > "${OUTDIR}/lib/thread${THREADVERS}/pkgIndex.tcl"
package ifneeded Thread ${THREADVERS} [list load "" Thread]
package ifneeded Ttrace ${THREADVERS} [list source [file join $dir ttrace.tcl]]
_EOF_
	fi

	"${STRIP:-strip}" -g "${OUTDIR}"/lib/thread*/*.so >/dev/null 2>/dev/null

	exit 0
) || exit 1

exit 0