[前][次][番号順一覧][スレッド一覧]

ruby-changes:5486

From: shyouhei <ko1@a...>
Date: Sun, 8 Jun 2008 05:28:41 +0900 (JST)
Subject: [ruby-changes:5486] Ruby:r16988 (ruby_1_8_6): merge revision(s) 14222:14225:

shyouhei	2008-06-08 05:27:52 +0900 (Sun, 08 Jun 2008)

  New Revision: 16988

  Modified files:
    branches/ruby_1_8_6/ChangeLog
    branches/ruby_1_8_6/configure.in
    branches/ruby_1_8_6/ext/readline/extconf.rb
    branches/ruby_1_8_6/lib/mkmf.rb
    branches/ruby_1_8_6/missing/strftime.c
    branches/ruby_1_8_6/version.h

  Log:
    merge revision(s) 14222:14225:
    * configure.in (RUBY_CHECK_VARTYPE): check if a variable is defined
      and its type.
    * configure.in (timezone, altzone): check for recent cygwin.
    * missing/strftime.c (strftime): fix for timezone.  [ruby-dev:32536]
    * lib/mkmf.rb (try_var): should fail for functions.
    * ext/readline/extconf.rb: should use have_func for functions instead
      of have_var.


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_6/ChangeLog?r1=16988&r2=16987&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_6/version.h?r1=16988&r2=16987&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_6/configure.in?r1=16988&r2=16987&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_6/missing/strftime.c?r1=16988&r2=16987&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_6/lib/mkmf.rb?r1=16988&r2=16987&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_6/ext/readline/extconf.rb?r1=16988&r2=16987&diff_format=u

Index: ruby_1_8_6/ext/readline/extconf.rb
===================================================================
--- ruby_1_8_6/ext/readline/extconf.rb	(revision 16987)
+++ ruby_1_8_6/ext/readline/extconf.rb	(revision 16988)
@@ -42,9 +42,9 @@
   end
 end
 
-have_readline_var("rl_filename_completion_function")
-have_readline_var("rl_username_completion_function")
-have_readline_var("rl_completion_matches")
+have_func("rl_filename_completion_function")
+have_func("rl_username_completion_function")
+have_func("rl_completion_matches")
 have_readline_var("rl_deprep_term_function")
 have_readline_var("rl_completion_append_character")
 have_readline_var("rl_basic_word_break_characters")
@@ -59,7 +59,6 @@
 have_func("rl_clear_signals")
 have_func("rl_vi_editing_mode")
 have_func("rl_emacs_editing_mode")
-have_func("rl_clear_signals")
 have_func("replace_history_entry")
 have_func("remove_history")
 create_makefile("readline")
Index: ruby_1_8_6/configure.in
===================================================================
--- ruby_1_8_6/configure.in	(revision 16987)
+++ ruby_1_8_6/configure.in	(revision 16988)
@@ -544,7 +544,8 @@
 	      lchown lchmod getpgrp setpgrp getpgid setpgid initgroups\
 	      getgroups setgroups getpriority getrlimit setrlimit sysconf\
 	      group_member dlopen sigprocmask\
-	      sigaction _setjmp setsid telldir seekdir fchmod mktime timegm\
+	      sigaction _setjmp setsid telldir seekdir fchmod\
+	      mktime timegm gettimeofday\
 	      cosh sinh tanh round setuid setgid setenv unsetenv)
 AC_ARG_ENABLE(setreuid,
        [  --enable-setreuid       use setreuid()/setregid() according to need even if obsolete.],
@@ -571,6 +572,31 @@
 if test "$rb_cv_have_daylight" = yes; then
   AC_DEFINE(HAVE_DAYLIGHT)
 fi
+AC_DEFUN([RUBY_CHECK_VARTYPE], [dnl
+AC_CACHE_CHECK([for external $1], rb_cv_var_$1,
+  [rb_cv_var_$1=no
+  AC_TRY_COMPILE([#define _XOPEN_SOURCE 1
+    $2
+    const volatile void *volatile t;],
+    [t = &(&$1)[0];],
+    [for t in $3; do
+      AC_TRY_COMPILE([#define _XOPEN_SOURCE 1
+        $2
+        extern $t $1;
+        const volatile void *volatile t;],
+        [t = &(&$1)[0];],
+        [rb_cv_var_$1=$t; break])
+    done])])
+if test "[$rb_cv_var_]$1" != no; then
+  AC_DEFINE([HAVE_VAR_]m4_toupper($1))
+  AC_DEFINE_UNQUOTED([TYPEOF_VAR_]m4_toupper($1), $rb_cv_var_$1)
+fi])
+RUBY_CHECK_VARTYPE(timezone, [#include <time.h>], [long int])
+RUBY_CHECK_VARTYPE(altzone, [#include <time.h>], [long int])
+if test "$rb_cv_var_timezone" = no; then
+  AC_CHECK_FUNCS(timezone)
+fi
+
 AC_CACHE_CHECK(for negative time_t for gmtime(3), rb_cv_negative_time_t,
   [AC_TRY_RUN([
 #include <time.h>
@@ -1203,7 +1229,7 @@
   human*)
     AC_CHECK_LIB(signal, _harderr)
     AC_CHECK_LIB(hmem, hmemset)
-    AC_CHECK_FUNCS(select gettimeofday)
+    AC_CHECK_FUNCS(select)
     AC_CACHE_CHECK(whether PD libc _dtos18 fail to convert big number,
 		   rb_cv_missing__dtos18,
     [AC_TRY_RUN(
Index: ruby_1_8_6/ChangeLog
===================================================================
--- ruby_1_8_6/ChangeLog	(revision 16987)
+++ ruby_1_8_6/ChangeLog	(revision 16988)
@@ -1,3 +1,17 @@
+Sun Jun  8 05:24:19 2008  Nobuyoshi Nakada  <nobu@r...>
+
+	* configure.in (RUBY_CHECK_VARTYPE): check if a variable is defined
+	  and its type.
+
+	* configure.in (timezone, altzone): check for recent cygwin.
+
+	* missing/strftime.c (strftime): fix for timezone.  [ruby-dev:32536]
+
+	* lib/mkmf.rb (try_var): should fail for functions.
+
+	* ext/readline/extconf.rb: should use have_func for functions instead
+	  of have_var.
+
 Sun Jun  8 05:08:35 2008  Nobuyoshi Nakada  <nobu@r...>
 
 	* lib/cgi.rb (read_multipart): exclude blanks from header values.
Index: ruby_1_8_6/version.h
===================================================================
--- ruby_1_8_6/version.h	(revision 16987)
+++ ruby_1_8_6/version.h	(revision 16988)
@@ -2,7 +2,7 @@
 #define RUBY_RELEASE_DATE "2008-06-08"
 #define RUBY_VERSION_CODE 186
 #define RUBY_RELEASE_CODE 20080608
-#define RUBY_PATCHLEVEL 158
+#define RUBY_PATCHLEVEL 159
 
 #define RUBY_VERSION_MAJOR 1
 #define RUBY_VERSION_MINOR 8
Index: ruby_1_8_6/lib/mkmf.rb
===================================================================
--- ruby_1_8_6/lib/mkmf.rb	(revision 16987)
+++ ruby_1_8_6/lib/mkmf.rb	(revision 16988)
@@ -438,7 +438,7 @@
 #{headers}
 /*top*/
 int main() { return 0; }
-int t() { const volatile void *volatile p; p = (void *)&#{var}; return 0; }
+int t() { const volatile void *volatile p; p = &(&#{var})[0]; return 0; }
 SRC
 end
 
Index: ruby_1_8_6/missing/strftime.c
===================================================================
--- ruby_1_8_6/missing/strftime.c	(revision 16987)
+++ ruby_1_8_6/missing/strftime.c	(revision 16988)
@@ -115,19 +115,24 @@
 
 #define range(low, item, hi)	max(low, min(item, hi))
 
+#ifdef __CYGWIN__
+#define DLL_IMPORT __declspec(dllimport)
+#endif
+#ifdef __WIN32__
+#define DLL_IMPORT __declspec(dllimport)
+#endif
 #if !defined(OS2) && !defined(MSDOS) && defined(HAVE_TZNAME)
-extern char *tzname[2];
-extern int daylight;
-#ifdef SOLARIS
-extern long timezone, altzone;
-#else
-#ifdef __hpux
-extern long timezone;
-#else
-extern int timezone, altzone;
+extern DLL_IMPORT char *tzname[2];
+#ifdef HAVE_DAYLIGHT
+extern DLL_IMPORT int daylight;
 #endif
+#ifdef HAVE_VAR_TIMEZONE
+extern DLL_IMPORT TYPEOF_VAR_TIMEZONE timezone;
 #endif
+#ifdef HAVE_VAR_ALTZONE
+extern DLL_IMPORT TYPEOF_VAR_ALTZONE altzone;
 #endif
+#endif
 
 #undef min	/* just in case */
 
@@ -189,16 +194,8 @@
 #endif /* POSIX_SEMANTICS */
 #ifndef HAVE_TM_ZONE
 #ifndef HAVE_TM_NAME
-#ifndef HAVE_TZNAME
-	extern char *timezone();
 	struct timeval tv;
 	struct timezone zone;
-#else
-#ifdef __hpux
-	struct timeval tv;
-	struct timezone zone;
-#endif
-#endif /* HAVE_TZNAME */
 #endif /* HAVE_TM_NAME */
 #endif /* HAVE_TM_ZONE */
 
@@ -422,21 +419,18 @@
 			 */
 			off = timeptr->tm_gmtoff / 60;
 #else /* !HAVE_TM_ZONE */
-#if HAVE_TZNAME
-			/*
-			 * Systems with tzname[] probably have timezone as
-			 * secs west of GMT.  Convert to mins east of GMT.
-			 */
-#ifdef __hpux
+#ifdef HAVE_GETTIMEOFDAY
 			gettimeofday(&tv, &zone);
 			off = -zone.tz_minuteswest;
 #else
+#if HAVE_VAR_TIMEZONE
+#if HAVE_VAR_ALTZONE
 			off = -(daylight ? timezone : altzone) / 60;
+#else
+			off = -timezone / 60;
 #endif
-#else /* !HAVE_TZNAME */
-			gettimeofday(&tv, &zone);
-			off = -zone.tz_minuteswest;
-#endif /* !HAVE_TZNAME */
+#endif
+#endif
 #endif /* !HAVE_TM_ZONE */
 #endif /* !HAVE_TM_NAME */
 			if (off < 0) {
@@ -460,13 +454,15 @@
 #ifdef HAVE_TM_NAME
 			strcpy(tbuf, timeptr->tm_name);
 #else
+#ifdef HAVE_TIMEZONE
 			gettimeofday(& tv, & zone);
-#ifdef __CYGWIN__
+#ifdef TIMEZONE_VOID
 			strcpy(tbuf, timezone());
 #else
 			strcpy(tbuf, timezone(zone.tz_minuteswest,
 						timeptr->tm_isdst > 0));
-#endif
+#endif /* TIMEZONE_VOID */
+#endif /* HAVE_TIMEZONE */
 #endif /* HAVE_TM_NAME */
 #endif /* HAVE_TM_ZONE */
 #endif /* HAVE_TZNAME */
@@ -645,7 +641,7 @@
 	 * main body of the standard. Thus it requires week 53.
 	 */
 
-	int weeknum, jan1day, diff;
+	int weeknum, jan1day;
 
 	/* get week number, Monday as first day of the week */
 	weeknum = weeknumber(timeptr, 1);

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]