diff options
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/configure.in b/configure.in index b82c6b19bd..ca3e2714a3 100644 --- a/configure.in +++ b/configure.in @@ -380,7 +380,7 @@ AC_CHECK_HEADERS(stdlib.h string.h unistd.h limits.h sys/file.h sys/ioctl.h\ fcntl.h sys/fcntl.h sys/select.h sys/time.h sys/times.h sys/param.h\ syscall.h pwd.h grp.h a.out.h utime.h memory.h direct.h sys/resource.h \ sys/mkdev.h sys/utime.h netinet/in_systm.h float.h ieeefp.h pthread.h \ - ucontext.h intrinsics.h) + ucontext.h intrinsics.h unwind.h) dnl Checks for typedefs, structures, and compiler characteristics. AC_TYPE_UID_T @@ -522,6 +522,22 @@ AC_C_CHAR_UNSIGNED AC_C_INLINE AC_C_VOLATILE +if test x"$target_cpu" = xia64; then + if test x"$ac_cv_header_unwind_h" = xyes; then + LIBS="-lunwind $LIBS" + else + AC_CACHE_CHECK(IA64 backing store member in mcontext_t, rb_cv_ia64_bspstore, + [rb_cv_ia64_bspstore=no; + for mem in mc_special.bspstore sc_ar_bsp; do + AC_TRY_COMPILE([#include <ucontext.h> +],[ucontext_t ctx; ctx.uc_mcontext.$mem = 0;], [rb_cv_ia64_bspstore=$mem; break]) + done]) + if test "$rb_cv_ia64_bspstore" != no; then + AC_DEFINE_UNQUOTED(IA64_BSPSTORE, $rb_cv_ia64_bspstore) + fi + fi +fi + AC_CACHE_CHECK(whether right shift preserve sign bit, rb_cv_rshift_sign, [AC_TRY_RUN([ int |