diff options
author | Andrew M. Kuchling <amk@amk.ca> | 2003-02-28 22:03:04 (GMT) |
---|---|---|
committer | Andrew M. Kuchling <amk@amk.ca> | 2003-02-28 22:03:04 (GMT) |
commit | e557f3556f1f87825e00a018eabf837c4c55f7d5 (patch) | |
tree | b08401165948ee8961835cbe0f0cc1a264c50caf | |
parent | 6156a2d07cc26e89a068bff7a4b7bbc84167d415 (diff) | |
download | cpython-e557f3556f1f87825e00a018eabf837c4c55f7d5.zip cpython-e557f3556f1f87825e00a018eabf837c4c55f7d5.tar.gz cpython-e557f3556f1f87825e00a018eabf837c4c55f7d5.tar.bz2 |
[Patch #695090 from Bernhard Herzog] Allow specifying both py_modules and packages
-rw-r--r-- | Lib/distutils/command/build_py.py | 26 |
1 files changed, 6 insertions, 20 deletions
diff --git a/Lib/distutils/command/build_py.py b/Lib/distutils/command/build_py.py index 258d6d4..6c007c6 100644 --- a/Lib/distutils/command/build_py.py +++ b/Lib/distutils/command/build_py.py @@ -86,25 +86,11 @@ class build_py (Command): # Two options control which modules will be installed: 'packages' # and 'py_modules'. The former lets us work with whole packages, not # specifying individual modules at all; the latter is for - # specifying modules one-at-a-time. Currently they are mutually - # exclusive: you can define one or the other (or neither), but not - # both. It remains to be seen how limiting this is. - - # Dispose of the two "unusual" cases first: no pure Python modules - # at all (no problem, just return silently), and over-specified - # 'packages' and 'py_modules' options. - - if not self.py_modules and not self.packages: - return - if self.py_modules and self.packages: - raise DistutilsOptionError, \ - "build_py: supplying both 'packages' and 'py_modules' " + \ - "options is not allowed" - - # Now we're down to two cases: 'py_modules' only and 'packages' only. + # specifying modules one-at-a-time. + if self.py_modules: self.build_modules() - else: + if self.packages: self.build_packages() self.byte_compile(self.get_outputs(include_bytecode=0)) @@ -276,10 +262,10 @@ class build_py (Command): (package, module, module_file), just like 'find_modules()' and 'find_package_modules()' do.""" + modules = [] if self.py_modules: - modules = self.find_modules() - else: - modules = [] + modules.extend(self.find_modules()) + if self.packages: for package in self.packages: package_dir = self.get_package_dir(package) m = self.find_package_modules(package, package_dir) |