summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Schneider <asn@cynapses.org>2010-09-02 12:31:59 +0200
committerAndreas Schneider <asn@cynapses.org>2010-09-02 12:31:59 +0200
commitaff5786ed30966dc0a00ffee3c56a9d1b5a08a7d (patch)
treeb3ecee17950bc56342e817696762df663fc3b78e
parentf97928c7409b8135f9fe85b67400a1dde5292621 (diff)
downloadlibssh-aff5786ed30966dc0a00ffee3c56a9d1b5a08a7d.tar.gz
libssh-aff5786ed30966dc0a00ffee3c56a9d1b5a08a7d.tar.xz
libssh-aff5786ed30966dc0a00ffee3c56a9d1b5a08a7d.zip
thread: Fixed detection of thread libraries on Windows.
-rw-r--r--ConfigureChecks.cmake6
-rw-r--r--libssh/threads.c6
2 files changed, 8 insertions, 4 deletions
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
index 93a6897..6b799b4 100644
--- a/ConfigureChecks.cmake
+++ b/ConfigureChecks.cmake
@@ -110,9 +110,11 @@ if (Z_LIBRARY)
endif (Z_LIBRARY)
if (CMAKE_HAVE_THREADS_LIBRARY)
- set(HAVE_PTHREAD 1)
+ if (CMAKE_HAVE_PTHREADS_CREATE OR CMAKE_HAVE_PTHREAD_CREATE)
+ set(HAVE_PTHREAD 1)
- set(LIBSSH_REQUIRED_LIBRARIES ${LIBSSH_REQUIRED_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
+ set(LIBSSH_REQUIRED_LIBRARIES ${LIBSSH_REQUIRED_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
+ endif (CMAKE_HAVE_PTHREADS_CREATE OR CMAKE_HAVE_PTHREAD_CREATE)
endif (CMAKE_HAVE_THREADS_LIBRARY)
# OPTIONS
diff --git a/libssh/threads.c b/libssh/threads.c
index 087b56c..76853f2 100644
--- a/libssh/threads.c
+++ b/libssh/threads.c
@@ -30,12 +30,13 @@
#include "libssh/priv.h"
#include "libssh/threads.h"
+#ifndef _WIN32
+
#ifndef HAVE_PTHREAD
#warning "You do not have any threading library installed. If the linked"
#warning "application doesn't provide the threading callbacks, you're screwed"
#endif
-//#define HAVE_PTHREAD
#ifdef HAVE_PTHREAD
#include <errno.h>
#include <pthread.h>
@@ -82,7 +83,8 @@ static struct ssh_threads_callbacks_struct ssh_pthread_user_callbacks=
.thread_id=ssh_pthread_thread_id
};
-#endif
+#endif /* HAVE_PTHREAD */
+#endif /* _WIN32 */
static struct ssh_threads_callbacks_struct *user_callbacks;