--- App-Staticperl/staticperl.pod 2010/12/21 19:44:43 1.28 +++ App-Staticperl/staticperl.pod 2010/12/23 14:16:25 1.31 @@ -559,7 +559,7 @@ =over 4 -=item C<--usepacklist> +=item C<--usepacklists> Read F<.packlist> files for each distribution that happens to match a module name you specified. Sounds weird, and it is, so expect semantics to @@ -734,7 +734,7 @@ That is, F will match any file called F anywhere in the hierarchy, but not any directories of the same name. -=item A F<*> matches any single component. +=item A F<*> matches anything within a single path component. That is, F would match all F<.pl> files directly inside C, not any deeper level F<.pl> files. Or in other words, F<*> @@ -1035,7 +1035,7 @@ =back -=head1 FULLY STATIC BINARIES - BUILDROOT +=head1 FULLY STATIC BINARIES - UCLIBC AND BUILDROOT To make truly static (Linux-) libraries, you might want to have a look at buildroot (L). @@ -1117,7 +1117,7 @@ To simply include the whole unicode database, use: - --incglob '/unicore/*.pl' + --incglob '/unicore/**.pl' =item AnyEvent @@ -1132,7 +1132,7 @@ functions), you also need to include C<"AnyEvent/Util/idna.pl"> and C<"AnyEvent/Util/uts46data.pl">. -Or you can use C<--usepacklist> and specify C<-MAnyEvent> to include +Or you can use C<--usepacklists> and specify C<-MAnyEvent> to include everything. =item Carp @@ -1148,14 +1148,14 @@ =item Term::ReadLine::Perl -Also needs L, or C<--usepacklist>. +Also needs L, or C<--usepacklists>. =item URI URI implements schemes as separate modules - the generic URL scheme is implemented in L, HTTP is implemented in L. If you need to use any of these schemes, you should include these manually, -or use C<--usepacklist>. +or use C<--usepacklists>. =back @@ -1163,14 +1163,22 @@ =over 4 -=item Linking everything in +=item Just link everything in To link just about everything installed in the perl library into a new -perl, try this: +perl, try this (the first time this runs it will take a long time, as a +lot of files need to be parsed): - staticperl mkperl --strip ppi --incglob '*' + staticperl mkperl -v --strip ppi --incglob '*' -=item Getting rid of netdb function +If you don't mind the extra megabytes, this can be a very effective way of +creating bundles without having to worry about forgetting any modules. + +You get even more useful variants of this method by first selecting +everything, and then excluding stuff you are reasonable sure not to need - +L uses this approach. + +=item Getting rid of netdb functions The perl core has lots of netdb functions (C, C and so on) that few applications use. You can avoid compiling them in by @@ -1197,7 +1205,7 @@ done } -This mostly gains space when linking staticaly, as the functions will +This mostly gains space when linking statically, as the functions will likely not be linked in. The gain for dynamically-linked binaries is smaller.