]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - config-scripts/cups-threads.m4
Don't generate certificates that expire on Feb 29th (Issue #5643)
[thirdparty/cups.git] / config-scripts / cups-threads.m4
index 788ce838ce9e1cfe9ecd251004f3350d666d5ebd..f054899f62e294ce812d00e739f6815cd1ee489d 100644 (file)
@@ -1,51 +1,44 @@
 dnl
-dnl "$Id$"
+dnl Threading stuff for CUPS.
 dnl
-dnl   Threading stuff for the Common UNIX Printing System (CUPS).
+dnl Copyright 2007-2017 by Apple Inc.
+dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
 dnl
-dnl   Copyright 1997-2005 by Easy Software Products, all rights reserved.
-dnl
-dnl   These coded instructions, statements, and computer programs are the
-dnl   property of Easy Software Products and are protected by Federal
-dnl   copyright law.  Distribution and use rights are outlined in the file
-dnl   "LICENSE.txt" which should have been included with this file.  If this
-dnl   file is missing or damaged please contact Easy Software Products
-dnl   at:
-dnl
-dnl       Attn: CUPS Licensing Information
-dnl       Easy Software Products
-dnl       44141 Airport View Drive, Suite 204
-dnl       Hollywood, Maryland 20636 USA
-dnl
-dnl       Voice: (301) 373-9600
-dnl       EMail: cups-info@cups.org
-dnl         WWW: http://www.cups.org
+dnl Licensed under Apache License v2.0.  See the file "LICENSE" for more information.
 dnl
 
-AC_ARG_ENABLE(threads, [  --enable-threads        enable multi-threading support])
+AC_ARG_ENABLE(threads, [  --disable-threads       disable multi-threading support])
 
 have_pthread=no
+PTHREAD_FLAGS=""
 
 if test "x$enable_threads" != xno; then
        AC_CHECK_HEADER(pthread.h, AC_DEFINE(HAVE_PTHREAD_H))
-       AC_CHECK_LIB(pthread, pthread_create)
 
-       if test "x$ac_cv_lib_pthread_pthread_create" = xyes -a x$ac_cv_header_pthread_h = xyes; then
-               have_pthread=yes
-       else
-               dnl *BSD uses -pthread option...
-               AC_MSG_CHECKING([for pthread_create using -pthread])
-               SAVELIBS="$LIBS"
-               LIBS="-pthread $LIBS"
-               AC_TRY_LINK([#include <pthread.h>],
-                       [pthread_create(0, 0, 0, 0);],
-                       have_pthread=yes,
-                       LIBS="$SAVELIBS")
-               AC_MSG_RESULT([$have_pthread])
+       if test x$ac_cv_header_pthread_h = xyes; then
+               dnl Check various threading options for the platforms we support
+               for flag in -lpthreads -lpthread -pthread; do
+                       AC_MSG_CHECKING([for pthread_create using $flag])
+                       SAVELIBS="$LIBS"
+                       LIBS="$flag $LIBS"
+                       AC_TRY_LINK([#include <pthread.h>],
+                               [pthread_create(0, 0, 0, 0);],
+                               have_pthread=yes,
+                               LIBS="$SAVELIBS")
+                       AC_MSG_RESULT([$have_pthread])
+
+                       if test $have_pthread = yes; then
+                               PTHREAD_FLAGS="-D_THREAD_SAFE -D_REENTRANT"
+
+                               # Solaris requires -D_POSIX_PTHREAD_SEMANTICS to
+                               # be POSIX-compliant... :(
+                               if test $host_os_name = sunos; then
+                                       PTHREAD_FLAGS="$PTHREAD_FLAGS -D_POSIX_PTHREAD_SEMANTICS"
+                               fi
+                               break
+                       fi
+               done
        fi
 fi
 
-
-dnl
-dnl End of "$Id$".
-dnl
+AC_SUBST(PTHREAD_FLAGS)