>--[Raphael Manfredi]--<[EMAIL PROTECTED]>
> Quoting R�diger Kuhlmann from ml.softs.gtk-gnutella.devel:
> :Two reasons. First: libxml and gtk/glib >= 2.0 use pkg-config to detect
> :libraries. Though you can convince pkg-config by hand to find the cross-.pc
> :files, I modified it to detect cross-compilation and do the right thing.
> :Those changes will be merged upstream (though possibly in a different
> :manner) in the next version.
> You modified pkg-config ot handle cross-compilation?  How?

http://freedesktop.org/cgi-bin/bugzilla/attachment.cgi?id=67&action=view

Essentially, it checks for <host>-pkg-config, and pkg-config being called as
<host>-pkg-config causes the pkgconfig-dir for <host> to be used instead of
the native one. It also overrides the prefix, so that you can reuse the .pc
files from native builds.

> :The second: on Windows, library function names are (Pascal-) mangled, that
> :is, something like @4 is added to the actual (assembler) function name. This
> :makes detection hard: there won't be a _select symbol in ws2_32, but
> :_select@<something>, so the detection will fail. My solution to the problem
> :was modifying dlltool to add the @-less symbol as well to the resulting dll
> :wrapper (if the --kill-at option is specified and there actually _is_ an @).
> :Then the generated ws2_32.a will contain _select as well as
> :_select@<something>, and the detection will just work. If you google around
> :for function names in Winsocks appended with that mangling you'll find
> :several people having this problem. Though I reportet it in the Debian as
> :well as the MingW bug tracking system, I've not yet seen any reply.

> I don't fully understand what you're talking about here.  Do you mean to
> say that one has to call [EMAIL PROTECTED]() for instance in the code to make it 
> work,

No.

> or that by calling select(), it will be mangled by the dynamic linker on
> Windows to transparetly find [EMAIL PROTECTED]()?

Yes. Usually the C function bla() has an assembler symbol in the .o file of
_bla, but using Pascal linkage, it's _bla@<number>.

> What is ws2_32?  WinSocks?  Isn't that a given?

ws2_32.dll is the WinSocks2 dll. The ws2_32.dll is certainly a given, but
to compile against it, MingW creates wrappers, for <bla>.dll usually called
<bla>.dll.a or just <bla>.a. They're part of mingw32-runtime, however,
the patch I proposed is for dlltool, which is part of mingw32-binutils.

-- 
         100 DM =  51  � 13 �.
         100  � = 195 DM 58 pf.
  mailto:[EMAIL PROTECTED]
    http://www.ruediger-kuhlmann.de/


-------------------------------------------------------
This SF.Net email sponsored by: ApacheCon 2003,
16-19 November in Las Vegas. Learn firsthand the latest
developments in Apache, PHP, Perl, XML, Java, MySQL,
WebDAV, and more! http://www.apachecon.com/
_______________________________________________
Gtk-gnutella-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/gtk-gnutella-devel

Reply via email to