-UNIX_THREAD="gtk/threadno.cpp"
-AC_CHECK_LIB(pthread, pthread_create, [UNIX_THREAD="gtk/threadpsx.cpp"])
-AC_CHECK_LIB(pthreads, pthread_create, [UNIX_THREAD="gtk/threadpsx.cpp"])
-AC_CHECK_HEADER(sys/prctl.h, [UNIX_THREAD="gtk/threadsgi.cpp"])
+USE_THREADS=1
+THREADS_LINK=""
+UNIX_THREAD=""
+
+AC_ARG_WITH(threads,
+[ --without-threads Force disabling threads ],
+[USE_THREADS="$withval"])
+
+if test "$USE_THREADS" = "1"; then
+ UNIX_THREAD="gtk/threadno.cpp"
+
+ dnl For glibc 2 users who have the old libc 5 too
+
+ AC_CHECK_LIB(pthread-0.7, pthread_create, [
+ UNIX_THREAD="gtk/threadpsx.cpp"
+ THREADS_LINK="-lpthread-0.7"
+ AC_DEFINE(USE_THREADS)
+ ],[
+ AC_CHECK_LIB(pthread, pthread_create, [
+ UNIX_THREAD="gtk/threadpsx.cpp"
+ THREADS_LINK="-lpthread"
+ AC_DEFINE(USE_THREADS)
+ ])
+ ])
+ AC_CHECK_LIB(pthreads, pthread_create, [
+ UNIX_THREAD="gtk/threadpsx.cpp"
+ THREADS_LINK="-lpthreads"
+ AC_DEFINE(USE_THREADS)
+ ])
+ AC_CHECK_HEADER(sys/prctl.h, [
+ UNIX_THREAD="gtk/threadsgi.cpp"
+ AC_DEFINE(USE_THREADS)
+ ])
+fi
+