summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--configure.in14
2 files changed, 19 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 1e29e1b82..bdbcddb5d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sat Mar 7 22:06:03 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * configure.in (universal_binary): checks if sizes are same on all
+ architectures.
+
Sat Mar 7 18:45:56 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* configure.in: checks if cd really succeeded.
diff --git a/configure.in b/configure.in
index c7b999a31..0f7d8050b 100644
--- a/configure.in
+++ b/configure.in
@@ -344,6 +344,20 @@ AC_CHECK_SIZEOF(float, 4)
AC_CHECK_SIZEOF(double, 8)
AC_CHECK_SIZEOF(time_t, 0)
+if test "$universal_binary" = yes; then
+ for type in int long "long long" "void*" time_t; do
+ eval size='$ac_cv_sizeof_'AS_TR_SH($type)
+ if test $size = 0; then continue; fi
+ AC_COMPILE_IFELSE(
+ [AC_LANG_BOOL_COMPILE_TRY([AC_INCLUDES_DEFAULT],
+ [sizeof($type) == $size])], [], [size=0])
+ if test $size = 0; then
+ dnl try with __LP64__
+ AC_MSG_ERROR([size of $type is unknown])
+ fi
+ done
+fi
+
dnl RUBY_REPLACE_TYPE [typename] [default type] [macro type] [included]
AC_DEFUN([RUBY_REPLACE_TYPE], [dnl
AC_CHECK_TYPE([$1], [n=[$1]], [n=[$2]], [$4])