| """distutils.command.build |
| |
| Implements the Distutils 'build' command.""" |
| |
| # created 1999/03/08, Greg Ward |
| |
| __rcsid__ = "$Id$" |
| |
| import os |
| from distutils.core import Command |
| |
| |
| class Build (Command): |
| |
| options = [('basedir=', 'b', "base directory for build library"), |
| ('libdir=', 'l', "directory for platform-shared files"), |
| ('platdir=', 'p', "directory for platform-specific files"), |
| ] |
| |
| def set_default_options (self): |
| self.basedir = 'build' |
| # these are decided only after 'basedir' has its final value |
| # (unless overridden by the user or client) |
| self.libdir = None |
| self.platdir = None |
| |
| def set_final_options (self): |
| # 'libdir' and 'platdir' just default to 'lib' and 'plat' under |
| # the base build directory |
| if self.libdir is None: |
| self.libdir = os.path.join (self.basedir, 'lib') |
| if self.platdir is None: |
| self.platdir = os.path.join (self.basedir, 'platlib') |
| |
| |
| def run (self): |
| |
| self.set_final_options () |
| |
| # For now, "build" means "build_py" then "build_ext". (Eventually |
| # it should also build documentation.) |
| |
| # Invoke the 'build_py' command |
| self.run_peer ('build_py') |
| |
| # And now 'build_ext' |
| self.run_peer ('build_ext') |
| |
| # end class Build |