From fcd8f78ea354d250353b693567a0eb68798844a8 Mon Sep 17 00:00:00 2001 From: akr Date: Sat, 18 Feb 2012 15:31:09 +0000 Subject: * ext/dbm/extconf.rb: don't choose 'dbm' if _GDB_H_ is defined which is available since GDBM 1.9 because 'gdbm_compat' is appropriate choise since GDBM 1.8.1. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34682 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/dbm/extconf.rb | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'ext/dbm') diff --git a/ext/dbm/extconf.rb b/ext/dbm/extconf.rb index 93f0f0531e..15a4702dd8 100644 --- a/ext/dbm/extconf.rb +++ b/ext/dbm/extconf.rb @@ -141,6 +141,13 @@ def headers.db_check2(db, hdr) # The original ndbm is provided by libc in 4.3BSD. have_ndbm_header_macro = have_macro('_DBM_IOERR', hdr, hsearch) + # GDBM provides NDBM functions in libgdbm_compat since GDBM 1.8.1. + # GDBM's ndbm.h defines _GDBM_H_ since GDBM 1.9. + # So, reject 'gdbm'. 'gdbm_compat' is required. + if have_gdbm_header_macro && db == 'gdbm' + return false + end + # ndbm.h is provided by the original (4.3BSD) dbm, # Berkeley DB 1 in libc of 4.4BSD and # ndbm compatibility layer of gdbm. -- cgit v1.2.3