Roumen Petrov <[EMAIL PROTECTED]> added the comment: The old if statement was "flat": if find_file("ndbm.h", inc_dirs, []) is not None: <CODE> elif (self.compiler.find_library_file(lib_dirs, 'gdbm') and find_file("gdbm/ndbm.h", inc_dirs, []) is not None): <CODE> elif db_incs is not None: <CODE> else: miss If the second case fail, try third and if succeed build dbm with "berkeley db".
The new if statement contain nested if: Now the second case is only "self.compiler.find_library_file(lib_dirs, 'gdbm'):" and if succeed (my case) => Failed to find the necessary bits to build these modules: ... dbm ... Note the build system lack headers "gdbm/ndbm.h", "gdbm-ndbm.h". To restore previous I add copy of code from third case as new case in nested if: =============== 'dbm', ['dbmmodule.c'], define_macros=[('HAVE_GDBM_DASH_NDBM_H',None)], libraries = gdbm_libs ) ) + elif db_incs is not None: + exts.append( Extension('dbm', ['dbmmodule.c'], + library_dirs=dblib_dir, + runtime_library_dirs=dblib_dir, + include_dirs=db_incs, + define_macros=[('HAVE_BERKDB_H',None), + ('DB_DBM_HSEARCH',None)], + libraries=dblibs)) else: missing.append('dbm') elif db_incs is not None: =============== Note that above is not proposed patch as I don't like nested ifs and code duplicate. Is possible the checks to be in a new separate function ? _______________________________________ Python tracker <[EMAIL PROTECTED]> <http://bugs.python.org/issue4483> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com