Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > distutils setup.cfg question.

Reply
Thread Tools

distutils setup.cfg question.

 
 
Mike Meyer
Guest
Posts: n/a
 
      11-19-2004
Ok, I give up. I searched the CVS code, and can't find the place that
turns an include_dirs option in setup.cfg into a list of
directories. The reason I was looking for it is that I can't figure
out how to make include_dirs include multiple directories from
setup.cfg. Everything I try winds up putting
-I<contents_of_include_dirs>. I couldn't even find the place where the
string value that is returned by ConfigParser is enclosed in a list.

Help?

Thankx,
<mike
--
Mike Meyer <(E-Mail Removed)> http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.
 
Reply With Quote
 
 
 
 
=?ISO-8859-1?Q?=22Martin_v=2E_L=F6wis=22?=
Guest
Posts: n/a
 
      11-19-2004
Mike Meyer wrote:
> Ok, I give up. I searched the CVS code, and can't find the place that
> turns an include_dirs option in setup.cfg into a list of
> directories. The reason I was looking for it is that I can't figure
> out how to make include_dirs include multiple directories from
> setup.cfg. Everything I try winds up putting
> -I<contents_of_include_dirs>. I couldn't even find the place where the
> string value that is returned by ConfigParser is enclosed in a list.


I did it this way:

% cd work/py2.4/Lib/distutils/
% grep setup.cfg *
dist.py: on Windows/Mac, and setup.cfg in the current directory.
dist.py: # All platforms support local setup.cfg
dist.py: local_file = "setup.cfg"

So it is clearly dist.py. There, setup.cfg is returned from
find_config_files. This is called a single time only in dist.py,
namely from parse_config_files. As you can see, this is then set
as the global include_dirs option. Apparently, include_dirs really
*is* a single string, then.

Now, where is it split into multiple substrings?
% grep include_dirs *.py */*.py

This gives a long list. However, in two places, include_dirs is split:
command/config.py: self.include_dirs =
string.split(self.include_dirs, os.pathsep)
command/build_ext.py: self.include_dirs =
string.split(self.include_dirs, os.pathsep)

Both places have similar code:

if self.include_dirs is None:
self.include_dirs = self.distribution.include_dirs or []
elif type(self.include_dirs) is StringType:
self.include_dirs = string.split(self.include_dirs, os.pathsep)

HTH,
Martin
 
Reply With Quote
 
 
 
 
Mike Meyer
Guest
Posts: n/a
 
      11-19-2004
"Martin v. L÷wis" <(E-Mail Removed)> writes:

> Mike Meyer wrote:
>> Ok, I give up. I searched the CVS code, and can't find the place that
>> turns an include_dirs option in setup.cfg into a list of
>> directories. The reason I was looking for it is that I can't figure
>> out how to make include_dirs include multiple directories from
>> setup.cfg. Everything I try winds up putting
>> -I<contents_of_include_dirs>. I couldn't even find the place where the
>> string value that is returned by ConfigParser is enclosed in a list.

>
> % grep include_dirs *.py */*.py
>
> This gives a long list. However, in two places, include_dirs is split:
> command/config.py: self.include_dirs =
> string.split(self.include_dirs, os.pathsep)
> command/build_ext.py: self.include_dirs =
> string.split(self.include_dirs, os.pathsep)


That's the code I was missing. And I missed it because I wasn't
looking in subdirectories (duh).

> Both places have similar code:
>
> if self.include_dirs is None:
> self.include_dirs = self.distribution.include_dirs or []
> elif type(self.include_dirs) is StringType:
> self.include_dirs = string.split(self.include_dirs, os.pathsep)


That helps immensely. But it seems to make setup.cfg non-portable, in
that you have to change the path separator in it to the one for the
platform you are on. I guess that since editing setup.cfg is expected,
that's not to bad.

Next question: I'd like to submit a bug report and patch for the
documentation of distutils. Where do I get copies of the source to
work on?

Thanks,
<mike
--
Mike Meyer <(E-Mail Removed)> http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
distutils, No module named numpy.distutils.fcompiler.conv_template Luis Alberto Zarrabeitia Gomez Python 0 03-30-2009 03:56 PM
can distutils windows installer invoke another distutils windows installer timw.google Python 1 05-11-2006 10:07 PM
Haskell distutils-type system Isaac Jones Python 2 07-03-2003 05:39 AM
Distutils directory questions Edward K. Ream Python 1 06-28-2003 04:02 PM
distutils deficiency PenguinOfDoom Python 0 06-24-2003 11:52 PM



Advertisments