diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-12-26 09:51:04 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-12-26 09:51:04 +0000 |
commit | 7f0b17c6fc07615dd900d0ffec190606f7ce734d (patch) | |
tree | b0a388ed9aac6ced1757e2aa2d96a7307b36dc29 /configure.in | |
parent | b3e5bda89aaceb03153a3ecd6cfdf55c5a48d746 (diff) | |
download | ruby-7f0b17c6fc07615dd900d0ffec190606f7ce734d.tar.gz |
* configure.in: check if getcontext and setcontext are available.
* eval.c: use presence of getcontext/setcontext.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5306 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 71 |
1 files changed, 31 insertions, 40 deletions
diff --git a/configure.in b/configure.in index 456f653c9e..9226dc980f 100644 --- a/configure.in +++ b/configure.in @@ -685,46 +685,37 @@ int main() AC_DEFINE_UNQUOTED(STACK_GROW_DIRECTION, $rb_cv_stack_grow_dir) if test "$enable_pthread" = "yes"; then - AC_CHECK_LIB(pthread, pthread_kill, - rb_with_pthread=yes, rb_with_pthread=no) - if test "$rb_with_pthread" = "yes"; then - LIBS="-lpthread $LIBS" - AC_DEFINE(_REENTRANT) - AC_DEFINE(_THREAD_SAFE) - AC_DEFINE(HAVE_LIBPTHREAD) - else - AC_CHECK_LIB(pthreads, pthread_kill, - rb_with_pthread=yes, rb_with_pthread=no) - if test "$rb_with_pthread" = "yes"; then - LIBS="-lpthreads $LIBS" - AC_DEFINE(_REENTRANT) - AC_DEFINE(_THREAD_SAFE) - AC_DEFINE(HAVE_LIBPTHREAD) - else - AC_CHECK_LIB(c, pthread_kill, - rb_with_pthread=yes, rb_with_pthread=no) - if test "$rb_with_pthread" = "yes"; then - AC_DEFINE(_REENTRANT) - AC_DEFINE(_THREAD_SAFE) - AC_DEFINE(HAVE_LIBPTHREAD) - else - AC_CHECK_LIB(c_r, pthread_kill, - rb_with_pthread=yes, rb_with_pthread=no) - if test "$rb_with_pthread" = "yes"; then - AC_DEFINE(_REENTRANT) - AC_DEFINE(_THREAD_SAFE) - AC_DEFINE(HAVE_LIBPTHREAD) - MAINLIBS="-pthread $MAINLIBS" - else - AC_MSG_WARN("Don't know how to find pthread library on your system -- thread support disabled") - fi - fi - fi - fi - AC_CHECK_FUNC(nanosleep) - if test "$ac_cv_func_nanosleep" = "no"; then - AC_CHECK_LIB(rt, nanosleep, AC_DEFINE(HAVE_NANOSLEEP)) - fi + for pthread_lib in pthread pthreads c c_r; do + AC_CHECK_LIB($pthread_lib, pthread_kill, + rb_with_pthread=yes, rb_with_pthread=no) + if test "$rb_with_pthread" = "yes"; then break; fi + done + if test $rb_with_pthread = yes; then + AC_DEFINE(_REENTRANT) + AC_DEFINE(_THREAD_SAFE) + AC_DEFINE(HAVE_LIBPTHREAD) + case $pthread_lib in + c) + ;; + c_r) + MAINLIBS="-pthread $MAINLIBS" + ;; + *) + LIBS="-l$pthread_lib $LIBS" + ;; + esac + else + AC_MSG_WARN("Don't know how to find pthread library on your system -- thread support disabled") + fi + AC_CHECK_FUNC(nanosleep) + if test "$ac_cv_func_nanosleep" = "no"; then + AC_CHECK_LIB(rt, nanosleep, AC_DEFINE(HAVE_NANOSLEEP)) + fi +fi +if test $ac_cv_header_ucontext_h = yes; then + if test $target_cpu = ia64 -o $rb_with_pthread = yes; then + AC_CHECK_FUNCS(getcontext setcontext) + fi fi dnl default value for $KANJI |