Changeset 740
- Timestamp:
- May 14, 2010, 12:40:29 AM (15 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/CHANGES.OS2
r542 r740 4 4 5 5 CHANGES 6 7 8 4.6.2 (14-05-2010) 9 10 Improvements: 11 12 - general: Updated Qt codebase to version 4.6.2 (see the changes-4.6.2 file 13 for details). Note that this version is binary incompatible with the 14 previous version (see README.OS2 for more information). 15 16 - general: Implemented support for the OS/2 platform in the webkit module. The 17 webkit module is used in many complex web-based applications such as web 18 browsers to implement the JavaScript support. Note that the script module 19 uses the JavaScript implementation from the WebKit project too and it was 20 also ported to OS/2. The webkit module is always present in the official Qt 21 build but is disabled by defautl in the custom builds due to big compilation 22 times. 23 24 - general: Use declspec(dllexport) on OS/2 to significantly reduce the number 25 of exports in generated DLLs. This mode is on by default which reduces the 26 number of exported symbols by 90-100% in Qt DLLs and makes it not necessary 27 to split the QtGui DLL in 3 parts in debug mode. The old method which causes 28 all public symbols to be exported is still available using the "export_all" 29 CONFIG option (see README.OS2 for details). 30 31 - general: Provide the "doc" WPI archive that contains the Qt reference 32 documentation. 33 34 - corelib: Implemented native (XWP-based) file system watcher for OS/2 that 35 does not eat CPU (which is best noticed in file dialogs showing directories 36 containing hundreds of files. Requires XWorkplace to be installed. 37 38 - corelib: Implemented deriving the defaut locale from the process country 39 code if LANG is not set and integration with the system locale object 40 (System Setup -> Country Palette). See the QT_PM_NO_SYSTEM_LOCALE 41 description in README.OS2 for details. 42 43 - gui: Implemented printing support through CUPS. Refer to section "PRINTING 44 SUPPORT" in README.OS2 for details. 45 46 - gui: Implemented painting in widgets using DIVE (direct interface video 47 extensions). Using DIVE gives a significant graphical performance boost, up 48 to 100% in BLIT mode and 130% in FBSWM mode, depending on the combination of 49 the graphics hardware, video driver and the current screen mode. See the 50 QT_PM_DIVE and QT_PM_NO_DIVE description in README.OS2 for more details. 51 52 - gui: Improved the painting speed when not using DIVE. The performance boost 53 varies from 30% to 200% (e.g. 3 times faster), depending on the combination 54 of the graphics hardware, video driver and the current screen mode. 55 56 - gui: Enabled MMX/SSE support (on by default) to speed up graphical 57 operations by a couple of percents. 58 59 - gui: Enabled accessibility support on OS/2. Note that in order to use the 60 accessibility functions, a QAccessibleBridge plugin for the corresponding 61 accessibility device is necessary but none of them exist at the present 62 time. 63 64 - gui: Use native file icons in standard Qt file dialogs. 65 66 - assistant: Enabled the help module and made the Qt Assistant tool build on 67 OS/2. Also enabled help and assistant examples and demos. 68 69 - demos: Enabled the browser demo application that makes use of the webkit 70 module. 71 72 - demos: Enabled the qtdemo example that demonstrates all Qt features and 73 acts as a launcher for other example and demo applications. 74 75 - gnumake/os2-g++: Switch the compiler to using the i486 instruciton set for 76 code generation. This gives around 3% of the performance boost when 77 painting. As a drawback, the code will no longer run on i386 PCs but it is 78 assumed that it does not make sense to use Qt4 on these computers. 79 80 Fixes: 81 82 - general: Fixed: Building Qt applications with the "dev" WPI archive would 83 fail due to extra spaces in the output object file names. 84 85 - corelib: Fixed: Regular files were treated as sequential streams which made 86 the seek functionality unavailable. This in particular affected Qt Designer 87 that didn't expect sequential streams when reading .ui files and refused to 88 load files bigger than 8192 bytes as a result. 89 90 - corelib: Make sure the hardware error popup dialogs do not appear when 91 opening the standard Qt file dialog and selecting a removable drive with no 92 media inserted even with AUTOFAIL=YES in CONFIG.SYS 93 94 - corelib: QProcess: Fixed: Data could not be successfully read or written to 95 the standard streams of the started process in 'highmem' link mode (which is 96 on by default since 4.5.1 GA), as well as in normal link mode in some 97 situations. 98 99 - corelib: Fixed QProcess::startDetached() which would not work in 'highmem' 100 mode. 101 102 - corelib: QProcess: Fixed: Having stderr of a started child process 103 redirected to a pipe (which is the default) would indirectly cause an 104 impossibility to write anything to its stdin. 105 106 - corelib: QProcess: Get rid of the unexpected "DosQueryNPipeSemState returned 107 87" warning. 108 109 - corelib: QFileSystemWatcher: In the fall-back polling watcher, increased the 110 sleep time between checks of all watched files from 1 second to 3 seconds to 111 decrease the CPU load on big sets of watched files. Also, replaced the sleep 112 between checking individual items with the yield call as it doesn't give 113 significant improvement but just causes more CPU cycles to be spent between 114 each check. 115 116 - corelib: Always return true from QFileInfo::isRoot()/isDir() for paths 117 referring to root directories of drives with no media and always return 118 false from QFileInfo::exists() for them. Also, don't lstat() on such paths 119 since they are definitely not symlinks. This improves the file dialog 120 appearance and behavior for removable drives. 121 122 - corelib: Protect against the frozen system when QSocketNotifier is given an 123 unsupported socket (for example, an OS/2 file handle). There is still 100% 124 CPU load in this case, but the application can be at least closed using 125 normal means. 126 127 - corelib: Sockets: Fixed: "has data to read" socket notifications would be 128 sometimes delivered with a delay depending on the frequency of timers which 129 could significantly slow down network data transfer. 130 131 - corelib: QTemporaryFile: Fixed: Files were opened in O_TEXT mode which 132 caused unexpected LF <-> CRLF translation. In particular, this broke 133 QNetworkDiskCache functionality (seen in e.g. demos/browser as missing 134 images and CSS sheets when read from cache). 135 136 - corelib: Fixed: Clear FPU CW in qdtoa() to avoid the floating point 137 exception in various scenarios [patch by rudi]. 138 139 - gui: Fixed assertion in QVector::at() at startup. 140 141 - gui: Fixed assertion at #1125 in qwidget.cpp (due to an attempt to 142 re-instantiate QDesktopWidget during application termination). 143 144 - gui: Select the correct icon for the drive letter in standard file dialogs 145 depending on the drive type (floppy, hard disk etc) [patch by rudi]. 146 147 - gui: Fixed crash in PMMERGE during resize & move of the top level window 148 with the complex layout (caused by reading outside the bitmap data). 149 150 - gui: Fixed: Never add tooltip windows to the top-level window list and only 151 do so for splash windows if they have the Qt::WindowTitleHint flag set. 152 153 - 3rdparty: Added OS/2 support to clucene used by the help module for fulltext 154 search in help files [based on the patch by rudi]. 155 156 - configure.cmd: Fixed: QT_BUILD_KEY (and QLibraryInfo::buildKey()) would 157 always contain "release", even in debug builds, which caused debug builds to 158 load the release plugins and refuse the debug ones. 159 160 - qmake/os2-g++: Use -Wl, to pass the object list response file to the 161 linker as is instead of the expanded list of objects (this overcomes the 162 64KB limitation of the total process command line length in OS/2). 163 6 164 7 165 4.5.1 GA (05-02-2010) … … 198 356 - corelib: Fixed unnecessary access to removable drives and a long delay and 199 357 noice caused by it when showing a file open dialog in Qt applications. 358 200 359 201 360 Beta 4 (11-11-2009) … … 271 430 interfaces and going to/from fullscreen, and similar). 272 431 432 273 433 Beta 3 (17-10-2009) 274 434 … … 313 473 - corelib: QSettings could sometimes distort data when saving it to the 314 474 registry (by replacing some characters with codes 0x80 and above with '?'). 475 315 476 316 477 Beta 2 (17-09-2009) … … 368 529 applications such as textedit from the demo folder). 369 530 531 370 532 Beta 1 (29-08-2009) 371 533 -
trunk/README.OS2
r624 r740 1 This is Qt version 4. 5.1 GAfor OS/2 and eCS.1 This is Qt version 4.6.2 for OS/2 and eCS. 2 2 3 3 This document contains a brief information on the OS/2 version of the Qt … … 12 12 please see the CHANGES.OS2 file included in this distribution. 13 13 14 Please note that this version is binary incompatible with previous versions of 15 Qt 4 for OS/2! This is not a behavior of the original Qt library (where versions 16 with the same major number are usually binary compatible), but it is due to the 17 fact that we continue to add missing features to the OS/2 version ot Qt and this 18 cannot be done witout breaking the binary compatibility. On practice, this means 19 that you need to recompile your applications with the new version of the Qt 20 library in order to make them work with it. 21 14 22 15 23 … … 21 29 - One of the OS/2 Warp 4, OS/2 Warp 4.5 or eComStation operating systems. 22 30 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 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 There is also a set of optional tools which are necessary to enable the selected 51 features of the Qt library. If these tools are missing, the Qt configuration 52 script (discussed in section "COMPILING QT" below) will automatically disable 53 the corresponding feature: 54 55 - LxLite 1.3.3 or above (not tested) to enable the compression of Qt DLLs and 56 application executables (which saves hard disk space and application startup 57 time). If you use a recent version of eComStation (e.g. 2.0 rc6) you will 58 already have LxLite installed. Otherwise, you may take it from here: 59 60 http://www.os2site.com/sw/util/archiver/lxlt133.zip 48 61 49 62 - eCUPS 1.3.11 or later to support printing in Qt. The eCUPS WPI is available 50 at:63 from: 51 64 52 65 ftp://ftp.netlabs.org/incoming/eCUPS003.wpi or … … 57 70 http://web.os2power.com/download/lib/pthread-20100217-os2.zip 58 71 59 - LxLite 1.3.3 or above (not tested) if you want Qt DLLs and application60 executables to be compressed (to save hard disk space and load time). If61 you have a recent eComStation installation (e.g. 2.0 rc6) you will already62 have LxLite installed. Otherwise, you may take it from here:63 64 http://www.os2site.com/sw/util/archiver/lxlt133.zip65 66 72 67 73 68 74 SETTING UP THE ENVIRONMENT 69 75 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. 76 First of all, make sure that your GCC environment is set up and meets the 77 specified requirements. To perform a quick check, you may run the following 78 command: 79 80 gcc --version && make --version && wl /version 81 82 If the setup is done properly, it will print the versions of the key tools 83 to the console. 84 85 The next step is to set up the Qt environment. If you installed the Qt 86 development libraries from the WPI archive (refer to section "USING OFFICIAL 87 BINARY QT ARCHIVES" below for more details about existing WPI archives), you 88 will only need to run the supplied "QtEnv.cmd" script which will do all the 89 setup job for you. The script is located in the directory where you installed 90 the developmnent libraries (or in the WPS folder created by the WPI installer). 91 If you use this script, you may skip the rest of this section and proceed to the 92 next one. 93 94 If you use the full source code ZIP distribution of the Qt library or work 95 directly with the Qt SVN tree, you will need to set up the environment yourself 96 by performing the following steps: 97 98 - Add the "bin" subdirectory of the directory where you unpacked the Qt4 99 source tree to PATH and BEGINLIBPATH, like this: 100 101 set PATH=D:\Coding\Qt4\bin;%PATH% 102 set BEGINLIBPATH=D:\Coding\Qt4\bin;%BEGINLIBPATH% 103 104 - Add the system DLLs to the GCC library path with the following command: 105 106 set LIBRARY_PATH=C:\OS2\DLL;C:\MPTN\DLL;%LIBRARY_PATH% 107 108 where C: is your boot drive. 83 109 84 110 - Make sure CMD.EXE is your command line processor (the generated makefiles 85 111 will rely on its 'copy', 'if' and other commands). If you have a Unix shell 86 112 (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. 113 by executing the followingn command: 114 115 set MAKESHELL=C:\OS2\CMD.EXE 116 117 where C: is your boot drive. 118 119 Note that the QTDIR environment variable used in previous Qt versions is not 120 used in Qt4 anymore. Therefore, there is no need to set this variable 121 explicitly. 122 122 123 123 There is also no need to set the QMAKESPEC variable explicitly. If it is absent, … … 126 126 one supported at the present time. 127 127 128 NOTE: 129 130 It is especially important to make sure that there are no traces of any 131 other Watcom or OpenWatcom installation in the environment where you build 132 Qt as it will interfere with the patched OpenWatcom linker we use. This 133 basically means removing all environment variables containing "WATCOM" in 134 their names and also removing references to all those Watcom installations 135 from PATH. 136 137 138 139 SETTING UP OPTIONAL TOOLS 140 141 The following list describes the steps necessary to set up the optional tools 142 that the Qt library depends on: 143 144 - Install the eCUPS WPI archive to enable printing support. If this WPI is 145 installed, the Qt build system will pick up all necessary libraries 146 automatically. Otherwise (e.g. if you use a ZIP or build eCUPS yourself), 147 you will need to use the following environment variables to tell it where to 148 look for CUPS: 149 150 set CUPS_INCLUDEPATH=X:\Path\to\CUPS\include 151 set CUPS_LIBS=X:\Path\to\CUPS\lib\libcups.a 152 153 You will also need to make sure that pthread.lib is placed somewhere in your 154 system library path so that the compiler can find it. 155 128 156 129 157 130 158 COMPILING QT 131 159 132 You should skip this section if you downloaded and installed a binary133 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.160 You should skip this section if you installed the Qt development libraries using 161 the WPI archive (that already contains compiled release versions of the 162 libraries) and proceed directly to the next section. 135 163 136 164 When the environment is set up, go to the directory where you unpacked the … … 139 167 configure.cmd 140 168 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. 169 This will set up the Qt library (by creating necessary configuration and include 170 files and a bunch of Makefiles for variuos components) and build the qmake tool. 144 171 145 172 The next step is to type: … … 147 174 make 148 175 149 This will compile and link the library. Note that by default both the release176 This will compile and link the Qt library. Note that by default both the release 150 177 and the debug version of the library are built (please be patient, it may take 151 178 quite some time depending on your hardware). The release and debug libraries can … … 154 181 separate directories for object files. 155 182 156 To save time, you may also build the release and the debug versions of the157 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 source162 tree and typing 'qmake' followed by one of 'make', 'make release' or 163 'make debug'in that subdirectory.183 To save time, you may build the release and the debug versions of the Qt library 184 separately by typing 'make release' or 'make debug' accordingly instead of just 185 'make'. 186 187 Once the library is successfully built, you may try to compile the demos and 188 examples by visiting the individual example subdirectories in the source tree 189 and typing 'qmake' followed by one of 'make', 'make release' or 'make debug' 190 in that subdirectory. 164 191 165 192 NOTE: … … 199 226 change to Qt configuration options may make your build binary incompatible 200 227 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 memory203 which will double resource usage; having three different builds will204 tripple it and so on -- what a vaste of system resources!228 DLLs (using LIBPATHSTRICT and BEGINLIBPATH) it will create another major 229 problem: two different Qt applications will load two different copies of Qt 230 into memory which will create an unnecessary overhead by doubling the 231 amount of used system resources. 205 232 206 233 In order to nicely solve this problem, netlabs.org provides the official 207 binary builds of the Qt library distributed as WPI packages which are234 binary builds of the Qt library distributed as WPI archives which are 208 235 described in the next section. 209 236 210 237 211 238 212 USING OFFICIAL BINARY QT PACKAGES239 USING OFFICIAL BINARY QT ARCHIVES 213 240 214 241 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 242 of the Qt library (where X_Y_Z is the Qt version number) distributed as WPI 243 archives: 244 245 qt-lib-X_Y_Z.wpi - Runtime DLLs and binaries ("lib" archive) 246 qt-dev-X_Y_Z.wpi - Development libraries, tools and headers ("dev" archive) 247 248 These archives are called the official binary archives of the Qt library for 249 OS/2. An official binary archive contains the most complete Qt build that 250 enables all features of the Qt library and includes all standard Qt plugins 251 implemented for the OS/2 platform at the time of the release. 252 253 The "lib" archive contains the release versions of DLLs (and may contain a few 226 254 helper binaries) necessary to run applications created using the Qt framework. 227 This package is usually installed by end users together with theQt applications255 This package is usually installed by end users together with Qt applications 228 256 they want to use. 229 257 230 The "dev" package contains pre-built release versions of import libraries and258 The "dev" archive contains pre-built release versions of import libraries and 231 259 a complete set of C++ include headers of the Qt framework. This package is used 232 260 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 261 applications that are binary compatibie with the Qt runtime provided by the 262 official "lib" archive described above. Using the "dev" package requires the 263 same environment as described in section "SETTING UP THE ENVIRONMET" above. 264 265 Please note again that the "dev" archive is intended to make a final release 266 build of the Qt application which you do when you decide to ship a new version 267 to the end users -- makes sure that the deployed application will share the same 268 Qt runtime with other Qt applications. However, for daily work it is highly 269 recommended that you build the debug version of the Qt library yourself (using 270 the full source code ZIP archive or directly from SVN) as described in section 271 "COMPILING QT"). 272 273 Besides the "lib" and the "dev" archives, the following official archives exist 252 274 that you may also find useful: 253 275 254 276 qt-examples-X_Y_Z.wpi - Demo and example sources ("examples") 255 277 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. 278 The "examples" archive contains the source code and compiled binaries of the 279 demo and example applications shipped with Qt. They serve as a good 280 demonstration of the Qt library features and it is recommended to look at them. 281 The binaries are compiled using the official "lib" archive. Please note that 282 some demos and examples may miss from the arcvhice since not all features have 283 been implemented in the OS/2 version of Qt yet. 263 284 264 285 NOTE: … … 269 290 contains or to "anonymous" if USER is not set). Please note that you must 270 291 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 various272 distributionsand track possible problems with the builds.292 library because it will make it difficult to identify various distributions 293 and track possible problems with the builds. 273 294 274 295 … … 276 297 QMAKE CONFIG OPTIONS 277 298 278 The following CONFIG options of the qmake utility have a special meaning in 279 OS/2: 299 The following CONFIG options of the qmake tool have a special meaning in OS/2: 280 300 281 301 windows Turns on generation of PM (WINDOWAPI) executables. By … … 307 327 votes against it. 308 328 329 export_all Cause the linker to export all public symbols in a generated 330 DLL. By default (when this option is absent), only the 331 symbols marked with the __declspec(dllexport) compiler 332 directive in the source files. 333 334 335 336 PRINTING SUPPORT 337 338 Starting with version 4.6.2, Qt for OS/2 supports printing through the CUPS 339 framework (provided that this support is enabled when building Qt, see the 340 respective sections in the beginning of this document). The OS/2 implementation 341 of the CUPS framework is provided by the eCUPS package available at 342 http://svn.netlabs.org/ecups/. 343 344 The Qt Runtime detects the presence of eCUPS in the system on the fly and talks 345 to the CUPS daemon directly, bypassing the standard OS/2 printing subsystem. 346 This means that in order to print from Qt applications, you don't need to create 347 and configure printer objects using the standard OS/2 system printer setup 348 procedure -- you only need to install eCUPS and configure your printers in 349 there. Please refer to the eCUPS user manual to obtain the detailed instructions 350 on how to configure CUPS printers. 351 309 352 310 353 … … 314 357 affect its functionality at runtime. The table below lists these variables and 315 358 their meaning: 359 360 QT_PM_NO_DIVE If set, Qt will not use DIVE (direct interface video 361 extensions) for painting widgets even if DIVE (which 362 provides a much faster painting speed than the 363 regular GPI approach) is available. Currently, this 364 is the default setting if the Panorama video driver 365 is detected because its DIVE implementation contains 366 a number of bugs. 367 368 QT_PM_DIVE=<mode> Enables using DIVE for painting widgets. <mode> is 369 one of: 370 371 - FB (direct framebuffer access, which is the 372 fastest mode but causes the curruption of the 373 screen under the software mouse pointer due to 374 the limitation of DIVE). If this mode is not 375 available, BLIT will be used (see below). 376 377 - FBSWM (the same FB but hides the mouse pointer 378 before painting which introduces mouse flicker 379 and may be a bit slower than the raw FB). 380 381 - BLIT (slower than both FB and FBSWM but prevents 382 screen corruption under the mouse pointer and 383 does not produce a mouse pointer flicker 384 effect). 385 386 This variable is ignored if QT_PM_NO_DIVE is set. If 387 neither this nor the QT_PM_NO_DIVE variable is set, 388 the FBSWM mode is used by default (unless the 389 current video driver is Panorama, see above). 316 390 317 391 QT_PM_NO_SOUND_SHARE If set, Qt will open the audio device in exclusive … … 368 442 369 443 370 PRINTING SUPPORT 371 372 Starting with version 4.6.1, Qt for OS/2 supports printing through the CUPS 373 framework (provided that this support is enabled when building Qt, see the 374 respective sections in the beginning of this document). The OS/2 implementation 375 of the CUPS framework is provided by the eCUPS package available at 376 http://svn.netlabs.org/ecups/. 377 378 The Qt Runtime detects the presence of eCUPS in the system on the fly and talks 379 to the CUPS daemon directly, bypassing the standard OS/2 printing subsystem. 380 This means that in order to print from Qt applications, you don't need to create 381 and configure printer objects using the standard OS/2 system printer setup 382 procedure -- you only need to install eCUPS and configure your printers in 383 there. Please refer to the eCUPS user manual to obtain the detailed instructions 384 on how to configure CUPS printers. 444 COMMAND LINE OPTIONS 445 446 Any Qt executable recognizes a number of command line options that may change 447 the behavior of the Qt application. Here are the most interesting ones: 448 449 -style <name> Changes the default Qt widget style (theme) to a 450 style with the given name. The buiil-in styles which 451 are always available in the official build include: 452 "windows" (currently, the default on OS/2), "motif", 453 "cde", "plastique" and "cleanlooks". Other styles 454 may be also provided by the style plugins. 455 456 -graphicssystem <name> Changes the graphics system used to paint widgets. 457 On OS/2, only two values are supported: "native" 458 (the default one) and "raster". The "native" system 459 uses DIVE (direct interface video extensions) when 460 it is available. If DIVE is not available or if it 461 is disabled (see the QT_PM_NO_DIVE environment 462 variable description for details), the "raster" 463 system will be automatically selected as a fallback. 385 464 386 465 … … 388 467 CURRENT LIMITATIONS 389 468 390 1. configure.cmd is not yet capable of generating individual Makefiles for 391 demos and examples, it only generates the main Makefile that builds the 392 library and the necessary tools. Demos and examples can be compiled by 393 hand (as described above). 394 395 2. configure.cmd does not understand any command line options. If you want 396 to customize the build of the Qt library (which is not recommended), you 397 may try to modify configure.cmd itself. 398 399 3. OS/2 bitmap fonts are not yet supported. Use TTF or Type1 (PFB) fonts with 400 Qt. 401 402 4. No qt3support module. This functionality is rarely necessary in mature 403 real life applications and has low priority. 404 405 5. No native PM style, but Qt will use fonts and colors from the current 469 1. configure.cmd is does not build demos and examples by default (to save 470 time). They may be built by hand, as described above. 471 472 2. configure.cmd does not understand any command line options yet. If you want 473 to customize your build of the Qt library (which is normally not 474 recommended and not supported), you may try to modify configure.cmd itself. 475 476 3. OS/2 bitmap fonts are not supported. Use TTF or Type1 (PFB) fonts with Qt. 477 478 4. No native PM style, but Qt will use fonts and colors from the current 406 479 OS/2 theme. Hint: if your default OS/2 font is "WarpSans", install the 407 480 "Workplace Sans" TTF font from Alex Taylor to get more native look & feel. 408 It is recommended to install version 0. 6 of the Normal face and version 0.2481 It is recommended to install version 0.7 of the Normal face and version 0.3 409 482 of the Bold face which you can find here: 410 483 411 484 http://users.socis.ca/~ataylo00/creative/fonts/workplace/ 412 485 413 6. QProcess: when starting PM applications from text-mode applications, the486 5. QProcess: when starting PM applications from text-mode applications, the 414 487 returned PID is a PID of the intermediate cmd.exe process, not the target 415 488 application. 416 489 417 7. The followignclasses are not available due to their rare usage or low490 6. The following classes are not available due to their rare usage or low 418 491 importance on the OS/2 platform: QSharedMemory, QSystemSemaphore, 419 QInputContext, QAccessible. The following macros are defined to indicate 420 this: QT_NO_SYSTEMSEMAPHORE, QT_NO_SHAREDMEMORY, 421 QT_NO_IM, QT_NO_ACCESSIBILITY. Applications normally use them to guard the 422 relevant parts of code so they should still build. 423 424 8. No QAssistant. No IPV6 support in the network module (QT_NO_IPV6 is 425 defined). 492 QInputContext. On the source level, a number of macros is defined to 493 reflect this, respectively: QT_NO_SYSTEMSEMAPHORE, QT_NO_SHAREDMEMORY, 494 QT_NO_IM. Normally, Qt applications use these macros in the form of 495 "#fndef QT_NO_SOMEFEATURE" to isolate the relevant parts of the code that 496 uses these classes so that the application still builds when the 497 corresponding feature is missing. 498 499 7. No qt3support module. This functionality is rarely necessary in mature 500 real life Qt applications and has low priority. In the code, it is 501 reflected by the absense of the QT3_SUPPORT macro. 502 503 8. The following features are missing (either because of the lack of the 504 required support from the system side or because of the rare usage): 505 506 - IPV6 support in the network module (QT_NO_IPV6 is defined). 507 - OpenSSL support in the network module (QT_NO_OPENSSL is defined). 508 - phonon module (QT_NO_PHONON is defined). 509 - multimedia module (QT_NO_MULTIMEDIA is defined). 510 - OpenGL module (QT_NO_OPENGL is defined). 511 - declarative module (QT_NO_DECLARATIVE is defined). 512 - tablet support (QT_NO_TABLET is defined). 426 513 427 514 See the project roadmap for more information on the current progress and
Note:
See TracChangeset
for help on using the changeset viewer.