diff -urN a/setup.py b/setup.py --- a/setup.py 2013-10-20 19:33:02.452286000 +0100 +++ b/setup.py 2013-10-20 19:33:25.714616600 +0100 @@ -1230,7 +1230,7 @@ dbm_order = ['gdbm'] # The standard Unix dbm module: - if host_platform not in ['cygwin']: + if host_platform not in ['win32']: config_args = [arg.strip("'") for arg in sysconfig.get_config_var("CONFIG_ARGS").split()] dbm_args = [arg for arg in config_args @@ -1285,6 +1285,15 @@ ], libraries = gdbm_libs) break + if find_file("ndbm.h", inc_dirs, []) is not None: + print("building dbm using gdbm") + dbmext = Extension( + 'dbm', ['dbmmodule.c'], + define_macros=[ + ('HAVE_NDBM_H', None), + ], + libraries = gdbm_libs) + break elif cand == "bdb": if db_incs is not None: print "building dbm using bdb"