check for and require tld.h to be present before libidn usage is activated
in the build, since libidn 0.3.X didn't have the header and we don't support
that old libidn versions anyway.

This was mentioned on the list by Jean-Philippe Barrette-LaPierre and in bug
report #1062264.
diff --git a/configure.ac b/configure.ac
index 3a01b2a..091c869 100644
--- a/configure.ac
+++ b/configure.ac
@@ -984,7 +984,7 @@
          curl_idn_msg="enabled"
          dnl different versions of libidn have different setups of these:
          AC_CHECK_FUNCS( idn_free idna_strerror tld_strerror)
-         AC_CHECK_HEADERS( idn-free.h )
+         AC_CHECK_HEADERS( idn-free.h tld.h )
        fi
                     
        ;; 
diff --git a/lib/setup.h b/lib/setup.h
index f121b73..e535279 100644
--- a/lib/setup.h
+++ b/lib/setup.h
@@ -281,11 +281,12 @@
 #undef HAVE_ALARM
 #endif
 
-#ifdef HAVE_LIBIDN
-/* This could benefit from additional checks that some of the used/important
-   header files are present as well before we define the USE_* define. */
+#if defined(HAVE_LIBIDN) && defined(HAVE_TLD_H)
+/* The lib was present and the tld.h header (which is missing in libidn 0.3.X
+   but we only work with libidn 0.4.1 or later) */
 #define USE_LIBIDN
-#define LIBIDN_REQUIRED_VERSION "0.4.1"
 #endif
 
+#define LIBIDN_REQUIRED_VERSION "0.4.1"
+
 #endif /* __CONFIG_H */