Frequently Asked Developer Questions
Q. Why do you include .c files?
A. It's a method that works, and when dealing with the many files that Fed Builder produces it's much faster to compile. It also works better with inline functions (especially with Fed Builder).
Q. How do I test an applet outside of Whim?
A. Use Whim.vfs/applets/applet_frontend.tcl. It takes an applet filename as an argument and starts it up on a canvas that simulates a desktop. The frontend is designed to emulate enough of the Whim internals to allow for testing things like the taskbar.
Q. What are build.tcl and tickmakefile? What build system do you use?
A. We use tickmake. It was invented by GPS. Traditional build systems are overly complicated, often unportable, and with Tcl we already have a great command language, so building tickmake is easy. The sources to tickmake are contained in the tools directory of the megapkg distribution.
Q. Why don't you use Autoconf/CMake/...?
A. Autoconf was eliminated due to its complexity, the authors experience with it, and the observation that most package systems include patches for autoconf software anyway to work properly with unique directory layouts for OS distributions, or compatibility with the OS.
As far as we know build.conf is flexible enough to support nearly any C compiler, and linker. The system variables are all stored in the file, so builds are easily repeatable, and bug reporting is easier. The downside is that some users may not know how to compile megapkg, therefore we distribute Whim starkits to make life easier for those users.