Instead of adding or modifying files in the directory where the sources of a Perl module are unpacked, I would like to build everything in a separate directory. Is this easily achievable with a fairly standard Makefile.PL that uses ExtUtils::MakeMaker? (By easy, I mean something like one or a few command line parameters.) If no, does any of the other build systems support this?
Update / Reason: The Perl module is a binding to a library whose build system is autoconf/automake/libtool-based. The Perl module is shipped together with this library and calling make in the top directory eventually also builds the Perl library. I am interested in building the entire project in a separate build tree. At the moment I do something similar to what runrig suggested, only using symlinks. (cp -sru $(srcdir)/. $(builddir)/.). This has worked so far, but if there is a more elegant solution, I’d like to read about it.
MakeMaker already copies the sources and builds them in a separate directory (that’s what
blib/is). You can control the build location with theINST_*set of arguments toWriteMakefile(). This example changes the location fromblib/tofoo/.In addition you have to tell MakeMaker to cleanup the new build directory.
See “Determination of Perl Library and Installation Locations” in the ExtUtils::MakeMaker docs for more info.