source: trunk/doc/src/emb-features.qdoc@ 109

Last change on this file since 109 was 2, checked in by Dmitry A. Kuminov, 16 years ago

Initially imported qt-all-opensource-src-4.5.1 from Trolltech.

File size: 6.0 KB
Line 
1/****************************************************************************
2**
3** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
4** Contact: Qt Software Information ([email protected])
5**
6** This file is part of the documentation of the Qt Toolkit.
7**
8** $QT_BEGIN_LICENSE:LGPL$
9** Commercial Usage
10** Licensees holding valid Qt Commercial licenses may use this file in
11** accordance with the Qt Commercial License Agreement provided with the
12** Software or, alternatively, in accordance with the terms contained in
13** a written agreement between you and Nokia.
14**
15** GNU Lesser General Public License Usage
16** Alternatively, this file may be used under the terms of the GNU Lesser
17** General Public License version 2.1 as published by the Free Software
18** Foundation and appearing in the file LICENSE.LGPL included in the
19** packaging of this file. Please review the following information to
20** ensure the GNU Lesser General Public License version 2.1 requirements
21** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
22**
23** In addition, as a special exception, Nokia gives you certain
24** additional rights. These rights are described in the Nokia Qt LGPL
25** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
26** package.
27**
28** GNU General Public License Usage
29** Alternatively, this file may be used under the terms of the GNU
30** General Public License version 3.0 as published by the Free Software
31** Foundation and appearing in the file LICENSE.GPL included in the
32** packaging of this file. Please review the following information to
33** ensure the GNU General Public License version 3.0 requirements will be
34** met: http://www.gnu.org/copyleft/gpl.html.
35**
36** If you are unsure which license is appropriate for your use, please
37** contact the sales department at [email protected].
38** $QT_END_LICENSE$
39**
40****************************************************************************/
41
42/*!
43 \page fine-tuning-features.html
44 \title Fine-Tuning Features in Qt
45 \ingroup qtce
46 \ingroup qt-embedded-linux
47 \brief Describes how to reduce the size of Qt libraries by selecting only
48 the features that are needed.
49
50 In many cases, only a fixed set of applications are deployed on an
51 embedded device, making it possible to save resources by minimizing
52 the size of the associated libraries. The Qt installation can easily
53 be optimized by avoiding to compile in the features that are not
54 required.
55
56 \tableofcontents
57
58 A wide range of features are defined, covering classes and technologies
59 provided by several of Qt's modules.
60 You can look up the different feature definitions in the
61 \c{src/corelib/global/qfeatures.txt} file within the Qt source
62 distribution.
63
64 \section1 Simple Customization
65
66 \section2 Embedded Linux
67
68 To disable a particular feature, just run the \c configure script
69 for Qt for Embedded Linux with the \c -no-feature-<feature> option.
70 For example:
71
72 \snippet doc/src/snippets/code/doc_src_emb-features.qdoc 1
73
74 The feature can easily be enabled again by running \c configure
75 with the \c -feature-<feature> option.
76
77 See also \l{Qt Performance Tuning}.
78
79 \section2 Windows CE
80
81 To disable a particular feature, just run the \c configure script
82 with the set of required \c -D<feature> options. For example,
83 you can use the \c -D option to define \c{QT_NO_THREAD}:
84
85 \snippet doc/src/snippets/code/doc_src_emb-features.qdoc 0
86
87 The \c -D option only creates a Qt internal define. If you get linker
88 errors you have to define \c QT_NO_THREAD also for your project.
89 You can do this by adding \c DEFINES += \c QT_NO_THREAD to your
90 \c .pro file.
91
92 See also \l{Qt Performance Tuning}.
93
94 \section1 Managing Large Numbers of Features
95
96 If you want to disable a lot of features, it is more comfortable
97 to use the \c qconfig tool.
98 You can disable a \e set of features by creating a custom
99 configuration file that defines the preferred subset of Qt's
100 functionality. Such a file uses macros to disable the unwanted
101 features, and can be created manually or by using the \c qconfig
102 tool located in the \c{tools/qconfig} directory of the Qt source
103 distribution.
104
105 \note The \c qconfig tool is intended to be built against Qt on
106 desktop platforms.
107
108 \bold{Windows CE:} The Qt for Windows CE package contains a \c qconfig
109 executable that you can run on a Windows desktop to configure the build.
110
111 \image qt-embedded-qconfigtool.png
112
113 The \c qconfig tool's interface displays all of Qt's
114 functionality, and allows the user to both disable and enable
115 features. The user can open and edit any custom configuration file
116 located in the \c{src/corelib/global} directory. When creating a
117 custom configuration file manually, a description of the currently
118 available Qt features can be found in the
119 \c{src/corelib/global/qfeatures.txt} file.
120
121 Note that some features depend on others; disabling any feature
122 will automatically disable all features depending on it. The
123 feature dependencies can be explored using the \c qconfig tool,
124 but they are also described in the \c{src/corelib/global/qfeatures.h}
125 file.
126
127 To be able to apply the custom configuration, it must be saved in
128 a file called \c qconfig-myfile.h in the \c{src/corelib/global}
129 directory. Then use the \c configure tool's \c -qconfig option
130 and pass the configuration's file name without the \c qconfig-
131 prefix and \c .h extension, as argument.
132 The following examples show how this is invoked on each of the
133 embedded platforms for a file called \c{qconfig-myfile.h}:
134
135 \bold{Embedded Linux:}
136
137 \snippet doc/src/snippets/code/doc_src_emb-features.qdoc 3
138
139 \bold{Windows CE:}
140
141 \snippet doc/src/snippets/code/doc_src_emb-features.qdoc 2
142
143 Qt provides several ready-made custom configuration files,
144 defining minimal, small, medium and large installations,
145 respectively. These files are located in the
146 \c{/src/corelib/global} directory in the Qt source distribution.
147*/
Note: See TracBrowser for help on using the repository browser.