diff -Naur curl-7.20.0-old/CMake/CheckTypeSize.c.in curl-7.20.0/CMake/CheckTypeSize.c.in
--- curl-7.20.0-old/CMake/CheckTypeSize.c.in	2010-03-27 15:26:15.703125000 +0300
+++ curl-7.20.0/CMake/CheckTypeSize.c.in	2010-03-28 00:45:52.531250000 +0300
@@ -6,6 +6,11 @@
 #  include <sys/types.h>
 #endif /* HAVE_SYS_TYPES_H */
 
+#ifdef HAVE_SYS_SOCKET_H
+#  include <sys/socket.h>
+#endif
+
+
 
 #ifdef _WIN32
 #  include <winsock2.h>
diff -Naur curl-7.20.0-old/CMake/CheckTypeSize.cmake curl-7.20.0/CMake/CheckTypeSize.cmake
--- curl-7.20.0-old/CMake/CheckTypeSize.cmake	2010-03-27 15:26:15.703125000 +0300
+++ curl-7.20.0/CMake/CheckTypeSize.cmake	2010-03-28 00:45:52.531250000 +0300
@@ -13,7 +13,7 @@
       set(CHECK_TYPE_SIZE_TYPE "${TYPE}")
       set(MACRO_CHECK_TYPE_SIZE_FLAGS 
         "${CMAKE_REQUIRED_FLAGS}")
-      foreach(def HAVE_SYS_TYPES_H HAVE_STDINT_H HAVE_STDDEF_H)
+      foreach(def HAVE_SYS_TYPES_H HAVE_STDINT_H HAVE_STDDEF_H HAVE_SYS_SOCKET_H)
         if("${def}")
           set(MACRO_CHECK_TYPE_SIZE_FLAGS 
             "${MACRO_CHECK_TYPE_SIZE_FLAGS} -D${def}")
diff -Naur curl-7.20.0-old/CMakeLists.txt curl-7.20.0/CMakeLists.txt
--- curl-7.20.0-old/CMakeLists.txt	2010-03-27 15:26:15.703125000 +0300
+++ curl-7.20.0/CMakeLists.txt	2010-03-28 21:27:41.984375000 +0400
@@ -56,9 +56,9 @@
 set(OS "\"${CMAKE_SYSTEM_NAME}\"")
 
 # Make the base headers visible to everything
-# IF(NOT ${PROJECT_BINARY_DIR} EQUAL ${PROJECT_SOURCE_DIR})
-# INCLUDE_DIRECTORIES(${PROJECT_BINARY_DIR}/include)
-# ENDIF()
+IF(NOT ${PROJECT_BINARY_DIR} EQUAL ${PROJECT_SOURCE_DIR})
+INCLUDE_DIRECTORIES(${PROJECT_BINARY_DIR}/include)
+ENDIF()
 include_directories( ${CURL_SOURCE_DIR}/include )
 
 if(WIN32)
@@ -395,6 +395,31 @@
   check_include_file_concat("openssl/rand.h"   HAVE_OPENSSL_RAND_H)
 endif(CMAKE_USE_OPENSSL)
 
+# Attempt to add CURL_PULL_* definitions to curlbuild.h
+if(HAVE_WS2TCPIP_H)
+  SET(CURL_PULL_WS2TCPIP_H 1)
+  mark_as_advanced(CURL_PULL_WS2TCPIP_H)
+endif(HAVE_WS2TCPIP_H)
+
+if(HAVE_SYS_TYPES_H)
+  SET(CURL_PULL_SYS_TYPES_H 1)
+  mark_as_advanced(CURL_PULL_SYS_TYPES_H)
+endif(HAVE_SYS_TYPES_H)
+
+if(HAVE_SYS_SOCKET_H)
+  SET(CURL_PULL_SYS_SOCKET_H 1)
+  mark_as_advanced(CURL_PULL_SYS_SOCKET_H)
+endif(HAVE_SYS_SOCKET_H)
+
+if(HAVE_STDINT_H)
+  SET(CURL_PULL_STDINT_H 1)
+  mark_as_advanced(CURL_PULL_STDINT_H)
+endif(HAVE_STDINT_H)
+
+if(HAVE_INTTYPES_H)
+  SET(CURL_PULL_INTTYPES_H 1)
+  mark_as_advanced(CURL_PULL_INTTYPES_H)
+endif(HAVE_INTTYPES_H)
 
 check_type_size(size_t  SIZEOF_SIZE_T)
 check_type_size(ssize_t  SIZEOF_SSIZE_T)
@@ -553,6 +578,12 @@
   check_symbol_exists(sigaction "signal.h" HAVE_SIGACTION)
 endif(HAVE_SIGNAL_H)
 
+if(NOT HAVE_LDAP_H)
+  if(UNIX)
+    SET(CURL_DISABLE_LDAP 1)
+  endif(UNIX)
+endif(NOT HAVE_LDAP_H)
+ 
 if(NOT HAVE_SIGSETJMP)
   if(HAVE_SETJMP_H)
     check_symbol_exists(sigsetjmp "setjmp.h" HAVE_MACRO_SIGSETJMP)
@@ -828,9 +859,9 @@
   string(REPLACE "$(top_srcdir)"   "\${CURL_SOURCE_DIR}" MAKEFILE_INC_TEXT ${MAKEFILE_INC_TEXT})
   string(REPLACE "$(top_builddir)" "\${CURL_BINARY_DIR}" MAKEFILE_INC_TEXT ${MAKEFILE_INC_TEXT})
 
-  string(REGEX REPLACE "\\\\\n" "§!§" MAKEFILE_INC_TEXT ${MAKEFILE_INC_TEXT})
+  string(REGEX REPLACE "\\\\\n" "!" MAKEFILE_INC_TEXT ${MAKEFILE_INC_TEXT})
   string(REGEX REPLACE "([a-zA-Z_][a-zA-Z0-9_]*)[\t ]*=[\t ]*([^\n]*\n)" "SET(\\1 \\2)\n" MAKEFILE_INC_TEXT ${MAKEFILE_INC_TEXT})
-  string(REPLACE "§!§" "\n" MAKEFILE_INC_TEXT ${MAKEFILE_INC_TEXT})
+  string(REPLACE "!" "\n" MAKEFILE_INC_TEXT ${MAKEFILE_INC_TEXT})
 
   string(REGEX REPLACE "\\$\\(([a-zA-Z_][a-zA-Z0-9_]*)\\)" "\${\\1}" MAKEFILE_INC_TEXT ${MAKEFILE_INC_TEXT})    # Replace $() with ${}
   string(REGEX REPLACE "@([a-zA-Z_][a-zA-Z0-9_]*)@" "\${\\1}" MAKEFILE_INC_TEXT ${MAKEFILE_INC_TEXT})    # Replace @@ with ${}, even if that may not be read by CMake scripts.
diff -Naur curl-7.20.0-old/include/curl/curlbuild.h.cmake curl-7.20.0/include/curl/curlbuild.h.cmake
--- curl-7.20.0-old/include/curl/curlbuild.h.cmake	2010-03-27 15:26:15.703125000 +0300
+++ curl-7.20.0/include/curl/curlbuild.h.cmake	2010-03-28 20:18:15.546875000 +0400
@@ -111,6 +111,18 @@
 /*  EXTERNAL INTERFACE SETTINGS FOR CONFIGURE CAPABLE SYSTEMS ONLY  */
 /* ================================================================ */
 
+/* Configure process defines this to 1 when it finds out that system  */
+/* header file ws2tcpip.h must be included by the external interface. */
+#cmakedefine CURL_PULL_WS2TCPIP_H ${CURL_PULL_WS2TCPIP_H}
+#ifdef CURL_PULL_WS2TCPIP_H
+#  ifndef WIN32_LEAN_AND_MEAN
+#    define WIN32_LEAN_AND_MEAN
+#  endif
+#  include <windows.h>
+#  include <winsock2.h>
+#  include <ws2tcpip.h>
+#endif
+
 /* Configure process defines this to 1 when it finds out that system   */
 /* header file sys/types.h must be included by the external interface. */
 #cmakedefine CURL_PULL_SYS_TYPES_H ${CURL_PULL_SYS_TYPES_H}
@@ -132,18 +144,19 @@
 #  include <inttypes.h>
 #endif
 
+/* Configure process defines this to 1 when it finds out that system    */
+/* header file sys/socket.h must be included by the external interface. */
+#cmakedefine CURL_PULL_SYS_SOCKET_H ${CURL_PULL_SYS_SOCKET_H}
+#ifdef CURL_PULL_SYS_SOCKET_H
+#  include <sys/socket.h>
+#endif
+
 /* The size of `long', as computed by sizeof. */
 #cmakedefine CURL_SIZEOF_LONG ${CURL_SIZEOF_LONG}
 
 /* Integral data type used for curl_socklen_t. */
 #cmakedefine CURL_TYPEOF_CURL_SOCKLEN_T ${CURL_TYPEOF_CURL_SOCKLEN_T}
 
-/* on windows socklen_t is in here */
-#ifdef _WIN32
-#  include <winsock2.h>
-#  include <ws2tcpip.h>
-#endif
-
 /* Data type definition of curl_socklen_t. */
 typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t;
 
@@ -157,13 +170,13 @@
 typedef CURL_TYPEOF_CURL_OFF_T curl_off_t;
 
 /* curl_off_t formatting string directive without "%" conversion specifier. */
-#cmakedefine CURL_FORMAT_CURL_OFF_T ${CURL_FORMAT_CURL_OFF_T}
+#cmakedefine CURL_FORMAT_CURL_OFF_T "${CURL_FORMAT_CURL_OFF_T}"
 
 /* unsigned curl_off_t formatting string without "%" conversion specifier. */
-#cmakedefine CURL_FORMAT_CURL_OFF_TU ${CURL_FORMAT_CURL_OFF_TU}
+#cmakedefine CURL_FORMAT_CURL_OFF_TU "${CURL_FORMAT_CURL_OFF_TU}"
 
 /* curl_off_t formatting string directive with "%" conversion specifier. */
-#cmakedefine CURL_FORMAT_OFF_T ${CURL_FORMAT_OFF_T}
+#cmakedefine CURL_FORMAT_OFF_T "${CURL_FORMAT_OFF_T}"
 
 /* The size of `curl_off_t', as computed by sizeof. */
 #cmakedefine CURL_SIZEOF_CURL_OFF_T ${CURL_SIZEOF_CURL_OFF_T}
diff -Naur curl-7.20.0-old/include/curl/curl.h curl-7.20.0/include/curl/curl.h
--- curl-7.20.0-old/include/curl/curl.h	2010-03-27 15:26:15.703125000 +0300
+++ curl-7.20.0/include/curl/curl.h	2010-03-28 00:45:52.531250000 +0300
@@ -32,7 +32,7 @@
  */
 
 #include "curlver.h"         /* libcurl version defines   */
-#include "curlbuild.h"       /* libcurl build definitions */
+#include <curl/curlbuild.h>  /* libcurl build definitions */
 #include "curlrules.h"       /* libcurl rules enforcement */
 
 /*
