source: trunk/README.OS2@ 967

Last change on this file since 967 was 957, checked in by Dmitry A. Kuminov, 14 years ago

qmake: gnumake/os2: Add 'sym' CONFIG option by default.

This is only done if the mapsym tool is found by configure.

This also removes the 'map' option from the defaults since
the sym file is basically a compressed map file and they
are rarely needed together.

File size: 31.0 KB
Line 
1This is Qt version 4.6.3 for OS/2 and eCS.
2
3This document contains a brief information on the OS/2 version of the Qt
4library. Please read it carefully before starting your work. You may also
5visit 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
11To get a brief list of OS/2-specific changes from release to release
12please see the CHANGES.OS2 file included in this distribution.
13
14Please note that this version is binary incompatible with previous versions of
15Qt 4 for OS/2! This is not a behavior of the original Qt library (where versions
16with the same major number are usually binary compatible), but it is due to the
17fact that we continue to add missing features to the OS/2 version ot Qt and this
18cannot be done witout breaking the binary compatibility. On practice, this means
19that you need to recompile your applications with the new version of the Qt
20library in order to make them work with it.
21
22
23
24REQUIREMENTS
25
26In order to compile the Qt library and Qt-based applications, you will need
27the following tools:
28
29 - One of the OS/2 Warp 4, OS/2 Warp 4.5 or eComStation operating systems.
30
31 - GCC compiler version 4.4.2 for OS/2, patched OpenWatcom linker and
32 GNU Make 3.81beta1 or above. The GCC compiler must be set up to use the
33 OpenWatcom linker for linking.
34
35 If you do not have a working GCC environment with the above requirements, it
36 is recommended to download a ready-to-use GCC 4.2.2 distribution from here:
37
38 ftp://ftp.netlabs.org/pub/qt4/gcc-4_4_2-complete-20091205.zip
39
40 This distribution includes all tools necessary to compile and build the Qt
41 library from the source code. Just follow the installation instructions
42 contained in the README file inside this ZIP archive to set up the GCC
43 environment.
44
45 Please note that starting from Qt 4.6.2, support for GCC 3.3.5 and earlier
46 versions of the compiler has been dropped and the Qt library will most
47 likely not build if you use one of these compilers. Later versions prior to
48 GCC 4.4.2 may work but they are not tested and not supported.
49
50 - IBM RC (Resource Compiler) Version 5.00.007 (comes with OS/2 Toolkit 4.5)
51 or Version 4.00.011 (comes with eCS 2.0). Other versions may not work
52 correctly.
53
54There is also a set of optional tools which are necessary to enable the selected
55features of the Qt library. If these tools are missing, the Qt configuration
56script (discussed in section "COMPILING QT" below) will automatically disable
57the corresponding feature:
58
59 - MAPSYM 4.00.000 (Oct 4 2001) to enable generation of symbol (.SYM) files for
60 DLLs and executables. This tool comes with OS/2 Toolkit 4.5. Note that other
61 versions of this tool may not work correctly.
62
63 - LxLite 1.3.3 or above (not tested) to enable the compression of DLLs and
64 executables (which saves hard disk space and application startup time). If
65 you use a recent version of eComStation (e.g. 2.0 rc6) you will already have
66 LxLite installed. Otherwise, you may take it from here:
67
68 http://www.os2site.com/sw/util/archiver/lxlt133.zip
69
70 - CUPS 1.3.11 or later to support printing in Qt. The CUPS libraries are
71 available at:
72
73 http://download.smedley.info/cups-1.3.11-os2-20090807.zip
74
75 Linking against eCUPS also requires pthread.lib:
76
77 http://web.os2power.com/download/lib/pthread-20100217-os2.zip
78
79 - OpenSSL 0.9.8o or later to support OpenSSL in Qt. The OpenSSL libraries are
80 available at:
81
82 http://bauxite.sakura.ne.jp/tmp/os2/openssl-1.0.0a-os2knix-20100706-runtime.zip
83 http://bauxite.sakura.ne.jp/tmp/os2/openssl-1.0.0a-os2knix-20100706-dev.zip
84
85 - MySQL 5.1 or later for the MySQL Qt plugin. The MySQL libraries are
86 available at:
87
88 http://download.smedley.info/mysql-5.1.51-os2-20101001.zip
89
90 Note that you will also need the above OpenSSL libraries and pthread.lib to
91 be able to use this MySQL build. The MySQL Qt plugin itself will require
92 OpenSSL DLLs in your LIBPATH at runtime.
93
94 - PostgersSQL 9.0.1 or later to support the PostgresSQL Qt plugin. The
95 PostgresSQL libraries are available at:
96
97 http://download.smedley.info/postgresql-9.0.1-os2-20101108.zip
98
99 Note that you will also need libc064x.dll for this PostgresSQL build:
100
101 http://download.smedley.info/libc064x.zip
102
103 Note that you will also need the above OpenSSL libraries and pthread.lib to
104 be able to use this PostgresSQL build. The PostgresSQL Qt plugin itself will
105 require OpenSSL DLLs in your LIBPATH at runtime.
106
107
108
109SETTING UP THE ENVIRONMENT
110
111First of all, make sure that your GCC environment is set up and meets the
112specified requirements. To perform a quick check, you may run the following
113command:
114
115 gcc --version && make --version && wl /version
116
117If the setup is done properly, it will print the versions of the key tools
118to the console.
119
120The next step is to set up the Qt environment. If you installed the Qt
121development libraries from the WPI archive (refer to section "USING OFFICIAL
122BINARY QT ARCHIVES" below for more details about existing WPI archives), you
123will only need to run the supplied "QtEnv.cmd" script which will do all the
124setup job for you. The script is located in the directory where you installed
125the developmnent libraries (or in the WPS folder created by the WPI installer).
126Execute this script in a command line session to make it ready for building
127Qt 4 applications (for example, using the "qmake" command follwed by "make"
128for applications based on qmake project files which most of them are). If you
129go that way, you may skip the rest of this section and proceed directly to
130section "USING OFFICIAL BINARY QT ARCHIVES" below.
131
132If you use the full source code ZIP distribution of the Qt library or work
133directly with the Qt SVN tree, you will need to set up the environment yourself
134by performing the following steps:
135
136 - Add the "bin" subdirectory of the directory where you unpacked the Qt4
137 source tree to PATH and BEGINLIBPATH, like this:
138
139 set PATH=D:\Coding\Qt4\bin;%PATH%
140 set BEGINLIBPATH=D:\Coding\Qt4\bin;%BEGINLIBPATH%
141
142 - Add the system DLLs to the GCC library path with the following command:
143
144 set LIBRARY_PATH=C:\OS2\DLL;C:\MPTN\DLL;%LIBRARY_PATH%
145
146 where C: is your boot drive.
147
148 - Make sure CMD.EXE is your command line processor (the generated makefiles
149 will rely on its 'copy', 'if' and other commands). If you have a Unix shell
150 (SH.EXE) in your environment, you may need to force GNU make to use CMD.EXE
151 by executing the followingn command:
152
153 set MAKESHELL=C:\OS2\CMD.EXE
154
155 where C: is your boot drive.
156
157Note that the QTDIR environment variable used in previous Qt versions is not
158used in Qt4 anymore. Therefore, there is no need to set this variable
159explicitly.
160
161There is also no need to set the QMAKESPEC variable explicitly. If it is absent,
162qmake will use the specification stored in the <Qt4_Home>/mkspecs/default
163directory, which on OS/2 always refers to the "os2-g++" specification, the only
164one supported at the present time.
165
166NOTE:
167
168 It is especially important to make sure that there are no traces of any
169 other Watcom or OpenWatcom installation in the environment where you build
170 Qt as it will interfere with the patched OpenWatcom linker we use. This
171 basically means removing all environment variables containing "WATCOM" in
172 their names and also removing references to all those Watcom installations
173 from PATH.
174
175
176
177SETTING UP OPTIONAL TOOLS
178
179The following list describes the steps necessary to set up the optional tools
180that the Qt library depends on:
181
182 - Unzip the CUPS libraries to some directory and set the following environment
183 variables to tell the Qt configure script its location:
184
185 set CUPS_INCLUDEPATH=<path_to_CUPS>\include
186 set CUPS_LIBS=-L<path_to_CUPS>\lib -llibcups.a -L<path_to_pthread> -lpthread.lib
187
188 - Unzip the OpenSSL libraries to some directory and set the following
189 environment variables to tell the Qt configure script its location:
190
191 set OPENSSL_INCLUDEPATH=<path_to_OpenSSL>\include
192 set OPENSSL_LIBS=
193
194 Note that you will also need to place OpenSSL DLLs to BEGINLIBPATH (if they
195 are not already in your LIBPATH) so that Qt applications can find them at
196 runtime:
197
198 set BEGINLIBPATH=<path_to_OpenSSL>\dll;%BEGINLIBPATH%
199
200 - Unzip the MySQL archive to some directory and set the following environment
201 variables to tell the Qt configure script the library location:
202
203 set MYSQL_INCLUDEPATH=<path_to_MySQL>\include'
204 set MYSQL_LIBS=-L<path_to_MySQL>\lib -lmysqlclient_r -L<path_to_OpenSSL>\lib -llibssl -llibcrypto -L<path_to_pthread> -lpthread
205
206 Note that you will also need to place OpenSSL DLLs to BEGINLIBPATH (as
207 described above) because the MySQL plugin links statically to them and Qt
208 will not be able to load it otherwise.
209
210 - Unzip the PostgresSQL archive to some directory and set the following
211 environment variables to tell the Qt configure script the library location:
212
213 set PSQL_INCLUDEPATH=<path_to_PostgresSQL>\include'
214 set PSQL_LIBS=-L<path_to_PostgresSQL>\lib -llibpq -L<path_to_OpenSSL>\lib -llibssl -llibcrypto -L<path_to_pthread> -lpthread
215
216 Note that you will also need to place OpenSSL DLLs to BEGINLIBPATH (as
217 described above) because the PostgresSQL plugin links statically to them and
218 Qt will not be able to load it otherwise.
219
220Note that you need to make sure that OpenSSL DLLs are in BEGINLIBPATH or in
221LIBPATH before Qt attempts to load the SQL plugins for the first time. If it
222fails to load them, it will cache a failure and will not retry even if the
223plugins can be loaded later. To fix that, you need to delete the file
224%HOME%\.config\Trolltech.ini where this cache is stored.
225
226
227
228COMPILING QT
229
230You should skip this section if you installed the Qt development libraries using
231the WPI archive (that already contains compiled release versions of the
232libraries) and proceed directly to the next section.
233
234When the environment is set up, go to the directory where you unpacked the
235Qt4 source tree and type:
236
237 configure.cmd
238
239This will set up the Qt library (by creating necessary configuration and include
240files and a bunch of Makefiles for variuos components) and build the qmake tool.
241
242The next step is to type:
243
244 make
245
246This will compile and link the Qt library. Note that by default both the release
247and the debug version of the library are built (please be patient, it may take
248quite some time depending on your hardware). The release and debug libraries can
249co-exist in the same source tree and may be used in parallel: all the debug DLLs
250get a 'd' letter in their name preceeding the Qt major version number and use
251separate directories for object files.
252
253To save time, you may build the release and the debug versions of the Qt library
254separately by typing 'make release' or 'make debug' accordingly instead of just
255'make'.
256
257Once the library is successfully built, you may try to compile the demos and
258examples by visiting the individual example subdirectories in the source tree
259and typing 'qmake' followed by one of 'make', 'make release' or 'make debug'
260in that subdirectory.
261
262NOTE:
263
264 This version of Qt for OS/2 includes the Extended system tray plugin for
265 XCenter/eCenter which is necessary to enable Qt support for the special
266 notification area on the XCenter/eCenter panel (called the "system tray")
267 which is used by many long-running applications to display their status.
268 In order to activate this support, you need to install this plugin to your
269 XCenter or eCenter. The plugin is built during the normal Qt build process
270 and can be found in the file \plugins\xcenter\xsystray.dll in the Qt source
271 tree. In order to install the plugin, do the following:
272
273 a. Copy xsystray.dll to <XWorkplace installation folder>\plugins\xcenter\
274 (on eComStation, this will be C:\ecs\system\ewps\plugins\xcenter\ where
275 C: is your boot drive).
276
277 b. Restart WPS.
278
279 c. Add the "Extended system tray" widget to the XCenter/eCenter panel using
280 the XCenter context menu ('Create new widget').
281
282 Note that if you upgrade from the previous version of the plugin then
283 please unlock xsystray.dll in the target folder using the UNLOCK.EXE
284 utility (which you can find in the LxLite package, for example) before
285 performing step a., otherwise the copy operation will fail.
286
287IMPORTANT NOTE:
288
289 Please take into account that the Qt library you build on your own as
290 described above is NOT intended for wide distribution with Qt applications
291 you port or create. Such private Qt builds help you develop Qt applications
292 (because you can easily debug your program and parts of the Qt framework at
293 the source level) but being widely distributed they will create a so-called
294 DLL hell when a program running on a user computer crashes because it picks
295 up a wrong build of the Qt library. This will happen because even a single
296 change to Qt configuration options may make your build binary incompatible
297 with another build. And even if you convince the user to isolate different
298 DLLs (using LIBPATHSTRICT and BEGINLIBPATH) it will create another major
299 problem: two different Qt applications will load two different copies of Qt
300 into memory which will create an unnecessary overhead by doubling the
301 amount of used system resources.
302
303 In order to nicely solve this problem, netlabs.org provides the official
304 binary builds of the Qt library distributed as WPI archives which are
305 described in the next section.
306
307
308
309USING OFFICIAL BINARY QT ARCHIVES
310
311For your convenience, netlabs.org provides the following binary distributions
312of the Qt library (where X_Y_Z is the Qt version number) distributed as WPI
313archives:
314
315 qt-lib-X_Y_Z.wpi - Runtime DLLs and binaries ("lib" archive)
316 qt-dev-X_Y_Z.wpi - Development libraries, tools and headers ("dev" archive)
317
318These archives are called the official binary archives of the Qt library for
319OS/2. An official binary archive contains the most complete Qt build that
320enables all features of the Qt library and includes all standard Qt plugins
321implemented for the OS/2 platform at the time of the release.
322
323The "lib" archive contains the release versions of DLLs (and may contain a few
324helper binaries) necessary to run applications created using the Qt framework.
325This package is usually installed by end users together with Qt applications
326they want to use.
327
328The "dev" archive contains pre-built release versions of import libraries and
329a complete set of C++ include headers of the Qt framework. This package is used
330by developers and porters of Qt applications to build release versions of the
331applications that are binary compatibie with the Qt runtime provided by the
332official "lib" archive described above. Using the "dev" package requires the
333same environment as described in section "SETTING UP THE ENVIRONMET" above.
334
335Please note again that the "dev" archive is intended to make a final release
336build of the Qt application which you do when you decide to ship a new version
337to the end users -- makes sure that the deployed application will share the same
338Qt runtime with other Qt applications. However, for daily work it is highly
339recommended that you build the debug version of the Qt library yourself (using
340the full source code ZIP archive or directly from SVN) as described in section
341"COMPILING QT").
342
343Besides the "lib" and the "dev" archives, the following official archives exist
344that you may also find useful:
345
346 qt-examples-X_Y_Z.wpi - Demo and example sources ("examples")
347
348The "examples" archive contains the source code and compiled binaries of the
349demo and example applications shipped with Qt. They serve as a good
350demonstration of the Qt library features and it is recommended to look at them.
351The binaries are compiled using the official "lib" archive. Please note that
352some demos and examples may miss from the arcvhice since not all features have
353been implemented in the OS/2 version of Qt yet.
354
355NOTE:
356
357 All .DLL and .EXE files of the official binary build contain a DESCRIPTION
358 string with the vendor field set to "netlabs.org" (by contrast, all custom
359 Qt builds will set the vendor field to what the USER environment variable
360 contains or to "anonymous" if USER is not set). Please note that you must
361 NOT set vendor to "netlabs.org" when creating your own builds of the Qt
362 library because it will make it difficult to identify various distributions
363 and track possible problems with the builds.
364
365
366
367QMAKE CONFIG OPTIONS
368
369The following CONFIG options of the qmake tool have a special meaning in OS/2:
370
371 windows Turns on generation of PM (WINDOWAPI) executables. By
372 default, this option is set for release builds that link
373 to the Qt GUI library.
374
375 console Turns on generation of text mode (WINDOWCOMPAT) executables.
376 By default, this option is set when setting the "windows"
377 option is not appropriate (see above).
378
379In addition, qmake recognizes the following OS/2-specific CONFIG options:
380
381 map Turns on generation of the .map files for executables and
382 DLLs. Note that this option is not set by default.
383
384 sym Turns on generation of the .sym files for executables and
385 DLLs. The option is turned on by default if configure.cmd
386 is able to find the MAPSYM tool in PATH.
387
388 exepack Turns on compression for executables and DLLs. The option is
389 turned on by default for release builds if configure.cmd
390 is able to find a compression tool (LxLite) in PATH.
391
392 highmem Turns on high memory usage for dynamically allocated memory
393 in DLLs and executables. When this option is set, a special
394 compiler flag (-Zhigh-mem for GCC) is used to enable high
395 memory support in the C library (LIBC). This option is set
396 by default so that all Qt DLLs and Qt applications built
397 with qmake are enabled for high memory. Note that high
398 memory support must be enabled for all LIBC-based DLLs
399 linked to the executable as well as for the executable
400 itself: high memory usage will be disabled if one of them
401 votes against it.
402
403 export_all Cause the linker to export all public symbols in a generated
404 DLL. By default (when this option is absent), only the
405 symbols marked with the __declspec(dllexport) compiler
406 directive in the source files.
407
408
409
410PRINTING SUPPORT
411
412Starting with version 4.6.2, Qt for OS/2 supports printing through the CUPS
413framework (provided that this support is enabled when building Qt, see the
414respective sections in the beginning of this document). The OS/2 implementation
415of the CUPS framework is provided by the eCUPS package available at
416http://svn.netlabs.org/ecups/.
417
418The Qt Runtime detects the presence of eCUPS in the system on the fly and talks
419to the CUPS daemon directly, bypassing the standard OS/2 printing subsystem.
420This means that in order to print from Qt applications, you don't need to create
421and configure printer objects using the standard OS/2 system printer setup
422procedure -- you only need to install eCUPS and configure your printers in
423there. Please refer to the eCUPS user manual to obtain the detailed instructions
424on how to configure CUPS printers.
425
426
427
428FILE WATCHING FUNCTION
429
430Qt supports a mechanism of notifying Qt applications about changes to the file
431system, such as creating files or directories, changing their attributes or
432deleting them, even if these changes are performed outside Qt applications. In
433particular, this is used in standard Qt open file dialogs where you can
434instantly observe changes made to the directory contents by third-party
435applications running in the background.
436
437In order to support this functionality on OS/2, Qt relies on the file watching
438mechanism provided by the Presentation Manager. This mechanism is a global
439system resource so that only one process may use it at a time. In a standard
440installation of OS/2 or eComStation this resource is exclusively used by the
441Workplace Shell and is not available to other applications. In order to overcome
442this limitation, a respective function was included to xWorkplace, the famous
443WPS extension (which lives inside the WPS process), starting with version 1.0.8.
444This function allows any number of other processes to receive notifications
445about file system changes and it gets utilized by Qt as well.
446
447If an earlier version of xWorkplace is installed on the user system, or if no
448xWorkplace extension is present at all, Qt uses its own method of detecting
449file system changes which is based on polling the directory contents in regular
450intervals. While this method works well for a small number of watched
451directories with just few files in them, it may significantly slow down the
452system if you work with a directory containing thousands of files.
453
454Therefore, is strongly recommended to install or upgrade to xWorkplace version
4551.0.8 or above to make sure that you will not suffer from the described problem.
456You will also need to make sure that the "Enable folder auto-refresh" check box
457located on the "Folder Views" page in the Workplace Shell settings notebook is
458turned on in order to enable the notification mechanism (note that you may need
459to reboot after changing its state).
460
461
462
463ENVIRONMENT VARIABLES
464
465The Qt library recognizes a number of OS/2-specific environment variables that
466affect its functionality at runtime. The table below lists these variables and
467their meaning:
468
469 QT_PM_NO_DIVE If set, Qt will not use DIVE (direct interface video
470 extensions) for painting widgets even if DIVE (which
471 provides a much faster painting speed than the
472 regular GPI approach) is available. Currently, this
473 is the default setting if the Panorama video driver
474 is detected because its DIVE implementation contains
475 a number of bugs.
476
477 QT_PM_DIVE=<mode> Enables using DIVE for painting widgets. <mode> is
478 one of:
479
480 - FB (direct framebuffer access, which is the
481 fastest mode but causes the curruption of the
482 screen under the software mouse pointer due to
483 the limitation of DIVE). If this mode is not
484 available, BLIT will be used (see below).
485
486 - FBSWM (the same FB but hides the mouse pointer
487 before painting which introduces mouse flicker
488 and may be a bit slower than the raw FB).
489
490 - BLIT (slower than both FB and FBSWM but prevents
491 screen corruption under the mouse pointer and
492 does not produce the mouse pointer flicker
493 effect).
494
495 This variable is ignored if QT_PM_NO_DIVE is set. If
496 neither this nor the QT_PM_NO_DIVE variable is set,
497 the FBSWM mode is used by default (unless the
498 current video driver is Panorama, see above).
499
500 QT_PM_NO_SOUND_SHARE If set, Qt will open the audio device in exclusive
501 only one sound may be played on the computer at a
502 time. This mode is necessary for some sound cards
503 when using the Uniaud audio driver as it is known to
504 have problems with simultaneous playback.
505 Qt builds,
506
507 QT_PM_SOUND_SHARE The opposite to the above. If set, Qt will open the
508 audio device in shared mode. This is the default
509 behavior if neither this nor the
510 QT_PM_NO_SOUND_SHARE variable is set. This variable
511 is ignored if QT_PM_NO_SOUND_SHARE is set.
512
513 QT_PM_NO_REGISTRY If set, Qt will not use the Open32 registry to store
514 application settings with QSettings. Instead, plain
515 text INI files will be used for both NativeFormat
516 and IniFormat. Due to a number of problems in the
517 Open32 registry implementation (that may easily lead
518 to registry corruption), this is the default
519 behavior if neither this nor the QT_PM_REGISTRY
520 variable is set.
521
522 QT_PM_REGISTRY The opposite to the above. If set, Qt will use the
523 Open32 registry to store application settings. This
524 variable is ignored if QT_PM_NO_REGISTRY is set.
525
526 QT_PM_NO_SYSTEM_LOCALE If set, Qt will ignore the regional settings from
527 the system locale object found in the Country
528 Palette located in the System Setup folder and will
529 take them from the internal Qt locale database
530 according to the current country and language
531 settings. Due to the fact that this internal Qt
532 database usually has a better representation of the
533 regional settings, this is the default behavior if
534 neither this nor the QT_PM_SYSTEM_LOCALE variable is
535 set.
536
537 QT_PM_SYSTEM_LOCALE The opposite to the above. If set, Qt will use the
538 regional settings as found in the default locale
539 object set the Country Palette. This variable is
540 ignored if QT_PM_NO_SYSTEM_LOCALE is set.
541
542 LANG This variable can be used to override the default
543 country and language used in the Qt application both
544 for regional settings and for translations. The
545 format of the value is "ll_CC" where <ll> is the
546 two-letter ISO language code and <CC> is the two-
547 letter ISO country code. Note that if this variable
548 is not set, Qt will derive the language and country
549 from the system country code specified in the
550 COUNTRY statement of CONFIG.SYS.
551
552
553
554COMMAND LINE OPTIONS
555
556Any Qt executable recognizes a number of command line options that may change
557the behavior of the Qt application. Here are the most interesting ones:
558
559 -style <name> Changes the default Qt widget style (theme) to a
560 style with the given name. The buiil-in styles which
561 are always available in the official build include:
562 "windows" (currently, the default on OS/2), "motif",
563 "cde", "plastique" and "cleanlooks". Other styles
564 may be also provided by the style plugins.
565
566 -graphicssystem <name> Changes the graphics system used to paint widgets.
567 On OS/2, only two values are supported: "native"
568 (the default one) and "raster". The "native" system
569 uses DIVE (direct interface video extensions) when
570 it is available. If DIVE is not available or if it
571 is disabled (see the QT_PM_NO_DIVE environment
572 variable description for details), the "raster"
573 system will be automatically selected as a fallback.
574
575
576
577CURRENT LIMITATIONS
578
579 1. configure.cmd is does not build demos and examples by default (to save
580 time). They may be built by hand, as described above.
581
582 2. configure.cmd does not understand all command line options understood by
583 configure scripts on other platforms. If you want to customize your build
584 of the Qt library (which is normally not recommended and not supported),
585 you may try to modify configure.cmd itself.
586
587 3. OS/2 bitmap fonts are not supported. Use TTF or Type1 (PFB) fonts with Qt.
588
589 4. No native PM style, but Qt will use fonts and colors from the current
590 OS/2 theme. Hint: if your default OS/2 font is "WarpSans", install the
591 "Workplace Sans" TTF font from Alex Taylor to get more native look & feel.
592 It is recommended to install version 0.7 of the Normal face and version 0.3
593 of the Bold face which you can find here:
594
595 http://users.socis.ca/~ataylo00/creative/fonts/workplace/
596
597 5. QProcess: when starting PM applications from text-mode applications, the
598 returned PID is a PID of the intermediate cmd.exe process, not the target
599 application.
600
601 6. The following classes are not available due to their rare usage or low
602 importance on the OS/2 platform: QSharedMemory, QSystemSemaphore,
603 QInputContext. On the source level, a number of macros is defined to
604 reflect this, respectively: QT_NO_SYSTEMSEMAPHORE, QT_NO_SHAREDMEMORY,
605 QT_NO_IM. Normally, Qt applications use these macros in the form of
606 "#fndef QT_NO_SOMEFEATURE" to isolate the relevant parts of the code that
607 uses these classes so that the application still builds when the
608 corresponding feature is missing.
609
610 7. No qt3support module. This functionality is rarely necessary in mature
611 real life Qt applications and has low priority. In the code, it is
612 reflected by the absense of the QT3_SUPPORT macro.
613
614 8. The following features are missing (either because of the lack of the
615 required support from the system side or because of the rare usage):
616
617 - IPV6 support in the network module (QT_NO_IPV6 is defined).
618 - phonon module (QT_NO_PHONON is defined).
619 - multimedia module (QT_NO_MULTIMEDIA is defined).
620 - OpenGL module (QT_NO_OPENGL is defined).
621 - declarative module (QT_NO_DECLARATIVE is defined).
622 - tablet support (QT_NO_TABLET is defined).
623
624 See the project roadmap for more information on the current progress and
625 future plans:
626
627 http://svn.netlabs.org/qt4/roadmap
628
629 Feel free to request new features and report bugs using the project bug
630 tracker abaialble at:
631
632 http://svn.netlabs.org/qt4/report
633
634
635
636CREDITS
637
638Dmitry A. Kuminov (development)
639Silvan Scherrer (management)
640
641netlabs.org (hosting & support)
642
643Nokia Corporation (original Qt library)
644
645We also want to THANK all individuals and organizations who made the donations
646to this project and helped to make it happen. Please visit
647
648 http://qt.netlabs.org/en/site/index.xml
649
650to get the full list of sponsors and to find information on how you can support
651the project.
652
653
654Qt is a trademark of Nokia Corporation and/or its subsidiary(-ies).
655OS/2 and OS/2 Warp are trademarks of the IBM Corporation and/or its subsidiary(-ies).
656eComStation is a trademark of Serenity Systems International and/or its subsidiary(-ies).
657Etc.
Note: See TracBrowser for help on using the repository browser.