[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:002980] Re: [ruby-dcl] tiny bug fix
- To: dennou-ruby@xxxxxxxxxxx
- Subject: [dennou-ruby:002980] Re: [ruby-dcl] tiny bug fix
- From: ÂçÄÍÀ®ÆÁ <otsuka@xxxxxxxxxxxxxxxxxx>
- Date: Tue, 15 Jul 2008 13:54:22 +0900
堀之内様
大塚です。
extconf.rb を ruby 1.9 でも動くようする
パッチを以前送っていたのですが、取り込んでいただけるでしょうか?
> RubyDCLをそろそろ更新しようと思ってます。
> 他に何か対応希望ないでしょうか。
> プレビュー版を
> http://ruby.gfd-dennou.org/products/ruby-dcl/ruby-dcl-1.6.0pre.tar.gz
> としました。
--
京都大学大学院理学研究科
気象学研究室 D3
大塚成徳 (Shigenori OTSUKA)
email: otsuka@xxxxxxxxxxxxxxxxxx
diff -Naur ruby-dcl-1.5.3.org/dcl_obj2cary.c ruby-dcl-1.5.3/dcl_obj2cary.c
--- ruby-dcl-1.5.3.org/dcl_obj2cary.c 2003-12-10 16:25:37.000000000 +0900
+++ ruby-dcl-1.5.3/dcl_obj2cary.c 2008-03-11 13:24:33.546875000 +0900
@@ -5,7 +5,6 @@
#include <math.h>
#include "ruby.h"
-#include "version.h"
#include "libtinyf2c.h"
#include "narray.h"
@@ -41,7 +40,11 @@
/* defines */
#define BE_INTEGER(x) ((integer)(NUM2INT(rb_Integer(x))))
-#define BE_REAL(x) ((real)(RFLOAT(rb_Float(x))->value))
+#ifndef RFLOAT_VALUE
+/* for compatibility with ruby 1.6 */
+#define RFLOAT_VALUE(x) ((real)(RFLOAT(x)->value))
+#endif
+#define BE_REAL(x) ((real)(RFLOAT_VALUE(rb_Float(x))))
#define BE_LOGICAL(x) (((x == Qnil) || (x == Qfalse)) ? FALSE_ : TRUE_ )
/* not implemented
#define BE_COMPLEX(x) ...
@@ -268,9 +271,11 @@
{
VALUE *ptr;
long len, i, j;
-#if RUBY_VERSION_CODE > 170
+#ifdef StringValue
+ // Ruby version 1.8 or later
long rlen;
#else
+ // Ruby version 1.7 or before
int rlen;
#endif
char *rtn, *wk, *rwk;
diff -Naur ruby-dcl-1.5.3.org/extconf.rb ruby-dcl-1.5.3/extconf.rb
--- ruby-dcl-1.5.3.org/extconf.rb 2006-12-01 09:24:43.000000000 +0900
+++ ruby-dcl-1.5.3/extconf.rb 2008-03-11 13:33:11.390625000 +0900
@@ -1,5 +1,15 @@
require "mkmf"
-require "ftools"
+require "rbconfig"
+if Config::CONFIG["MINOR"].to_i > 7
+ $rb18 = true
+else
+ $rb18 = false
+end
+if $rb18
+ require "fileutils"
+else
+ require "ftools"
+end
dir_config('narray',$sitearchdir,$sitearchdir)
if ( ! ( have_header("narray.h") && have_header("narray_config.h") ) ) then
@@ -49,7 +59,11 @@
initcfile = "init.c.default"
else
print "**Infomation** compile with gtk+ (ver.#{gtkversion})\n"
- File.copy("grph1_zgpack.c.org","grph1_zgpack.c")
+ if $rb18
+ FileUtils.copy("grph1_zgpack.c.org","grph1_zgpack.c")
+ else
+ File.copy("grph1_zgpack.c.org","grph1_zgpack.c")
+ end
initcfile = "init.c.gtk"
if ldlibs =~ /-lgdk_imlib/ then
print "**Infomation** compile with imlib_gdk\n"