Overview
Context
Changes
Modified .fossil-settings/ignore-glob
from [6f2aa7c2a3]
to [2c3e9f6547].
︙ | | | ︙ | |
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
zlib/build.log
zlib/inst
zlib/inst/*
zlib/out
zlib/out/*
zlib/src
zlib/src/*
tcc/build
tcc/build/*
tcc/build.log
tcc/inst
tcc/inst/*
tcc/out
tcc/out/*
tcc/src
tcc/src/*
kitdll/buildsrc/kitdll-0.0/starpack.vfs
kitdll/buildsrc/kitdll-0.0/starpack.vfs/*
kitdll/buildsrc/kitdll-0.0/test
kitdll/buildsrc/kitdll-0.0/configure
kitdll/buildsrc/kitdll-0.0/libtcl*.so
kitdll/buildsrc/kitdll-0.0/Makefile
kitdll/buildsrc/kitdll-0.0/*.o
|
|
|
|
|
|
|
|
|
|
|
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
zlib/build.log
zlib/inst
zlib/inst/*
zlib/out
zlib/out/*
zlib/src
zlib/src/*
tcc4tcl/build
tcc4tcl/build/*
tcc4tcl/build.log
tcc4tcl/inst
tcc4tcl/inst/*
tcc4tcl/out
tcc4tcl/out/*
tcc4tcl/src
tcc4tcl/src/*
kitdll/buildsrc/kitdll-0.0/starpack.vfs
kitdll/buildsrc/kitdll-0.0/starpack.vfs/*
kitdll/buildsrc/kitdll-0.0/test
kitdll/buildsrc/kitdll-0.0/configure
kitdll/buildsrc/kitdll-0.0/libtcl*.so
kitdll/buildsrc/kitdll-0.0/Makefile
kitdll/buildsrc/kitdll-0.0/*.o
|
︙ | | | ︙ | |
Modified kitcreator
from [3d5aec022e]
to [0ebdeb3250].
︙ | | | ︙ | |
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
if [ -f 'build/pre.sh' ]; then
if ! find 'kitsh/buildsrc/' -name configure -type f 2>/dev/null | grep configure >/dev/null; then
echo "Please remember to run 'build/pre.sh' if you expect this build to work." >&2
fi
fi
# Define the list of all packages, for cleaning purposes
KITCREATOR_ALLPKGS="kitsh tcl tclvfs zlib tk itcl mk4tcl thread dbus tls tclx tcc"
# Always rebuild kitsh
rm -f "kitsh/.success"
for pkg in ${KITCREATOR_ALLPKGS}; do
if [ "${mode}" != "retry" -o ! -f "${pkg}/.success" ]; then
rm -f "${pkg}/build.log" "${pkg}/.success"
rm -rf "${pkg}/out" "${pkg}/inst" "${pkg}/build"
|
|
|
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
if [ -f 'build/pre.sh' ]; then
if ! find 'kitsh/buildsrc/' -name configure -type f 2>/dev/null | grep configure >/dev/null; then
echo "Please remember to run 'build/pre.sh' if you expect this build to work." >&2
fi
fi
# Define the list of all packages, for cleaning purposes
KITCREATOR_ALLPKGS="kitsh tcl tclvfs zlib tk itcl mk4tcl thread dbus tls tclx tcc4tcl"
# Always rebuild kitsh
rm -f "kitsh/.success"
for pkg in ${KITCREATOR_ALLPKGS}; do
if [ "${mode}" != "retry" -o ! -f "${pkg}/.success" ]; then
rm -f "${pkg}/build.log" "${pkg}/.success"
rm -rf "${pkg}/out" "${pkg}/inst" "${pkg}/build"
|
︙ | | | ︙ | |
Deleted tcc/build.sh version [bb5492c154].
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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
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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
|
#! /usr/bin/env bash
if [ ! -f 'build.sh' ]; then
echo 'ERROR: This script must be run from the directory it is in' >&2
exit 1
fi
if [ -z "${TCLVERS}" ]; then
echo 'ERROR: The TCLVERS environment variable is not set' >&2
exit 1
fi
TCLTCCVERS="0.4"
SRC="src/tcltcc-${TCLTCCVERS}.zip"
SRCURL="https://tcltcc.googlecode.com/files/tcltcc${TCLTCCVERS}.zip"
BUILDDIR="$(pwd)/build/tcltcc-0.4"
OUTDIR="$(pwd)/out"
INSTDIR="$(pwd)/inst"
PATCHSCRIPTDIR="$(pwd)/patchscripts"
PATCHDIR="$(pwd)/patches"
export TCLTCCVERS SRC SRCURL BUILDDIR OUTDIR INSTDIR PATCHSCRIPTDIR PATCHDIR
# Set configure options for this sub-project
LDFLAGS="${KC_TCLTCC_LDFLAGS}"
CFLAGS="${KC_TCLTCC_CFLAGS}"
CPPFLAGS="${KC_TCLTCC_CPPFLAGS}"
LIBS="${KC_TCLTCC_LIBS}"
export LDFLAGS CFLAGS CPPFLAGS LIBS
rm -rf 'build' 'out' 'inst'
mkdir 'build' 'out' 'inst' || exit 1
TCL_VERSION="unknown"
if [ -f "${TCLCONFIGDIR}/tclConfig.sh" ]; then
source "${TCLCONFIGDIR}/tclConfig.sh"
fi
export TCL_VERSION
if [ ! -f "${SRC}" ]; then
mkdir 'src' >/dev/null 2>/dev/null
if [ ! -d 'buildsrc' ]; then
rm -f "${SRC}.tmp"
wget -O "${SRC}.tmp" "${SRCURL}" || exit 1
mv "${SRC}.tmp" "${SRC}"
fi
fi
(
cd 'build' || exit 1
if [ ! -d '../buildsrc' ]; then
mkdir "${BUILDDIR}" || exit 1
(
cd "${BUILDDIR}" || exit 1
unzip "../../${SRC}"
)
else
cp -rp ../buildsrc/* './'
fi
# Apply required patches
cd "${BUILDDIR}" || exit 1
# Install current Tcl headers
cp -r ../../../{tcl,tk}/inst/include/* include/
for patch in "${PATCHDIR}/all"/tcltcc-${TCLTCCVERS}-*.diff "${PATCHDIR}/${TCL_VERSION}"/tcltcc-${TCLTCCVERS}-*.diff; do
if [ ! -f "${patch}" ]; then
continue
fi
echo "Applying: ${patch}"
${PATCH:-patch} -p1 < "${patch}"
done
# Apply patch scripts if needed
for patchscript in "${PATCHSCRIPTDIR}"/*.sh; do
if [ -f "${patchscript}" ]; then
echo "Running patch script: ${patchscript}"
(
. "${patchscript}"
)
fi
done
# Try to build as a shared object if requested
if [ "${STATICTCLTCC}" = "0" ]; then
tryopts="--enable-shared --disable-shared"
elif [ "${STATICTCLTCC}" = "-1" ]; then
tryopts="--enable-shared"
else
tryopts="--disable-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 TclX 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
if [ "${isshared}" = "0" ]; then
CFLAGS="${CFLAGS} -DCONFIG_TCC_STATIC=1"
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
chmod +x configure
(
echo "Running: ./configure $tryopt --prefix=\"${INSTDIR}\" --exec-prefix=\"${INSTDIR}\" --libdir=\"${INSTDIR}/lib\" --with-tcl=\"${TCLCONFIGDIR}\" ${CONFIGUREEXTRA}"
./configure $tryopt --prefix="${INSTDIR}" --exec-prefix="${INSTDIR}" --libdir="${INSTDIR}/lib" --with-tcl="${TCLCONFIGDIR}" ${CONFIGUREEXTRA}
echo "Running: ${MAKE:-make} tcllibdir=\"${INSTDIR}/lib\" AR=\"${AR:-ar}\" RANLIB=\"${RANLIB:-ranlib}\""
${MAKE:-make} tcllibdir="${INSTDIR}/lib" AR="${AR:-ar}" RANLIB="${RANLIB:-ranlib}" || exit 1
echo "Running: ${MAKE:-make} tcllibdir=\"${INSTDIR}/lib\" AR=\"${AR:-ar}\" RANLIB=\"${RANLIB:-ranlib}\" install"
${MAKE:-make} tcllibdir="${INSTDIR}/lib" AR="${AR:-ar}" RANLIB="${RANLIB:-ranlib}" install || exit 1
) || continue
break
done
# Install files needed by installation
pkgDir="${INSTDIR}/lib/tcc${TCLTCCVERS}"
pkgIndex="${pkgDir}/pkgIndex.tcl"
mkdir -p "${pkgDir}"
cp tcc.tcl "${pkgDir}"
cp pkgIndex.tcl "${pkgDir}"
# Install headers needed for compilation
incDir="${pkgDir}/include"
mkdir "${incDir}"
touch include/windows.h
cp -r include/* "${incDir}"
find "${incDir}" -name '*.a' | xargs rm -f
# Install libraries
libDir="${pkgDir}/lib"
mkdir "${libDir}"
(
cd c || exit 1
rm -f *.a *.o
for file in *.c; do
ofile="$(echo "${file}" | sed 's@\.c$@.o@')"
"${CC:-gcc}" -I../include -I../../../../{tcl,tk}/inst/include/ -I../../../../tcl/build/tcl${TCLVERS}/generic/ -I../../../../tcl/build/tcl${TCLVERS}/unix/ -DUSE_TCL_STUBS=1 -c "${file}" -o "${ofile}"
done
"${AR:-ar}" rcu ../lib/libtcc1.a *.o
"${RANLIB:-ranlib}" ../lib/libtcc1.a
)
cp lib/libtcc1.a "${libDir}"
# Create VFS-insert
cp -r "${INSTDIR}/lib" "${OUTDIR}" || exit 1
find "${OUTDIR}" -name '*.a' -type f | grep -v '/lib/libtcc1\.a$' | xargs rm -f
exit 0
) || exit 1
exit 0
|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
|
|
|
Deleted tcc/patches/all/tcltcc-0.4-erroronunsupported.diff version [e47fbc9f65].
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
diff -uNr tcltcc-0.4.orig/generic/tcc.h tcltcc-0.4-1erroronunsupported/generic/tcc.h
--- tcltcc-0.4.orig/generic/tcc.h 2007-11-07 10:04:32.000000000 -0600
+++ tcltcc-0.4-1erroronunsupported/generic/tcc.h 2014-04-28 16:34:24.600645002 -0500
@@ -21,6 +21,10 @@
#include "config.h"
#include "tcl.h"
+#if defined(__x86_64__)
+# error "KitCreator TclTCC: Unsupported platform"
+#endif
+
#ifdef CONFIG_TCCBOOT
#include "tccboot.h"
|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
|
|
|
Deleted tcc/patches/all/tcltcc-0.4-fixloading.diff version [59d3bfe7e9].
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
--- tcltcc-0.4.orig/tcc.tcl 2007-11-07 10:04:42.000000000 -0600
+++ tcltcc-0.4/tcc.tcl 2014-04-26 23:06:24.272645002 -0500
@@ -9,10 +9,15 @@
variable commands
set dir [file dirname [info script]]
- switch -exact -- $::tcl_platform(platform) {
- windows { load $dir/tcc02.dll tcc }
- unix { load $dir/libtcc0.2.so tcc }
- default {error "unsupport platform"}
+ if {[info command ::tcc] == ""} {
+ catch { load {} tcc }
+ }
+ if {[info command ::tcc] == ""} {
+ switch -exact -- $::tcl_platform(platform) {
+ windows { load $dir/tcc04.dll tcc }
+ unix { load $dir/libtcc0.4.so tcc }
+ default {error "unsupport platform"}
+ }
}
set libs $dir/lib
set includes $dir/include
|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
|
|
|
Deleted tcc/patches/all/tcltcc-0.4-fixstaticwin32.diff version [20767a1a7f].
1
2
3
4
5
6
7
8
9
10
11
12
|
diff -uNr tcltcc-0.4.orig/generic/win32/tccpe.c tcltcc-0.4-1fixstaticwin32/generic/win32/tccpe.c
--- tcltcc-0.4.orig/generic/win32/tccpe.c 2007-11-07 10:04:32.000000000 -0600
+++ tcltcc-0.4-1fixstaticwin32/generic/win32/tccpe.c 2014-04-28 15:19:49.340645002 -0500
@@ -397,7 +397,7 @@
return sym_index;
}
-#ifdef WIN32
+#if defined(WIN32) && !defined(CONFIG_TCC_STATIC)
ST void **pe_imp;
ST int nb_pe_imp;
|
<
<
<
<
<
<
<
<
<
<
<
<
|
|
|
Deleted tcc/patches/all/tcltcc-0.4-setincpath.diff version [f1fe8f9975].
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
Common subdirectories: tcltcc-0.4.orig/c and tcltcc-0.4/c
Common subdirectories: tcltcc-0.4.orig/demo and tcltcc-0.4/demo
Common subdirectories: tcltcc-0.4.orig/examples and tcltcc-0.4/examples
Common subdirectories: tcltcc-0.4.orig/generic and tcltcc-0.4/generic
Common subdirectories: tcltcc-0.4.orig/include and tcltcc-0.4/include
Common subdirectories: tcltcc-0.4.orig/install and tcltcc-0.4/install
Common subdirectories: tcltcc-0.4.orig/lib and tcltcc-0.4/lib
diff -u tcltcc-0.4.orig/tcc.tcl tcltcc-0.4/tcc.tcl
--- tcltcc-0.4.orig/tcc.tcl 2014-04-26 23:57:35.522645002 -0500
+++ tcltcc-0.4/tcc.tcl 2014-04-27 00:01:35.492645002 -0500
@@ -101,6 +101,7 @@
set tcc(cc) tcc1
tcc $tcc::dir $tcc(cc)
$tcc(cc) add_library tcl8.5
+ $tcc(cc) add_include_path [file join $::tcc::dir include]
}
Log code:$code
$tcc(cc) compile $code
Common subdirectories: tcltcc-0.4.orig/tclconfig and tcltcc-0.4/tclconfig
Common subdirectories: tcltcc-0.4.orig/tests and tcltcc-0.4/tests
Common subdirectories: tcltcc-0.4.orig/tools and tcltcc-0.4/tools
|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
|
|
|
Deleted tcc/patchscripts/tcltcc-0.4-addtclfuncs.sh version [f0194cd9c1].
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#! /bin/bash
function find_syms() {
${CC:-gcc} ${CPPFLAGS} -E include/tcl.h | grep '^ *extern.*Tcl_'| sed 's@^ *extern *@@;s@([^(]*$@@;s@.* *\** *@@' | sort -u | grep '^Tcl_' | grep -v ';$' | while read -r sym; do
echo " TCCSYM($sym)"
done
}
add="$(find_syms)"
awk -v add="${add}" '/TCCSyms tcc_syms.*=/{
print
print add
next
} { print }' generic/tcc.h > generic/tcc.h.new
cat generic/tcc.h.new > generic/tcc.h
rm -f generic/tcc.h.new
exit 0
|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
|
|
|
Added tcc4tcl/build.sh version [c3ecd9940b].
|
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
#! /usr/bin/env bash
if [ ! -f 'build.sh' ]; then
echo 'ERROR: This script must be run from the directory it is in' >&2
exit 1
fi
if [ -z "${TCLVERS}" ]; then
echo 'ERROR: The TCLVERS environment variable is not set' >&2
exit 1
fi
TCC4TCLVERS="0.5"
SRC="src/tcc4tcl-${TCC4TCLVERS}.tar.gz"
SRCURL="http://rkeene.org/devel/tcc4tcl/tcc4tcl-${TCC4TCLVERS}.tar.gz"
BUILDDIR="$(pwd)/build/tcc4tcl-${TCC4TCLVERS}"
OUTDIR="$(pwd)/out"
INSTDIR="$(pwd)/inst"
PATCHDIR="$(pwd)/patches"
export TCC4TCLVERS SRC SRCURL BUILDDIR OUTDIR INSTDIR PATCHDIR
# Set configure options for this sub-project
LDFLAGS="${KC_TCC4TCL_LDFLAGS}"
CFLAGS="${KC_TCC4TCL_CFLAGS}"
CPPFLAGS="${KC_TCC4TCL_CPPFLAGS}"
LIBS="${KC_TCC4TCL_LIBS}"
export LDFLAGS CFLAGS CPPFLAGS LIBS
rm -rf 'build' 'out' 'inst'
mkdir 'build' 'out' 'inst' || exit 1
TCL_VERSION="unknown"
if [ -f "${TCLCONFIGDIR}/tclConfig.sh" ]; then
source "${TCLCONFIGDIR}/tclConfig.sh"
fi
export TCL_VERSION
if [ ! -f "${SRC}" ]; then
mkdir 'src' >/dev/null 2>/dev/null
if [ ! -d 'buildsrc' ]; then
rm -f "${SRC}.tmp"
wget -O "${SRC}.tmp" "${SRCURL}" || exit 1
mv "${SRC}.tmp" "${SRC}"
fi
fi
(
cd 'build' || exit 1
if [ ! -d '../buildsrc' ]; then
gzip -dc "../${SRC}" | tar -xf -
else
cp -rp ../buildsrc/* './'
fi
# Apply required patches
cd "${BUILDDIR}" || exit 1
for patch in "${PATCHDIR}/all"/tcc4tcl-${TCC4TCLVERS}-*.diff "${PATCHDIR}/${TCL_VERSION}"/tcc4tcl-${TCC4TCLVERS}-*.diff; do
if [ ! -f "${patch}" ]; then
continue
fi
echo "Applying: ${patch}"
${PATCH:-patch} -p1 < "${patch}"
done
# Try to build as a shared object if requested
if [ "${STATICTCC4TCL}" = "0" ]; then
tryopts="--enable-shared --disable-shared"
elif [ "${STATICTCC4TCL}" = "-1" ]; then
# Require shared object if requested
tryopts="--enable-shared"
else
# Default to building statically
tryopts="--disable-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 tcc4tcl 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
(
echo "Running: ./configure $tryopt --prefix=\"${INSTDIR}\" --exec-prefix=\"${INSTDIR}\" --libdir=\"${INSTDIR}/lib\" --with-tcl=\"${TCLCONFIGDIR}\" ${CONFIGUREEXTRA}"
./configure $tryopt --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 || exit 1
) || continue
break
done
# Create VFS-insert
cp -r "${INSTDIR}/lib" "${OUTDIR}" || exit 1
find "${OUTDIR}" -name '*.a' -type f | grep -v '/libtcc1\.a$' | xargs rm -f
exit 0
) || exit 1
exit 0
|