Wholly unnecessary flame. (was Re: pyXML!)

Robert Kern kern at caltech.edu
Wed Sep 27 02:55:04 EDT 2000


In article <39d24589.6203856 at news.telus.net>, root at 127.0.0.1 (David)
wrote:

[snip]

>>Feel free to contribute build files.  Or work on your motivational
>>skills, and maybe someone somewhere will write them for you...
> 
> That doesn't really answer the question.
>  
> Question: Why was VC chosen as the development platform, instead of an
> open-source compiler?

Mostly because when Python was first ported to Windows (remember that
Python is about a decade old), no Open Source compilers existed. Only
recently have they come anywhere near the functionality needed to  compile
Python as VC does.
 
> Question: Are any VC-specific features/code/tweaks being used?  Why
> would the developers choose to bind the code to VC, rather than aim for
> cross-compiler compatibility?

Since there hasn't been *that* much of a standard among Windows compilers,
there are compiler-specific (VC, Borland, Watcom?) bits of code 
appropriately #ifdef'd. Cygwin tries to emulate UNIX, so a straightforward
./configure catches most things. Mingw support is another story, which I
will elaborate on below.

> Question: Are build files so different between compilers that there is
> no automatic tool for converting from build to build?

Pretty much.

> Question: Why wouldn't every Windows-platform code release include a
> binary file, to accomodate the vast numbers of Windows users who don't
> have VC, don't know how to operate the VC compiler and, frankly, really
> would rather get on with using the code instead of wrestling with
> compiling it?

For stuff that is truly Windows-platform (as opposed to general code),
yes, binaries are almost always distributed. In general, however, many
developers who release extension modules do not use Windows and *can't*
provide a binary, VC-compiled or otherwise.

> I don't know bugger all about C/C++, and I really don't want to.  I
> don't have a compiler and I don't want to dedicate umpteen meg of drive
> space to one.  One of the biggest reasons I've stuck with Windows
> instead of Linux is that it is the most productive environment for the
> work I do, and with that same attitude of most-work for least-effort, I
> look toward using Python for my scripting needs, and desire pre-compiled
> binaries, so that I can just get to work immediately.

You're getting free stuff. The developers who are giving you this free
stuff probably just wants to get their stuff done, too, with the same 
most-work for least-effort principle. If they don't use Windows (because
some other hardware/OS combination is *their* most productive
environment), then they would either (a) install a cross-compiler in
addition to their  native compiler, or (b) install Windows and a Windows
compiler.

> From my perspective, it makes absolutely no sense for any developer to
> (a) not distribute binaries for their Windows port; 

They aren't trying to make Windows users suffer; they probably just don't
use Windows. It's an unfortunate fact of life when you are trying to use
Open Source code on a closed OS that provides no tools.

> and (b) to force users to install a commercial compiler to create
> binaries.

Luckily, you don't have to buy squat if you want to compile extension 
modules. You just have to take the time to install a (free, Open Source)
compiler and learn to use it.

http://starship.python.net/crew/kernr/mingw/Notes.html

It works for 1.5.2, and though I will not have time soon to try it with 
1.6/2.0 (studies, using Linux now primarily, etc.), someone else has 
volunteered and will be reporting soon.

Note that Paul Sokolovsky has attempted with some success to port the 
1.5.2 Python interpreter to Mingw, but I do not believe that the patches
and build procedure have been integrated, yet. If I ever have free time 
this year (and AMa 95 is making that more and more unlikely), I will try
to send in patches for 2.1 . Note that you can compile extension modules
that  work with the VC-compiled interpreter.

If anyone has questions regarding Mingw and Python, I will be happy to
field them. Come on Tim, you know you want to. Don't be discouraged by 
Cygwin. :-)

-- 
Robert Kern kern at caltech.edu

"In the fields of hell where the grass grows high
 Are the graves of dreams allowed to die."



More information about the Python-list mailing list