source: trunk/README.OS2 @ 1085

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

Readme/changes for 4.7.3.

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