[#36644] Gtk.main — TOYOFUKU Chikanobu <toyofuku@...>
豊福です。
18 messages
2002/12/03
[#36645] Re: Gtk.main
— nobu.nakada@...
2002/12/03
なかだです。
[#36646] Re: Gtk.main
— TOYOFUKU Chikanobu <toyofuku@...>
2002/12/03
豊福です。
[#36649] Re: Gtk.main
— nobu.nakada@...
2002/12/03
なかだです。
[#36676] WIN32OLE と IAgentCtlRequest — Shusaku <tsyk@...>
Shusakuです。
7 messages
2002/12/05
[#36683] SyntaxError caused by redefinition of Class#== within irb. — Shusaku <tsyk@...>
Shusakuです。
5 messages
2002/12/05
[#36686] 1.1 < 61.1 - 60.0 — Shin-ichiro HARA <sinara@...>
原です。
19 messages
2002/12/06
[#36693] Re: 1.1 < 61.1 - 60.0
— "Shigeo Kobayashi" <shigeo@...>
2002/12/06
小林です。
[#36717] ruby 1.6.8 preview3 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
12 messages
2002/12/09
[#36718] Re: ruby 1.6.8 preview3
— m_seki@...
2002/12/09
[#36728] blade.stop — Shin-ichiro HARA <sinara@...>
原です。
9 messages
2002/12/10
[#36756] Re: blade.stop
— Shin-ichiro HARA <sinara@...>
2002/12/13
原です。
[#36734] Rubyソースコード完全解説 — Minero Aoki <aamine@...>
あおきです。ちょっと宣伝です。
10 messages
2002/12/11
[#36740] WIN32OLEでの定数読み込み — Takashi & Kayoko Sano <tksano@...3.kcn.ne.jp>
こんにちは。佐野と申します。
9 messages
2002/12/12
[#36742] DBM — OHARA Shigeki <os@...>
大原です。
6 messages
2002/12/12
[#36757] ruby 1.6.7+ruby-postgres-0.7.0でSegmentation fault — iga50@...
五十嵐と申します。
5 messages
2002/12/13
[#36768] Ruby/FreeType メンテナ募集 — Kazuhiro Yoshida <moriq.kazuhiro@...>
もりきゅうです。
4 messages
2002/12/15
[#36770] www.ruby-lang.orgリニューアル準備のお知らせ — TADA Tadashi <sho@...>
ruby-lang.orgのwebmasterチームでは、タイムリーな情報提供と使いやすい
11 messages
2002/12/16
[#36780] 2GB超のファイルにアクセスするとErrno::EOVERFLOWが発生してしまう — oka@...
4 messages
2002/12/16
[#36793] Thread と Net::HTTP — Makoto Satoh <makotosato2@...>
佐藤と申します。
9 messages
2002/12/17
[#36796] Ruby SNMPについて
— Tadashi Oh-Ya <toy@...>
2002/12/17
おおやと申します。
[#36797] Re: Ruby SNMPについて
— "Akinori MUSHA" <knu@...>
2002/12/17
At Tue, 17 Dec 2002 19:59:00 +0900,
[#36821] Cygwinで拡張モジュールが生成されない — 堀川 久 <vzw00011@...>
こんにちは。
10 messages
2002/12/23
[#36826] ANN: ruby 1.6.8 — matz@... (Yukihiro Matsumoto)
Hello everyone,
9 messages
2002/12/24
[#36830] [ATTN] Prepare name freeze of RAA — "NAKAMURA, Hiroshi" <nakahiro@...>
みなさんこんにちは。
11 messages
2002/12/25
[#36831] Re: [ATTN] Prepare name freeze of RAA
— FUJIMOTO Hisakuni <hisa@...>
2002/12/25
こんにちは、藤本です。
[#36832] Re: [ATTN] Prepare name freeze of RAA
— "NAKAMURA, Hiroshi" <nakahiro@...>
2002/12/25
なひです。
[#36848] httpsnapshot.rb — Shin-ichiro HARA <sinara@...>
原です。
4 messages
2002/12/27
[#36856] raccのインストールについて — 齋藤雅浩 <m-saito@...4.so-net.ne.jp>
齋藤です。
6 messages
2002/12/27
[#36862] libsafeを入れるとrubyスクリプトが実行できない — Hideki Yamane <henrich@...>
8 messages
2002/12/28
[#36864] Re: libsafeを入れるとrubyスクリプトが実行できない
— Tanaka Akira <akr@...17n.org>
2002/12/28
In article <200212280626.gBS6QDL25734@mms-r00.iijmio.jp>,
[#36869] numbering of ruby-1.8.x* — TAKAHASHI Masayoshi <maki@...>
高橋征義です。
4 messages
2002/12/29
[ruby-list:36743] Re: DBM
From:
WATANABE Hirofumi <eban@...>
Date:
2002-12-12 09:44:34 UTC
List:
ruby-list #36743
わたなべです。
OHARA Shigeki <os@iij.ad.jp> writes:
> DBM ですが、ruby の make 時に gdbm がインストールされていると、
> gdbm の方の NDBM 互換インターフェイスの方を優先して
> 利用するようになっていると思います。
ということはRuby 1.6ですよね?
1.7だとgdbmは一番最後に試すし、--wtih-dbm-typeも使えるし。
> なので、私はとりあえず ext/dbm/extconf.rb を手で書き換えて
> gdbm の方を探さないようにしてリンクしないようにしているのですが、
> できれば configure のオプションなどで指定できればと思うのですが、
> 何か良い方法はあるでしょうか?
1.7のextconf.rbをそのまま1.6にもってきて
dbm.cの#include <ndbm.h>を#include DBM_HDRに変更すれば
--with-dbm-type-gdbmのように指定できます。
参考パッチ。
Index: ext/dbm/extconf.rb
===================================================================
RCS file: /src/ruby/ext/dbm/extconf.rb,v
retrieving revision 1.4
diff -u -1 -p -r1.4 extconf.rb
--- ext/dbm/extconf.rb 12 Sep 2000 05:37:33 -0000 1.4
+++ ext/dbm/extconf.rb 12 Dec 2002 09:38:10 -0000
@@ -3,10 +3,53 @@ require 'mkmf'
dir_config("dbm")
-if have_library("gdbm", "dbm_open")
- gdbm = true
+
+dblib = with_config("dbm-type", nil)
+
+$dbm_conf_headers = {
+ "db" => ["db.h"],
+ "db1" => ["db1/ndbm.h", "db1.h", "ndbm.h"],
+ "db2" => ["db2/db.h", "db2.h", "db.h"],
+ "dbm" => ["ndbm.h"],
+ "gdbm" => ["gdbm-ndbm.h", "ndbm.h"],
+}
+
+def db_check(db)
+ $dbm_conf_db_prefix = ""
+ $dbm_conf_have_gdbm = false
+ hsearch = ""
+
+ case db
+ when /^db2?$/
+ $dbm_conf_db_prefix = "__db_n"
+ hsearch = "-DDB_DBM_HSEARCH "
+ when "gdbm"
+ $dbm_conf_have_gdbm = true
+ end
+
+ if have_func(db_prefix("dbm_open")) || have_library(db, db_prefix("dbm_open"))
+ for hdr in $dbm_conf_headers.fetch(db, ["ndbm.h"])
+ if have_header(hdr.dup)
+ $CFLAGS += " " + hsearch + "-DDBM_HDR='<"+hdr+">'"
+ return true
+ end
+ end
+ end
+ return false
end
-gdbm or have_library("db", "dbm_open") or have_library("dbm", "dbm_open")
+
+def db_prefix(func)
+ $dbm_conf_db_prefix+func
+end
+
+if dblib
+ db_check(dblib)
+else
+ for dblib in %w(db db2 db1 dbm gdbm)
+ db_check(dblib) and break
+ end
+end
+
have_header("cdefs.h")
have_header("sys/cdefs.h")
-if have_header("ndbm.h") and have_func("dbm_open")
- have_func("dbm_clearerr") unless gdbm
+if /DBM_HDR/ =~ $CFLAGS and have_func(db_prefix("dbm_open"))
+ have_func(db_prefix("dbm_clearerr")) unless $dbm_conf_have_gdbm
create_makefile("dbm")
Index: ext/dbm/dbm.c
===================================================================
RCS file: /src/ruby/ext/dbm/dbm.c,v
retrieving revision 1.13.2.3
diff -u -1 -p -r1.13.2.3 dbm.c
--- ext/dbm/dbm.c 25 Oct 2002 19:39:22 -0000 1.13.2.3
+++ ext/dbm/dbm.c 12 Dec 2002 09:38:10 -0000
@@ -20,3 +20,3 @@
#endif
-#include <ndbm.h>
+#include DBM_HDR
#include <fcntl.h>