Version 21 of KitCreator

Updated 2018-05-23 17:52:32 by JMC

KitCreator , by Roy Keene, is a simple build system for creating a Tclkit or other basekit for your platform. It was created to ease creation of basekits for the local platform.

Builds

released builds
KitCreator Web Interface
choose desired kit via a form

Description

It will work for cross-compiling Tclkits if you bootstrap a local Tclkit first.

It is intended to resemble as closely as possible the authentic Tclkit.

What sets this project apart from other similar projects is that:

  1. It attempts to be modular;
  2. It supports cross-compiling;
  3. It downloads the source from their original repositories;
  4. It allows you to specify an arbitrary version of Tcl (including CVS); and
  5. It uses GNU Autoconf scripts for compiling the part of the Tclkit that brings the whole thing together (the Kitsh)

AMG: Is any work being done on getting recent versions of KitCreator to work with SunOS/Solaris? I'm going to need this.

Here are the current build failure logs: [L1 ] [L2 ]

kitsh/build.log:76:/home/rkeene/root/cross-compilers/sparc-sun-solaris2.8/bin/sparc-sun-solaris2.8-gcc -static-libgcc -I/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/inst/include -I/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/generic -I/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/win  -I../../../tk/build/tk8.6.8/win/ -I/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tk/build/tk8.6.8/generic -I/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tk/build/tk8.6.8/xlib -I/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/zlib/inst/include -I/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/zlib/inst  -I/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/inst/include -I/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/generic -I/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/win  -I../../../tk/build/tk8.6.8/win/ -I/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tk/build/tk8.6.8/generic -I/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tk/build/tk8.6.8/xlib -I/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/zlib/inst/include -I/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/zlib/inst -DPACKAGE_NAME=\"kitsh\" -DPACKAGE_TARNAME=\"kitsh\" -DPACKAGE_VERSION=\"0.0\" -DPACKAGE_STRING=\"kitsh\ 0.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -D__EXTENSIONS__=1 -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D_TANDEM_SOURCE=1 -DTK_LOCAL_APPINIT=TclKit_AppInit -DKIT_INCLUDES_MK4TCL=1 -DKIT_INCLUDES_TK=1 -DKIT_TK_VERSION=\"8.6.8\" -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STRING_H=1 -DHAVE_STRINGS_H=1 -DHAVE_DLFCN_H=1 -DKIT_STORAGE_MK4=1  -c -o kitInit.o kitInit.c
kitsh/build.log:77:In file included from /var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/generic/tclInt.h:36:0,
kitsh/build.log:78:                 from kitInit.c:33:
kitsh/build.log:79:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/generic/tclPort.h:23:28: fatal error: tclUnixPort.h: No such file or directory
[...]
tcl/build.log:1186:/home/rkeene/root/cross-compilers/sparc-sun-solaris2.8/bin/sparc-sun-solaris2.8-gcc -static-libgcc -DPACKAGE_NAME=\"sqlite\" -DPACKAGE_TARNAME=\"sqlite\" -DPACKAGE_VERSION=\"3.21.0\" -DPACKAGE_STRING=\"sqlite\ 3.21.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DBUILD_sqlite=/\*\*/ -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DWORDS_BIGENDIAN=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DSQLITE_THREADSAFE=1 -DUSE_TCL_STUBS=1 -DUSE_TCLOO_STUBS=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DHAVE_HIDDEN=1 -DHAVE_CAST_TO_UNION=1 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_DIRENT64=1 -DHAVE_STRUCT_STAT64=1 -DHAVE_OPEN64=1 -DHAVE_LSEEK64=1 -DHAVE_TYPE_OFF64_T=1 -DUSE_TCL_STUBS=1 -DHAVE_MALLOC_H=1 -DHAVE_USLEEP=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_UTIME=1 -DHAVE_READLINK=1 -DHAVE_LSTAT=1 -DHAVE_PREAD=1 -DHAVE_PREAD64=1 -DHAVE_PWRITE=1 -DHAVE_PWRITE64=1 -DHAVE_DECL_STRERROR_R=0 -DSQLITE_ENABLE_DBSTAT_VTAB=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_3_SUFFIX_ONLY=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS=1 -DSQLITE_UNTESTABLE=1 -DSQLITE_OMIT_DEPRECATED=1 -DSQLITE_OMIT_LOOKASIDE=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_SOUNDEX=1 -DSQLITE_USE_ALLOCA=1 -DSQLITE_WIN32_NO_ANSI=1 -DSQLITE_WIN32_GETVERSIONEX=0 -DSQLITE_API=MODULE_SCOPE -DSQLITE_EXTERN= -I"/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic" -I"/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/generic" -I/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/..    -pipe -O2 -fomit-frame-pointer -DNDEBUG -Wall -fPIC   -c `echo /var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/tclsqlite3.c` -o tclsqlite3.o
tcl/build.log:1187:In file included from /var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/tclsqlite3.c:4:0:
tcl/build.log:1188:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c:30874:42: error: 'pread64' undeclared here (not in a function)
tcl/build.log:1189:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c:30892:42: error: 'pwrite64' undeclared here (not in a function)
tcl/build.log:1190:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c:30899:42: error: 'fchmod' undeclared here (not in a function)
tcl/build.log:1191:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c:30922:42: error: 'fchown' undeclared here (not in a function)
tcl/build.log:1192:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c:30960:42: error: 'readlink' undeclared here (not in a function)
tcl/build.log:1193:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c:30967:43: error: 'lstat' undeclared here (not in a function)
tcl/build.log:1194:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c:30973:43: error: 'ioctl' undeclared here (not in a function)
tcl/build.log:1195:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c: In function 'seekAndRead':
tcl/build.log:1196:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c:33615:11: error: unknown type name 'off64_t'
tcl/build.log:1197:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c:33615:11: error: expected ')' before 'aUnixSyscall'
tcl/build.log:1198:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c:33615:20: error: called object '<erroneous-expression>' is not a function
tcl/build.log:1199:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c:33615:9: warning: assignment makes integer from pointer without a cast [enabled by default]
tcl/build.log:1200:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c: In function 'seekAndWriteFd':
tcl/build.log:1201:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c:33727:17: error: unknown type name 'off64_t'
tcl/build.log:1202:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c:33727:17: error: expected ')' before 'aUnixSyscall'
tcl/build.log:1203:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c:33727:27: error: called object '<erroneous-expression>' is not a function
tcl/build.log:1204:In file included from /var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/tclsqlite3.c:4:0:
tcl/build.log:1205:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c: In function 'unixSleep':
tcl/build.log:1206:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c:36772:3: warning: implicit declaration of function 'usleep' [-Wimplicit-function-declaration]
tcl/build.log:1207:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c: In function 'unixCurrentTimeInt64':
tcl/build.log:1208:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c:36818:18: error: storage size of 'sNow' isn't known
tcl/build.log:1209:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c:36819:3: warning: implicit declaration of function 'gettimeofday' [-Wimplicit-function-declaration]
tcl/build.log:1210:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c:36820:48: error: request for member 'tv_sec' in something not a structure or union
tcl/build.log:1211:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c:36820:29: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
tcl/build.log:1212:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c:36820:62: error: request for member 'tv_usec' in something not a structure or union
tcl/build.log:1213:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c:36820:70: error: invalid operands to binary / (have 'struct unix_syscall *' and 'int')
tcl/build.log:1214:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c:36820:10: warning: assignment makes integer from pointer without a cast [enabled by default]
tcl/build.log:1215:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c:36818:18: warning: unused variable 'sNow' [-Wunused-variable]
tcl/build.log:1216:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c: In function 'sqlite3BitvecSet':
tcl/build.log:1217:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c:44690:5: warning: implicit declaration of function 'alloca' [-Wimplicit-function-declaration]
tcl/build.log:1218:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c:44690:21: warning: incompatible implicit declaration of built-in function 'alloca' [enabled by default]
tcl/build.log:1219:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c: In function 'balance_nonroot':
tcl/build.log:1220:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c:67185:14: warning: incompatible implicit declaration of built-in function 'alloca' [enabled by default]
tcl/build.log:1221:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c: In function 'codeRowTrigger':
tcl/build.log:1222:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c:125030:15: warning: incompatible implicit declaration of built-in function 'alloca' [enabled by default]
tcl/build.log:1223:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c: In function 'sqlite3WhereCodeOneLoopStart':
tcl/build.log:1224:/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/pkgs/sqlite3.21.0/generic/../compat/sqlite3/sqlite3.c:130161:16: warning: incompatible implicit declaration of built-in function 'alloca' [enabled by default]
tcl/build.log:1225:Makefile:291: recipe for target 'tclsqlite3.o' failed
[...]
tk/build.log:258: *** Creating tkbase.res.o to support Windows build
tk/build.log:259:"windres" -o tkbase.res.o  --define STATIC_BUILD --include "./../generic" --include "/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/win/../generic" --include "/var/tmp/kitcreator-test-8981103881756025603/kitcreator-trunk-tip/tcl/build/tcl8.6.8/win" --include "./rc" "./rc/tk_base.rc"
tk/build.log:260:./rc/tk_base.rc:5:21: fatal error: windows.h: No such file or directory

AMG: I've succeeded in cross compiling from Linux to Windows, and the resultant binary works, except for one really annoying thing. It creates a useless text-mode console window that collects all stdout. How can I disable this?

I'm using binutils and gcc from http://pkg.mxe.cc/repos/tar/mxe-i686-w64-mingw32.static/ . Should I be using something else? Here's how I'm calling kitcreator:

TARGET=i686-w64-mingw32.static
CC=/opt/cross/bin/$TARGET-gcc \
    CXX=/opt/cross/bin/$TARGET-g++ \
    AR=/opt/cross/bin/$TARGET-ar \
    RANLIB=/opt/cross/bin/$TARGET-ranlib \
    STRIP=/opt/cross/bin/$TARGET-strip \
    RC=/opt/cross/bin/$TARGET-windres \
    TEA_PLATFORM=windows \
    KC_TLS_LINKADD="-lws2_32 -lgdi32" \
    ./kitcreator --host=$TARGET

I added the TEA_PLATFORM and KC_TLS_LINKADD variables to match [L3 ], but they had no measurable effect on the result.

Update: I was able to work around the issue by adding LDFLAGS=-mwindows to the build command. Why should I have to do this? Wouldn't -mwindows already be part of the command line to link the Tclkit executable?


JMC: I'm able to build starkits/starpacks on Windows/Linux/Solaris, but I use kbs.tcl not KitCreator. If you're interested in switching, then I might be able to help.