--- App-Staticperl/staticperl.pod 2010/12/10 02:35:54 1.18 +++ App-Staticperl/staticperl.pod 2010/12/10 15:25:24 1.19 @@ -288,6 +288,43 @@ order given on the command line (that affects the C<--use> and C<--eval> options at the moment). +=head3 PACKAGE SELECTION WORKFLOW + +F has a number of options to control package +selection. This section describes how they interact with each other. Also, +since I am still a newbie w.r.t. these issues, maybe future versions of +F will change this, so watch out :) + +The idiom "in order" means "in order that they are specified on the +commandline". If you use a bundle specification file, then the options +will be processed as if they were given in place of the bundle file name. + +=over 4 + +=item 1. apply all C<--use>, C<--eval>, C<--add>, C<--addbin> and +C<--incglob> options, in order. + +In addition, C<--use> and C<--eval> dependencies will be added when the +options are processed. + +=item 2. apply all C<--include> and C<--exclude> options, in order. + +All this step does is potentially reduce the number of files already +selected or found in phase 1. + +=item 3. find all modules (== F<.pm> files), gather their static archives +(F<.a>) and AutoLoader splitfiles (F<.ix> and F<.al> files) and find any +extra libraries they need for linking (F). + +This step is required to link against XS extensions and also adds files +required for L to do it's job. + +=back + +After this, all the files selected for bundling will be read and processed +(stripped), the bundle files will be written, and optionally a new F +or application binary will be linked. + =head3 MKBUNDLE OPTIONS =over 4