[Python-checkins] r62934 - in python/trunk/Lib: distutils/command/build_ext.py site.py

christian.heimes python-checkins at python.org
Fri May 9 14:19:10 CEST 2008


Author: christian.heimes
Date: Fri May  9 14:19:09 2008
New Revision: 62934

Log:
Add --user option to build_ext

Modified:
   python/trunk/Lib/distutils/command/build_ext.py
   python/trunk/Lib/site.py

Modified: python/trunk/Lib/distutils/command/build_ext.py
==============================================================================
--- python/trunk/Lib/distutils/command/build_ext.py	(original)
+++ python/trunk/Lib/distutils/command/build_ext.py	Fri May  9 14:19:09 2008
@@ -10,6 +10,7 @@
 
 import sys, os, string, re
 from types import *
+from site import USER_BASE, USER_SITE
 from distutils.core import Command
 from distutils.errors import *
 from distutils.sysconfig import customize_compiler, get_python_version
@@ -93,9 +94,11 @@
          "list of SWIG command line options"),
         ('swig=', None,
          "path to the SWIG executable"),
+        ('user', None,
+         "add user include, library and rpath"),
         ]
 
-    boolean_options = ['inplace', 'debug', 'force', 'swig-cpp']
+    boolean_options = ['inplace', 'debug', 'force', 'swig-cpp', 'user']
 
     help_options = [
         ('help-compiler', None,
@@ -123,6 +126,7 @@
         self.swig = None
         self.swig_cpp = None
         self.swig_opts = None
+        self.user = None
 
     def finalize_options (self):
         from distutils import sysconfig
@@ -257,6 +261,16 @@
         else:
             self.swig_opts = self.swig_opts.split(' ')
 
+        # Finally add the user include and library directories if requested
+        if self.user:
+            user_include = os.path.join(USER_BASE, "include")
+            user_lib = os.path.join(USER_BASE, "lib")
+            if os.path.isdir(user_include):
+                self.include_dirs.append(user_include)
+            if os.path.isdir(user_lib):
+                self.library_dirs.append(user_lib)
+                self.rpath.append(user_lib)
+
     # finalize_options ()
 
 

Modified: python/trunk/Lib/site.py
==============================================================================
--- python/trunk/Lib/site.py	(original)
+++ python/trunk/Lib/site.py	Fri May  9 14:19:09 2008
@@ -522,7 +522,7 @@
 
     Exit codes with --user-base or --user-site:
       0 - user site directory is enabled
-      1 - user site diretory is disabled by user
+      1 - user site directory is disabled by user
       2 - uses site directory is disabled by super user
           or for security reasons
      >2 - unknown error


More information about the Python-checkins mailing list