1 """distutils.command.build
3 Implements the Distutils 'build' command."""
5 # created 1999/03/08, Greg Ward
10 from distutils
.core
import Command
13 class Build (Command
):
15 description
= "build everything needed to install"
17 options
= [('build-base=', 'b',
18 "base directory for build library"),
20 "directory for platform-shared files"),
21 ('build-platlib=', 'p',
22 "directory for platform-specific files"),
25 def set_default_options (self
):
26 self
.build_base
= 'build'
27 # these are decided only after 'build_base' has its final value
28 # (unless overridden by the user or client)
30 self
.build_platlib
= None
32 def set_final_options (self
):
33 # 'build_lib' and 'build_platlib' just default to 'lib' and
34 # 'platlib' under the base build directory
35 if self
.build_lib
is None:
36 self
.build_lib
= os
.path
.join (self
.build_base
, 'lib')
37 if self
.build_platlib
is None:
38 self
.build_platlib
= os
.path
.join (self
.build_base
, 'platlib')
43 # For now, "build" means "build_py" then "build_ext". (Eventually
44 # it should also build documentation.)
46 # Invoke the 'build_py' command to "build" pure Python modules
47 # (ie. copy 'em into the build tree)
48 if self
.distribution
.packages
or self
.distribution
.py_modules
:
49 self
.run_peer ('build_py')
51 # And now 'build_ext' -- compile extension modules and put them
53 if self
.distribution
.ext_modules
:
54 self
.run_peer ('build_ext')