[Distutils] some small bugs

Greg Ward gward@python.net
Mon, 21 Aug 2000 21:55:05 -0400

On 17 August 2000, Rene Liebscher said:
> If your distribution directory for bdist
> doesn't exist, distutils doesn't create
> it. (Even the default 'dist', so distutils
> fails if you use bdist for the first time.)

Oops!  Only a problem in bdist_dumb, because the other bdist commands
just happen to use sdist, which did call 'mkpath()' properly.  Anyways,
I've fixed the problem by adding a couple of 'mkpath()' calls to
archive_util.py, which should handle all future tarball-and-zip-file-
generating commands.

> bdist_wininst fails if no long description
> exists. It should warn about this, and go ahead.

How precisely does it fail?

> And a new introduced one in bcppcompiler.py
> It uses the first object file's path name to
> get the directory for its def-file. But if there is
> another object placed at the first position, this 
> doesn't work. The patch moves these parts to their
> right position.

Hmm, I knew I should have thought harder about that bit of code.  Well,
I'll think hard about this patch.  ;-)

> The patch also changes the prefered library names
> from bcpp_xxx.lib to xxx_bcpp.lib.

Good -- meant to get this into 0.9.1, but oh well.

> The next is not a bug.
> I tried distutils with BeOS R5. BeOS uses also some
> linker scripts (as AIX does.) But in the Makefile are
> again the wrong pathnames to these scripts. So we have
> to correct this as for AIX in sysconfig.py.
> (Python doesn't install these scripts, I will
> put a patch for its Makefile.in to sourceforge.)

Oh, bother.  I knew that having
    if sys.platform == "aix4"

in the code wouldn't cut it.  Need to think about how to detect this
situation -- "Python installed custom linker scripts to build shared
extensions on this platform" -- and deal with it generally.  ISTR that
my first crack that the AIX problem took this approach by just
absolut-izing the LD_SO Makefile entry, but this didn't cut it because
the ld_so_aix script wasn't in the same location as the Makefile.  Or
something like that.  Can anyone think of the *right* way to do this?

> And finally some corrections to the comments
> in my cygwinccompiler class.

Oh good.

Now, can you resubmit your patch as three patches: one for the
bcppcompiler.py fixes, one for sysconfig, and one for cygwinccompiler?
It's much easier to review and apply them one at a time like that.  And
make sure you "cvs up" first so you get my fix to archive_util.py!

Thanks --

Greg Ward - geek                                        gward@python.net
The world is coming to an end.  Please log off.