| 1 | = Building [wiki:kBuild] = |
| 2 | |
| 3 | If the [wiki:kBuild] version you wish to build isn't ported to your platform, you must take a look at [wiki:Bootstrapping] [wiki:kBuild] on a new platform.. |
| 4 | |
| 5 | == Check out [wiki:kBuild] == |
| 6 | |
| 7 | Make sure you have subversion install. If not take a look at this page http://subversion.tigris.org/project_packages.html and see if you can find a suitable package. |
| 8 | |
| 9 | The subversion url is http://svn.netlabs.org/repos/kbuild. However, when checking out you either want a branch or the trunk, do '''not''' want to check out the entire repository. |
| 10 | |
| 11 | So, let's say you want to checkout the trunk to the current directory (.): |
| 12 | {{{ |
| 13 | svn co http://svn.netlabs.org/repos/kbuild/trunk . |
| 14 | }}} |
| 15 | |
| 16 | |
| 17 | == Prerequisites == |
| 18 | |
| 19 | 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. |
| 20 | |
| 21 | 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. |
| 22 | |
| 23 | |
| 24 | == The Building == |
| 25 | |
| 26 | 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'. Use the shell scripts shipped with [wiki:kBuild] to setup the environment: |
| 27 | * *nix: {{{kBuild/env.sh}}} |
| 28 | * OS/2: {{{kBuild/envos2.cmd}}} |
| 29 | * Windows: {{{kBuild/envwin.cmd}}} |
| 30 | |
| 31 | 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}}}. |
| 32 | |
| 33 | The output can be found in {{{out/$(BUILD_TARGET).$(BUILD_TARGET_ARCH)/$(BUILD_TYPE)/kBuild/bin/$(BUILD_TARGET_ARCH).$(BUILD_TARGET)/}}}. |
| 34 | |
| 35 | When ticket #6 has been fully implemented, it will be possible to build an installable [wiki:kBuild]. Details will be filled when ready. |