source: trunk/README.OS2@ 1039

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

OS/2: Disable native window masking code as it is not complete.

This code is only necessary for child widgets that have native windows.
Applications using this approach are very rare (they include e.g. video
players that paint to Qt widgets on their own using native window IDs)
and they don't need masking in these widgets or their ancestors anyway.

The current implementation lacks some functionality -- in particular, it
cannot properly issue WM_VRNENABLED/WM_VRNDISABLED notifications
which breaks those video players, so that keeping it enabled makes little
to no sense.

The relevant code remains in place but guarded by the
QT_PM_NATIVEWIDGETMASK compiler macro so that it can be enabled
as needed for further experiments. See also #203 for more details.

File size: 32.8 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 - Perl 5.8.2 or above. This is required if you want to perform a shadow build
60 of the Qt library (which is a recommended way to go). Please refer to
61 section "COMPILING QT" for more information about shadow builds. Recent
62 builds of Perl for OS/2 are available here:
63
64 http://os2ports.smedley.info/index.php?page=perl
65
66 - MAPSYM 4.00.000 (Oct 4 2001) to enable generation of symbol (.SYM) files for
67 DLLs and executables. This tool comes with OS/2 Toolkit 4.5. Note that other
68 versions of this tool may not work correctly.
69
70 - LxLite 1.3.3 or above (not tested) to enable the compression of DLLs and
71 executables (which saves hard disk space and application startup time). If
72 you use a recent version of eComStation (e.g. 2.0 rc6) you will already have
73 LxLite installed. Otherwise, you may take it from here:
74
75 http://www.os2site.com/sw/util/archiver/lxlt133.zip
76
77 - CUPS 1.3.11 or later to support printing in Qt. The CUPS libraries are
78 available at:
79
80 http://download.smedley.info/cups-1.3.11-os2-20090807.zip
81
82 Linking against eCUPS also requires pthread.lib:
83
84 http://web.os2power.com/download/lib/pthread-20100217-os2.zip
85
86 - OpenSSL 0.9.8o or later to support OpenSSL in Qt. The OpenSSL libraries are
87 available at:
88
89 http://bauxite.sakura.ne.jp/tmp/os2/openssl-1.0.0a-os2knix-20100706-runtime.zip
90 http://bauxite.sakura.ne.jp/tmp/os2/openssl-1.0.0a-os2knix-20100706-dev.zip
91
92 - MySQL 5.1 or later for the MySQL Qt plugin. The MySQL libraries are
93 available at:
94
95 http://download.smedley.info/mysql-5.1.51-os2-20101001.zip
96
97 Note that you will also need the above OpenSSL libraries and pthread.lib to
98 be able to use this MySQL build. The MySQL Qt plugin itself will require
99 OpenSSL DLLs in your LIBPATH at runtime.
100
101 - PostgersSQL 9.0.1 or later to support the PostgresSQL Qt plugin. The
102 PostgresSQL libraries are available at:
103
104 http://download.smedley.info/postgresql-9.0.1-os2-20101108.zip
105
106 Note that you will also need libc064x.dll for this PostgresSQL build:
107
108 http://download.smedley.info/libc064x.zip
109
110 Note that you will also need the above OpenSSL libraries and pthread.lib to
111 be able to use this PostgresSQL build. The PostgresSQL Qt plugin itself will
112 require OpenSSL DLLs in your LIBPATH at runtime.
113
114
115
116SETTING UP THE ENVIRONMENT
117
118First of all, make sure that your GCC environment is set up and meets the
119specified requirements. To perform a quick check, you may run the following
120command:
121
122 gcc --version && make --version && wl /version
123
124If the setup is done properly, it will print the versions of the key tools
125to the console.
126
127The next step is to set up the Qt environment. If you installed the Qt
128development libraries from the WPI archive (refer to section "USING OFFICIAL
129BINARY QT ARCHIVES" below for more details about existing WPI archives), you
130will only need to run the supplied "QtEnv.cmd" script which will do all the
131setup job for you. The script is located in the directory where you installed
132the developmnent libraries (or in the WPS folder created by the WPI installer).
133Execute this script in a command line session to make it ready for building
134Qt 4 applications (for example, using the "qmake" command follwed by "make"