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