source: trunk/README.DEV @ 438

Last change on this file since 438 was 438, checked in by dmik, 11 years ago

Brushed up r436:437.

File size: 4.8 KB
Line 
1This file contains instructions on building Lucide.
2
3
4
5REQUIREMENTS
6
7In order to build Lucide, you will need the following tools:
8
9  - kBuild version 0.1.5 (r2206) or later. Get it with the following command:
10
11      svn co http://svn.netlabs.org/repos/kbuild/trunk/kBuild -r 2206
12
13  - GCC compiler version 3.3.5 or 4.4.2 for OS/2 and the patched OpenWatcom
14    linker. The GCC compiler must be set up to use the OpenWatcom linker for
15    linking.
16
17    If you do not have a working GCC environment with the above requirements, it
18    is recommended to download a ready-to-use GCC 4.2.2 distribution from here:
19
20      ftp://ftp.netlabs.org/pub/qt4/tools/gcc-4_4_2-complete-20091205.zip
21
22    Follow the installation instructions contained in the README file inside
23    this ZIP archive to set up the GCC environment.
24
25  - SOM SDK 2.x. The one that is part of the OS/2 Tooklit version 4.5 is known
26    to work and recommended. Note that installing the Toolkit is not required
27    (though it will also work) -- you may simply extract the "som" subdirectory
28    (with all its contents) out of the Toolkit and place it to some directory.
29    You don't need to put any statements in CONFIG.SYS in this case.
30
31  - RC.EXE version 4 or 5 which should be located in a directory listed in PATH.
32
33  - LxLite 1.3.3 or above should also be located in PATH, otherwise packing the
34    resulting EXEs and DLLs will be disabled. You can take LxLite here:
35
36      http://www.os2site.com/sw/util/archiver/lxlt133.zip
37
38
39
40SETTING UP THE ENVIRONMENT
41
42Copy "LocalEnv.cmd.tpl" to "LocalEnv.cmd" and adjust the copy to match your
43environment. Each option in "LocalEnv.cmd.tpl" has a comment describing what it
44does.
45
46You may also want to adjust the configuration of the Lucide build according to
47your needs. To do so, copy "LocalConfig.kmk.tpl" to "LocalConfig.kmk" and adjust
48the copy to match your requirements. Each option in "LocalConfig.kmk.tpl" has a
49comment descriping what it does.
50
51
52
53BUILDING THE PRODUCT
54
55Now, start "env.cmd" to setup the environment and type "kmk" in the root
56directory of the Lucide source tree to start kBuild and build the release
57version of Lucide and all plugins.
58
59If you are a developer, you may prefer to use the "se.cmd" script instead of
60starting "env.cmd" in each new shell. This script will allow you to run "kmk"
61in the correct environment from any directory inside the Lucide source tree by
62simply typing "se kmk" in that directory. This is especially handy if you use
63e.g. File Commander as your development IDE. The "se.cmd" script may be taken
64at:
65
66  ftp://ftp.netlabs.org/pub/qt4/tools/se10.zip
67
68
69
70GENERATING DISTRIBUTION ARCHIVES
71
72In order to generate WPI and ZIP distribution archives in the output directory,
73issue the following command in the root of the source tree (prefixed with "se"
74if you use it):
75
76  kmk packing
77
78Note that this command will perform a complete cleanup before packing, to make
79sure everything is rebuilt from scratch. For testing purposes, you may omit
80the cleanup pass by invoking the "kmk fastpacking" which will only generate
81the distribution archives from the existing build.
82
83IMPORTANT (for the release builder):
84
85    Do not forget to update VERSION, BUILD/WPIBUILD and VERSIONDATE in
86    Config.kmk. Note that you should immediately increase the version number
87    in SVN after the release (after tagging the SVN trunk with the release tag)
88    and set BUILD to "beta" to indicate a new development phase. Right before
89    the release, you end the development phase by changing BUILD from "beta"
90    to "GA" and create a corresponding release tag in SVN.
91
92
93
94USEFUL KBUILD TARGETS
95
96The following kmk targets may be of interest:
97
98  - clean           Cleans up the build by deleting all generated output.
99  - uninstall       Deletes all installed files.
100  - packing,        Creates distribution archives in the output directory
101    fastpacking     (see GENERATING DISTRIBUTION ARCHIVES above).
102
103
104
105USEFUL KBUILD VARIABLES
106
107These are the frequently used variables that change the Lucide build or
108behavior. You may set them in the OS/2 environment or put to your
109"LocalConfig.kmk" or pass to "kmk" as command line arguments in the form of
110"VARIABLE=VALUE".
111
112  * BUILD_TYPE
113
114    Build type. May be set to "release" (default) or "debug".
115
116    Note that you may also pass "debug" or "release" as the first argument to
117    the "env.cmd" script to set the build type to "debug".
118
119    Hint: If you use "se.cmd", you may pass arguments to "env.cmd" and start
120    "kmk" in one step, like that: "se @(debug) kmk".
121
122  * KBUILD_VERBOSE
123
124    Level of kBuild verbosity, 1 to 3 (default is nothing which means almost
125    quiet). The highest level will make kBuild print every command it executes
126    which is useful when something does not work like you want.
127
Note: See TracBrowser for help on using the repository browser.