Home · All Namespaces · All Classes · Grouped Classes · Modules · Functions |
[Previous: Module concept] [Qt Extended Modules] [Next: Reference designs]
This section describes how the various modules are selected/build into Qt Extended. Depending on the module there are different ways of enabling a specific module.
Previous versions of configure provided options which enabled a similar style of feature/module selection. To unify the selection mechanism a new -modules flag has been created. It expects a list of modules to be enabled. The only module that doesn't have to be enabled is the Base module as it is provides requirement for all other modules. Therefore it is automatically included.
The subsequent table shows the mapping of all old configure switches which directly map to a designated module:
enabled module | related configure switch | related build system flag |
---|---|---|
Bluetooth | -bluetooth | enable_bluetooth |
Infrared | -infrared | enable_infrared |
Telephony | -telephony | enable_telephony |
Cell | -modem (implies -telephony switch) | enable_cell |
IPComms | -voip (implies -telephony switch) | enable_voip |
Drm | -drm | drmagent |
Media | -qtopiamedia | enable_qtopiamedia |
Location | -whereabouts | enable_qtopiawhereabouts |
QtUiTest | -test | qtuitest |
To further increase the flexibility the Qt Extended configure script behaves slightly more restrictive when compared to previous versions. Usually Qt Extended enables additional features/modules based on tests performed when configure runs. If for instance Bluez & DBUS support is detected Bluetooth support is automatically enabled unless it was explicitly disabled via the -no-bluetooth flag. Starting with Qt Extended 4.4 configure only enables additional features/modules if they are explicitly enabled via their respective command line option.
The -modules configure options unifies the various options and allows the selection of modules.
./configure -modules cell,location,pim,messaging -device xyz
The above command line enables the QtCellModule, QtLocationModule, QtPimModule, QtMessagingModule and the QtBaseModule module. The Base module is always required and is implicitly selected.
Each module has a definition file which lists the projects belonging to it. The definition files use the following name schema $QPEDIR/src/module_<module-name>.pri and the appropriate configure flag has to be passed to enable it. Once the module is included each project listed in the definition file becomes part of the build.
In some cases a module may still contain some projects not required for a particular target build. Therefore selected projects can be further excluded from the build via the device profile's projects.pri. Project selection happens after module selection. The example below adds the contact application and removes the calculator from the build.
PROJECTS+=src/applications/addressbook PROJECTS-=src/applciations/calculator
Note that when directly adding new projects dependencies may require further project adjustments in order to resolve build problems. It may for instance be necessary to add the pim library the above project selection as the addressbook depends on it (this is subject the modules selected prior to the project selection).
[Previous: Module concept] [Qt Extended Modules] [Next: Reference designs]
Copyright © 2009 Nokia | Trademarks | Qt Extended 4.4.3 |