Feature #3697 » 007_berkdb-5.0.patch
| ruby-1.9.2-rc2/ext/dbm/extconf.rb | ||
|---|---|---|
| def headers.db_check(db) | ||
|   db_prefix = nil | ||
|   have_gdbm = false | ||
|   hsearch = nil | ||
|   db_defs = nil | ||
|   case db | ||
|   when /^db2?$/ | ||
|     db_prefix = "__db_n" | ||
|     hsearch = "-DDB_DBM_HSEARCH " | ||
|     db_defs = %w[-DDB_DBM_HSEARCH -DHAVE_DBM] | ||
|   when "gdbm" | ||
|     have_gdbm = true | ||
|   when "gdbm_compat" | ||
| ... | ... | |
|   db_prefix ||= "" | ||
|   if (have_library(db, db_prefix+"dbm_open") || have_func(db_prefix+"dbm_open")) and | ||
|       hdr = self.fetch(db, ["ndbm.h"]).find {|h| have_type("DBM", h, hsearch)} | ||
|       hdr = self.fetch(db, ["ndbm.h"]).find {|h| have_type("DBM", h, db_defs.join(" "))} | ||
|     have_func(db_prefix+"dbm_clearerr") unless have_gdbm | ||
|     $defs << hsearch if hsearch | ||
|     $defs += db_defs if db_defs | ||
|     $defs << '-DDBM_HDR="<'+hdr+'>"' | ||
|     true | ||
|   else | ||