```{index} single: ExtUtils::Miniperl ``` # ExtUtils::Miniperl write the C code for miniperlmain.c and perlmain.c ## SYNOPSIS ```perl use ExtUtils::Miniperl; writemain(@directories); ## or writemain($fh, @directories); ## or writemain(\$filename, @directories); ``` ## DESCRIPTION `writemain()` takes an argument list of zero or more directories containing archive libraries that relate to perl modules and should be linked into a new perl binary. It writes a corresponding `miniperlmain.c` or `perlmain.c` file that is a plain C file containing all the bootstrap code to make the modules associated with the libraries available from within perl. If the first argument to `writemain()` is a reference to a scalar it is used as the filename to open for output. Any other reference is used as the filehandle to write to. Otherwise output defaults to `STDOUT`. The typical usage is from within perl's own Makefile (to build `perlmain.c`) or from `regen/miniperlmain.pl` (to build miniperlmain.c). So under normal circumstances you won't have to deal with this module directly. ## SEE ALSO [ExtUtils::MakeMaker](MakeMaker.md)