I'm able to sucessfuilly cross-compile 64-bit windows targets from linux now, albeit a bit shakily. Here's what I've found so far:
'libtool' has a library dependency, -lmsvcrt , which breaks compilation. It works just to delete it.
Somehow a 32-bit version of libwinpthread-1.dll gets installed - I have to manually replace it with a 64-bit one.
and... try as I might I still can't get it working with tcl/tk 8.6 - I have to yse 8.5. More on that later.
My compilation steps currently look like this (after making a clean directory to put it in, /home/msp/bis/work/pd-versions/build-dirs/test85):
v=0.48-1test3-ia64 tkversion=8.5.19 s=/home/msp/tmp/clean-pd-source
git clone ~/pd $s cd $s ./autogen.sh cd /home/msp/bis/work/pd-versions/build-dirs/test85 $s/configure --host=x86_64-w64-mingw32 CPPFLAGS='-DPD_LONGINTTYPE=__int64' sed -i '/-lmsvcrt/s/-lmsvcrt//g' libtool make cd msw cp -a /home/msp/bis/work/pd-versions/build-tk-on-win64/msw/tcltk-$tkversion . /home/msp/bis/work/pd-versions/build-tk-on-win64/msw/msw-app.sh \ --builddir .. --tk tcltk-$tkversion $v cp /usr/x86_64-w64-mingw32/sys-root/mingw/bin/libwinpthread-1.dll \ pd-$v/bin/
(note: I make the clone of the Pd source so I don't have to run automake in my 'clean' source tree).
When I try this for 8.6.8 I change the configuration line as follws: $s/configure --host=x86_64-w64-mingw32 \ --with-wish=wish86.exe \ CPPFLAGS='-DPD_LONGINTTYPE=__int64 -DWISH="wish86.exe"'
It all builds fine and I'm able to run wish86.exe all right; but when I try to test it as in:
wine pd-0.48-1test2-ia64/bin/wish86.exe `pwd`/pd-0.48-1test2-ia64/tcl/pd-gui.tcl
I get signs of memory corruption that I haven't been able to track down (my debugging statements in pd-gui.tcl generate binary garbage). This seems to be an interaction between wine and tcl/tk and is almost certainly too deep for me to figure out.
This doesn't seem to be a fatal problem though - if my "test" 64-bit build works OK I can live with that for at least until 8.7 comes out (and who knows what problems that might fix and/or introduce)
cheers Miller