This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
microperl: On (at least) OS X and Linux stddef.h is needed for ptrdiff_t
[perl5.git] / README.micro
CommitLineData
ad5a63fe 1microperl is supposed to be a really minimal perl, even more
12ae5dfc
JH
2minimal than miniperl. No Configure is needed to build microperl,
3on the other hand this means that interfaces between Perl and your
4operating system are left very -- minimal.
5
6All this is experimental. If you don't know what to do with microperl
a83b6f46
JH
7you probably shouldn't. Do not report bugs in microperl; fix the bugs.
8
75bd9dfb 9We assume ANSI C89 plus the following:
1e54a0f5 10- <stddef.h>, <stdlib.h>
2f42fcb0
JH
11- rename()
12- opendir(), readdir(), closedir() (via dirent.h)
535ceeb0 13- memchr(), memcmp(), memcpy() (via string.h)
2f42fcb0
JH
14- (a safe) putenv() (via stdlib.h)
15- strtoul() (via stdlib.h)
16(grep for 'define' in uconfig.sh.)
17Also, Perl times() is defined to always return zeroes.
18
a83b6f46
JH
19If you are still reading this and you are itching to try out microperl:
20
21 make -f Makefile.micro
22
ad5a63fe 23If you make changes to uconfig.sh, run
a83b6f46 24
ad5a63fe 25 make -f Makefile.micro regen_uconfig
12ae5dfc 26
2eacba2f
JH
27to regenerate uconfig.h. If your compilation platform is not 32-bit
28little-endian (like x86), you might want to try
29
30 make -f Makefile.micro patch_uconfig
31
32*before* the "make -f Makefile.micro". This tries to minimally patch
33the uconfig.sh using your *current* Perl so that your microperl has
34the correct basic types and sizes and byteorder.
35