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

Comparing App-Staticperl/README (file contents):
Revision 1.14 by root, Sun May 1 09:29:47 2011 UTC vs.
Revision 1.15 by root, Tue Jun 14 07:04:43 2011 UTC

36 contains perl interpreter, libc, all the modules you need, all the 36 contains perl interpreter, libc, all the modules you need, all the
37 libraries you need and of course your actual program. 37 libraries you need and of course your actual program.
38 38
39 With uClibc and upx on x86, you can create a single 500kb binary that 39 With uClibc and upx on x86, you can create a single 500kb binary that
40 contains perl and 100 modules such as POSIX, AnyEvent, EV, IO::AIO, Coro 40 contains perl and 100 modules such as POSIX, AnyEvent, EV, IO::AIO, Coro
41 and so on. Or any other choice of modules. 41 and so on. Or any other choice of modules (and some other size :).
42 42
43 To see how this turns out, you can try out smallperl and bigperl, two 43 To see how this turns out, you can try out smallperl and bigperl, two
44 pre-built static and compressed perl binaries with many and even more 44 pre-built static and compressed perl binaries with many and even more
45 modules: just follow the links at <http://staticperl.schmorp.de/>. 45 modules: just follow the links at <http://staticperl.schmorp.de/>.
46 46
1026 good experiences with GCC 4.4.x but not GCC 4.5. 1026 good experiences with GCC 4.4.x but not GCC 4.5.
1027 1027
1028 To minimise code size, I used "-pipe -ffunction-sections -fdata-sections 1028 To minimise code size, I used "-pipe -ffunction-sections -fdata-sections
1029 -finline-limit=8 -fno-builtin-strlen -mtune=i386". The "-mtune=i386" 1029 -finline-limit=8 -fno-builtin-strlen -mtune=i386". The "-mtune=i386"
1030 doesn't decrease codesize much, but it makes the file much more 1030 doesn't decrease codesize much, but it makes the file much more
1031 compressible. 1031 compressible (and the execution a lot slower...).
1032 1032
1033 If you don't need Coro or threads, you can go with "linuxthreads.old" 1033 If you don't need Coro or threads, you can go with "linuxthreads.old"
1034 (or no thread support). For Coro, it is highly recommended to switch to 1034 (or no thread support). For Coro, it is highly recommended to switch to
1035 a uClibc newer than 0.9.31 (at the time of this writing, I used the 1035 a uClibc newer than 0.9.31 (at the time of this writing, I used the
1036 20101201 snapshot) and enable NPTL, otherwise Coro needs to be 1036 20101201 snapshot) and enable NPTL, otherwise Coro needs to be

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines