cross-compiling to mingw32

Werner Koch wk at gnupg.org
Fri Jan 20 10:38:46 CET 2006


On Thu, 19 Jan 2006 11:17:03 +0100, Simon Josefsson said:

> resulting library isn't usable, it seems all symbols are prefixed with
> an unnecessary '_' if I run 'nm' on it.  Any ideas?

Check the output of 

  GNUPG_SYS_SYMBOL_UNDERSCORE()

in configure.ac it is later used in mpi/config.links to generate sysdep.h:

   if test x$ac_cv_sys_symbol_underscore = xyes; then
  
A special case for mingw32 might be justified.  Alternativly you 

./configure --disable-asm 

should work too.  The stable branch has an option to build libgcrypt
as a static library; from ./autogen.sh --build-w32:

    ./configure --enable-maintainer-mode  --prefix=${w32root}  \
            --host=i586-mingw32msvc --build=${build} \
            --with-gpg-error-prefix=${w32root}  \
            --disable-shared    

IIRC I had some problems with DLL creation at that time and thus i
used a static library for porting gnupg 1.9:

> Libgsasl without libgcrypt builds fine and work fine from both
> self-tests and on Windows, so I have confidence in the compiler.  I'm

Indeed, that works pretty well I have even dripeed support for my own
corss compiling kity in the meantime.  I can build most of my software
now for W32 As well as Sylpheed-claws.

BTW, I always use the option --build-w32 for autogen.sh to record the
configure options required for a W32 build and to test for available
compilers etc.  If you want to build and publish a DLL, libtool works
fine; see gpgme or libgpg-error for details.


Salam-Shalom,

   Werner




More information about the Gcrypt-devel mailing list