From 2b3a9ece3e390b2a76e64c65bf4b719b44425dce Mon Sep 17 00:00:00 2001 From: Michael Pyne Date: Wed, 7 Sep 2011 21:06:51 -0400 Subject: [PATCH] doc: Document descendent selectors and phonon --- doc/index.docbook | 47 +++++++++++++++++++++++++++++++++-------------- 1 file changed, 33 insertions(+), 14 deletions(-) diff --git a/doc/index.docbook b/doc/index.docbook index f05c071..fd497e9 100644 --- a/doc/index.docbook +++ b/doc/index.docbook @@ -638,36 +638,55 @@ module-set media-support kde-projects # This option chooses what modules to look for in the database. - phonon phonon-gstreamer phonon-vlc + phonon/phonon phonon-gstreamer phonon-vlc end module-set +phonon/phonon is used since (with the current +project database) &kdesrc-build; would otherwise have to decide between the +group of projects called phonon or the individual project named +phonon. Currently &kdesrc-build; would pick the former, which +would build many more backends than needed. + The following example is perhaps more realistic, and shows a feature only -available with the &kde; module database: Building all of the &kde; Extragear -with only a single declaration (32 individual applications/libraries as of this -writing). - -Some things to keep in mind: This represents a significant -amount of disk space and build time, not to mention network traffic. You -probably don't actually want to build the entire Extragear suite at once. -In addition, at this point &kdesrc-build; builds modules in the order they are -given in the database, but this is not necessarily the proper order after all -inter-module dependencies are accounted for, which may cause build failures. - +available with the &kde; module database: Building all of the &kde; graphics +applications with only a single declaration. -module-set never-try-this +module-set kdegraphics # This option must be kde-projects to use the module database. kde-projects # This option chooses what modules to look for in the database. - extragear + kdegraphics/libs kdegraphics/* end module-set +There are two important abilities demonstrated here: + + + +&kdesrc-build; allows you to specify modules that are +descendents of a given module, without building the parent module, by using the +syntax module-name/*. It is +actually required in this case since the base module, kdegraphics, is marked as +inactive so that it is not accidentally built along with its children modules. +Specifying the descendent modules allows &kdesrc-build; to skip around the +disabled module. + + +&kdesrc-build; will also not add a given module to the build +list more than once. This allows us to manually set +kdegraphics/libs to build first, before the rest of +kdegraphics, without trying to build +kdegraphics/libs twice. This is required at this point +because &kdesrc-build; will not perform dependency handling. + + +