Index: setup.py =================================================================== --- setup.py (revision 80088) +++ setup.py (working copy) @@ -749,10 +749,8 @@ '/usr/include/db3', '/usr/local/include/db3', '/opt/sfw/include/db3', - # Fink defaults (http://fink.sourceforge.net/) - '/sw/include/db4', - '/sw/include/db3', ] + # 4.x minor number specific paths for x in gen_db_minor_ver_nums(4): db_inc_paths.append('/usr/include/db4%d' % x) @@ -761,8 +759,7 @@ db_inc_paths.append('/usr/local/include/db4%d' % x) db_inc_paths.append('/pkg/db-4.%d/include' % x) db_inc_paths.append('/opt/db-4.%d/include' % x) - # MacPorts default (http://www.macports.org/) - db_inc_paths.append('/opt/local/include/db4%d' % x) + # 3.x minor number specific paths for x in gen_db_minor_ver_nums(3): db_inc_paths.append('/usr/include/db3%d' % x) @@ -771,6 +768,21 @@ db_inc_paths.append('/pkg/db-3.%d/include' % x) db_inc_paths.append('/opt/db-3.%d/include' % x) + # Only include certain paths if the corresponding bin directory is + # in PATH. This makes it possible for someone to create a pretty + # clean Mac framework build with Fink (or MacPorts) installed just + # by removing the bin directory from PATH. + if "/sw/bin" in os.environ["PATH"].split(":"): + # Fink defaults (http://fink.sourceforge.net/) + db_inc_paths.extend([ + '/sw/include/db4', + '/sw/include/db3', + ]) + if "/opt/local/bin" in os.environ["PATH"].split(":"): + # MacPorts default (http://www.macports.org/) + for x in gen_db_minor_ver_nums(4): + db_inc_paths.append('/opt/local/include/db4%d' % x) + # Add some common subdirectories for Sleepycat DB to the list, # based on the standard include directories. This way DB3/4 gets # picked up when it is installed in a non-standard prefix and