File: build_system.rst

package info (click to toggle)
python-qt4 4.11.4%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 40,148 kB
  • ctags: 6,150
  • sloc: python: 125,936; cpp: 12,628; xml: 292; makefile: 259; php: 27; sh: 2
file content (263 lines) | stat: -rw-r--r-- 8,253 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
.. _ref-build-system:

The PyQt4 Build System
======================

.. versionadded:: 4.10

SIP v5 will not include an extensible build system, i.e it will not provide an
equivalent of SIP v4's :mod:`sipconfig` module.  Consequently a version of PyQt
built with SIP v5 will not provide an equivalent of the
:mod:`~PyQt4.pyqtconfig` module.  However there is still a need for certain
information to be shared between PyQt and other modules (such as QScintilla's
:mod:`~PyQt4.Qsci` module) that are built on top of it.  Specifically it is
important that the same ``-t`` and ``-x`` command line flags are passed to the
``sip`` executable to create, for example, the QScintilla bindings as were
passed to create the PyQt bindings.

Starting with v4.10, :attr:`PyQt4.QtCore.PYQT_CONFIGURATION` is a dict that
describes how PyQt was configured.  At the moment it contains a single value
called ``sip_flags`` which is a string containing the appropriate ``-t`` and
``-x`` flags.


The Old Build System
--------------------

.. deprecated:: 4.10

The old PyQt4 build system is an extension of the SIP v4 build system and is
implemented by the :mod:`~PyQt4.pyqtconfig` module.  It can be used by
configuration scripts of other bindings that build on top of PyQt4 and takes
care of the details of the Qt installation.

Note that the :mod:`~PyQt4.pyqtconfig` module is only created if you use
:program:`configure.py` and not if you use :program:`configure-ng.py`.

.. module:: PyQt4.pyqtconfig

.. class:: Configuration(sub_cfg=None)

    This class encapsulates configuration values that can be accessed as
    instance objects.  It is derived from :class:`sipconfig.Configuration`.

    :param sub_cfg:
        an optional list of sub-class configurations.  It should only be used
        by the ``__init__()`` method of a sub-class to append its own
        dictionary of configuration values before passing the list to its
        super-class.

    .. attribute:: pyqt_bin_dir

        The name of the directory where the PyQt4 utilities are installed.

    .. attribute:: pyqt_config_args

        The command line passed to :program:`configure.py` when PyQt4 was
        configured.

    .. attribute:: pyqt_mod_dir

        The name of the directory where the :mod:`PyQt4` Python package is
        installed.

    .. attribute:: pyqt_modules

        A space separated string of installed PyQt4 modules.  The :mod:`Qt`
        module is not included.

    .. attribute:: pyqt_sip_dir

        The name of the base directory where PyQt4's ``.sip`` files are
        installed.  Each module's ``.sip`` files are installed in a
        sub-directory with the same name as the module.

    .. attribute:: pyqt_sip_flags

        A space separated string of the :program:`sip` command line options
        used to build the PyQt4 modules.  These should also be used when
        building bindings that ``%Import`` any PyQt4 modules.

    .. attribute:: pyqt_version

        The PyQt4 version as a 3 part hexadecimal number (e.g. v4.0.1 is
        represented as ``0x040001``).

    .. attribute:: pyqt_version_str

        The PyQt4 version as a string.  For development previews it will start
        with ``preview-`` or ``snapshot-``.

    .. attribute:: qt_data_dir

        The value of ``QLibraryInfo::location(DataPath)`` for the Qt
        installation.

    .. attribute:: qt_archdata_dir

        When building against Qt v5 this is the value of
        ``QLibraryInfo::location(ArchDataPath)``.  When building against Qt v4
        it is the value of ``QLibraryInfo::location(DataPath)``.

    .. attribute:: qt_dir

        The root directory of the Qt installation (normally the directory that
        contains the :file:`bin` directory).

    .. attribute:: qt_edition

        The Qt edition.

    .. attribute:: qt_framework

        Set if Qt is built as a MacOS/X framework.

    .. attribute:: qt_inc_dir

        The value of ``QLibraryInfo::location(HeadersPath)`` for the Qt
        installation.

    .. attribute:: qt_lib_dir

        The value of ``QLibraryInfo::location(LibrariesPath)`` for the Qt
        installation.

    .. attribute:: qt_threaded

        Set if Qt is built with thread support (always set for PyQt4).

    .. attribute:: qt_version

        The Qt version as a 3 part hexadecimal number (e.g. v4.1.2 is
        represented as ``0x040102``).

    .. attribute:: qt_winconfig

        Additional Windows specific configuration.


.. class:: QtAssistantModuleMakefile

    This class encapsulates a Makefile to build a SIP generated Python
    extension module that is built on the PyQt4 :mod:`~PyQt4.QtAssistant`
    module.


.. class:: QAxContainerModuleMakefile

    This class encapsulates a Makefile to build a SIP generated Python
    extension module that is built on the PyQt4 :mod:`~PyQt4.QAxContainer`
    module.


.. class:: QtCoreModuleMakefile

    This class encapsulates a Makefile to build a SIP generated Python
    extension module that is built on the PyQt4 :mod:`~PyQt4.QtCore` module.


.. class:: QtDBusModuleMakefile

    This class encapsulates a Makefile to build a SIP generated Python
    extension module that is built on the PyQt4 :mod:`~PyQt4.QtDBus` module.


.. class:: QtDeclarativeModuleMakefile

    This class encapsulates a Makefile to build a SIP generated Python
    extension module that is built on the PyQt4 :mod:`~PyQt4.QtDeclarative`
    module.


.. class:: QtDesignerModuleMakefile

    This class encapsulates a Makefile to build a SIP generated Python
    extension module that is built on the PyQt4 :mod:`~PyQt4.QtDesigner`
    module.


.. class:: QtGuiModuleMakefile

    This class encapsulates a Makefile to build a SIP generated Python
    extension module that is built on the PyQt4 :mod:`~PyQt4.QtGui` module.


.. class:: QtHelpModuleMakefile

    This class encapsulates a Makefile to build a SIP generated Python
    extension module that is built on the PyQt4 :mod:`~PyQt4.QtHelp` module.


.. class:: QtMultimediaModuleMakefile

    This class encapsulates a Makefile to build a SIP generated Python
    extension module that is built on the PyQt4 :mod:`~PyQt4.QtMultimedia`
    module.


.. class:: QtNetworkModuleMakefile

    This class encapsulates a Makefile to build a SIP generated Python
    extension module that is built on the PyQt4 :mod:`~PyQt4.QtNetwork` module.


.. class:: QtOpenGLModuleMakefile

    This class encapsulates a Makefile to build a SIP generated Python
    extension module that is built on the PyQt4 :mod:`~PyQt4.QtOpenGL` module.


.. class:: QtScriptModuleMakefile

    This class encapsulates a Makefile to build a SIP generated Python
    extension module that is built on the PyQt4 :mod:`~PyQt4.QtScript` module.


.. class:: QtScriptToolsModuleMakefile

    This class encapsulates a Makefile to build a SIP generated Python
    extension module that is built on the PyQt4 :mod:`~PyQt4.QtScriptTools`
    module.


.. class:: QtSqlModuleMakefile

    This class encapsulates a Makefile to build a SIP generated Python
    extension module that is built on the PyQt4 :mod:`~PyQt4.QtSql` module.


.. class:: QtSvgModuleMakefile

    This class encapsulates a Makefile to build a SIP generated Python
    extension module that is built on the PyQt4 :mod:`~PyQt4.QtSvg` module.


.. class:: QtTestModuleMakefile

    This class encapsulates a Makefile to build a SIP generated Python
    extension module that is built on the PyQt4 :mod:`~PyQt4.QtTest` module.


.. class:: QtWebKitModuleMakefile

    This class encapsulates a Makefile to build a SIP generated Python
    extension module that is built on the PyQt4 :mod:`~PyQt4.QtWebKit` module.


.. class:: QtXmlModuleMakefile

    This class encapsulates a Makefile to build a SIP generated Python
    extension module that is built on the PyQt4 :mod:`~PyQt4.QtXml` module.


.. class:: QtXmlPatternsModuleMakefile

    This class encapsulates a Makefile to build a SIP generated Python
    extension module that is built on the PyQt4 :mod:`~PyQt4.QtXmlPatterns`
    module.


.. class:: phononModuleMakefile

    This class encapsulates a Makefile to build a SIP generated Python
    extension module that is built on the PyQt4 :mod:`~PyQt4.phonon` module.