138889Sjdpmicroperl is supposed to be a really minimal perl, even more 2218822Sdimminimal than miniperl. No Configure is needed to build microperl, 3218822Sdimon the other hand this means that interfaces between Perl and your 438889Sjdpoperating system are left very -- minimal. 5218822Sdim 638889SjdpAll this is experimental. If you don't know what to do with microperl 738889Sjdpyou probably shouldn't. Please don't report bugs in microperl; fix the 838889Sjdpbugs. (Bugs reports about microperl without fixes/patches are equivalent 938889Sjdpto wishlist requests - they won't be discarded, but they likely won't get 1038889Sjdpworked on either, unless they chance to coincide with someone's personal itch) 1138889Sjdp 1238889SjdpWe assume ANSI C89 plus the following: 1338889Sjdp- <stddef.h>, <stdlib.h> 1438889Sjdp- rename() 1538889Sjdp- opendir(), readdir(), closedir() (via dirent.h) 1638889Sjdp- memchr(), memcmp(), memcpy(), memset() (via string.h) 1738889Sjdp- (a safe) putenv() (via stdlib.h) 1838889Sjdp- strtoul() (via stdlib.h) 1938889Sjdp(grep for 'define' in uconfig.sh.) 2038889SjdpAlso, Perl times() is defined to always return zeroes. 21218822Sdim 22218822SdimIf you are still reading this and you are itching to try out microperl: 2338889Sjdp 2438889Sjdp make -f Makefile.micro 2538889Sjdp 2638889SjdpThe defaults assume a little endian LP32 platform - ie long and pointers are 27218822Sdim32 bits, so sizeof(long) and sizeof(void *) are 4 2838889SjdpIf your platform is little endian LP64 - ie long and pointers are 64 bits, 2938889Sjdpsizeof(long) and sizeof(void *) are 8, then you first need to run 3038889Sjdp 3189857Sobrien make -f Makefile.micro regen_uconfig64 3238889Sjdp 3338889Sjdpto generate a suitable uconfig.h 3438889Sjdp 3560484SobrienIf you make changes to uconfig.sh, run 3638889Sjdp 3760484Sobrien make -f Makefile.micro regen_uconfig 3860484Sobrien 3960484Sobriento regenerate uconfig.h. (or regen_uconfig64 if you're editing uconfig64.sh) 4038889Sjdp 4160484Sobrien 4260484SobrienIf neither of the above default configs work on your platform, you might want 4360484Sobriento try 4460484Sobrien 4560484Sobrien make -f Makefile.micro patch_uconfig 4660484Sobrien 4760484Sobrien*before* the "make -f Makefile.micro". This tries to minimally patch 4860484Sobrienthe uconfig.sh using your *current* Perl so that your microperl has 4960484Sobrienthe correct basic types and sizes and byteorder. 5060484Sobrien