>--[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
