diff options
author | Benny Prijono <bennylp@teluu.com> | 2008-02-07 13:11:39 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2008-02-07 13:11:39 +0000 |
commit | 56886ef4b648760667743506f4f7bed9830798e8 (patch) | |
tree | 33d43a16fe1cf5c26afae53de0dc0bf8e8478bba /aconfigure.ac | |
parent | a50cf4e4adc531db5edd98ec99bb358b397c8557 (diff) |
Ticket #470, #471, and #472: Compile error when semaphore.h is not present, Compilation error if pthread_mutexattr_set_type() is not present, and Problem with setting up FD_SETSIZE
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1783 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'aconfigure.ac')
-rw-r--r-- | aconfigure.ac | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/aconfigure.ac b/aconfigure.ac index 15a86817..ea26160a 100644 --- a/aconfigure.ac +++ b/aconfigure.ac @@ -1,4 +1,4 @@ -AC_INIT(pjproject,0.7) +AC_INIT(pjproject,0.8) host_orig="$host" @@ -146,6 +146,7 @@ AC_CHECK_HEADER(netinet/in.h,[AC_DEFINE(PJ_HAS_NETINET_IN_H,1)]) AC_CHECK_HEADER(netinet/ip.h,[AC_DEFINE(PJ_HAS_NETINET_IP_H,1)]) AC_CHECK_HEADER(net/if.h,[AC_DEFINE(PJ_HAS_NET_IF_H,1)]) AC_CHECK_HEADER(ifaddrs.h,[AC_DEFINE(PJ_HAS_IFADDRS_H,1)]) +AC_CHECK_HEADER(semaphore.h,[AC_DEFINE(PJ_HAS_SEMAPHORE_H,1)]) AC_CHECK_HEADER(setjmp.h,[AC_DEFINE(PJ_HAS_SETJMP_H,1)]) AC_CHECK_HEADER(stdarg.h,[AC_DEFINE(PJ_HAS_STDARG_H,1)]) AC_CHECK_HEADER(stddef.h,[AC_DEFINE(PJ_HAS_STDDEF_H,1)]) @@ -268,10 +269,43 @@ AC_MSG_CHECKING([if pthread_rwlock_t is available]) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>], [pthread_rwlock_t *x;])], [AC_DEFINE(PJ_EMULATE_RWMUTEX,0) + ac_rwmutex="yes" AC_MSG_RESULT(yes)], [AC_DEFINE(PJ_EMULATE_RWMUTEX,1) + ac_rwmutex="no" AC_MSG_RESULT(no)]) +dnl # If rwmutex is not detected, check again but this time +dnl # with _POSIX_READER_WRITER_LOCKS defined (newlib needs this) +if test "$ac_rwmutex" = "no"; then + AC_MSG_CHECKING([if pthread_rwlock_t is available with _POSIX_READER_WRITER_LOCKS]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#define _POSIX_READER_WRITER_LOCKS + #include <pthread.h>]], + [pthread_rwlock_t *x;])], + [AC_DEFINE(PJ_EMULATE_RWMUTEX,0) + CFLAGS="$CFLAGS -D_POSIX_THREADS -D_POSIX_READER_WRITER_LOCKS" + AC_MSG_RESULT(yes)], + [AC_DEFINE(PJ_EMULATE_RWMUTEX,1) + AC_MSG_RESULT(no)]) +fi + +dnl # Do we have pthread_mutexattr_settype()? +AC_MSG_CHECKING([if pthread_mutexattr_settype() is available]) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>], + [pthread_mutexattr_settype(0,PTHREAD_MUTEX_FAST_NP);])], + [AC_DEFINE(PJ_HAS_PTHREAD_MUTEXATTR_SETTYPE,1) + AC_MSG_RESULT(yes)], + [AC_MSG_RESULT(no)]) + +dnl # Does pthread_mutexattr_t has "recursive" member? +AC_MSG_CHECKING([if pthread_mutexattr_t has recursive member]) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>], + [[pthread_mutexattr_t attr; + attr.recursive=1;]])], + [AC_DEFINE(PJ_PTHREAD_MUTEXATTR_T_HAS_RECURSIVE,1) + AC_MSG_RESULT(yes)], + [AC_MSG_RESULT(no)]) + AC_SUBST(ac_os_objs) case $target in *mingw* | *cygw* | *win32* | *w32* ) |