|Think about Loose Coupling|
IIRC, IVs must be big enough to hold a pointer
I've compiled perl with 32 bit IVs on 64-bit Windows 7, Debian Wheezy(ppc64), and freebsd-12.0.
But yes, ptrsize then needs to be 4 bytes, and I assume there must also be some mechanism ensuring that addresses of all allocated memory fit into 4 bytes.
I suspect that, with the right toolchain, I could also achieve such a build on Ubuntu, but I'm not going to chase that up right now.
I was hoping that there might have been some simple trick I could use - hence my initial question.
On the freebsd system, the 32-bit build was achieved by simply passing -Dcc="cc -m32" to Configure.
When I build perl on the Debian system, I (strangely) get 32-bit builds by default, though the system perl is 64-bit. So I pass -Dcc="gcc -m64" to Configure in order to get the 64-bit builds there.
On Windows, it's just a case of using a 32-bit toolchain and ensuring that the WIN64=undef arg is provided to make.