|No such thing as a small change|
Re: Pointers for building Perl off of Strawberry Perl.by syphilis (Chancellor)
|on Jan 17, 2014 at 02:55 UTC||Need Help??|
I take it you're considering building perl using the tools (dmake and gcc) that ship with Strawberry Perl.
To do so is fairly straightforward:
1) Download and extract the perl source;
2) Edit the Win32/makefile.mk to suit your needs;
3) Then cd to Win32 directory and run 'dmake', 'dmake test' and 'dmake install'.
As regards the editing, the makefile.mk is pretty much self-documenting.
For a perl that's compatible with Strawberry Perl you'll want to set INST_DRV and INST_TOP to wherever you want perl to be installed, uncomment the "#WIN64 *= undef" entry (because you're building a 32-bit perl on a 64-bit OS), and change the CCHOME entry to the location of gcc.
If you're building 5.18.0 or later uncomment the "#USE_64_BIT_INT *= define" entry.
If you want to build some perl modules against any of the C libraries that ship with Strawberry Perl in c/lib, then specify that (fully qualified) c/lib location in EXTRALIBDIRS - then those libraries will be found when you link to them.
Similarly, you might have other C libraries that you need to use for the same purpose - specify their location(s) in EXTRALIBDIRS also.
And that's about it. You may find that the test suite hangs during the running of 'dmake test'. (I always ignore that when it happens and just 'dmake install' anyway.)
The perl that you build this way will differ from Strawberry Perl in that the various perl/lib/*DBM_File.pm modules will be absent. (I can't think of any other differences at the moment, though I suspect you might be missing some other modules that ship with Strawberry.)
For specific details on the way that Strawberry is built, the strawberry mailing list is probably the best place.