= Building [wiki:kBuild] = If the [wiki:kBuild] version you wish to build isn't ported to your platform, you must take a look at how to [wiki:Bootstrapping bootstrap] kBuild on a new platform. == Check out [wiki:kBuild] == Make sure you have subversion installed. If not take a look at this page http://subversion.tigris.org/project_packages.html and see if you can find a suitable package. The subversion url is http://svn.netlabs.org/repos/kbuild. However, when checking out you either want a branch or the trunk, you do '''not''' wish to check out the entire repository. So, let's say you want to checkout the trunk to the current directory (.): {{{ svn co http://svn.netlabs.org/repos/kbuild/trunk . }}} == Prerequisites == On '''Windows''', the Microsoft C/C++ compiler from Visual C++ v7 is required. Support for other versions and perhaps other compilers can/will be added when need arises. A matching '''Platform SDK''' is also required. Set PATH_TOOL_VCC70 to point to the {{{VC}}} subdirectory of your Visual C++ installation and {{{PATH_SDK_WIN32SDK}}} pointing to the {{{VC/PlatformSDK}}} subdirectory. On most other systems it is sufficient to have gcc version 3.2 or later in the path. Most *nix systems comes with this preinstalled. == The Building == The [wiki:kBuild] source tree is of course using [wiki:kBuild] to build itself. It is kind of self contained, meaning that there is already a full set of [wiki:kBuild] binaries checked in and it contains the [wiki:kBuild] 'distribution'. First use one of the shell scripts shipped with [wiki:kBuild] to setup the environment: * *nix: {{{kBuild/env.sh}}} * OS/2: {{{kBuild/envos2.cmd}}} * Windows: {{{kBuild/envwin.cmd}}} Then all that's left is to enter {{{kmk}}} and kBuild will be built. As per {{{kBuild}}} default, {{{BUILD_TYPE}}} is set to debug. To do a release build set it to {{{release}}}. The output can be found in {{{out/$(BUILD_TARGET).$(BUILD_TARGET_ARCH)/$(BUILD_TYPE)/kBuild/bin/$(BUILD_TARGET_ARCH).$(BUILD_TARGET)/}}}. When ticket #6 has been fully implemented, it will be possible to build an installable [wiki:kBuild]. Details will be filled when ready.