summaryrefslogtreecommitdiffstats
path: root/Lib/distutils/command/install.py
diff options
context:
space:
mode:
authorFred Drake <fdrake@acm.org>2004-06-25 23:02:59 (GMT)
committerFred Drake <fdrake@acm.org>2004-06-25 23:02:59 (GMT)
commitec6229e35247ef9eff6c2af254cee4a558d1d46a (patch)
treee68a681c2a5e01ade9384e4b41ad20d43a3bb865 /Lib/distutils/command/install.py
parent8d726eef968177acaae2a6daa7fe8fb5a8026c42 (diff)
downloadcpython-ec6229e35247ef9eff6c2af254cee4a558d1d46a.zip
cpython-ec6229e35247ef9eff6c2af254cee4a558d1d46a.tar.gz
cpython-ec6229e35247ef9eff6c2af254cee4a558d1d46a.tar.bz2
Make distutils "install --home" support all platforms.
Diffstat (limited to 'Lib/distutils/command/install.py')
-rw-r--r--Lib/distutils/command/install.py34
1 files changed, 17 insertions, 17 deletions
diff --git a/Lib/distutils/command/install.py b/Lib/distutils/command/install.py
index 7fb46a7..3c36ede 100644
--- a/Lib/distutils/command/install.py
+++ b/Lib/distutils/command/install.py
@@ -242,19 +242,15 @@ class install (Command):
("must supply either prefix/exec-prefix/home or " +
"install-base/install-platbase -- not both")
+ if self.home and (self.prefix or self.exec_prefix):
+ raise DistutilsOptionError, \
+ "must supply either home or prefix/exec-prefix -- not both"
+
# Next, stuff that's wrong (or dubious) only on certain platforms.
- if os.name == 'posix':
- if self.home and (self.prefix or self.exec_prefix):
- raise DistutilsOptionError, \
- ("must supply either home or prefix/exec-prefix -- " +
- "not both")
- else:
+ if os.name != "posix":
if self.exec_prefix:
self.warn("exec-prefix option ignored on this platform")
self.exec_prefix = None
- if self.home:
- self.warn("home option ignored on this platform")
- self.home = None
# Now the interesting logic -- so interesting that we farm it out
# to other methods. The goal of these methods is to set the final
@@ -405,15 +401,19 @@ class install (Command):
def finalize_other (self): # Windows and Mac OS for now
- if self.prefix is None:
- self.prefix = os.path.normpath(sys.prefix)
+ if self.home is not None:
+ self.install_base = self.install_platbase = self.home
+ self.select_scheme("unix_home")
+ else:
+ if self.prefix is None:
+ self.prefix = os.path.normpath(sys.prefix)
- self.install_base = self.install_platbase = self.prefix
- try:
- self.select_scheme(os.name)
- except KeyError:
- raise DistutilsPlatformError, \
- "I don't know how to install stuff on '%s'" % os.name
+ self.install_base = self.install_platbase = self.prefix
+ try:
+ self.select_scheme(os.name)
+ except KeyError:
+ raise DistutilsPlatformError, \
+ "I don't know how to install stuff on '%s'" % os.name
# finalize_other ()