[BUILD] add the USE_GETADDRINFO build option

This one is used to call getaddrinfo() to resolve IPv6 host names.
diff --git a/Makefile b/Makefile
index 6d3f156..cd6aac9 100644
--- a/Makefile
+++ b/Makefile
@@ -23,6 +23,7 @@
 #   USE_LIBCRYPT         : enable crypted passwords using -lcrypt
 #   USE_CRYPT_H          : set it if your system requires including crypt.h
 #   USE_VSYSCALL         : enable vsyscall on Linux x86, bypassing libc
+#   USE_GETADDRINFO      : use getaddrinfo() to resolve IPv6 host names.
 #
 # Options can be forced by specifying "USE_xxx=1" or can be disabled by using
 # "USE_xxx=" (empty string).
@@ -215,12 +216,14 @@
 else
 ifeq ($(TARGET),solaris)
   # This is for Solaris 8
+  # We also enable getaddrinfo() which works since solaris 8.
   USE_POLL       = implicit
   TARGET_CFLAGS  = -fomit-frame-pointer -DFD_SETSIZE=65536 -D_REENTRANT
   TARGET_LDFLAGS = -lnsl -lsocket
   USE_TPROXY     = implicit
   USE_LIBCRYPT    = implicit
   USE_CRYPT_H     = implicit
+  USE_GETADDRINFO = implicit
 else
 ifeq ($(TARGET),freebsd)
   # This is for FreeBSD
@@ -354,6 +357,11 @@
 BUILD_OPTIONS   += $(call ignore_implicit,USE_CRYPT_H)
 endif
 
+ifneq ($(USE_GETADDRINFO),)
+OPTIONS_CFLAGS  += -DUSE_GETADDRINFO
+BUILD_OPTIONS   += $(call ignore_implicit,USE_GETADDRINFO)
+endif
+
 ifneq ($(USE_POLL),)
 OPTIONS_CFLAGS += -DENABLE_POLL
 OPTIONS_OBJS   += src/ev_poll.o
diff --git a/Makefile.bsd b/Makefile.bsd
index 1ce871b..05ad3ac 100644
--- a/Makefile.bsd
+++ b/Makefile.bsd
@@ -77,6 +77,7 @@
 # set some defines when needed.
 # Known ones are -DENABLE_POLL
 # - use -DTPROXY to compile with transparent proxy support.
+# - use -DUSE_GETADDRINFO to use of getaddrinfo() to resolve IPv6 host names
 DEFINE = -DTPROXY
 
 # May be changed to patch PAGE_SIZE on every platform when using dlmalloc
diff --git a/Makefile.osx b/Makefile.osx
index f60508e..f3ecdb8 100644
--- a/Makefile.osx
+++ b/Makefile.osx
@@ -77,6 +77,7 @@
 # set some defines when needed.
 # Known ones are -DENABLE_POLL
 # - use -DTPROXY to compile with transparent proxy support.
+# - use -DUSE_GETADDRINFO to use of getaddrinfo() to resolve IPv6 host names
 DEFINE = -DTPROXY 
 
 # May be changed to patch PAGE_SIZE on every platform when using dlmalloc
diff --git a/README b/README
index d16dadd..7834951 100644
--- a/README
+++ b/README
@@ -70,6 +70,17 @@
     Warning! group references on Solaris seem broken. Use static-pcre whenever
     possible.
 
+Recent systems can resolve IPv6 host names using getaddrinfo(). This primitive
+is not present in all libcs and does not work in all of them either. Support in
+glibc was broken before 2.3. Some embedded libs may not properly work either,
+thus, support is disabled by default, meaning that some host names which only
+resolve as IPv6 addresses will not resolve and configs might emit an error
+during parsing. If you know that your OS libc has reliable support for
+getaddrinfo(), you can add USE_GETADDRINFO=1 on the make command line to enable
+it. This is the recommended option for most Linux distro packagers since it's
+working fine on all recent mainstream distros. It is automatically enabled on
+Solaris 8 and above, as it's known to work.
+
 By default, the DEBUG variable is set to '-g' to enable debug symbols. It is
 not wise to disable it on uncommon systems, because it's often the only way to
 get a complete core when you need one. Otherwise, you can set DEBUG to '-s' to