Hello, On 2013-05-22 20:22 +0200, Dimitrios Apostolou wrote: > The "getaddrinfo-link.c" attached file is a simplification of what > AC_REPLACE_FUNCS(getaddrinfo) tries to compile and link. It fails to find > the symbol because gcc most probably doesn't use proper calling > conventions (stdcall). This is demonstrated by the build success of the > second attached program. So: [...] > In the second case ("getaddrinfo-link-2.c") compilation is successful > because the symbol linked is "_getaddrinfo@16" which actually exists in > ws2_32 (verified it with nm). [...] > [getaddrinfo-link-2.c] > int __attribute__((__stdcall__)) getaddrinfo(int,int,int,int); [...] The fundamental problem, I think, is that you really need the proper headers included and AC_REPLACE_FUNCS does not seem to allow you to specify the includes. So you probably can't use this macro at all. You can use AC_LINK_IFELSE to fully specify the test program to compile and link, which is probably what you'll need to do here. This may still be tricky to get right. Alternately, Gnulib[1] has a getaddrinfo module[2] which may already do everything you need (although I have not used it). [1] https://gnu.org/s/gnulib [2] http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob_plain;f=modules/getaddrinfo Cheers, -- Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/) _______________________________________________ Autoconf mailing list Autoconf@xxxxxxx https://lists.gnu.org/mailman/listinfo/autoconf