I've got some help from a contributor (Martin Storsjö) to improve building of nettle for wind*ws, and I'd like to share some informaton on how it's set up.
First, there are mingw-based cross compilers. I've used the debian packages. Then nettle can be configured for cross-compilation using ./configure --host=i586-mingw32msvc or ./configure --host=amd64-mingw32msvc depending on the desired abi (W32 or W64). This is old news, it least W32 has worked for quite a while, with just some recent fixes related to shared libraries. Next, if cross compiling for windows, configure sets an EMULATOR variable to wine or wine64 (haven''t yet tried wine64, I think it's not yet in debian so I'd have to build it from source). make check passes this on in the environment of the run-tests script, which then starts the test programs (except scripts) via wine. So if the build machine is supported by wine (as far as I'm aware, that means x86, or maybe you can hook in some cpu emulator to wine?), plain make && make check will build the cross build library and run the testsuite. In my experience, it has never been so little pain involved in testing the w*ndows build... For x86_64, M$ uses different calling conventions than everybody else. This is detected by configure. To deal with this in the assembly files, there are macros W64_ENTRY and W64_EXIT which are used at the entry and exit of assembly routines. When building for W64, they expand to some extra instructions to move arguments around between registers and save extra callee-save registers. The extra overhead is paid only for W64. Then there have been some minor porting issues, like line end conventions, and different size of long (for w64) and different alignment for uint64_t (on w32). But I think it's going to be fairly easy to test and maintain portability to w*ndows. I haven't tried doing the same for gmp, but if anybody is interested in doing work to get windows builds of gmp more well tested, I'd recommend that something similar is setup. Regards, /Niels -- Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26. Internet email is subject to wholesale government surveillance. _______________________________________________ gmp-devel mailing list gmp-devel@gmplib.org http://gmplib.org/mailman/listinfo/gmp-devel