source: trunk/README.OS2@ 258

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

README.OS2: Mention MAKESHELL and ask to remove references to any other Watcom or OpenWatcom installations when building Qt.

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