Hi all --
I've just put out a new code snapshot that needs some widespread testing. (More so than usual, I mean.) This is mainly because I tweaked the sysconfig module to parse Python's makefile lazily rather than eagerly, and to store what it finds in a dictionary rather than global variables. This facility of sysconfig was only used in a few places throughout the Distutils, and I'm pretty sure I got all of them -- as usual, It Works For Me (TM). But I just have my one Linux box at home; at least now I test with Python 1.6 as well as 1.5.2. (And I have that enormous RPM of 2.0b1 ready to install one of these days...) So please, download tonight's snapshot and give it a good workout -- build stuff, lots of stuff, on lots of platforms. Please!
Oh, a neat feature added today: I devised a brilliant and entirely original new method for describing extensions to build. I call it "the Setup file". This amazingly innovative mechanism lets you describe the extension name, source files, include paths, macros to define/undefine, and a few other goodies in a simple, compact, familiar (to Unix geeks at least) notation.
For example, you could describe the "_tkinter" extension as follows:
_tkinter _tkinter.c tkappinit.c -DWITH_APPINIT -UFOO \ -I/usr/include \ -I/usr/X11R6/include \ -DWITH_TIX -ltix188.8.131.52 \ -L/usr/lib \ -ltk8.0 -ltcl8.0 \ -L/usr/X11R6/lib \ -lX11
Then, a setup script to build this extension is quite simple:
from distutils.core import setup from distutils.extension import read_setup_file
exts = read_setup_file("Setup.tk") setup(name = "Tkinter", ext_modules = exts)
Hmmm... on second thought, this syntax seems vaguely familiar... where *have* I seen it before? ;-)
P.S. yes, it does support comments just like in Modules/Setup!
diff -BurN --exclude=*.pyc distutils-snap/distutils/command/sdist.py distutils-20000916/distutils/command/sdist.py --- distutils-snap/distutils/command/sdist.py Wed Sep 6 04:18:59 2000 +++ distutils-20000916/distutils/command/sdist.py Sun Sep 17 11:20:31 2000 @@ -332,7 +332,7 @@ join_lines=1, lstrip_ws=1, rstrip_ws=1, - collapse_ws=1) + collapse_join=1)
while 1: line = template.readline()