- if test $FLEX_VER_MAJ -eq 2 ; then
- if test $FLEX_VER_MED -lt 5 ; then
- AC_MSG_NOTICE([Will not rebuild the parsers. Your flex is too old.])
- LEX="$SHELL $missing_dir/missing flex";
- else
- if test $FLEX_VER_MED -eq 5 ; then
- if test $FLEX_VER_MIN -lt 31 ; then
- AC_MSG_NOTICE([Will not rebuild the parsers. Your flex is too old.])
- LEX="$SHELL $missing_dir/missing flex";
- fi;
- fi;
- fi;
- fi;
- fi;
+ ac_header=windows.h
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ AC_MSG_RESULT(there is no ucontext on windows, and none is needed.")
+ else
+ AC_MSG_RESULT([[no working ucontext found. Falling back to pthreads]])
+ with_context=pthread
+ fi
+ fi
+fi
+
+if test "x$with_context" = "xpthread"; then
+ AC_CHECK_HEADERS([pthread.h])
+ AC_CHECK_LIB(pthread,pthread_create,,
+ [AC_MSG_ERROR([[Cannot find pthreads, no way (try --with-context=ucontext if you haven't already tried).]])])
+ AC_DEFINE([USE_PTHREADS],1,[Define if we use pthreads or not])
+ AC_MSG_RESULT(You have pthreads. Let's use them.)
+fi
+
+dnl #
+dnl # 4. determine a few additional details
+dnl #
+
+if test "x$with_context" = "xucontext" ; then
+dnl # direction of stack grow
+ AC_CHECK_STACKGROWTH(PTH_STACKGROWTH)
+ if test ".$ac_cv_check_stackgrowth" = ".down"; then
+ PTH_STACK_GROWTH="down"
+ else
+ PTH_STACK_GROWTH="up"
+ fi
+ AC_SUBST(PTH_STACK_GROWTH)
+
+ AC_CHECK_STACKSETUP(makecontext, pth_skaddr_makecontext, pth_sksize_makecontext)