1) While building Numerical on NT last night w/ the latest Distutils CVS
snapshot, I found that it refused to build because the directory names had
spaces in them which were not quoted. In other words, the code being
executed when something like
cl .... -IC:\Program Files\Python...
which broke. To correct it, I patched ccompiler.py and msvccompiler.py to
turn those kinds of things into
cl .... -I"C:\Program Files\Python..." ...
but Greg says that that will break on Unix -- I'm surprised by that claim,
since IIRC quoting directory names is OK, but it's been a while since I
really dealt with Unix seriously. FWIW, so far the problem occurs for -I in
ccompiler.py and /LIBPATH in msvccompiler.py. The patch is listed at the
end of this message.
2) Again on Windows, if I do
python setup.py build
python setup.py install
the second line causes the code to be recompiled, even though the
compilation is not needed. Greg assures me that that is not the case on
Unix. Anyone have the time to tackle this?
--david ascher
diff -c distutils//distutils/ccompiler.py C:\Program
Files\Python\distutils/ccompiler.py
*** distutils//distutils/ccompiler.py Wed Feb 09 02:16:14 2000
--- C:\Program Files\Python\distutils/ccompiler.py Thu Feb 10 19:44:37 2000
***************
*** 563,569 ****
pp_opts.append ("-D%s=%s" % macro)
for dir in include_dirs:
! pp_opts.append ("-I%s" % dir)
return pp_opts
--- 563,569 ----
pp_opts.append ("-D%s=%s" % macro)
for dir in include_dirs:
! pp_opts.append ('-I"%s"' % dir)
return pp_opts
diff -c distutils//distutils/msvccompiler.py C:\Program
Files\Python\distutils/msvccompiler.py
*** distutils//distutils/msvccompiler.py Thu Feb 10 02:52:42 2000
--- C:\Program Files\Python\distutils/msvccompiler.py Thu Feb 10 19:45:05
2000
***************
*** 369,375 ****
def library_dir_option (self, dir):
! return "/LIBPATH:" + dir
def library_option (self, lib):
return self.library_filename (lib)
--- 369,375 ----
def library_dir_option (self, dir):
! return "/LIBPATH:" + '"' + dir + '"'
def library_option (self, lib):
return self.library_filename (lib)