Branch: r14.0.x

38ed45d3 2015-08-30 07:42:33 Slávek Banko
Fix dlerror and crypt detection for CMake build
This resolves Bug 654

Signed-off-by: Slávek Banko <slavek.banko@...>
(cherry picked from commit 4925611808ccb524a6c0bd225fb39b52ae1cf1ae)
M CMakeLists.txt
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b743de7..c366aa0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -396,7 +396,28 @@
 check_function_exists( getgroups HAVE_GETGROUPS )
 check_function_exists( getcwd HAVE_GETCWD )
 check_function_exists( dlerror HAVE_DLERROR )
+if( NOT HAVE_DLERROR )
+  check_library_exists( dl dlerror "" HAVE_DLERROR_LIB )
+  if( HAVE_DLERROR_LIB )
+    set( HAVE_DLERROR 1 )
+    set( DLERROR_LIBRARIES dl )
+  endif( HAVE_DLERROR_LIB )
+endif( NOT HAVE_DLERROR )
 check_function_exists( crypt HAVE_CRYPT )
+if( NOT HAVE_CRYPT )
+  check_library_exists( crypt crypt "" HAVE_CRYPT_LIB )
+  if( HAVE_CRYPT_LIB )
+    set( HAVE_CRYPT 1 )
+    set( CRYPT_LIBRARIES crypt )
+  endif( HAVE_CRYPT_LIB )
+endif( NOT HAVE_CRYPT )
+if( NOT HAVE_CRYPT )
+  check_library_exists( c crypt "" HAVE_CRYPT_LIBC )
+  if( HAVE_CRYPT_LIBC )
+    set( HAVE_CRYPT 1 )
+    set( CRYPT_LIBRARIES c )
+  endif( HAVE_CRYPT_LIBC )
+endif( NOT HAVE_CRYPT )
 check_function_exists( bcopy HAVE_BCOPY )
 check_function_exists( mmap HAVE_MMAP )
 check_function_exists( munmap HAVE_MUNMAP )