Check-in [1c46fbeaaf]
Overview
SHA1:1c46fbeaafa8177b47107701aeda6f40a30943f6
Date: 2014-12-11 16:55:47
User: rkeene
Comment:Added start of completely-static-pkgs
Timelines: family | ancestors | descendants | both | trunk
Downloads: Tarball | ZIP archive
Other Links: files | file ages | folders | manifest
Tags And Properties
Context
2014-12-19
00:43
[bbe03c6049] Added TclLib support (user: rkeene, tags: trunk)
2014-12-11
16:55
[1c46fbeaaf] Added start of completely-static-pkgs (user: rkeene, tags: trunk)
16:54
[2c3a155971] Fixed missing newline (user: rkeene, tags: trunk)
Changes

Modified README from [085d562352] to [c5d7d876b1].

137
138
139
140
141
142
143
144



145
146
147
148
149
150
151
		packages from Tcl build.  This excludes the following packages:
			tcltest

		Additionally, any bundled packages (in the "pkgs" directory)
		are excluded.  This typically includes (as of Tcl 8.6):
			itcl thread

		Also, TclOO is removed from Tcl 8.6 forcefully.





Cross compiling Environment Variables:

	1. CC  
		C compiler   e.g. i686-pc-mingw32-gcc








|
>
>
>







137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
		packages from Tcl build.  This excludes the following packages:
			tcltest

		Additionally, any bundled packages (in the "pkgs" directory)
		are excluded.  This typically includes (as of Tcl 8.6):
			itcl thread

	10. KC_TCL_STATICPKGS
		Set this variable to the value "1" to attempt to force the
		packages included in the "pkgs" directory of Tcl 8.6+
		to be compiled statically


Cross compiling Environment Variables:

	1. CC  
		C compiler   e.g. i686-pc-mingw32-gcc

Added tcl/patchscripts/force-static-pkgs.sh version [068e7f94db].















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#! /usr/bin/env bash

if [ "${KC_TCL_STATICPKGS}" != '1' ]; then
	exit 0
fi

for makefile in {unix,win,macosx}/Makefile.in; do
	sed 's@--enable-shared@--disable-shared CFLAGS="-fPIC" @g' "${makefile}" > "${makefile}.new"
	cat "${makefile}.new" > "${makefile}"
	rm -f "${makefile}.new"
done

for pkgIndexFile in pkgs/*/pkgIndex*; do
	sed 's@load \[file join [^]]*\]@load {}@;s@\(Thread.* \[list load {}\)\]@\1 Thread]@' "${pkgIndexFile}" > "${pkgIndexFile}.new"
	cat "${pkgIndexFile}.new" > "${pkgIndexFile}"
	rm -f "${pkgIndexFile}.new"
done

for makefile in pkgs/*/Makefile*; do
	sed 's@x\$(SHARED_BUILD)@x1@g' "${makefile}" > "${makefile}.new"
	cat "${makefile}.new" > "${makefile}"
	rm -f "${makefile}.new"
done