mirror of
				https://git.tukaani.org/xz.git
				synced 2025-10-31 05:22:55 +00:00 
			
		
		
		
	Build: Update m4/ax_pthread.m4 from Autoconf Archive.
This commit is contained in:
		
							parent
							
								
									6ed0554a15
								
							
						
					
					
						commit
						b46fe3ced9
					
				| @ -82,7 +82,7 @@ | ||||
| #   modified version of the Autoconf Macro, you may extend this special | ||||
| #   exception to the GPL to apply to your modified version as well. | ||||
| 
 | ||||
| #serial 18 | ||||
| #serial 21 | ||||
| 
 | ||||
| AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD]) | ||||
| AC_DEFUN([AX_PTHREAD], [ | ||||
| @ -103,8 +103,8 @@ if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then | ||||
|         save_LIBS="$LIBS" | ||||
|         LIBS="$PTHREAD_LIBS $LIBS" | ||||
|         AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) | ||||
|         AC_TRY_LINK_FUNC(pthread_join, ax_pthread_ok=yes) | ||||
|         AC_MSG_RESULT($ax_pthread_ok) | ||||
|         AC_TRY_LINK_FUNC([pthread_join], [ax_pthread_ok=yes]) | ||||
|         AC_MSG_RESULT([$ax_pthread_ok]) | ||||
|         if test x"$ax_pthread_ok" = xno; then | ||||
|                 PTHREAD_LIBS="" | ||||
|                 PTHREAD_CFLAGS="" | ||||
| @ -164,6 +164,20 @@ case ${host_os} in | ||||
|         ;; | ||||
| esac | ||||
| 
 | ||||
| # Clang doesn't consider unrecognized options an error unless we specify | ||||
| # -Werror. We throw in some extra Clang-specific options to ensure that | ||||
| # this doesn't happen for GCC, which also accepts -Werror. | ||||
| 
 | ||||
| AC_MSG_CHECKING([if compiler needs -Werror to reject unknown flags]) | ||||
| save_CFLAGS="$CFLAGS" | ||||
| ax_pthread_extra_flags="-Werror" | ||||
| CFLAGS="$CFLAGS $ax_pthread_extra_flags -Wunknown-warning-option -Wsizeof-array-argument" | ||||
| AC_COMPILE_IFELSE([AC_LANG_PROGRAM([int foo(void);],[foo()])], | ||||
|                   [AC_MSG_RESULT([yes])], | ||||
|                   [ax_pthread_extra_flags= | ||||
|                    AC_MSG_RESULT([no])]) | ||||
| CFLAGS="$save_CFLAGS" | ||||
| 
 | ||||
| if test x"$ax_pthread_ok" = xno; then | ||||
| for flag in $ax_pthread_flags; do | ||||
| 
 | ||||
| @ -178,7 +192,7 @@ for flag in $ax_pthread_flags; do | ||||
|                 ;; | ||||
| 
 | ||||
|                 pthread-config) | ||||
|                 AC_CHECK_PROG(ax_pthread_config, pthread-config, yes, no) | ||||
|                 AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no]) | ||||
|                 if test x"$ax_pthread_config" = xno; then continue; fi | ||||
|                 PTHREAD_CFLAGS="`pthread-config --cflags`" | ||||
|                 PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" | ||||
| @ -193,7 +207,7 @@ for flag in $ax_pthread_flags; do | ||||
|         save_LIBS="$LIBS" | ||||
|         save_CFLAGS="$CFLAGS" | ||||
|         LIBS="$PTHREAD_LIBS $LIBS" | ||||
|         CFLAGS="$CFLAGS $PTHREAD_CFLAGS" | ||||
|         CFLAGS="$CFLAGS $PTHREAD_CFLAGS $ax_pthread_extra_flags" | ||||
| 
 | ||||
|         # Check for various functions.  We must include pthread.h, | ||||
|         # since some functions may be macros.  (On the Sequent, we | ||||
| @ -219,7 +233,7 @@ for flag in $ax_pthread_flags; do | ||||
|         LIBS="$save_LIBS" | ||||
|         CFLAGS="$save_CFLAGS" | ||||
| 
 | ||||
|         AC_MSG_RESULT($ax_pthread_ok) | ||||
|         AC_MSG_RESULT([$ax_pthread_ok]) | ||||
|         if test "x$ax_pthread_ok" = xyes; then | ||||
|                 break; | ||||
|         fi | ||||
| @ -245,9 +259,9 @@ if test "x$ax_pthread_ok" = xyes; then | ||||
|                 [attr_name=$attr; break], | ||||
|                 []) | ||||
|         done | ||||
|         AC_MSG_RESULT($attr_name) | ||||
|         AC_MSG_RESULT([$attr_name]) | ||||
|         if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then | ||||
|             AC_DEFINE_UNQUOTED(PTHREAD_CREATE_JOINABLE, $attr_name, | ||||
|             AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE], [$attr_name], | ||||
|                                [Define to necessary symbol if this constant | ||||
|                                 uses a non-standard name on your system.]) | ||||
|         fi | ||||
| @ -261,45 +275,54 @@ if test "x$ax_pthread_ok" = xyes; then | ||||
|             if test "$GCC" = "yes"; then | ||||
|                 flag="-D_REENTRANT" | ||||
|             else | ||||
|                 # TODO: What about Clang on Solaris? | ||||
|                 flag="-mt -D_REENTRANT" | ||||
|             fi | ||||
|             ;; | ||||
|         esac | ||||
|         AC_MSG_RESULT(${flag}) | ||||
|         AC_MSG_RESULT([$flag]) | ||||
|         if test "x$flag" != xno; then | ||||
|             PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" | ||||
|         fi | ||||
| 
 | ||||
|         AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT], | ||||
|             ax_cv_PTHREAD_PRIO_INHERIT, [ | ||||
|                 AC_LINK_IFELSE([ | ||||
|                     AC_LANG_PROGRAM([[#include <pthread.h>]], [[int i = PTHREAD_PRIO_INHERIT;]])], | ||||
|             [ax_cv_PTHREAD_PRIO_INHERIT], [ | ||||
|                 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]], | ||||
|                                                 [[int i = PTHREAD_PRIO_INHERIT;]])], | ||||
|                     [ax_cv_PTHREAD_PRIO_INHERIT=yes], | ||||
|                     [ax_cv_PTHREAD_PRIO_INHERIT=no]) | ||||
|             ]) | ||||
|         AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes"], | ||||
|             AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], 1, [Have PTHREAD_PRIO_INHERIT.])) | ||||
|             [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])]) | ||||
| 
 | ||||
|         LIBS="$save_LIBS" | ||||
|         CFLAGS="$save_CFLAGS" | ||||
| 
 | ||||
|         # More AIX lossage: must compile with xlc_r or cc_r | ||||
|         if test x"$GCC" != xyes; then | ||||
|           AC_CHECK_PROGS(PTHREAD_CC, xlc_r cc_r, ${CC}) | ||||
|         else | ||||
|           PTHREAD_CC=$CC | ||||
|         # More AIX lossage: compile with *_r variant | ||||
|         if test "x$GCC" != xyes; then | ||||
|             case $host_os in | ||||
|                 aix*) | ||||
|                 AS_CASE(["x/$CC"], | ||||
|                   [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6], | ||||
|                   [#handle absolute path differently from PATH based program lookup | ||||
|                    AS_CASE(["x$CC"], | ||||
|                      [x/*], | ||||
|                      [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])], | ||||
|                      [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])]) | ||||
|                 ;; | ||||
|             esac | ||||
|         fi | ||||
| else | ||||
|         PTHREAD_CC="$CC" | ||||
| fi | ||||
| 
 | ||||
| AC_SUBST(PTHREAD_LIBS) | ||||
| AC_SUBST(PTHREAD_CFLAGS) | ||||
| AC_SUBST(PTHREAD_CC) | ||||
| test -n "$PTHREAD_CC" || PTHREAD_CC="$CC" | ||||
| 
 | ||||
| AC_SUBST([PTHREAD_LIBS]) | ||||
| AC_SUBST([PTHREAD_CFLAGS]) | ||||
| AC_SUBST([PTHREAD_CC]) | ||||
| 
 | ||||
| # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: | ||||
| if test x"$ax_pthread_ok" = xyes; then | ||||
|         ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1]) | ||||
|         ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1]) | ||||
|         : | ||||
| else | ||||
|         ax_pthread_ok=no | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user