CMake fixes for Linux.
authorBill Hoffman <bill.hoffman@kitware.com>
Wed, 24 Mar 2010 18:07:18 +0000 (14:07 -0400)
committerBill Hoffman <bill.hoffman@kitware.com>
Wed, 24 Mar 2010 18:07:18 +0000 (14:07 -0400)
Make sure <sys/socket.h> is included if around when testing/using
socklen_t.  Also, disable LDAP if LDAP_H is not found on the system.

CMake/CheckTypeSize.c.in
CMake/CheckTypeSize.cmake
CMakeLists.txt
include/curl/curlbuild.h.cmake

index 9e48df1..8ff07bf 100644 (file)
@@ -6,6 +6,9 @@
 #  include <sys/types.h>
 #endif /* HAVE_SYS_TYPES_H */
 
+#ifdef HAVE_SYS_SOCKET_H
+#  include <sys/socket.h>
+#endif
 
 #ifdef _WIN32
 #  include <winsock2.h>
index e768254..2c2ceab 100644 (file)
@@ -13,7 +13,8 @@ macro(CHECK_TYPE_SIZE TYPE VARIABLE)
       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}")
index 063df46..023cce3 100644 (file)
@@ -99,7 +99,7 @@ option(HTTP_ONLY "disables all protocols except HTTP (This overrides all CURL_DI
 mark_as_advanced(HTTP_ONLY)
 option(CURL_DISABLE_FTP "disables FTP" OFF)
 mark_as_advanced(CURL_DISABLE_FTP)
-option(CURL_DISABLE_LDAP "disables LDAP" OFF)
+option(CURL_DISABLE_LDAP "disables LDAP" ON)
 mark_as_advanced(CURL_DISABLE_LDAP)
 option(CURL_DISABLE_TELNET "disables Telnet" OFF)
 mark_as_advanced(CURL_DISABLE_TELNET)
@@ -392,6 +392,11 @@ if(CMAKE_USE_OPENSSL)
   check_include_file_concat("openssl/rand.h"   HAVE_OPENSSL_RAND_H)
 endif(CMAKE_USE_OPENSSL)
 
+if(NOT HAVE_LDAP_H) 
+  message(STATUS "LDAP_H not found CURL_DISABLE_LDAP set ON")
+  set(CURL_DISABLE_LDAP ON CACHE BOOL "" FORCE)
+endif()
+
 
 check_type_size(size_t  SIZEOF_SIZE_T)
 check_type_size(ssize_t  SIZEOF_SSIZE_T)
@@ -782,6 +787,10 @@ endif(CMAKE_COMPILER_IS_GNUCC AND APPLE)
 if(HAVE_SOCKLEN_T)
   set(CURL_TYPEOF_CURL_SOCKLEN_T "socklen_t")
   check_type_size("socklen_t" CURL_SIZEOF_CURL_SOCKLEN_T)
+  if(NOT HAVE_CURL_SIZEOF_CURL_SOCKLEN_T)
+    message(FATAL_ERROR 
+     "Check for sizeof socklen_t failed, see CMakeFiles/CMakerror.log")
+  endif()
 else()
   set(CURL_TYPEOF_CURL_SOCKLEN_T int)
   set(CURL_SIZEOF_CURL_SOCKLEN_T ${SIZEOF_INT})
index 4f83e3f..3aa772f 100644 (file)
 #  include <ws2tcpip.h>
 #endif
 
+#ifdef HAVE_SYS_SOCKET_H
+#  include <sys/socket.h>
+#endif
+
 /* Data type definition of curl_socklen_t. */
 typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t;