Changes In Branch tcc Excluding Merge-Ins
This is equivalent to a diff from 1a5bbc4282 to 93b2be7812
|
2014-04-28
| ||
| 20:36 | Added TclTCC check-in: c8641be07e user: rkeene tags: trunk | |
| 20:36 | Fixes for zlib on other platforms check-in: b62450459c user: rkeene tags: trunk | |
| 20:36 | Updated with fixes for TCC on Win32 Closed-Leaf check-in: 93b2be7812 user: rkeene tags: tcc | |
| 16:33 | Updated to more accepting of C compilers when fixing up TCC check-in: 35718d9982 user: rkeene tags: tcc | |
|
2014-04-27
| ||
| 04:17 | Started work on adding TclTCC package check-in: 2a6f69ee57 user: rkeene tags: tcc | |
| 04:13 | Work towards upgrading zlib -- untested on most platforms check-in: 1a5bbc4282 user: rkeene tags: trunk | |
| 04:12 | Minor whitespace change check-in: a12c65d1e5 user: rkeene tags: trunk | |
Added .fossil-settings/crnl-glob version [f35e2eb18c].
> > | 1 2 | tcc/patches/all/tcltcc-0.4-fixloading.diff tcc/patches/all/tcltcc-0.4-setincpath.diff |
Added .fossil-settings/ignore-glob version [1a05efe8ce].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | build/test/kits build/test/kits/* itcl/build itcl/build/* itcl/build.log itcl/inst itcl/inst/* itcl/out itcl/out/* itcl/src itcl/src/* kitsh/build kitsh/build/* kitsh/build.log kitsh/buildsrc/kitsh-0.0/Makefile kitsh/buildsrc/kitsh-0.0/autom4te.cache kitsh/buildsrc/kitsh-0.0/autom4te.cache/* kitsh/buildsrc/kitsh-0.0/boot.tcl.h kitsh/buildsrc/kitsh-0.0/config.h kitsh/buildsrc/kitsh-0.0/config.h.in kitsh/buildsrc/kitsh-0.0/config.log kitsh/buildsrc/kitsh-0.0/config.status kitsh/buildsrc/kitsh-0.0/configure kitsh/buildsrc/kitsh-0.0/kit kitsh/buildsrc/kitsh-0.0/zipvfs.tcl.h kitsh/inst kitsh/inst/* kitsh/out kitsh/out/* mk4tcl/build mk4tcl/build/* mk4tcl/build.log mk4tcl/inst mk4tcl/inst/* mk4tcl/out mk4tcl/out/* mk4tcl/src mk4tcl/src/* tcl/build tcl/build/* tcl/build.log tcl/inst tcl/inst/* tcl/out tcl/out/* tcl/src tcl/src/* tclkit-* tclkit-*/* tclvfs/build tclvfs/build/* tclvfs/build.log tclvfs/inst tclvfs/inst/* tclvfs/out tclvfs/out/* tclvfs/src tclvfs/src/* thread/build thread/build/* thread/build.log thread/inst thread/inst/* thread/out thread/out/* thread/src thread/src/* tk/build tk/build/* tk/build.log tk/inst tk/inst/* tk/out tk/out/* tk/src tk/src/* zlib/build zlib/build/* 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 kitdll/buildsrc/kitdll-0.0/config.log kitdll/buildsrc/kitdll-0.0/config.status kitdll/buildsrc/kitdll-0.0/vfs_kitdll_data_tcl.c kitdll/buildsrc/kitdll-0.0/vfs_kitdll.tcl.h kitdll/build/kitdll-* kitdll/build/kitdll-*/* kitdll/build.log libtclkit-*.* |
Modified kitcreator from [e140ad3217] to [3d5aec022e].
| ︙ | ︙ | |||
23 24 25 26 27 28 29 | 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 | | > | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
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"
|
| ︙ | ︙ |
Added 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
|
Added 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
|
Added 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;
|
Added 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
|
Added tcc/patchscripts/tcltcc-0.4-addtclfuncs.sh version [b66c99e82c].
> > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#! /bin/bash
set -x
function find_syms() {
set -x
${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
|