summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--ext/dbm/extconf.rb3
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index ece5d82d14..43eebb81f7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Fri Feb 17 00:04:21 2012 Tanaka Akira <akr@fsij.org>
+
+ * ext/dbm/extconf.rb: check _DB_H_ macro unavailable except
+ Berkeley DB library.
+
Thu Feb 16 05:41:35 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* insns.def (splatarray): make new array if flag is set.
diff --git a/ext/dbm/extconf.rb b/ext/dbm/extconf.rb
index 9c4004814e..69889a333b 100644
--- a/ext/dbm/extconf.rb
+++ b/ext/dbm/extconf.rb
@@ -79,7 +79,8 @@ def headers.db_check2(db, hdr)
if have_type("DBM", hdr, hsearch) and
(db == 'libc' ? have_func('dbm_open("", 0, 0)', hdr, hsearch) :
have_library(db, 'dbm_open("", 0, 0)', hdr, hsearch)) and
- have_func('dbm_clearerr((DBM *)0)', hdr, hsearch)
+ have_func('dbm_clearerr((DBM *)0)', hdr, hsearch) and
+ (/\Adb\d?\z/ =~ db || db == 'libc' || !have_macro('_DB_H_', hdr, hsearch)) # _DB_H_ should not be defined except Berkeley DB.
case db
when /\Adb\d?\z/
have_func('db_version((int *)0, (int *)0, (int *)0)', hdr, hsearch)