| | 129 | ]) |
|---|
| | 130 | |
|---|
| | 131 | |
|---|
| | 132 | AC_DEFUN([_WI_PTHREAD_TEST_INCLUDES], [ |
|---|
| | 133 | #include <pthread.h> |
|---|
| | 134 | #include <errno.h> |
|---|
| | 135 | |
|---|
| | 136 | void * thread(void *arg) { |
|---|
| | 137 | return NULL; |
|---|
| | 138 | } |
|---|
| | 139 | ]) |
|---|
| | 140 | |
|---|
| | 141 | |
|---|
| | 142 | AC_DEFUN([_WI_PTHREAD_TEST_FUNCTION], [ |
|---|
| | 143 | pthread_t tid; |
|---|
| | 144 | |
|---|
| | 145 | if(pthread_create(&tid, 0, thread, NULL) < 0) |
|---|
| | 146 | return errno; |
|---|
| | 147 | |
|---|
| | 148 | return 0; |
|---|
| | 149 | ]) |
|---|
| | 150 | |
|---|
| | 151 | |
|---|
| | 152 | AC_DEFUN([_WI_PTHREAD_TEST_PROGRAM], [ |
|---|
| | 153 | _WI_PTHREAD_TEST_INCLUDES |
|---|
| | 154 | |
|---|
| | 155 | int main(void) { |
|---|
| | 156 | _WI_PTHREAD_TEST_FUNCTION |
|---|
| | 157 | } |
|---|
| | 158 | ]) |
|---|
| | 159 | |
|---|
| | 160 | |
|---|
| | 161 | AC_DEFUN([_WI_PTHREAD_TRY], [ |
|---|
| | 162 | if test "$_wi_pthreads_found" != yes ; then |
|---|
| | 163 | OLD_LIBS="$LIBS" |
|---|
| | 164 | LIBS="$1 $LIBS" |
|---|
| | 165 | |
|---|
| | 166 | AC_RUN_IFELSE([AC_LANG_SOURCE([_WI_PTHREAD_TEST_PROGRAM])], [ |
|---|
| | 167 | _wi_pthreads_test=yes |
|---|
| | 168 | ], [ |
|---|
| | 169 | _wi_pthreads_test=no |
|---|
| | 170 | ], [ |
|---|
| | 171 | AC_LINK_IFELSE([AC_LANG_PROGRAM([_WI_PTHREAD_TEST_INCLUDES], [_WI_PTHREAD_TEST_FUNCTION])], [ |
|---|
| | 172 | _wi_pthreads_test=yes |
|---|
| | 173 | ], [ |
|---|
| | 174 | _wi_pthreads_test=no |
|---|
| | 175 | ]) |
|---|
| | 176 | ]) |
|---|
| | 177 | |
|---|
| | 178 | LIBS="$OLD_LIBS" |
|---|
| | 179 | |
|---|
| | 180 | if test "$_wi_pthreads_test" = yes ; then |
|---|
| | 181 | _wi_pthreads_found=yes |
|---|
| | 182 | _wi_pthreads_libs="$1" |
|---|
| | 183 | fi |
|---|
| | 184 | fi |
|---|
| 139 | | AC_DEFUN([_WI_PTHREAD_TEST_INCLUDES], [ |
|---|
| 140 | | #include <pthread.h> |
|---|
| 141 | | #include <errno.h> |
|---|
| 142 | | |
|---|
| 143 | | void * thread(void *arg) { |
|---|
| 144 | | return NULL; |
|---|
| 145 | | } |
|---|
| 146 | | ]) |
|---|
| 147 | | |
|---|
| 148 | | |
|---|
| 149 | | AC_DEFUN([_WI_PTHREAD_TEST_FUNCTION], [ |
|---|
| 150 | | pthread_t tid; |
|---|
| 151 | | |
|---|
| 152 | | if(pthread_create(&tid, 0, thread, NULL) < 0) |
|---|
| 153 | | return errno; |
|---|
| 154 | | |
|---|
| 155 | | return 0; |
|---|
| 156 | | ]) |
|---|
| 157 | | |
|---|
| 158 | | |
|---|
| 159 | | AC_DEFUN([_WI_PTHREAD_TEST_PROGRAM], [ |
|---|
| 160 | | _WI_PTHREAD_TEST_INCLUDES |
|---|
| 161 | | |
|---|
| 162 | | int main(void) { |
|---|
| 163 | | _WI_PTHREAD_TEST_FUNCTION |
|---|
| 164 | | } |
|---|
| 165 | | ]) |
|---|
| 166 | | |
|---|
| 167 | | |
|---|
| 168 | | AC_DEFUN([_WI_PTHREAD_TRY], [ |
|---|
| 169 | | if test "$_wi_pthreads_found" != yes ; then |
|---|
| 170 | | OLD_LIBS="$LIBS" |
|---|
| 171 | | LIBS="$1 $LIBS" |
|---|
| 172 | | |
|---|
| 173 | | AC_RUN_IFELSE([AC_LANG_SOURCE([_WI_PTHREAD_TEST_PROGRAM])], [ |
|---|
| 174 | | _wi_pthreads_test=yes |
|---|
| 175 | | ], [ |
|---|
| 176 | | _wi_pthreads_test=no |
|---|
| 177 | | ], [ |
|---|
| 178 | | AC_LINK_IFELSE([AC_LANG_PROGRAM([_WI_PTHREAD_TEST_INCLUDES], [_WI_PTHREAD_TEST_FUNCTION])], [ |
|---|
| 179 | | _wi_pthreads_test=yes |
|---|
| 180 | | ], [ |
|---|
| 181 | | _wi_pthreads_test=no |
|---|
| 182 | | ]) |
|---|
| 183 | | ]) |
|---|
| 184 | | |
|---|
| 185 | | LIBS="$OLD_LIBS" |
|---|
| 186 | | |
|---|
| 187 | | if test "$_wi_pthreads_test" = yes ; then |
|---|
| 188 | | _wi_pthreads_found=yes |
|---|
| 189 | | _wi_pthreads_libs="$1" |
|---|
| 190 | | fi |
|---|
| 191 | | fi |
|---|
| 192 | | ]) |
|---|
| 193 | | |
|---|
| 194 | | |
|---|