source: trunk/README.DEV @ 484

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

Added setup variables for the CURL library which is required by poppler.

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