--- configure.ac.orig 2011-07-03 01:21:46.937790000 +0400 +++ configure.ac 2011-07-03 01:24:57.947895000 +0400 @@ -414,5 +414,27 @@ CFLAGS="$LIBCDIO_CFLAGS $SNDFILE_CFLAGS $CFLAGS" CPPFLAGS="$LIBCDIO_CFLAGS $SNDFILE_CFLAGS $CPPFLAGS" +dnl ipv6 check +AC_ARG_ENABLE(ipv6, +[ --enable-ipv6 Use ipv6, if available. [default=yes]],enable_ipv6=$enableval,enable_ipv6=yes) + +AC_MSG_CHECKING(whether to enable ipv6) + +if test "x$enable_ipv6" = "xyes" ; then + AC_TRY_COMPILE([#define INET6 +#include +#include ], + [int x = IPPROTO_IPV6; struct in6_addr a;], + [ts_cv_ipv6="yes"], [ts_cv_ipv6="no"]) +else + ts_cv_ipv6="no" +fi + +AC_MSG_RESULT($ts_cv_ipv6) + +if test "x$ts_cv_ipv6" = "xyes"; then + AC_DEFINE([USE_IPV6], [], [Enable ipv6 support]) +fi + dnl Output Makefiles AC_OUTPUT([Makefile src/Makefile src/tremor/Makefile src/mpcdec/Makefile src/trio/Makefile src/gb/Makefile src/gba/Makefile src/lynx/Makefile src/pce/Makefile src/pcfx/Makefile src/sms/Makefile src/wswan/Makefile src/nes/Makefile src/ngp/Makefile po/Makefile.in intl/Makefile]) --- src/drivers/netplay.cpp.orig 2010-12-19 01:24:01.000000000 +0300 +++ src/drivers/netplay.cpp 2011-07-03 02:14:07.513970385 +0400 @@ -244,13 +244,21 @@ unsigned int remote_port = MDFN_GetSettingUI("netplay.port"); std::string game_key = MDFN_GetSettingS("netplay.gamekey"); +#ifdef USE_IPV6 + if(SDLNet_ResolveHost(SDLNET_ANY, &IPa, remote_host.c_str(), remote_port) == -1) +#else if(SDLNet_ResolveHost(&IPa, remote_host.c_str(), remote_port) == -1) +#endif { PrintNetError(_("*** Error resolving host \"%s\"!"), remote_host.c_str()); return(0); } +#ifdef USE_IPV6 + Socket = SDLNet_TCP_Connect(&IPa); +#else Socket = SDLNet_TCP_Open(&IPa); +#endif if(!Socket) { PrintNetError(_("*** Error connecting to remote host \"%s\" on port %u!"), remote_host.c_str(), remote_port);