mirror of https://github.com/python/cpython
Changed to reflect the new "command options" regime -- in particular,
we no longer explicitly pull distribution options out of our Distribution object, but rather let the Distribution put them into the command object.
This commit is contained in:
parent
42926ddc7e
commit
71eb8644d7
|
@ -61,6 +61,7 @@ class BuildExt (Command):
|
|||
|
||||
|
||||
def set_default_options (self):
|
||||
self.extensions = None
|
||||
self.dir = None
|
||||
self.include_dirs = None
|
||||
self.define = None
|
||||
|
@ -90,10 +91,14 @@ class BuildExt (Command):
|
|||
def run (self):
|
||||
|
||||
self.set_final_options ()
|
||||
(extensions, package) = \
|
||||
self.distribution.get_options ('ext_modules', 'package')
|
||||
|
||||
# 'extensions', as supplied by setup.py, is a list of 2-tuples.
|
||||
# XXX we should care about the package we compile extensions
|
||||
# into!
|
||||
|
||||
#(extensions, package) = \
|
||||
# self.distribution.get_options ('ext_modules', 'package')
|
||||
|
||||
# 'self.extensions', as supplied by setup.py, is a list of 2-tuples.
|
||||
# Each tuple is simple:
|
||||
# (ext_name, build_info)
|
||||
# build_info is a dictionary containing everything specific to
|
||||
|
@ -101,13 +106,16 @@ class BuildExt (Command):
|
|||
# should be handled by general distutils options passed from
|
||||
# setup.py down to right here, but that's not taken care of yet.)
|
||||
|
||||
if not self.extensions:
|
||||
return
|
||||
|
||||
# First, sanity-check the 'extensions' list
|
||||
self.check_extensions_list (extensions)
|
||||
# First, sanity-check the 'self.extensions' list
|
||||
self.check_extensions_list (self.extensions)
|
||||
|
||||
# Setup the CCompiler object that we'll use to do all the
|
||||
# compiling and linking
|
||||
self.compiler = new_compiler (verbose=self.distribution.verbose,
|
||||
self.compiler = new_compiler (plat=os.environ.get ('PLAT'),
|
||||
verbose=self.distribution.verbose,
|
||||
dry_run=self.distribution.dry_run)
|
||||
if self.include_dirs is not None:
|
||||
self.compiler.set_include_dirs (self.include_dirs)
|
||||
|
@ -128,7 +136,7 @@ class BuildExt (Command):
|
|||
self.compiler.set_link_objects (self.link_objects)
|
||||
|
||||
# Now the real loop over extensions
|
||||
self.build_extensions (extensions)
|
||||
self.build_extensions (self.extensions)
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -20,10 +20,14 @@ class BuildPy (Command):
|
|||
|
||||
def set_default_options (self):
|
||||
self.dir = None
|
||||
self.modules = None
|
||||
self.package = None
|
||||
|
||||
def set_final_options (self):
|
||||
self.set_undefined_options ('build',
|
||||
('libdir', 'dir'))
|
||||
if self.package is None:
|
||||
self.package = ''
|
||||
|
||||
|
||||
def run (self):
|
||||
|
@ -43,10 +47,6 @@ class BuildPy (Command):
|
|||
|
||||
self.set_final_options ()
|
||||
|
||||
(modules, package) = \
|
||||
self.distribution.get_options ('py_modules', 'package')
|
||||
package = package or ''
|
||||
|
||||
infiles = []
|
||||
outfiles = []
|
||||
missing = []
|
||||
|
@ -56,20 +56,20 @@ class BuildPy (Command):
|
|||
# input files.
|
||||
|
||||
# it's ok not to have *any* py files, right?
|
||||
if not modules:
|
||||
if not self.modules:
|
||||
return
|
||||
|
||||
# XXX we should allow for wildcards, so eg. the Distutils setup.py
|
||||
# file would just have to say
|
||||
# py_modules = ['distutils.*', 'distutils.command.*']
|
||||
# without having to list each one explicitly.
|
||||
for m in modules:
|
||||
for m in self.modules:
|
||||
fn = apply (os.path.join, tuple (string.split (m, '.'))) + '.py'
|
||||
if not os.path.exists (fn):
|
||||
missing.append (fn)
|
||||
else:
|
||||
infiles.append (fn)
|
||||
outfiles.append (os.path.join (self.dir, package, fn))
|
||||
outfiles.append (os.path.join (self.dir, self.package, fn))
|
||||
|
||||
# Blow up if any input files were not found.
|
||||
if missing:
|
||||
|
|
Loading…
Reference in New Issue