TickHook: Fix crash when TickHook isn't set.
[gemrb.git] / acinclude.m4
blobf5835729aefba670997c6e304193f098beec6404
1 # -*-autoconf-*-
2 # GemRB - Infinity Engine Emulator
3 # Copyright (C) 2003 The GemRB Project
5 # This program is free software; you can redistribute it and/or
6 # modify it under the terms of the GNU General Public License
7 # as published by the Free Software Foundation; either version 2
8 # of the License, or (at your option) any later version.
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 # GNU General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software
17 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20 ###################################################
21 dnl Configure paths for SDL
22 dnl Edheldil & Subvertir - 12/09/03
23 dnl Sam Lantinga 9/21/99
24 dnl stolen from Manish Singh
25 dnl stolen back from Frank Belew
26 dnl stolen from Manish Singh
27 dnl Shamelessly stolen from Owen Taylor
29 dnl AM_PATH_SDL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
30 dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS
31 dnl
33 AC_DEFUN([AM_PATH_SDL],
34 [dnl 
35 dnl Get the cflags and libraries from the sdl-config script
36 dnl
37 AC_ARG_WITH(sdl-prefix,[  --with-sdl-prefix=PFX   Prefix where SDL is installed (optional)],
38             sdl_prefix="$withval", sdl_prefix="")
39 AC_ARG_WITH(sdl-exec-prefix,[  --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)],
40             sdl_exec_prefix="$withval", sdl_exec_prefix="")
41 AC_ARG_ENABLE(sdltest, [  --disable-sdltest       Do not try to compile and run a test SDL program],
42                     , enable_sdltest=yes)
44   if test x$sdl_exec_prefix != x ; then
45      sdl_args="$sdl_args --exec-prefix=$sdl_exec_prefix"
46      if test x${SDL_CONFIG+set} != xset ; then
47         SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config
48      fi
49   fi
50   if test x$sdl_prefix != x ; then
51      sdl_args="$sdl_args --prefix=$sdl_prefix"
52      if test x${SDL_CONFIG+set} != xset ; then
53         SDL_CONFIG=$sdl_prefix/bin/sdl-config
54      fi
55   fi
57   AC_REQUIRE([AC_CANONICAL_TARGET])
58   PATH="$prefix/bin:$prefix/usr/bin:$PATH"
59   AC_PATH_PROG(SDL_CONFIG, sdl-config, no, [$PATH])
60   min_sdl_version=ifelse([$1], ,0.11.0,$1)
61   AC_MSG_CHECKING(for SDL - version >= $min_sdl_version)
62   no_sdl=""
63   if test "$SDL_CONFIG" = "no" ; then
64     no_sdl=yes
65   else
66     SDL_CFLAGS=`$SDL_CONFIG $sdlconf_args --cflags`
67     SDL_LIBS=`$SDL_CONFIG $sdlconf_args --libs`
69     sdl_major_version=`$SDL_CONFIG $sdl_args --version | \
70            sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
71     sdl_minor_version=`$SDL_CONFIG $sdl_args --version | \
72            sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
73     sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \
74            sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
75     if test "x$enable_sdltest" = "xyes" ; then
76       ac_save_CFLAGS="$CFLAGS"
77       ac_save_LIBS="$LIBS"
78       CFLAGS="$CFLAGS $SDL_CFLAGS"
79       CXXFLAGS="$CXXFLAGS $SDL_CFLAGS"
80       LIBS="$LIBS $SDL_LIBS"
81 dnl
82 dnl Now check if the installed SDL is sufficiently new. (Also sanity
83 dnl checks the results of sdl-config to some extent
84 dnl
85       rm -f conf.sdltest
86       AC_TRY_RUN([
87 #include <stdio.h>
88 #include <stdlib.h>
89 #include <string.h>
90 #include "SDL.h"
92 char*
93 my_strdup (char *str)
95   char *new_str;
96   
97   if (str)
98     {
99       new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char));
100       strcpy (new_str, str);
101     }
102   else
103     new_str = NULL;
104   
105   return new_str;
108 int main (int argc, char *argv[])
110   int major, minor, micro;
111   char *tmp_version;
113   /* This hangs on some systems (?)
114   system ("touch conf.sdltest");
115   */
116   { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); }
118   /* HP/UX 9 (%@#!) writes to sscanf strings */
119   tmp_version = my_strdup("$min_sdl_version");
120   if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
121      printf("%s, bad version string\n", "$min_sdl_version");
122      exit(1);
123    }
125    if (($sdl_major_version > major) ||
126       (($sdl_major_version == major) && ($sdl_minor_version > minor)) ||
127       (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro)))
128     {
129       return 0;
130     }
131   else
132     {
133       printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version);
134       printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro);
135       printf("*** best to upgrade to the required version.\n");
136       printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n");
137       printf("*** to point to the correct copy of sdl-config, and remove the file\n");
138       printf("*** config.cache before re-running configure\n");
139       return 1;
140     }
143 ],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
144        CFLAGS="$ac_save_CFLAGS"
145        LIBS="$ac_save_LIBS"
146      fi
147   fi
148   if test "x$no_sdl" = x ; then
149      AC_MSG_RESULT(yes)
150      ifelse([$2], , :, [$2])     
151   else
152      AC_MSG_RESULT(no)
153      if test "$SDL_CONFIG" = "no" ; then
154        echo "*** The sdl-config script installed by SDL could not be found"
155        echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in"
156        echo "*** your path, or set the SDL_CONFIG environment variable to the"
157        echo "*** full path to sdl-config."
158      else
159        if test -f conf.sdltest ; then
160         :
161        else
162           echo "*** Could not run SDL test program, checking why..."
163           CFLAGS="$CFLAGS $SDL_CFLAGS"
164           LIBS="$LIBS $SDL_LIBS"
165           AC_TRY_LINK([
166 #include <stdio.h>
167 #include "SDL.h"
169 int main(int argc, char *argv[])
170 { return 0; }
171 #undef  main
172 #define main K_and_R_C_main
173 ],      [ return 0; ],
174         [ echo "*** The test program compiled, but did not run. This usually means"
175           echo "*** that the run-time linker is not finding SDL or finding the wrong"
176           echo "*** version of SDL. If it is not finding SDL, you'll need to set your"
177           echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
178           echo "*** to the installed location  Also, make sure you have run ldconfig if that"
179           echo "*** is required on your system"
180           echo "***"
181           echo "*** If you have an old version installed, it is best to remove it, although"
182           echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
183         [ echo "*** The test program failed to compile or link. See the file config.log for the"
184           echo "*** exact error that occured. This usually means SDL was incorrectly installed"
185           echo "*** or that you have moved SDL since it was installed. In the latter case, you"
186           echo "*** may want to edit the sdl-config script: $SDL_CONFIG" ])
187           CFLAGS="$ac_save_CFLAGS"
188           LIBS="$ac_save_LIBS"
189        fi
190      fi
191      SDL_CFLAGS=""
192      SDL_LIBS=""
193      ifelse([$3], , :, [$3])
194   fi
195   AC_SUBST(SDL_CFLAGS)
196   AC_SUBST(SDL_LIBS)
197   rm -f conf.sdltest
200 ###################################################
201 dnl Configure paths for OPENAL
202 dnl AM_PATH_OPENAL([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
203 dnl Test for OPENAL, and define OPENAL_CFLAGS and OPENAL_LIBS
206 AC_DEFUN([AM_PATH_OPENAL],
207 [dnl 
208 dnl Get the cflags and libraries from the openal-config script
210 AC_ARG_WITH(openal-prefix,[  --with-openal-prefix=PFX   Prefix where OPENAL is installed (optional)],
211             openal_prefix="$withval", openal_prefix="")
212 AC_ARG_WITH(openal-exec-prefix,[  --with-openal-exec-prefix=PFX Exec prefix where OPENAL is installed (optional)],
213             openal_exec_prefix="$withval", openal_exec_prefix="")
214 AC_ARG_ENABLE(openaltest, [  --disable-openaltest       Do not try to compile and run a test OPENAL program],
215                     , enable_openaltest=yes)
217   if test x$openal_exec_prefix != x ; then
218      openal_args="$openal_args --exec-prefix=$openal_exec_prefix"
219      if test x${OPENAL_CONFIG+set} != xset ; then
220         OPENAL_CONFIG=$openal_exec_prefix/bin/openal-config
221      fi
222   fi
223   if test x$openal_prefix != x ; then
224      openal_args="$openal_args --prefix=$openal_prefix"
225      if test x${OPENAL_CONFIG+set} != xset ; then
226         OPENAL_CONFIG=$openal_prefix/bin/openal-config
227      fi
228   fi
230   AC_REQUIRE([AC_CANONICAL_TARGET])
231   PATH="$prefix/bin:$prefix/usr/bin:$PATH"
232   AC_PATH_PROG(OPENAL_CONFIG, openal-config, no, [$PATH])
233   AC_PATH_PROG(PKGCONFIG, pkg-config, no, [$PATH])
234   AC_MSG_CHECKING(for OPENAL library)
235   no_openal=""
236   if test "$OPENAL_CONFIG" = "no" && test "$PKGCONFIG" = "no" ; then
237     no_openal=yes
238   else
239     if test "$OPENAL_CONFIG" = "no" ; then
240       OPENAL_CFLAGS=`$PKGCONFIG openal --cflags`
241       OPENAL_LIBS="`$PKGCONFIG openal --libs` $LIBPTHREAD"
242     else
243       OPENAL_CFLAGS=`$OPENAL_CONFIG $openalconf_args --cflags`
244       OPENAL_LIBS="`$OPENAL_CONFIG $openalconf_args --libs` $LIBPTHREAD"
245     fi
247     if test "x$enable_openaltest" = "xyes" ; then
248       ac_save_CFLAGS="$CFLAGS"
249       ac_save_LIBS="$LIBS"
250       CFLAGS="$CFLAGS $OPENAL_CFLAGS"
251       CXXFLAGS="$CXXFLAGS $OPENAL_CFLAGS"
252       LIBS="$LIBS $OPENAL_LIBS"
254 dnl Now check if the installed OPENAL is sufficiently new.
256       rm -f conf.openaltest
257       AC_TRY_LINK([
258 #include "AL/al.h"
259 ],[ return alGetError(); ],no_openal="",no_openal=yes)
260        CFLAGS="$ac_save_CFLAGS"
261        LIBS="$ac_save_LIBS"
262      fi
263   fi
264   if test "x$no_openal" = x ; then
265      AC_MSG_RESULT(yes)
266      ifelse([$1], , :, [$1])     
267   else
268      AC_MSG_RESULT(no)
269      echo "*** The test program failed to compile or link. See the file config.log for the"
270      echo "*** exact error that occured. This usually means OPENAL is not installed,"
271      echo "*** that it's installed incorrectly or that it has been moved since"
272      echo "*** installation. In the latter case, you may want to edit the "
273      echo "*** openal-config script: $OPENAL_CONFIG"
274      OPENAL_CFLAGS=""
275      OPENAL_LIBS=""
276      ifelse([$2], , :, [$2])
277   fi
278   AC_SUBST(OPENAL_CFLAGS)
279   AC_SUBST(OPENAL_LIBS)
280   rm -f conf.openaltest
285 ###################################################
286 dnl Configure paths for python
287 dnl Shamelessly ripped from dia 0.92
288 dnl From Andrew Dalke
289 dnl Updated by James Henstridge
291 AC_DEFUN([AM_PATH_PYTHON],
293   dnl Find a version of Python.  I could check for python versions 1.4
294   dnl or earlier, but the default installation locations changed from
295   dnl $prefix/lib/site-python in 1.4 to $prefix/lib/python1.5/site-packages
296   dnl in 1.5, and I don't want to maintain that logic.
298   if test -z "$PYTHON"; then
299      AC_PATH_PROGS(PYTHON, python python2.3 python2.2 python2.1 python2.0 python1.6 python1.5)
300   fi
302   dnl should we do the version check?
303   ifelse([$1],[],,[
304     AC_MSG_CHECKING(if Python version >= $1)
305     changequote(<<, >>)dnl
306     prog="
307 import sys, string
308 minver = '$1'
309 pyver = string.split(sys.version)[0]  # first word is version string
310 # split strings by '.' and convert to numeric
311 minver = map(string.atoi, string.split(minver, '.'))
312 if hasattr(sys, 'version_info'):
313     pyver = sys.version_info[:3]
314 else:
315     pyver = map(string.atoi, string.split(pyver, '.'))
316 # we can now do comparisons on the two lists:
317 if tuple(pyver) >= tuple(minver):
318         sys.exit(0)
319 else:
320         sys.exit(1)"
321     changequote([, ])dnl
322     if $PYTHON -c "$prog" 1>&AC_FD_CC 2>&AC_FD_CC
323     then
324       AC_MSG_RESULT(okay)
325       $2
326     else
327       AC_MSG_RESULT(too old)
328       $3
329     fi
330   ])
332   AC_MSG_CHECKING([local Python configuration])
333   echo
335   dnl Query Python for its version number.  Getting [:3] seems to be
336   dnl the best way to do this; it's what "site.py" does in the standard
337   dnl library.  Need to change quote character because of [:3]
339   AC_SUBST(PYTHON_VERSION)
340   changequote(<<, >>)dnl
341   PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[:3]"`
342   changequote([, ])dnl
345   dnl Use the values of $prefix and $exec_prefix for the corresponding
346   dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX.  These are made
347   dnl distinct variables so they can be overridden if need be.  However,
348   dnl general consensus is that you shouldn't need this ability.
350   AC_SUBST(PYTHON_PREFIX)
351   PYTHON_PREFIX='${prefix}'
353   AC_SUBST(PYTHON_EXEC_PREFIX)
354   PYTHON_EXEC_PREFIX='${exec_prefix}'
359 ###################################################
360 dnl Macro to check for availability of python headers
361 dnl  AM_CHECK_PYTHON_HEADERS([ACTION-IF-POSSIBLE], [ACTION-IF-NOT-POSSIBLE])
362 dnl function also defines PYTHON_INCLUDES
364 AC_DEFUN([AM_CHECK_PYTHON_HEADERS],
365 [AC_REQUIRE([AM_PATH_PYTHON])
366 AC_MSG_CHECKING(for python headers)
367 dnl deduce PYTHON_INCLUDES
368 py_prefix=`$PYTHON -c "import sys; print sys.prefix"`
369 py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"`
370 PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}"
371 if test "$py_prefix" != "$py_exec_prefix"; then
372   PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}"
374 AC_SUBST(PYTHON_INCLUDES)
375 dnl check if the headers exist:
376 save_CPPFLAGS="$CPPFLAGS"
377 CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES"
378 AC_TRY_CPP([#include <Python.h>],dnl
379 [AC_MSG_RESULT(found)
380 $1],dnl
381 [AC_MSG_RESULT(not found)
382 $2])
383 CPPFLAGS="$save_CPPFLAGS"
386 ###################################################
387 dnl Macro to check for availability of python libraries
388 dnl  AM_CHECK_PYTHON_LIBS([ACTION-IF-POSSIBLE], [ACTION-IF-NOT-POSSIBLE])
389 dnl function also defines PYTHON_LIBS
391 AC_DEFUN([AM_CHECK_PYTHON_LIBS],
392 [AC_REQUIRE([AM_PATH_PYTHON])
393 AC_MSG_CHECKING(for python libraries)
394 dnl deduce PYTHON_LIBS
395 py_prefix=`$PYTHON -c "import sys; print sys.prefix"`
396 py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"`
397 PYTHON_LIBS="-L${py_prefix}/lib -lpython${PYTHON_VERSION}"
398 if test "$py_prefix" != "$py_exec_prefix"; then
399   PYTHON_LIBS="$PYTHON_LIBS -L${py_exec_prefix}/lib -lpython${PYTHON_VERSION}"
401 AC_SUBST(PYTHON_LIBS)
402 dnl check if the lib links:
403 save_CPPFLAGS="$CPPFLAGS"
404 CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES"
405 save_LIBS="$LIBS"
406 LIBS="$LIBS $PYTHON_LIBS $LIBPTHREAD"
407 AC_TRY_LINK([#include <Python.h>],[
408 Py_Initialize();
409 ],dnl
410 [AC_MSG_RESULT(found)
411 $1],dnl
412 [AC_MSG_RESULT(not found)
413 $2])
414 LIBS="$save_LIBS"
415 CPPFLAGS="$save_CPPFLAGS"
419 ###################################################
420 dnl Check for ZLib (gzip compression) library
421 dnl Available from the GNU Autoconf Macro Archive at:
422 dnl http://www.gnu.org/software/ac-archive/htmldoc/check_zlib.html
425 AC_DEFUN([CHECK_ZLIB],
427 # Handle user hints
429 [AC_MSG_CHECKING(if zlib is wanted)
430 AC_ARG_WITH(zlib,
431 [  --with-zlib=DIR root directory path of zlib installation [defaults to
432                     /usr/local or /usr if not found in /usr/local]
433   --without-zlib to disable zlib usage completely],
434 [if test "$withval" != no ; then
435   AC_MSG_RESULT(yes)
436   ZLIB_HOME="$withval"
437 else
438   AC_MSG_RESULT(no)
439 fi], [
440 AC_MSG_RESULT(yes)
441 ZLIB_HOME=/usr/local
442 if test ! -f "${ZLIB_HOME}/include/zlib.h"
443 then
444         ZLIB_HOME=/usr
449 # Locate zlib, if wanted
451 if test -n "${ZLIB_HOME}"
452 then
453         ZLIB_OLD_LDFLAGS=$LDFLAGS
454         ZLIB_OLD_CPPFLAGS=$LDFLAGS
455         LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib"
456         CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include"
457         AC_LANG_SAVE
458         AC_LANG_C
459         AC_CHECK_LIB(z, inflateEnd, [zlib_cv_libz=yes], [zlib_cv_libz=no])
460         AC_CHECK_HEADER(zlib.h, [zlib_cv_zlib_h=yes], [zlib_cvs_zlib_h=no])
461         AC_LANG_RESTORE
462         if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes"
463         then
464                 #
465                 # If both library and header were found, use them
466                 #
467                 AC_CHECK_LIB(z, inflateEnd)
468                 AC_MSG_CHECKING(zlib in ${ZLIB_HOME})
469                 AC_MSG_RESULT(ok)
470         else
471                 #
472                 # If either header or library was not found, revert and bomb
473                 #
474                 AC_MSG_CHECKING(zlib in ${ZLIB_HOME})
475                 LDFLAGS="$ZLIB_OLD_LDFLAGS"
476                 CPPFLAGS="$ZLIB_OLD_CPPFLAGS"
477                 AC_MSG_RESULT(failed)
478                 AC_MSG_ERROR(either specify a valid zlib installation with --with-zlib=DIR or disable zlib usage with --without-zlib)
479         fi
485 ###################################################
486 dnl Test whether STL library defines method container::at().
487 dnl Older versions (e.g. 2.95.x on Debian) don't and newer (3.x) do
488 dnl Syntax: AC_CHECK_STL_CONTAINER_AT([ACTION-IF-YES], [ACTION-IF-NO])
490 AC_DEFUN([AC_CHECK_STL_CONTAINER_AT],
492 AC_MSG_CHECKING(for container::at)
493 AC_TRY_COMPILE(
495 #include <vector>
496 #include <deque>
497 #include <string>
499 using namespace std;
502 deque<int> test_deque(3);
503 test_deque.at(2);
504 vector<int> test_vector(2);
505 test_vector.at(1);
506 string test_string("test_string");
507 test_string.at(3);
509 [AC_MSG_RESULT(yes)
510 dnl AC_DEFINE(HAVE_CONTAINER_AT)
511 $1],
512 [AC_MSG_RESULT(no)
513 $2])
516 ###################################################
517 dnl Test whether the compiler permits casting from pointer-to-object 
518 dnl to pointer-to-function (forbidden in GCC v4 and ISO C++).
519 dnl If the cast is forbidden, define HAVE_FORBIDDEN_OBJECT_TO_FUNCTION_CAST.
520 dnl Syntax: AC_CHECK_OBJECT_TO_FUNCTION_CAST()
522 AC_DEFUN([AC_CHECK_OBJECT_TO_FUNCTION_CAST],
524 SAVE_CXXFLAGS="$CXXFLAGS"
525 CXXFLAGS="$CXXFLAGS -Werror"
526 AC_MSG_CHECKING(whether compiler permits casting between ptr-to-object and ptr-to-function)
527 AC_TRY_COMPILE(
529 typedef void *(* voidvoid)(void);
532 void *object = 0;
533 voidvoid function;
534 function = (voidvoid) object;
536 [AC_MSG_RESULT(yes)
538 [AC_MSG_RESULT(no)
539 AC_DEFINE(HAVE_FORBIDDEN_OBJECT_TO_FUNCTION_CAST, 1, [Define to 1 if compiler forbids casting between pointer-to-function and pointer-to-object])
541 CXXFLAGS="$SAVE_CXXFLAGS"
545 ###################################################
546 dnl Check for the name of Posix threads library.
547 dnl Ripped from XMMS by Peter Alm & co and modified to integrate w/ GemRB
549 AC_DEFUN([AC_CHECK_PTHREADS],
551 LIBPTHREAD=error
552 AC_MSG_CHECKING(for old style FreeBSD -pthread flag)
553 AC_EGREP_CPP(yes,
554         [#if (defined(__FreeBSD_cc_version) && __FreeBSD_cc_version <= 500001) || defined(__OpenBSD__)
555           yes
556         #endif
557         ], AC_MSG_RESULT(yes)
558         CXXFLAGS="$CXXFLAGS -D_THREAD_SAFE"
559         LIBPTHREAD="-pthread",
560         AC_MSG_RESULT(no))
561 if test "x$LIBPTHREAD" = xerror; then
562         AC_CHECK_LIB(pthread, pthread_attr_init,
563                 LIBPTHREAD="-lpthread")
565 if test "x$LIBPTHREAD" = xerror; then
566         AC_CHECK_LIB(pthreads, pthread_attr_init,
567                 LIBPTHREAD="-lpthreads")
569 if test "x$LIBPTHREAD" = xerror; then
570         AC_CHECK_LIB(c_r, pthread_attr_init,
571                 LIBPTHREAD="-lc_r")
573 if test "x$LIBPTHREAD" = xerror; then
574         AC_CHECK_FUNC(pthread_attr_init, LIBPTHREAD="")
576 if test "x$LIBPTHREAD" = xerror; then
577         AC_MSG_ERROR(*** Unable to locate working posix thread library)
579 AC_SUBST(LIBPTHREAD)