diff options
author | Fred Drake <fdrake@acm.org> | 2004-06-25 23:02:59 (GMT) |
---|---|---|
committer | Fred Drake <fdrake@acm.org> | 2004-06-25 23:02:59 (GMT) |
commit | ec6229e35247ef9eff6c2af254cee4a558d1d46a (patch) | |
tree | e68a681c2a5e01ade9384e4b41ad20d43a3bb865 /Lib/distutils/command/install.py | |
parent | 8d726eef968177acaae2a6daa7fe8fb5a8026c42 (diff) | |
download | cpython-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.py | 34 |
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 () |