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

ruby-changes:22647

From: akr <ko1@a...>
Date: Sun, 19 Feb 2012 23:02:29 +0900 (JST)
Subject: [ruby-changes:22647] akr:r34696 (trunk): * ext/dbm/dbm.c (Init_dbm): refine DBM::VERSION definition.

akr	2012-02-19 23:02:14 +0900 (Sun, 19 Feb 2012)

  New Revision: 34696

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=34696

  Log:
    * ext/dbm/dbm.c (Init_dbm): refine DBM::VERSION definition.
    
    * ext/dbm/extconf.rb: provide RUBYDBM_GDBM_HEADER macro.

  Modified files:
    trunk/ChangeLog
    trunk/ext/dbm/dbm.c
    trunk/ext/dbm/extconf.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 34695)
+++ ChangeLog	(revision 34696)
@@ -1,3 +1,9 @@
+Sun Feb 19 23:01:01 2012  Tanaka Akira  <akr@f...>
+
+	* ext/dbm/dbm.c (Init_dbm): refine DBM::VERSION definition.
+
+	* ext/dbm/extconf.rb: provide RUBYDBM_GDBM_HEADER macro.
+
 Sun Feb 19 17:07:27 2012  Tanaka Akira  <akr@f...>
 
 	* test/dbm/test_dbm.rb (test_dbmfile_suffix): check pag and dir is
Index: ext/dbm/dbm.c
===================================================================
--- ext/dbm/dbm.c	(revision 34695)
+++ ext/dbm/dbm.c	(revision 34696)
@@ -1079,27 +1079,35 @@
      */
     rb_define_const(rb_cDBM, "NEWDB",   INT2FIX(O_RDWR|O_CREAT|O_TRUNC|RUBY_DBM_RW_BIT));
 
-#if defined(HAVE_DB_VERSION)
-    /* The version of the dbm library, if using Berkeley DB */
-    rb_define_const(rb_cDBM, "VERSION",  rb_str_new2(db_version(NULL, NULL, NULL)));
-#elif defined(HAVE_DECLARED_LIBVAR_GDBM_VERSION)
+#if defined(_DBM_IOERR)
+    rb_define_const(rb_cDBM, "VERSION",  rb_str_new2("NDBM (4.3BSD)"));
+#elif defined(RUBYDBM_GDBM_HEADER)
+#  if defined(HAVE_DECLARED_LIBVAR_GDBM_VERSION)
     /* since gdbm 1.9 */
     rb_define_const(rb_cDBM, "VERSION",  rb_str_new2(gdbm_version));
-#elif defined(HAVE_UNDECLARED_LIBVAR_GDBM_VERSION)
+#  elif defined(HAVE_UNDECLARED_LIBVAR_GDBM_VERSION)
     /* ndbm.h doesn't declare gdbm_version until gdbm 1.8.3.
      * See extconf.rb for more information. */
     {
 	RUBY_EXTERN char *gdbm_version;
 	rb_define_const(rb_cDBM, "VERSION",  rb_str_new2(gdbm_version));
     }
-#elif defined(HAVE_DPVERSION)
-    rb_define_const(rb_cDBM, "VERSION",  rb_sprintf("QDBM %s", dpversion));
+#  else
+    rb_define_const(rb_cDBM, "VERSION",  rb_str_new2("GDBM (unknown)"));
+#  endif
 #elif defined(_DB_H_)
+#  if defined(HAVE_DB_VERSION)
+    /* The version of the dbm library, if using Berkeley DB */
+    rb_define_const(rb_cDBM, "VERSION",  rb_str_new2(db_version(NULL, NULL, NULL)));
+#  else
     rb_define_const(rb_cDBM, "VERSION",  rb_str_new2("Berkeley DB (unknown)"));
-#elif defined(_GDBM_H_) || defined(HAVE_EMPTY_MACRO_DBM_CLEARERR)
-    rb_define_const(rb_cDBM, "VERSION",  rb_str_new2("GDBM (unknown)"));
-#elif defined(_DBM_IOERR)
-    rb_define_const(rb_cDBM, "VERSION",  rb_str_new2("NDBM (4.3BSD)"));
+#  endif
+#elif defined(_RELIC_H)
+#  if defined(HAVE_DPVERSION)
+    rb_define_const(rb_cDBM, "VERSION",  rb_sprintf("QDBM %s", dpversion));
+#  else
+    rb_define_const(rb_cDBM, "VERSION",  rb_str_new2("QDBM (unknown)"));
+#  endif
 #else
     rb_define_const(rb_cDBM, "VERSION",  rb_str_new2("unknown"));
 #endif
Index: ext/dbm/extconf.rb
===================================================================
--- ext/dbm/extconf.rb	(revision 34695)
+++ ext/dbm/extconf.rb	(revision 34696)
@@ -173,6 +173,9 @@
   end
 
   have_gdbm_header_macro = have_gdbm_header_macro1 | have_gdbm_header_macro2
+  if have_gdbm_header_macro
+    $defs.push('-DRUBYDBM_GDBM_HEADER')
+  end
 
   # ndbm.h is provided by the original (4.3BSD) dbm,
   # Berkeley DB 1 in libc of 4.4BSD and

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

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