source: trunk/README.OS2@ 287

Last change on this file since 287 was 287, checked in by Dmitry A. Kuminov, 16 years ago

README.OS2: Updated according to user feedback.

File size: 11.2 KB
Line 
1This is Beta 3 of Qt version 4.5.1 for OS/2 and eCS.
2
3This document contains a brief information on the OS/2 version of the Qt library
4plus a brief list of OS/2-specific changes from release to release (section
5CHANGES below). Please visit the project page at
6
7 http://svn.netlabs.org/qt4/wiki
8
9to get more information and the latest news and also to report bugs.
10
11
12
13REQUIREMENTS
14
15In order to compile the Qt library, you will need the following tools:
16
17 - One of the OS/2 Warp 4, OS/2 Warp 4.5 or eComStation operating systems.
18
19 - InnoTek GCC compiler version 3.3.5 CSD3 or above (not tested).
20 You can download a copy of the compiler using the following link:
21
22 ftp://ftp.netlabs.org/pub/gcc/GCC-3.3.5-csd3.zip
23
24 - Patched OpenWatcom linker which you can download from here:
25
26 ftp://ftp.netlabs.org/pub/gcc/wl-hll-r1.zip
27
28 Note that if you use IBM ILINK (no matter what version), you will
29 not be able to build the debug version of the library due to
30 bugs/limitations of ILINK.
31
32 - GNU Make 3.81beta1 or above (not tested) available at:
33
34 http://unix.os2site.com/pub/binary/make/make-3_81beta1-bin-static.zip
35
36After unpacking the GCC archive, you will have to set up the compiler
37environment by invoking gccenv.cmd from the bin subdirectory with the
38correct arguments (type gccenv.cmd -? for help). For the OpenWatcom
39linker, specify WLINK as the second argument.
40
41You will also need to perform the following steps:
42
43 - Make sure the selected linker and the make utility are in PATH.
44
45 - Make sure CMD.EXE is your command line processor (the generated makefiles
46 will rely on its 'copy', 'if' and other commands). If you have a Unix shell
47 (SH.EXE) in your environment, you may need to force GNU make to use CMD.EXE
48 by doing 'set MAKESHELL=C:\OS2\CMD.EXE' where C: is your boot drive.
49
50 - set LIBRARY_PATH=C:\OS2\DLL;C:\MPTN\DLL where C: is your boot drive.
51
52 - Make sure that there are no traces of any other Watcom or OpenWatcom
53 installation in the environment where you build Qt as it will most likely
54 interfere with the patched OpenWatcom linker we use. This basically means
55 removing all *WATCOM* environment variables and removing references to those
56 Watcom installations from PATH.
57
58Note that the QTDIR environment variable used by previous Qt versions is not
59used by Qt4 anymore (except two rare cases that do not affect the OS/2 platform
60anyway and are probably leftovers after the migration of the qmake feature
61specifications to Qt4). Therefore, there is no need to set this variable
62explicitly. See also a note below about hard-coded paths to the source tree.
63
64There is also no need to set the QMAKESPEC variable explicitly. If it is absent,
65qmake will use the specification stored in the <Qt4_Home>/mkspecs/default
66directory, which on OS/2 always refers to the "os2-g++" specification, the only
67one supported at the present time.
68
69When the environment is set up, go to the directory where you unpacked the
70Qt4 source tree and type:
71
72 configure.cmd
73
74This will set up the library (by creating necessary configuration and include
75files and a bunch of Makefiles for variuos components) and build the qmake
76utility.
77
78The next step is to go to the src subdirectory and type:
79
80 make
81
82This will compile and link the library. Note that by default both the release
83and the debug version of the library are built (please be patient, it may take
84quite some time depending on your hardware). The release and debug libraries can
85co-exist in the same source tree and may be used in parallel: all the debug DLLs
86get a 'd' letter in their name preceeding the Qt major version number and use
87separate directories for object files.
88
89To save time, you may also build the release and the debug versions of the
90library separately by typing 'make release' or 'make debug' accordingly
91instead of just 'make'.
92
93Once the library is successfully built, you may try to compile the demos
94and examples by visiting the individual example subdirectories in the source
95tree and typing 'qmake' followed by one of 'make', 'make release' or
96'make debug' in that subdirectory.
97
98NOTE:
99
100 Please keep in mind that due to dropping the QTDIR variable recognition,
101 qmake.exe now unconditionally uses hard-coded paths to locate various Qt4
102 components (such as the include or source directory) during the makefile
103 generation process and therefore if you move the Qt source tree to another
104 location you will need to run configure.cmd again in order to update these
105 hard-coded paths and rebuild qmake and other dependent parts of the library.
106
107
108
109CURRENT LIMITATIONS
110
111 1. configure.cmd is not yet capable to generate individual Makefiles for demos
112 and examples, it only generates the main Makefile that builds the library
113 and the necessary tools. Demos and examples can be compiled by hand
114 (as described above).
115
116 2. OS/2 bitmap fonts are not yet supported. Use TTF or Type1 (PFB) fonts with
117 Qt.
118
119 3. Make sure you have the LANG environment variable properly set.
120 The format is ll_CC[.codepage] where ll is the language code,
121 CC is the country code and codepage is the optional code page
122 to use. If LANG is missing or invalid, string conversion operations
123 may work incorrectly resulting in distorted text input or output. Note
124 that for most languages you will have to specify the code page number
125 explicitly or non-Latin1 symbols will not be printed correctly. Look at
126 the CODEPAGE setting in your CONFIG.SYS to get the number of your system
127 code page.
128
129 4. Some functionality of the already available Qt classes may be limited or
130 unimplemented. If you find such a case and there is no ticket for it
131 in the bug tracker, feel free to add one.
132
133 5. No qt3support module. This functionality is rarely necessary in mature
134 real life applications and has low priority.
135
136 6. No native PM style, but Qt will use fonts and colors from the current
137 OS/2 theme (hint: if your default OS/2 font is "WarpSans", install the
138 "Workplace Sans" TTF font from Alex Taylor to get more native look & feel).
139 Note that v0.5 of the font has known sizing and spacing problems and also
140 supports only the Latin1 code page. To avoid these problems, use v0.4 which
141 you can download here:
142
143 http://users.socis.ca/~ataylo00/creative/fonts/wpsu_ttf_04.zip
144
145 7. QProcess: when starting PM applications from text-mode applications and
146 when detaching applications with startDetached(), the returned PID is a
147 PID of the intermediate cmd.exe process, not the target application.
148
149 8. No QDesigner, no QAssistant.
150
151 9. No Drag&Drop, no printer support, no sound. See the project roadmap for
152 more information on the progress and current limitations:
153
154 http://svn.netlabs.org/qt4/roadmap
155
156
157
158CHANGES
159
160Beta 3 (17-10-2009)
161
162 Improvements:
163
164 - Added proper font support. All outline (scalable) fonts visible in the Font
165 Palette should be now recognized by Qt. The fonts are hinted and antialiased
166 using the Freetype2 library when drawing text.
167
168 - System fonts and colors are now used by default for Qt widgets.
169
170 - configure.cmd now generates the main Makefile to simplify building of Qt.
171
172 - corelib: QProcess: Implemented child termination detection.
173
174 - corelib: QProcess: Implemented redirection to another QProcess.
175
176 - corelib: QProcess now uses native pipes for stream redirection. This fixes
177 various issues like 'Socket operation on non-socket' errors during
178 parent-child communication.
179
180 - corelib: QProcess: Make sure that the directory containing the executable
181 file is always searched (first) for DLLs needed by this executable. This
182 makes it unnecessary to change the current directory to the executable's
183 directory or add it to LIBPATH before starting the Qt application.
184
185 - corelib: QProcess can now start applications of different type (e.g. PM
186 applications from text-mode applications) directly.
187 QProcess::startDetached() also works.
188
189 - qmake: In debug_and_release mode, 'release-(all|clean|distclean|install|
190 uninstall)' and 'debug-(all|clean|distclean|install|uninstall)' make
191 targets are now available.
192
193 Fixes:
194
195 - Doing 'make clean' could result into a hang due to CMD.EXE command line
196 length limitation.
197
198 - corelib: Fixed: QProcess: Lost data during stream redirection.
199
200 - corelib: QSettings could sometimes distort data when saving it to the
201 registry (by replacing some characters with codes 0x80 and above with '?').
202
203Beta 2 (17-09-2009)
204
205 Improvements:
206
207 - Ported the network module (QtNetwork4.dll) and added to the default build.
208
209 - Added modules sql, svg, xmlpatterns, scripttools, plugins to the default
210 build.
211
212 - gui: Added recognition of dead keys which makes it possible to type
213 umlauts and other accented characters that require composition.
214
215 - gui: Implemented standard cursor shapes in Qt applications.
216
217 Fixes:
218
219 - qmake: Fixed the trailing slash problem which caused qmake to generate
220 incorrect makefiles and fail to build the Qt library on some platforms.
221
222 - configure.cmd: Return to the root source tree directory after building
223 qmake.
224
225 - qmake: Automatically use different link flags when linking qmake with WLINK.
226
227 - qmake: Recognize TARGET_SHORT that allows to specify a short DLL name
228 (vital for OS/2 which reqires DLL names to be in 8x3 format).
229
230 - build: Set short DLL names for Qt modules on OS/2 using TARGET_SHORT.
231
232 - corelib: Various fixes to file system classes that deal with the file name
233 case (which should be ignored on OS/2) and forward and back slashes.
234
235 - corelib: Fixed: QMutex could let more than one thread access the protected
236 resource.
237
238 - corelib: Standard stream redirection in QProcess should now work for
239 kLIBC-based child processes. Redirection for all other applications
240 (such as CMD.EXE) will be added later (seems to be a kLIBC bug/feature).
241
242 - gui: Fixed erroneous QFileDialog behavior (duplicate entires in the list,
243 incomplete contents of the root directory of the current drive).
244
245 - gui: Fixed: Ctrl+A..Z should generate characters with codes 0x01-0x1F.
246
247 - gui: Fixed: Close popups when resizing/moving the top level window.
248
249 - gui: Enabled actual enforcing min/max Qt widget constraints for top-level windows.
250
251 - gui: Fixed child widget duplication when resizing top level widgets after
252 showing a popup; moving native child widgets should now work correctly.
253 This also fixed a number of redraw problems (for example, drawing the main
254 menu and tool bars in smplayer, moving tool bars around in other
255 applications such as textedit from the demo folder).
256
257Beta 1 (29-08-2009)
258
259 - First public release.
260
261
262
263CREDITS
264
265Dmitry A. Kuminov (development)
266Silvan Scherrer (management)
267
268netlabs.org (hosting & support)
269
270Nokia Corporation (original Qt library)
271
272We also want to THANK all individuals and organizations who made the donations
273to this project and helped to make it happen. Please visit
274
275 http://qt.netlabs.org/en/site/index.xml
276
277to get the full list of sponsors and to find information on how you can support
278the project.
279
280
281Qt is a trademark of Nokia Corporation and/or its subsidiary(-ies).
282OS/2 and OS/2 Warp are trademarks of the IBM Corporation and/or its subsidiary(-ies).
283eComStation is a trademark of Serenity Systems International and/or its subsidiary(-ies).
284Etc.
Note: See TracBrowser for help on using the repository browser.