ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/App-Staticperl/staticperl.pod
(Generate patch)

Comparing App-Staticperl/staticperl.pod (file contents):
Revision 1.59 by root, Mon Jul 6 23:33:15 2015 UTC vs.
Revision 1.66 by root, Fri Aug 4 03:14:33 2023 UTC

704Last not least, if you need accurate line numbers in error messages, 704Last not least, if you need accurate line numbers in error messages,
705or in the unlikely case where C<pod> is too slow, or some module gets 705or in the unlikely case where C<pod> is too slow, or some module gets
706mistreated, you can specify C<none> to not mangle included perl sources in 706mistreated, you can specify C<none> to not mangle included perl sources in
707any way. 707any way.
708 708
709=item C<--compress> C<none>|C<lzf>
710
711Compress each included library file with C<lzf> (default), or do not
712compress (C<none>). LZF compression typically halves the size of the
713included library data at almost no overhead, but is counterproductive if
714you are using another compression solution such as C<UPX>, so it cna be
715disabled.
716
709=item C<--perl> 717=item C<--perl>
710 718
711After writing out the bundle files, try to link a new perl interpreter. It 719After writing out the bundle files, try to link a new perl interpreter. It
712will be called F<perl> and will be left in the current working 720will be called F<perl> and will be left in the current working
713directory. The bundle files will be removed. 721directory. 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
815Specifies extra compiler flags, used when compiling the bundle file. The
816flags are appended to all the existing flags, so can be sued to override
817settings.
818
819=item C<--extra-ldflags> string
820
821Specifies extra linker flags, used when linking the bundle.
822
823=item C<--extra-libs> string
824
825Extra linker flags, appended at the end when linking. The difference to
826C<--extra-ldflags> is that the ldflags are appended to the flags, before
827the 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
909downloaded perl sources are being cached, to avoid downloading them 933downloaded perl sources are being cached, to avoid downloading them
910again. The default is empty, which means there is no cache. 934again. The default is empty, which means there is no cache.
911 935
912=item C<PERL_VERSION> 936=item C<PERL_VERSION>
913 937
914The perl version to install - default is currently C<5.12.3>, but C<5.8.9> 938The perl version to install - C<5.12.5> is a good choice for small builds,
915is also a good choice (5.8.9 is much smaller than 5.12.3, while 5.10.1 is 939but C<5.8.9> is also a good choice (5.8.9 is much smaller than 5.12.5), if
916about as big as 5.12.3). 940it builds on your system.
941
942You can also set this variable to the absolute URL of a tarball (F<.tar>,
943F<.tar.gz>, F<.tar.bz2>, F<.tar.lzma> or F<.tar.xz>), or to the absolute
944path of an unpacked perl source tree, which will be copied.
945
946The default is currently
947F<http://stableperl.schmorp.de/dist/latest.tar.gz>, i.e. the latest
948stableperl release.
917 949
918=item C<PERL_MM_USE_DEFAULT>, C<EV_EXTRA_DEFS>, ... 950=item C<PERL_MM_USE_DEFAULT>, C<EV_EXTRA_DEFS>, ...
919 951
920Usually set to C<1> to make modules "less inquisitive" during their 952Usually set to C<1> to make modules "less inquisitive" during their
921installation. You can set (and export!) any environment variable you want 953installation. You can set (and export!) any environment variable you want
1041Called after building, but before installing perl. Current working 1073Called after building, but before installing perl. Current working
1042directory is the perl source directory. 1074directory is the perl source directory.
1043 1075
1044I have no clue what this could be used for - tell me. 1076I have no clue what this could be used for - tell me.
1045 1077
1078=item postcpanconfig
1079
1080Called just after CPAN has been configured, but before it has been used to
1081install 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
1046=item postinstall 1087=item postinstall
1047 1088
1048Called after perl and any extra modules have been installed in C<$PREFIX>, 1089Called after perl and any extra modules have been installed in C<$PREFIX>,
1049but before setting the "installation O.K." flag. 1090but before setting the "installation O.K." flag.
1050 1091
1159 1200
1160Binaries created with C<mkbundle>/C<mkperl> contain extra functionality, 1201Binaries created with C<mkbundle>/C<mkperl> contain extra functionality,
1161mostly related to the extra files bundled in the binary (the virtual 1202mostly related to the extra files bundled in the binary (the virtual
1162filesystem). All of this data is statically compiled into the binary, and 1203filesystem). All of this data is statically compiled into the binary, and
1163accessing means copying it from a read-only section of your binary. Data 1204accessing means copying it from a read-only section of your binary. Data
1164pages in this way is usually freed by the operating system, as it isn't 1205pages in this way are usually freed by the operating system, as they aren't
1165use more the onace. 1206used more then once.
1166 1207
1167=head2 VIRTUAL FILESYSTEM 1208=head2 VIRTUAL FILESYSTEM
1168 1209
1169Every bundle has a virtual filesystem. The only information stored in it 1210Every bundle has a virtual filesystem. The only information stored in it
1170is the path and contents of each file that was bundled. 1211is the path and contents of each file that was bundled.
1171 1212
1172=head3 LAYOUT 1213=head3 LAYOUT
1173 1214
1174Any path starting with an ampersand (F<&>) or exclamation mark (F<!>) are 1215Any paths starting with an ampersand (F<&>) or exclamation mark (F<!>) are
1175reserved by F<staticperl>. They must only be used as described in this 1216reserved by F<staticperl>. They must only be used as described in this
1176section. 1217section.
1177 1218
1178=over 4 1219=over 4
1179 1220
1265 1306
1266Many Unicode properties in turn are defined in separate modules, 1307Many Unicode properties in turn are defined in separate modules,
1267such as C<"unicore/Heavy.pl"> and more specific data tables such as 1308such as C<"unicore/Heavy.pl"> and more specific data tables such as
1268C<"unicore/To/Digit.pl"> or C<"unicore/lib/Perl/Word.pl">. These tables 1309C<"unicore/To/Digit.pl"> or C<"unicore/lib/Perl/Word.pl">. These tables
1269are big (7MB uncompressed, although F<staticperl> contains special 1310are big (7MB uncompressed, although F<staticperl> contains special
1270handling for those files), so including them on demand by your application 1311handling for those files), so including them only on demand in your
1271only might pay off. 1312application might pay off.
1272 1313
1273To simply include the whole unicode database, use: 1314To simply include the whole unicode database, use:
1274 1315
1275 --incglob '/unicore/**.pl' 1316 --incglob '/unicore/**.pl'
1276 1317

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines