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 | |
parent | b3e5bda89aaceb03153a3ecd6cfdf55c5a48d746 (diff) |
* 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
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | configure.in | 71 | ||||
-rw-r--r-- | eval.c | 2 |
3 files changed, 38 insertions, 41 deletions
@@ -1,3 +1,9 @@ +Fri Dec 26 18:50:59 2003 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in: check if getcontext and setcontext are available. + + * eval.c: use presence of getcontext/setcontext. + Fri Dec 26 16:40:53 2003 Tanaka Akira <akr@m17n.org> * lib/pathname.rb (PathnameTest#test_plus): add 2 assertions. 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 @@ -29,7 +29,7 @@ #endif #include <stdio.h> -#if defined(HAVE_UCONTEXT_H) && (defined(__ia64__) || defined(HAVE_NATIVETHREAD)) && !defined(__stub_getcontext) +#if defined(HAVE_GETCONTEXT) && defined(HAVE_SETCONTEXT) #include <ucontext.h> #define USE_CONTEXT #else |