summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/distutils/command/build_py.py26
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)