[Distutils] compiler selection with bdist_egg of setuptools
Phillip J. Eby
pje at telecommunity.com
Tue Oct 10 06:21:30 CEST 2006
At 09:05 PM 10/9/2006 -0700, Venkat Bommakanti wrote:
>Hi,
>
>While compiling some py/C source pkgs, such as:
> . RuleDispatch-0.5a0.dev-r2115.tar.gz
> . cElementTree-1.0.5-20051216.zip
> . PyProtocols-1.0a0dev_r2082.zip
> . Cheetah-2.0rc7.tar.gz
>I noticed in the logs that each (after being unpacked) has
>the following command invoked:
> setup.py -q bdist_egg --dist-dir /tmp/....
>
>Since selecting a 'compiler' is not an option for the
>"bdist_egg" command, are even the settings in
>~/.pydistutils.cfg file:
> [build]
> compiler = unix
> [bdist_egg]
> plat_name = ppc
>picked up ?
>
>They appear not to be picked up, and I'm suspecting that
>since the [build] settings are valid only for the "build" command,
>it will not have any effect on the "bdist_egg" command used
>by all the above comps. Is that accurate ?
No, it's not accurate. bdist_egg invokes various build commands (such as
build_ext) which get their default --compiler setting from the [build]
configuration.
>If plat_name is not picked up, how is setuptools figuring
>out that the platform is i686 (given that the build is being
>done for a i686 linux box). Verbose logs don't show where/how
>that decision is made...
Try running with $DISTUTILS_DEBUG set to "yes". You will get a ton of
output showing what configuration files are being parsed and how the
options for each command are getting set. Look at what's happening when
the second-level setup is run (i.e., the package being asked to
'bdist_egg'); the first-level (easy_install itself) won't make any difference.
More information about the Distutils-SIG
mailing list