'''[http://kitcreator.rkeene.org/%|%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 ** [http://www.rkeene.org/devel/kitcreator/kitbuild/%|%released builds]: [http://kitcreator.rkeene.org/kitcreator%|%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; 1. It supports cross-compiling; 1. It downloads the source from their original repositories; 1. It allows you to specify an arbitrary version of Tcl (including CVS); and 1. 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: [http://www.rkeene.org/devel/kitcreator/kitbuild/nightly/failed/tclkit-8.6.8-solaris-sparc-xcompile-build.log] [http://www.rkeene.org/devel/kitcreator/kitbuild/nightly/failed/tclkit-8.6.8-solaris-sparc64-xcompile-build.log] ======none 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 '' 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 '' 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: ======none 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 [http://www.rkeene.org/devel/kitcreator/kitbuild/nightly/tclkit-8.6.8-win32-i586-xcompile-build.log], 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? <> TclKit