[Distutils] Compiling / Installing extensions
Greg Ward
gward@python.net
Tue, 8 Feb 2000 21:27:26 -0500
On 08 February 2000, Thomas Heller said:
> Yes, the /implib:build\temp\mymodule.lib
> puts the .lib AND the .exp files in a certain directory.
> So build_ext (or whatever) can prune the temp-directory.
OK, noted. Let's wait to put it in until after I've changed the "build"
commands to build to that temporary directory.
Oh, I think you said something about dealing with name conflicts between
debugging and non-debugging versions. For temp files, I think the
obvious solution is to make "debugging" another "architecture", e.g.
build ---- temp.linux-x86
temp.linux-x86-debug
temp.winnt-x86
temp.winnt-x86-debug
etc.
It's not so clear what to do for the final product (.pyd or .so
files)... but now that I think of it, if I'm going to allow
multi-architecture builds in the same place (someone tell me this is a
useful feature please!), then I should carry through and make the
"build/platlib" directory name the platform,
eg. "build/platlib.linux-x86". Keep on thinking of "debugging mode" as
an aspect of the "architecture", and problem solved. Seem reasonable?
> > Ugh. OK, here's a deal: I'll put in the infrastructure for supporting a
> > "--debug" flag if you guys will figure out how to make it work with
> > MSVC++. Fair enough?
> Fair enough. I'm waiting for your patch.
Done. It's in CVS now. (I take it from earlier comments that this is
enough for you, and a code snapshot is not necessary.)
> > > We should drop the line
> > > self.add_library ( "python" + sys.version[0] + sys.version[2] )
> > > in msvccompiler.py.
> >
> > Absoposidefinutely yes! I guess by my evolving standard, that should go
> > in the MSVC-specific code in build_ext.py.
> It is NOT NEEDED at all!
> The correct pythonxxx.lib will automatically be included on windows.
Cool! That's good news. I hate to keep sounding disbelieving of you,
but if there is a "25 words or less" explanation of why that works,
would you mind filling me in? (Mainly I'm curious -- if you tell me not
to get worried about it, it's complicated but it just works, then I'll
probably trust you. But I *do* like to know what's going on behind the
scenes...)
Greg
--
Greg Ward - all-purpose geek gward@python.net
http://starship.python.net/~gward/
A man wrapped up in himself makes a very small package.