… | |
… | |
704 | Last not least, if you need accurate line numbers in error messages, |
704 | Last not least, if you need accurate line numbers in error messages, |
705 | or in the unlikely case where C<pod> is too slow, or some module gets |
705 | or in the unlikely case where C<pod> is too slow, or some module gets |
706 | mistreated, you can specify C<none> to not mangle included perl sources in |
706 | mistreated, you can specify C<none> to not mangle included perl sources in |
707 | any way. |
707 | any way. |
708 | |
708 | |
|
|
709 | =item C<--compress> C<none>|C<lzf> |
|
|
710 | |
|
|
711 | Compress each included library file with C<lzf> (default), or do not |
|
|
712 | compress (C<none>). LZF compression typically halves the size of the |
|
|
713 | included library data at almost no overhead, but is counterproductive if |
|
|
714 | you are using another compression solution such as C<UPX>, so it cna be |
|
|
715 | disabled. |
|
|
716 | |
709 | =item C<--perl> |
717 | =item C<--perl> |
710 | |
718 | |
711 | After writing out the bundle files, try to link a new perl interpreter. It |
719 | After writing out the bundle files, try to link a new perl interpreter. It |
712 | will be called F<perl> and will be left in the current working |
720 | will be called F<perl> and will be left in the current working |
713 | directory. The bundle files will be removed. |
721 | directory. The bundle files will be removed. |
… | |
… | |
800 | staticperl mkperl -MIO::AIO --staticlib crypt |
808 | staticperl mkperl -MIO::AIO --staticlib crypt |
801 | |
809 | |
802 | # ldopts might now contain: |
810 | # ldopts might now contain: |
803 | # -lm -Wl,-Bstatic -lcrypt -Wl,-Bdynamic -lpthread |
811 | # -lm -Wl,-Bstatic -lcrypt -Wl,-Bdynamic -lpthread |
804 | |
812 | |
|
|
813 | =item C<--extra-cflags> string |
|
|
814 | |
|
|
815 | Specifies extra compiler flags, used when compiling the bundle file. The |
|
|
816 | flags are appended to all the existing flags, so can be sued to override |
|
|
817 | settings. |
|
|
818 | |
|
|
819 | =item C<--extra-ldflags> string |
|
|
820 | |
|
|
821 | Specifies extra linker flags, used when linking the bundle. |
|
|
822 | |
|
|
823 | =item C<--extra-libs> string |
|
|
824 | |
|
|
825 | Extra linker flags, appended at the end when linking. The difference to |
|
|
826 | C<--extra-ldflags> is that the ldflags are appended to the flags, before |
|
|
827 | the objects and libraries, and the extra libs are added at the end. |
|
|
828 | |
805 | =back |
829 | =back |
806 | |
830 | |
807 | =back |
831 | =back |
808 | |
832 | |
809 | =head3 EXTENDED GLOB PATTERNS |
833 | =head3 EXTENDED GLOB PATTERNS |
… | |
… | |
913 | |
937 | |
914 | The perl version to install - C<5.12.5> is a good choice for small builds, |
938 | The perl version to install - C<5.12.5> is a good choice for small builds, |
915 | but C<5.8.9> is also a good choice (5.8.9 is much smaller than 5.12.5), if |
939 | but C<5.8.9> is also a good choice (5.8.9 is much smaller than 5.12.5), if |
916 | it builds on your system. |
940 | it builds on your system. |
917 | |
941 | |
918 | You can also set this variable to the full URL of a tarball (F<.tar>, |
942 | You can also set this variable to the absolute URL of a tarball (F<.tar>, |
919 | F<.tar.gz>, F<.tar.bz2>, F<.tar.lzma> or F<.tar.xz>). |
943 | F<.tar.gz>, F<.tar.bz2>, F<.tar.lzma> or F<.tar.xz>), or to the absolute |
|
|
944 | path of an unpacked perl source tree, which will be copied. |
920 | |
945 | |
921 | The default is currently |
946 | The default is currently |
922 | F<http://stableperl.schmorp.de/dist/latest.tar.gz>, i.e. the latest |
947 | F<http://stableperl.schmorp.de/dist/latest.tar.gz>, i.e. the latest |
923 | stableperl release. |
948 | stableperl release. |
924 | |
949 | |
… | |
… | |
1048 | Called after building, but before installing perl. Current working |
1073 | Called after building, but before installing perl. Current working |
1049 | directory is the perl source directory. |
1074 | directory is the perl source directory. |
1050 | |
1075 | |
1051 | I have no clue what this could be used for - tell me. |
1076 | I have no clue what this could be used for - tell me. |
1052 | |
1077 | |
|
|
1078 | =item postcpanconfig |
|
|
1079 | |
|
|
1080 | Called just after CPAN has been configured, but before it has been used to |
|
|
1081 | install anything. You can further change the configuration like this: |
|
|
1082 | |
|
|
1083 | "$PERL_PREFIX"/bin/perl -MCPAN::MyConfig -MCPAN -e ' |
|
|
1084 | CPAN::Shell->o (conf => urllist => push => "'"$CPAN"'"); |
|
|
1085 | ' || fatal "error while initialising CPAN in postcpanconfig" |
|
|
1086 | |
1053 | =item postinstall |
1087 | =item postinstall |
1054 | |
1088 | |
1055 | Called after perl and any extra modules have been installed in C<$PREFIX>, |
1089 | Called after perl and any extra modules have been installed in C<$PREFIX>, |
1056 | but before setting the "installation O.K." flag. |
1090 | but before setting the "installation O.K." flag. |
1057 | |
1091 | |
… | |
… | |
1166 | |
1200 | |
1167 | Binaries created with C<mkbundle>/C<mkperl> contain extra functionality, |
1201 | Binaries created with C<mkbundle>/C<mkperl> contain extra functionality, |
1168 | mostly related to the extra files bundled in the binary (the virtual |
1202 | mostly related to the extra files bundled in the binary (the virtual |
1169 | filesystem). All of this data is statically compiled into the binary, and |
1203 | filesystem). All of this data is statically compiled into the binary, and |
1170 | accessing means copying it from a read-only section of your binary. Data |
1204 | accessing means copying it from a read-only section of your binary. Data |
1171 | pages in this way is usually freed by the operating system, as it isn't |
1205 | pages in this way are usually freed by the operating system, as they aren't |
1172 | use more the onace. |
1206 | used more then once. |
1173 | |
1207 | |
1174 | =head2 VIRTUAL FILESYSTEM |
1208 | =head2 VIRTUAL FILESYSTEM |
1175 | |
1209 | |
1176 | Every bundle has a virtual filesystem. The only information stored in it |
1210 | Every bundle has a virtual filesystem. The only information stored in it |
1177 | is the path and contents of each file that was bundled. |
1211 | is the path and contents of each file that was bundled. |
1178 | |
1212 | |
1179 | =head3 LAYOUT |
1213 | =head3 LAYOUT |
1180 | |
1214 | |
1181 | Any path starting with an ampersand (F<&>) or exclamation mark (F<!>) are |
1215 | Any paths starting with an ampersand (F<&>) or exclamation mark (F<!>) are |
1182 | reserved by F<staticperl>. They must only be used as described in this |
1216 | reserved by F<staticperl>. They must only be used as described in this |
1183 | section. |
1217 | section. |
1184 | |
1218 | |
1185 | =over 4 |
1219 | =over 4 |
1186 | |
1220 | |
… | |
… | |
1272 | |
1306 | |
1273 | Many Unicode properties in turn are defined in separate modules, |
1307 | Many Unicode properties in turn are defined in separate modules, |
1274 | such as C<"unicore/Heavy.pl"> and more specific data tables such as |
1308 | such as C<"unicore/Heavy.pl"> and more specific data tables such as |
1275 | C<"unicore/To/Digit.pl"> or C<"unicore/lib/Perl/Word.pl">. These tables |
1309 | C<"unicore/To/Digit.pl"> or C<"unicore/lib/Perl/Word.pl">. These tables |
1276 | are big (7MB uncompressed, although F<staticperl> contains special |
1310 | are big (7MB uncompressed, although F<staticperl> contains special |
1277 | handling for those files), so including them on demand by your application |
1311 | handling for those files), so including them only on demand in your |
1278 | only might pay off. |
1312 | application might pay off. |
1279 | |
1313 | |
1280 | To simply include the whole unicode database, use: |
1314 | To simply include the whole unicode database, use: |
1281 | |
1315 | |
1282 | --incglob '/unicore/**.pl' |
1316 | --incglob '/unicore/**.pl' |
1283 | |
1317 | |