On 25 Feb 2014, at 03:57, Jonathan Hogg <address@hidden> wrote:
Hi,
I recently used the MXE environment to cross compile Linux->Win64. This worked
fine, and the resulting DLL works as desired.
However, unlike native MinGW builds, the DLL doesn't have any dependency requirements and is
twice the size (15M->27M). This would seem to indicate that previous dependencies on
compiler libraries are now "built-in" (previously we had to include libgcc_s_dw2,
libgfortran, libgomp, libquadmath-0 and pthreadGC2 DLLs).
The shared builds are a new feature and while we have the build infrastructure
in place, not a lot has been done on the subtleties.
[…]
Can you tell me if MXE is capable of separating this DLLs in the same way MinGW
does?
The libtool linking invokation is currently:
/bin/bash ./libtool --tag=F77 --mode=link x86_64-w64-mingw32-gfortran -g -O2
-export-symbols ../libcoinhsl.sym -no-undefined -o libcoinhsl.la -rpath
/usr/local/lib common/deps90.lo common/deps.lo common/dump.lo mc19/mc19d.lo
ma27/ma27d.lo ma28/ma28d.lo ma57/ma57d.lo hsl_ma77/hsl_ma77d.lo
hsl_ma77/C/hsl_ma77d_ciface.lo hsl_ma86/hsl_ma86d.lo
hsl_ma86/C/hsl_ma86d_ciface.lo hsl_mc68/C/hsl_mc68i_ciface.lo
hsl_ma97/hsl_ma97d.lo hsl_ma97/C/hsl_ma97d_ciface.lo loadmetis/loadmetis.lo
-L/home/jhogg/OpenBLAS-v0.2.9.rc1-x86_64-Win/lib -lopenblas
I’m sure it’s “just" a matter of setting the right flags, but I’m not familiar
enough with libtool to know. Patches and pointers are welcome, though there doesn’t
seem to be anything that indicates a “-shared” build in that line.