This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author skip.montanaro
Recipients AndyP, flub, legerf, rpetrov, skip.montanaro, tlesher
Date 2008-12-07.22:10:26
SpamBayes Score 6.205962e-05
Marked as misclassified No
Message-id <18748.18894.646908.763084@montanaro-dyndns-org.local>
In-reply-to <1228684073.44.0.102970903142.issue4483@psf.upfronthosting.co.za>
Content
Roumen> I'm not sure that recent commits in trunk are correct.

    Roumen> Please confirm that build of dbm module with "Berkeley DB" is
    Roumen> deprecated.

Can you explain how you think they are incorrect?  The code to decide how to
build the dbm module looks like this:

    if we have ndbm.h:
        build dbm using ndbm
    else if we have a gdbm library:
        if we have gdbm/ndbm.h:
            build dbm using gdbm
        else if we have gdbm-ndbm.h:
            build dbm using gdbm
    else if we found Berkeley includes:
        build dbm using Berkeley db.

This overall structure agrees with that in the Python 2.4 and 2.5 setup.py.
The only thing that changed (in theory) was that there's an extra check for
gdbm-ndbm.h after we've already decided to build dbm with gdbm.  The
preference is still ndbm before gdbm before BerkDB.  That's not to say it's
correct, but nothing's changed as far as I can tell.

Maybe it should look more like this:

    dbmext = None
    if we have ndbm.h:
        ...
        dbmext = Extension(...)

    if dbmext is None and we have a gdbm library:
        if we have gdbm/ndbm.h:
            ...
            dbmext = Extension(...)
        else if we have gdbm-ndbm.h:
            ...
            dbmext = Extension(...)

    if dbmext is None and we found Berkeley includes:
        ...
        dbmext = Extension(...)

    if dbmext is not None:
        exts.append(dbmext)

That still leaves the order ndbm before gdbm before BerkDB.

Skip
History
Date User Action Args
2008-12-07 22:10:28skip.montanarosetrecipients: + skip.montanaro, flub, tlesher, rpetrov, legerf, AndyP
2008-12-07 22:10:26skip.montanarolinkissue4483 messages
2008-12-07 22:10:26skip.montanarocreate