On Jun 24, 2010, at 11:37 PM, Éric Araujo wrote:

>Your plan seems good. Adding keyword arguments should not create
>compatibility issues, and I suspect the impact on the code of build_ext
>may be actually quite small. I’ll try to review your patch even though I
>don’t know C or compiler oddities, but Tarek will have the best insight
>and the final word.

The C and configure/Makefile bits are pretty trivial.  It basically extends
the list of shared library extensions searched for on *nix machines, and
allows that to be set on the ./configure command.

As for the impact on distutils, with updated tests, it's less than 100 lines
of diff.  Again there it essentially allows us to pass the extension that
build_ext writes to from the setup.py, via the Extension class.

Because distutil's default is to use the $SO variable from the
system-installed Makefile, with the change to dynload_shlib.c, configure.in,
and Makefile.pre.in, we would get distutils writing the versioned .so files
for free.  I'll note further that if you *don't* specify this to ./configure,
nothing much changes[1].

The distutils part of the patch is only there to disable or override the
default, and *that's* only there to support proposed semantics that foo.so be
used for PEP 384-compliant ABI extension modules.

IOW, until PEP 384 is actually implemented, the distutils part of the patch is
unnecessary.  However, if the other changes are accepted, then I will add a
discussion of this issue to PEP 384, and we can figure out the best semantics
and implementation at that point.  I honestly don't know if I am going to get
to work on PEP 384 before 3.2 beta.

>In case the time machine’s not available, your suggestion about getting
>the filename from the Extension instance instead of passing in a string
>can most certainly land in distutils2.

Cool.

-Barry

[1] Well, I now realize you'll get an extra useless stat call, but I will fix
that.

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to