| 1 | This is Qt version 4.5.1 GA for OS/2 and eCS.
 | 
|---|
| 2 | 
 | 
|---|
| 3 | This document contains a brief information on the OS/2 version of the Qt
 | 
|---|
| 4 | library. Please read it carefully before starting your work. You may also
 | 
|---|
| 5 | visit the project page at
 | 
|---|
| 6 | 
 | 
|---|
| 7 |   http://svn.netlabs.org/qt4/wiki
 | 
|---|
| 8 | 
 | 
|---|
| 9 | to get more information and the latest news and also to report bugs.
 | 
|---|
| 10 | 
 | 
|---|
| 11 | To get a brief list of OS/2-specific changes from release to release
 | 
|---|
| 12 | please see the CHANGES.OS2 file included in this distribution.
 | 
|---|
| 13 | 
 | 
|---|
| 14 | 
 | 
|---|
| 15 | 
 | 
|---|
| 16 | REQUIREMENTS
 | 
|---|
| 17 | 
 | 
|---|
| 18 | In order to compile the Qt library and Qt-based applications, you will need
 | 
|---|
| 19 | the following tools:
 | 
|---|
| 20 | 
 | 
|---|
| 21 |   - One of the OS/2 Warp 4, OS/2 Warp 4.5 or eComStation operating systems.
 | 
|---|
| 22 | 
 | 
|---|
| 23 |   - InnoTek GCC compiler version 3.3.5 CSD3 or 4.4.2 (recommended).
 | 
|---|
| 24 |     You can download the GCC 4.4.2 compiler using the following link:
 | 
|---|
| 25 | 
 | 
|---|
| 26 |       http://download.smedley.info/gcc-4.4.2-os2-20091205.zip
 | 
|---|
| 27 | 
 | 
|---|
| 28 |     GCC 4.4.2 requires newer binutils available at:
 | 
|---|
| 29 | 
 | 
|---|
| 30 |       http://download.smedley.info/binutils-2.19.1-os2-20090427.zip
 | 
|---|
| 31 | 
 | 
|---|
| 32 |     Note that in order to use the above version of GCC, you will also need
 | 
|---|
| 33 |     to install the previous 3.x version (e.g. 3.3.5 CSD3) available at:
 | 
|---|
| 34 | 
 | 
|---|
| 35 |       ftp://ftp.netlabs.org/pub/gcc/GCC-3.3.5-csd3.zip
 | 
|---|
| 36 | 
 | 
|---|
| 37 |   - Patched OpenWatcom linker which you can download from here:
 | 
|---|
| 38 | 
 | 
|---|
| 39 |       ftp://ftp.netlabs.org/pub/gcc/wl-hll-r1.zip
 | 
|---|
| 40 | 
 | 
|---|
| 41 |     Note that if you use IBM ILINK (no matter what version), you will
 | 
|---|
| 42 |     not be able to build the debug version of the library due to
 | 
|---|
| 43 |     bugs/limitations of ILINK.
 | 
|---|
| 44 | 
 | 
|---|
| 45 |   - GNU Make 3.81beta1 or above (not tested) available at:
 | 
|---|
| 46 | 
 | 
|---|
| 47 |       http://unix.os2site.com/pub/binary/make/make-3_81beta1-bin-static.zip
 | 
|---|
| 48 | 
 | 
|---|
| 49 |   - eCUPS 1.3.11 or later to support printing in Qt. The eCUPS WPI is available
 | 
|---|
| 50 |     at:
 | 
|---|
| 51 | 
 | 
|---|
| 52 |       ftp://ftp.netlabs.org/incoming/eCUPS003.wpi   or
 | 
|---|
| 53 |       ftp://ftp.netlabs.org/pub/ecups/eCUPS003.wpi
 | 
|---|
| 54 | 
 | 
|---|
| 55 |     Linking against eCUPS also requires pthread.lib:
 | 
|---|
| 56 | 
 | 
|---|
| 57 |       http://web.os2power.com/download/lib/pthread-20100217-os2.zip
 | 
|---|
| 58 | 
 | 
|---|
| 59 |   - LxLite 1.3.3 or above (not tested) if you want Qt DLLs and application
 | 
|---|
| 60 |     executables to be compressed (to save hard disk space and load time). If
 | 
|---|
| 61 |     you have a recent eComStation installation (e.g. 2.0 rc6) you will already
 | 
|---|
| 62 |     have LxLite installed. Otherwise, you may take it from here:
 | 
|---|
| 63 | 
 | 
|---|
| 64 |       http://www.os2site.com/sw/util/archiver/lxlt133.zip
 | 
|---|
| 65 | 
 | 
|---|
| 66 | 
 | 
|---|
| 67 | 
 | 
|---|
| 68 | SETTING UP THE ENVIRONMENT
 | 
|---|
| 69 | 
 | 
|---|
| 70 | After unpacking the GCC archive, you will have to set up the compiler
 | 
|---|
| 71 | environment by invoking gccenv.cmd from the "bin" subdirectory with the correct
 | 
|---|
| 72 | arguments (type gccenv.cmd -? for help). For the OpenWatcom linker, specify
 | 
|---|
| 73 | WLINK as the second argument.
 | 
|---|
| 74 | 
 | 
|---|
| 75 | Please note that setting up the GCC 4.x environment requires some additional
 | 
|---|
| 76 | steps. Please look through the README files contained within the OS/2
 | 
|---|
| 77 | distribution.
 | 
|---|
| 78 | 
 | 
|---|
| 79 | You will also need to perform the following steps:
 | 
|---|
| 80 | 
 | 
|---|
| 81 |   - Make sure the selected linker, the make utility and LxLite executable are
 | 
|---|
| 82 |     in PATH.
 | 
|---|
| 83 | 
 | 
|---|
| 84 |   - Make sure CMD.EXE is your command line processor (the generated makefiles
 | 
|---|
| 85 |     will rely on its 'copy', 'if' and other commands). If you have a Unix shell
 | 
|---|
| 86 |     (SH.EXE) in your environment, you may need to force GNU make to use CMD.EXE
 | 
|---|
| 87 |     by doing 'set MAKESHELL=C:\OS2\CMD.EXE' where C: is your boot drive.
 | 
|---|
| 88 | 
 | 
|---|
| 89 |   - Do set LIBRARY_PATH=C:\OS2\DLL;C:\MPTN\DLL where C: is your boot drive.
 | 
|---|
| 90 | 
 | 
|---|
| 91 |   - Make sure that there are no traces of any other Watcom or OpenWatcom
 | 
|---|
| 92 |     installation in the environment where you build Qt as it will most likely
 | 
|---|
| 93 |     interfere with the patched OpenWatcom linker we use. This basically means
 | 
|---|
| 94 |     removing all *WATCOM* environment variables and removing references to those
 | 
|---|
| 95 |     Watcom installations from PATH.
 | 
|---|
| 96 | 
 | 
|---|
| 97 |   - Add the "bin" subdirectory of the directory where you unpacked the Qt4
 | 
|---|
| 98 |     source tree to PATH and BEGINLIBPATH using its full path, e.g.:
 | 
|---|
| 99 | 
 | 
|---|
| 100 |       set PATH=D:\Coding\Qt4\bin;%PATH%
 | 
|---|
| 101 |       set BEGINLIBPATH=D:\Coding\Qt4\bin;%BEGINLIBPATH%
 | 
|---|
| 102 | 
 | 
|---|
| 103 |   - Install the eCUPS WPI archive to enable printing support. If this WPI is
 | 
|---|
| 104 |     installed, the Qt build system will pick up all necessary libraries
 | 
|---|
| 105 |     automatically. Otherwise, you will need to use the following environment
 | 
|---|
| 106 |     variables to tell it where to look for CUPS:
 | 
|---|
| 107 | 
 | 
|---|
| 108 |       set CUPS_INCLUDEPATH=X:\Path\to\CUPS\include
 | 
|---|
| 109 |       set CUPS_LIBS=X:\Path\to\CUPS\lib\libcups.a
 | 
|---|
| 110 | 
 | 
|---|
| 111 |     Note that if the eCUPS WPI is not installed and these variables are not set,
 | 
|---|
| 112 |     printing support will be completely disabled in the resulting Qt build.
 | 
|---|
| 113 | 
 | 
|---|
| 114 |     You will also need to make sure that pthread.lib is placed somewhere in your
 | 
|---|
| 115 |     system library path so that the compiler can find it.
 | 
|---|
| 116 | 
 | 
|---|
| 117 | Note that the QTDIR environment variable used by previous Qt versions is not
 | 
|---|
| 118 | used by Qt4 anymore (except two rare cases that do not affect the OS/2 platform
 | 
|---|
| 119 | anyway and are probably leftovers after the migration of the qmake feature
 | 
|---|
| 120 | specifications to Qt4). Therefore, there is no need to set this variable
 | 
|---|
| 121 | explicitly. See also a note below about hard-coded paths to the source tree.
 | 
|---|
| 122 | 
 | 
|---|
| 123 | There is also no need to set the QMAKESPEC variable explicitly. If it is absent,
 | 
|---|
| 124 | qmake will use the specification stored in the <Qt4_Home>/mkspecs/default
 | 
|---|
| 125 | directory, which on OS/2 always refers to the "os2-g++" specification, the only
 | 
|---|
| 126 | one supported at the present time.
 | 
|---|
| 127 | 
 | 
|---|
| 128 | 
 | 
|---|
| 129 | 
 | 
|---|
| 130 | COMPILING QT
 | 
|---|
| 131 | 
 | 
|---|
| 132 | You should skip this section if you downloaded and installed a binary
 | 
|---|
| 133 | distribution of the Qt library for developers (qt-dev-X_Y_Z.wpi) and proceed
 | 
|---|
| 134 | directly to section USING OFFICIAL BINARY QT PACKAGES below.
 | 
|---|
| 135 | 
 | 
|---|
| 136 | When the environment is set up, go to the directory where you unpacked the
 | 
|---|
| 137 | Qt4 source tree and type:
 | 
|---|
| 138 | 
 | 
|---|
| 139 |   configure.cmd
 | 
|---|
| 140 | 
 | 
|---|
| 141 | This will set up the library (by creating necessary configuration and include
 | 
|---|
| 142 | files and a bunch of Makefiles for variuos components) and build the qmake
 | 
|---|
| 143 | utility.
 | 
|---|
| 144 | 
 | 
|---|
| 145 | The next step is to type:
 | 
|---|
| 146 | 
 | 
|---|
| 147 |   make
 | 
|---|
| 148 | 
 | 
|---|
| 149 | This will compile and link the library. Note that by default both the release
 | 
|---|
| 150 | and the debug version of the library are built (please be patient, it may take
 | 
|---|
| 151 | quite some time depending on your hardware). The release and debug libraries can
 | 
|---|
| 152 | co-exist in the same source tree and may be used in parallel: all the debug DLLs
 | 
|---|
| 153 | get a 'd' letter in their name preceeding the Qt major version number and use
 | 
|---|
| 154 | separate directories for object files.
 | 
|---|
| 155 | 
 | 
|---|
| 156 | To save time, you may also build the release and the debug versions of the
 | 
|---|
| 157 | library separately by typing 'make release' or 'make debug' accordingly
 | 
|---|
| 158 | instead of just 'make'.
 | 
|---|
| 159 | 
 | 
|---|
| 160 | Once the library is successfully built, you may try to compile the demos
 | 
|---|
| 161 | and examples by visiting the individual example subdirectories in the source
 | 
|---|
| 162 | tree and typing 'qmake' followed by one of 'make', 'make release' or
 | 
|---|
| 163 | 'make debug' in that subdirectory.
 | 
|---|
| 164 | 
 | 
|---|
| 165 | NOTE:
 | 
|---|
| 166 | 
 | 
|---|
| 167 |      This version of Qt for OS/2 includes the Extended system tray plugin for
 | 
|---|
| 168 |      XCenter/eCenter which is necessary to enable Qt support for the special
 | 
|---|
| 169 |      notification area on the XCenter/eCenter panel (called the "system tray")
 | 
|---|
| 170 |      which is used by many long-running applications to display their status.
 | 
|---|
| 171 |      In order to activate this support, you need to install this plugin to your
 | 
|---|
| 172 |      XCenter or eCenter. The plugin is built during the normal Qt build process
 | 
|---|
| 173 |      and can be found in the file \plugins\xcenter\xsystray.dll in the Qt source
 | 
|---|
| 174 |      tree. In order to install the plugin, do the following:
 | 
|---|
| 175 | 
 | 
|---|
| 176 |      a. Copy xsystray.dll to <XWorkplace installation folder>\plugins\xcenter\
 | 
|---|
| 177 |         (on eComStation, this will be C:\ecs\system\ewps\plugins\xcenter\ where
 | 
|---|
| 178 |         C: is your boot drive).
 | 
|---|
| 179 | 
 | 
|---|
| 180 |      b. Restart WPS.
 | 
|---|
| 181 | 
 | 
|---|
| 182 |      c. Add the "Extended system tray" widget to the XCenter/eCenter panel using
 | 
|---|
| 183 |         the XCenter context menu ('Create new widget').
 | 
|---|
| 184 | 
 | 
|---|
| 185 |      Note that if you upgrade from the previous version of the plugin then
 | 
|---|
| 186 |      please unlock xsystray.dll in the target folder using the UNLOCK.EXE
 | 
|---|
| 187 |      utility (which you can find in the LxLite package, for example) before
 | 
|---|
| 188 |      performing step a., otherwise the copy operation will fail.
 | 
|---|
| 189 | 
 | 
|---|
| 190 | IMPORTANT NOTE:
 | 
|---|
| 191 | 
 | 
|---|
| 192 |      Please take into account that the Qt library you build on your own as
 | 
|---|
| 193 |      described above is NOT intended for wide distribution with Qt applications
 | 
|---|
| 194 |      you port or create. Such private Qt builds help you develop Qt applications
 | 
|---|
| 195 |      (because you can easily debug your program and parts of the Qt framework at
 | 
|---|
| 196 |      the source level) but being widely distributed they will create a so-called
 | 
|---|
| 197 |      DLL hell when a program running on a user computer crashes because it picks
 | 
|---|
| 198 |      up a wrong build of the Qt library. This will happen because even a single
 | 
|---|
| 199 |      change to Qt configuration options may make your build binary incompatible
 | 
|---|
| 200 |      with another build. And even if you convince the user to isolate different
 | 
|---|
| 201 |      DLLs (using BEGINLIBPATH and alike) it will create another major problem:
 | 
|---|
| 202 |      two different Qt applications will load two different Qt builds into memory
 | 
|---|
| 203 |      which will double resource usage; having three different builds will
 | 
|---|
| 204 |      tripple it and so on -- what a vaste of system resources!
 | 
|---|
| 205 | 
 | 
|---|
| 206 |      In order to nicely solve this problem, netlabs.org provides the official
 | 
|---|
| 207 |      binary builds of the Qt library distributed as WPI packages which are
 | 
|---|
| 208 |      described in the next section.
 | 
|---|
| 209 | 
 | 
|---|
| 210 | 
 | 
|---|
| 211 | 
 | 
|---|
| 212 | USING OFFICIAL BINARY QT PACKAGES
 | 
|---|
| 213 | 
 | 
|---|
| 214 | For your convenience, netlabs.org provides the following binary distributions
 | 
|---|
| 215 | of the Qt library (where X_Y_Z is the Qt version number):
 | 
|---|
| 216 | 
 | 
|---|
| 217 |   qt-lib-X_Y_Z.wpi   - Runtime DLLs and binaries ("lib" package)
 | 
|---|
| 218 |   qt-dev-X_Y_Z.wpi   - Development libraries, tools and headers ("dev" package)
 | 
|---|
| 219 | 
 | 
|---|
| 220 | These packages are called the official binary packages of the Qt library for
 | 
|---|
| 221 | OS/2. An official binary distribution is the most complete Qt build available
 | 
|---|
| 222 | that enables all Qt library features and includes all standard Qt plugins that
 | 
|---|
| 223 | were implemented for OS/2.
 | 
|---|
| 224 | 
 | 
|---|
| 225 | The "lib" package contains the release versions of DLLs (and may contain a few
 | 
|---|
| 226 | helper binaries) necessary to run applications created using the Qt framework.
 | 
|---|
| 227 | This package is usually installed by end users together with the Qt applications
 | 
|---|
| 228 | they want to use.
 | 
|---|
| 229 | 
 | 
|---|
| 230 | The "dev" package contains pre-built release versions of import libraries and
 | 
|---|
| 231 | a complete set of C++ include headers of the Qt framework. This package is used
 | 
|---|
| 232 | by developers and porters of Qt applications to build release versions of the
 | 
|---|
| 233 | applications for OS/2 that are binary compatibie with the "lib" package
 | 
|---|
| 234 | described above.
 | 
|---|
| 235 | 
 | 
|---|
| 236 | Using the "dev" package requires the same environment as the one necessary for
 | 
|---|
| 237 | building Qt and described in section SETTING UP THE ENVIRONMET above with the
 | 
|---|
| 238 | exception that the "bin" subdirectory of the directory where you installed the
 | 
|---|
| 239 | "dev" package needs to be added to PATH instead of the "bin" subdirectory of
 | 
|---|
| 240 | the Qt4 source tree.
 | 
|---|
| 241 | 
 | 
|---|
| 242 | The process of compiling Qt applications using the "dev" package is basically
 | 
|---|
| 243 | the same as with the hand made-build of Qt. Note, however, that if you are
 | 
|---|
| 244 | developing or porting a Qt application, it is still recommended that you build
 | 
|---|
| 245 | the debug version of the Qt library yourself and use it in your daily work since
 | 
|---|
| 246 | it will give you much more feedback than the stripped down release version
 | 
|---|
| 247 | contained in the "dev" package. The "dev" package, as said above, is intended
 | 
|---|
| 248 | for making the final release build of the application for subsequent
 | 
|---|
| 249 | distribution together with the official "lib" package.
 | 
|---|
| 250 | 
 | 
|---|
| 251 | Besides the "lib" and the "dev" packages, the following official packages exist
 | 
|---|
| 252 | that you may also find useful:
 | 
|---|
| 253 | 
 | 
|---|
| 254 |   qt-examples-X_Y_Z.wpi  - Demo and example sources ("examples")
 | 
|---|
| 255 | 
 | 
|---|
| 256 | The "examples" package contains the demo and example applications shipped with
 | 
|---|
| 257 | Qt along with the source code. They serve as a good demonstration of the Qt
 | 
|---|
| 258 | library features and it is recommended to look at them.
 | 
|---|
| 259 | 
 | 
|---|
| 260 | Please note that this package does not contain all Qt demos and examples
 | 
|---|
| 261 | available since not all features have been implemented in the OS/2 version of
 | 
|---|
| 262 | Qt yet.
 | 
|---|
| 263 | 
 | 
|---|
| 264 | NOTE:
 | 
|---|
| 265 | 
 | 
|---|
| 266 |      All .DLL and .EXE files of the official binary build contain a DESCRIPTION
 | 
|---|
| 267 |      string with the vendor field set to "netlabs.org" (by contrast, all custom
 | 
|---|
| 268 |      Qt builds will set the vendor field to what the USER environment variable
 | 
|---|
| 269 |      contains or to "anonymous" if USER is not set). Please note that you must
 | 
|---|
| 270 |      NOT set vendor to "netlabs.org" when creating your own builds of the Qt
 | 
|---|
| 271 |      library because it will make it really difficult to identify various
 | 
|---|
| 272 |      distributions and track possible problems with the builds.
 | 
|---|
| 273 | 
 | 
|---|
| 274 | 
 | 
|---|
| 275 | 
 | 
|---|
| 276 | QMAKE CONFIG OPTIONS
 | 
|---|
| 277 | 
 | 
|---|
| 278 | The following CONFIG options of the qmake utility have a special meaning in
 | 
|---|
| 279 | OS/2:
 | 
|---|
| 280 | 
 | 
|---|
| 281 |   windows           Turns on generation of PM (WINDOWAPI) executables. By
 | 
|---|
| 282 |                     default, this option is set for release builds that link
 | 
|---|
| 283 |                     to the Qt GUI library.
 | 
|---|
| 284 | 
 | 
|---|
| 285 |   console           Turns on generation of text mode (WINDOWCOMPAT) executables.
 | 
|---|
| 286 |                     By default, this option is set when setting the "windows"
 | 
|---|
| 287 |                     option is not appropriate (see above).
 | 
|---|
| 288 | 
 | 
|---|
| 289 | In addition, qmake recognizes the following OS/2-specific CONFIG options:
 | 
|---|
| 290 | 
 | 
|---|
| 291 |   map               Turns on generation of the .map files for executables and
 | 
|---|
| 292 |                     DLLs. This option is set by default.
 | 
|---|
| 293 | 
 | 
|---|
| 294 |   exepack           Turns on compression for executables and DLLs. The option is
 | 
|---|
| 295 |                     turned on by default for release builds if configure.cmd
 | 
|---|
| 296 |                     finds a compression tool (LxLite) in PATH.
 | 
|---|
| 297 | 
 | 
|---|
| 298 |   highmem           Turns on high memory usage for dynamically allocated memory
 | 
|---|
| 299 |                     in DLLs and executables. When this option is set, a special
 | 
|---|
| 300 |                     compiler flag (-Zhigh-mem for GCC) is used to enable high
 | 
|---|
| 301 |                     memory support in the C library (LIBC). This option is set
 | 
|---|
| 302 |                     by default so that all Qt DLLs and Qt applications built
 | 
|---|
| 303 |                     with qmake are enabled for high memory. Note that high
 | 
|---|
| 304 |                     memory support must be enabled for all LIBC-based DLLs
 | 
|---|
| 305 |                     linked to the executable as well as for the executable
 | 
|---|
| 306 |                     itself: high memory usage will be disabled if one of them
 | 
|---|
| 307 |                     votes against it.
 | 
|---|
| 308 | 
 | 
|---|
| 309 | 
 | 
|---|
| 310 | 
 | 
|---|
| 311 | ENVIRONMENT VARIABLES
 | 
|---|
| 312 | 
 | 
|---|
| 313 | The Qt library recognizes a number of OS/2-specific environment variables that
 | 
|---|
| 314 | affect its functionality at runtime. The table below lists these variables and
 | 
|---|
| 315 | their meaning:
 | 
|---|
| 316 | 
 | 
|---|
| 317 |   QT_PM_NO_SOUND_SHARE      If set, Qt will open the audio device in exclusive
 | 
|---|
| 318 |                             only one sound may be played on the computer at a
 | 
|---|
| 319 |                             time. This mode is recommended for some sound cards
 | 
|---|
| 320 |                             when using the Uniaud audio driver as it is known to
 | 
|---|
| 321 |                             have problems with simultaneous playback. In current
 | 
|---|
| 322 |                             Qt builds, this is the default behavior if neither
 | 
|---|
| 323 |                             this nor the QT_PM_SOUND_SHARE variable is set.
 | 
|---|
| 324 | 
 | 
|---|
| 325 |   QT_PM_SOUND_SHARE         The opposite to the above. If set, Qt will open the
 | 
|---|
| 326 |                             audio device in shared mode. This variable is
 | 
|---|
| 327 |                             ignored if QT_PM_NO_SOUND_SHARE is set.
 | 
|---|
| 328 | 
 | 
|---|
| 329 |   QT_PM_NO_REGISTRY         If set, Qt will not use the Open32 registry to store
 | 
|---|
| 330 |                             application settings with QSettings. Instead, plain
 | 
|---|
| 331 |                             text INI files will be used for both NativeFormat
 | 
|---|
| 332 |                             and IniFormat. Due to a number of problems in the
 | 
|---|
| 333 |                             Open32 registry implementation (that may easily lead
 | 
|---|
| 334 |                             to registry corruption), this is the default
 | 
|---|
| 335 |                             behavior if neither this nor the QT_PM_REGISTRY
 | 
|---|
| 336 |                             variable is set.
 | 
|---|
| 337 | 
 | 
|---|
| 338 |   QT_PM_REGISTRY            The opposite to the above. If set, Qt will use the
 | 
|---|
| 339 |                             Open32 registry to store application settings.
 | 
|---|
| 340 | 
 | 
|---|
| 341 | 
 | 
|---|
| 342 | 
 | 
|---|
| 343 | PRINTING SUPPORT
 | 
|---|
| 344 | 
 | 
|---|
| 345 | Starting with version 4.6.1, Qt for OS/2 supports printing through the CUPS
 | 
|---|
| 346 | framework (provided that this support is enabled when building Qt, see the
 | 
|---|
| 347 | respective sections in the beginning of this document). The OS/2 implementation
 | 
|---|
| 348 | of the CUPS framework is provided by the eCUPS package available at
 | 
|---|
| 349 | http://svn.netlabs.org/ecups/.
 | 
|---|
| 350 | 
 | 
|---|
| 351 | The Qt Runtime detects the presence of eCUPS in the system on the fly and talks
 | 
|---|
| 352 | to the CUPS daemon directly, bypassing the standard OS/2 printing subsystem.
 | 
|---|
| 353 | This means that in order to print from Qt applications, you don't need to create
 | 
|---|
| 354 | and configure printer objects using the standard OS/2 system printer setup
 | 
|---|
| 355 | procedure -- you only need to install eCUPS and configure your printers in
 | 
|---|
| 356 | there. Please refer to the eCUPS user manual to obtain the detailed instructions
 | 
|---|
| 357 | on how to configure CUPS printers.
 | 
|---|
| 358 | 
 | 
|---|
| 359 | 
 | 
|---|
| 360 | 
 | 
|---|
| 361 | CURRENT LIMITATIONS
 | 
|---|
| 362 | 
 | 
|---|
| 363 |   1. configure.cmd is not yet capable of generating individual Makefiles for
 | 
|---|
| 364 |      demos and examples, it only generates the main Makefile that builds the
 | 
|---|
| 365 |      library and the necessary tools. Demos and examples can be compiled by
 | 
|---|
| 366 |      hand (as described above).
 | 
|---|
| 367 | 
 | 
|---|
| 368 |   2. configure.cmd does not understand any command line options. If you want
 | 
|---|
| 369 |      to customize the build of the Qt library (which is not recommended), you
 | 
|---|
| 370 |      may try to modify configure.cmd itself.
 | 
|---|
| 371 | 
 | 
|---|
| 372 |   3. OS/2 bitmap fonts are not yet supported. Use TTF or Type1 (PFB) fonts with
 | 
|---|
| 373 |      Qt.
 | 
|---|
| 374 | 
 | 
|---|
| 375 |   4. In order to let Qt correctly detect the regional settings and choose the
 | 
|---|
| 376 |      right language for translating the user interface, the LANG environment
 | 
|---|
| 377 |      variable must be set. The format is
 | 
|---|
| 378 | 
 | 
|---|
| 379 |        set LANG=ll_CC
 | 
|---|
| 380 | 
 | 
|---|
| 381 |      where <ll> is the language code and <CC> is the country code (refer to
 | 
|---|
| 382 |      wikipedia.org to find correct letters for your langage and country if you
 | 
|---|
| 383 |      do not know them). Note that the optional encoding part of the LANG
 | 
|---|
| 384 |      specification is ignored by Qt for OS/2 since 4.5.1 Beta 5 because it now
 | 
|---|
| 385 |      detects the encoding automatically based on the system OS/2 settings.
 | 
|---|
| 386 | 
 | 
|---|
| 387 |      Later, the correct language will be detected from the system settings so
 | 
|---|
| 388 |      that specifying LANG will be not necessary at all.
 | 
|---|
| 389 | 
 | 
|---|
| 390 |   5. No qt3support module. This functionality is rarely necessary in mature
 | 
|---|
| 391 |      real life applications and has low priority.
 | 
|---|
| 392 | 
 | 
|---|
| 393 |   6. No native PM style, but Qt will use fonts and colors from the current
 | 
|---|
| 394 |      OS/2 theme. Hint: if your default OS/2 font is "WarpSans", install the
 | 
|---|
| 395 |      "Workplace Sans" TTF font from Alex Taylor to get more native look & feel.
 | 
|---|
| 396 |      It is recommended to install version 0.6 of the Normal face and version 0.2
 | 
|---|
| 397 |      of the Bold face which you can find here:
 | 
|---|
| 398 | 
 | 
|---|
| 399 |        http://users.socis.ca/~ataylo00/creative/fonts/workplace/
 | 
|---|
| 400 | 
 | 
|---|
| 401 |   7. QProcess: when starting PM applications from text-mode applications, the
 | 
|---|
| 402 |      returned PID is a PID of the intermediate cmd.exe process, not the target
 | 
|---|
| 403 |      application.
 | 
|---|
| 404 | 
 | 
|---|
| 405 |   8. The followign classes are not available due to their rare usage or low
 | 
|---|
| 406 |      importance on the OS/2 platform: QSharedMemory, QSystemSemaphore,
 | 
|---|
| 407 |      QInputContext, QAccessible. The following macros are defined to indicate
 | 
|---|
| 408 |      this: QT_NO_SYSTEMSEMAPHORE, QT_NO_SHAREDMEMORY,
 | 
|---|
| 409 |      QT_NO_IM, QT_NO_ACCESSIBILITY. Applications normally use them to guard the
 | 
|---|
| 410 |      relevant parts of code so they should still build.
 | 
|---|
| 411 | 
 | 
|---|
| 412 |   9. No QAssistant. No IPV6 support in the network module (QT_NO_IPV6 is
 | 
|---|
| 413 |      defined).
 | 
|---|
| 414 | 
 | 
|---|
| 415 |   See the project roadmap for more information on the current progress and
 | 
|---|
| 416 |   future plans:
 | 
|---|
| 417 | 
 | 
|---|
| 418 |     http://svn.netlabs.org/qt4/roadmap
 | 
|---|
| 419 | 
 | 
|---|
| 420 |   Feel free to request new features and report bugs using the project bug
 | 
|---|
| 421 |   tracker abaialble at:
 | 
|---|
| 422 | 
 | 
|---|
| 423 |     http://svn.netlabs.org/qt4/report
 | 
|---|
| 424 | 
 | 
|---|
| 425 | 
 | 
|---|
| 426 | 
 | 
|---|
| 427 | CREDITS
 | 
|---|
| 428 | 
 | 
|---|
| 429 | Dmitry A. Kuminov (development)
 | 
|---|
| 430 | Silvan Scherrer (management)
 | 
|---|
| 431 | 
 | 
|---|
| 432 | netlabs.org (hosting & support)
 | 
|---|
| 433 | 
 | 
|---|
| 434 | Nokia Corporation (original Qt library)
 | 
|---|
| 435 | 
 | 
|---|
| 436 | We also want to THANK all individuals and organizations who made the donations
 | 
|---|
| 437 | to this project and helped to make it happen. Please visit
 | 
|---|
| 438 | 
 | 
|---|
| 439 |   http://qt.netlabs.org/en/site/index.xml
 | 
|---|
| 440 | 
 | 
|---|
| 441 | to get the full list of sponsors and to find information on how you can support
 | 
|---|
| 442 | the project.
 | 
|---|
| 443 | 
 | 
|---|
| 444 | 
 | 
|---|
| 445 | Qt is a trademark of Nokia Corporation and/or its subsidiary(-ies).
 | 
|---|
| 446 | OS/2 and OS/2 Warp are trademarks of the IBM Corporation and/or its subsidiary(-ies).
 | 
|---|
| 447 | eComStation is a trademark of Serenity Systems International and/or its subsidiary(-ies).
 | 
|---|
| 448 | Etc.
 | 
|---|