aboutsummaryrefslogtreecommitdiffstats
path: root/setuptools/command/build_ext.py
diff options
context:
space:
mode:
authorAlex Grönholm <alex.gronholm@nextday.fi>2014-06-18 20:31:05 +0300
committerAlex Grönholm <alex.gronholm@nextday.fi>2014-06-18 20:31:05 +0300
commit8e3f9d3253d1d0fb820dad4249d5110d017595c1 (patch)
tree04cb00f66a8e3a6b41031d7dfb39c598ce4aa06d /setuptools/command/build_ext.py
parentafea314acbcd6db19dcc96d84fa9652f71b883fb (diff)
downloadexternal_python_setuptools-8e3f9d3253d1d0fb820dad4249d5110d017595c1.tar.gz
external_python_setuptools-8e3f9d3253d1d0fb820dad4249d5110d017595c1.tar.bz2
external_python_setuptools-8e3f9d3253d1d0fb820dad4249d5110d017595c1.zip
Fixed PEP 8 compliancy of the setuptools.command package
Diffstat (limited to 'setuptools/command/build_ext.py')
-rw-r--r--setuptools/command/build_ext.py122
1 files changed, 69 insertions, 53 deletions
diff --git a/setuptools/command/build_ext.py b/setuptools/command/build_ext.py
index e08131d7..53bf9cd3 100644
--- a/setuptools/command/build_ext.py
+++ b/setuptools/command/build_ext.py
@@ -1,26 +1,29 @@
from distutils.command.build_ext import build_ext as _du_build_ext
+from distutils.file_util import copy_file
+from distutils.ccompiler import new_compiler
+from distutils.sysconfig import customize_compiler
+from distutils.errors import DistutilsError
+from distutils import log
+import os
+import sys
+
+from setuptools.extension import Library
+
try:
# Attempt to use Pyrex for building extensions, if available
from Pyrex.Distutils.build_ext import build_ext as _build_ext
except ImportError:
_build_ext = _du_build_ext
-import os
-import sys
-from distutils.file_util import copy_file
-from setuptools.extension import Library
-from distutils.ccompiler import new_compiler
-from distutils.sysconfig import customize_compiler
try:
# Python 2.7 or >=3.2
from sysconfig import _CONFIG_VARS
except ImportError:
from distutils.sysconfig import get_config_var
+
get_config_var("LDSHARED") # make sure _config_vars is initialized
del get_config_var
from distutils.sysconfig import _config_vars as _CONFIG_VARS
-from distutils import log
-from distutils.errors import DistutilsError
have_rtld = False
use_stubs = False
@@ -31,11 +34,13 @@ if sys.platform == "darwin":
elif os.name != 'nt':
try:
from dl import RTLD_NOW
+
have_rtld = True
use_stubs = True
except ImportError:
pass
+
def if_dl(s):
if have_rtld:
return s
@@ -59,8 +64,9 @@ class build_ext(_build_ext):
modpath = fullname.split('.')
package = '.'.join(modpath[:-1])
package_dir = build_py.get_package_dir(package)
- dest_filename = os.path.join(package_dir,os.path.basename(filename))
- src_filename = os.path.join(self.build_lib,filename)
+ dest_filename = os.path.join(package_dir,
+ os.path.basename(filename))
+ src_filename = os.path.join(self.build_lib, filename)
# Always copy, even if source is older than destination, to ensure
# that the right extensions for the current Python/platform are
@@ -72,7 +78,8 @@ class build_ext(_build_ext):
if ext._needs_stub:
self.write_stub(package_dir or os.curdir, ext, True)
- if _build_ext is not _du_build_ext and not hasattr(_build_ext,'pyrex_sources'):
+ if _build_ext is not _du_build_ext and not hasattr(_build_ext,
+ 'pyrex_sources'):
# Workaround for problems using some Pyrex versions w/SWIG and/or 2.4
def swig_sources(self, sources, *otherargs):
# first do any Pyrex processing
@@ -81,15 +88,15 @@ class build_ext(_build_ext):
return _du_build_ext.swig_sources(self, sources, *otherargs)
def get_ext_filename(self, fullname):
- filename = _build_ext.get_ext_filename(self,fullname)
+ filename = _build_ext.get_ext_filename(self, fullname)
if fullname in self.ext_map:
ext = self.ext_map[fullname]
- if isinstance(ext,Library):
+ if isinstance(ext, Library):
fn, ext = os.path.splitext(filename)
- return self.shlib_compiler.library_filename(fn,libtype)
+ return self.shlib_compiler.library_filename(fn, libtype)
elif use_stubs and ext._links_to_dynamic:
- d,fn = os.path.split(filename)
- return os.path.join(d,'dl-'+fn)
+ d, fn = os.path.split(filename)
+ return os.path.join(d, 'dl-' + fn)
return filename
def initialize_options(self):
@@ -103,7 +110,7 @@ class build_ext(_build_ext):
self.extensions = self.extensions or []
self.check_extensions_list(self.extensions)
self.shlibs = [ext for ext in self.extensions
- if isinstance(ext, Library)]
+ if isinstance(ext, Library)]
if self.shlibs:
self.setup_shlib_compiler()
for ext in self.extensions:
@@ -118,9 +125,10 @@ class build_ext(_build_ext):
ltd = ext._links_to_dynamic = \
self.shlibs and self.links_to_dynamic(ext) or False
- ext._needs_stub = ltd and use_stubs and not isinstance(ext,Library)
+ ext._needs_stub = ltd and use_stubs and not isinstance(ext,
+ Library)
filename = ext._file_name = self.get_ext_filename(fullname)
- libdir = os.path.dirname(os.path.join(self.build_lib,filename))
+ libdir = os.path.dirname(os.path.join(self.build_lib, filename))
if ltd and libdir not in ext.library_dirs:
ext.library_dirs.append(libdir)
if ltd and use_stubs and os.curdir not in ext.runtime_library_dirs:
@@ -134,7 +142,8 @@ class build_ext(_build_ext):
tmp = _CONFIG_VARS.copy()
try:
# XXX Help! I don't have any idea whether these are right...
- _CONFIG_VARS['LDSHARED'] = "gcc -Wl,-x -dynamiclib -undefined dynamic_lookup"
+ _CONFIG_VARS['LDSHARED'] = (
+ "gcc -Wl,-x -dynamiclib -undefined dynamic_lookup")
_CONFIG_VARS['CCSHARED'] = " -dynamiclib"
_CONFIG_VARS['SO'] = ".dylib"
customize_compiler(compiler)
@@ -148,7 +157,7 @@ class build_ext(_build_ext):
compiler.set_include_dirs(self.include_dirs)
if self.define is not None:
# 'define' option is a list of (name,value) tuples
- for (name,value) in self.define:
+ for (name, value) in self.define:
compiler.define_macro(name, value)
if self.undef is not None:
for macro in self.undef:
@@ -166,16 +175,16 @@ class build_ext(_build_ext):
compiler.link_shared_object = link_shared_object.__get__(compiler)
def get_export_symbols(self, ext):
- if isinstance(ext,Library):
+ if isinstance(ext, Library):
return ext.export_symbols
- return _build_ext.get_export_symbols(self,ext)
+ return _build_ext.get_export_symbols(self, ext)
def build_extension(self, ext):
_compiler = self.compiler
try:
- if isinstance(ext,Library):
+ if isinstance(ext, Library):
self.compiler = self.shlib_compiler
- _build_ext.build_extension(self,ext)
+ _build_ext.build_extension(self, ext)
if ext._needs_stub:
self.write_stub(
self.get_finalized_command('build_py').build_lib, ext
@@ -189,9 +198,10 @@ class build_ext(_build_ext):
# XXX as dynamic, and not just using a locally-found version or a
# XXX static-compiled version
libnames = dict.fromkeys([lib._full_name for lib in self.shlibs])
- pkg = '.'.join(ext._full_name.split('.')[:-1]+[''])
+ pkg = '.'.join(ext._full_name.split('.')[:-1] + [''])
for libname in ext.libraries:
- if pkg+libname in libnames: return True
+ if pkg + libname in libnames:
+ return True
return False
def get_outputs(self):
@@ -200,26 +210,29 @@ class build_ext(_build_ext):
for ext in self.extensions:
if ext._needs_stub:
base = os.path.join(self.build_lib, *ext._full_name.split('.'))
- outputs.append(base+'.py')
- outputs.append(base+'.pyc')
+ outputs.append(base + '.py')
+ outputs.append(base + '.pyc')
if optimize:
- outputs.append(base+'.pyo')
+ outputs.append(base + '.pyo')
return outputs
def write_stub(self, output_dir, ext, compile=False):
- log.info("writing stub loader for %s to %s",ext._full_name, output_dir)
- stub_file = os.path.join(output_dir, *ext._full_name.split('.'))+'.py'
+ log.info("writing stub loader for %s to %s", ext._full_name,
+ output_dir)
+ stub_file = (os.path.join(output_dir, *ext._full_name.split('.')) +
+ '.py')
if compile and os.path.exists(stub_file):
- raise DistutilsError(stub_file+" already exists! Please delete.")
+ raise DistutilsError(stub_file + " already exists! Please delete.")
if not self.dry_run:
- f = open(stub_file,'w')
+ f = open(stub_file, 'w')
f.write(
'\n'.join([
"def __bootstrap__():",
" global __bootstrap__, __file__, __loader__",
- " import sys, os, pkg_resources, imp"+if_dl(", dl"),
- " __file__ = pkg_resources.resource_filename(__name__,%r)"
- % os.path.basename(ext._file_name),
+ " import sys, os, pkg_resources, imp" + if_dl(", dl"),
+ " __file__ = pkg_resources.resource_filename"
+ "(__name__,%r)"
+ % os.path.basename(ext._file_name),
" del __bootstrap__",
" if '__loader__' in globals():",
" del __loader__",
@@ -233,12 +246,13 @@ class build_ext(_build_ext):
if_dl(" sys.setdlopenflags(old_flags)"),
" os.chdir(old_dir)",
"__bootstrap__()",
- "" # terminal \n
+ "" # terminal \n
])
)
f.close()
if compile:
from distutils.util import byte_compile
+
byte_compile([stub_file], optimize=0,
force=True, dry_run=self.dry_run)
optimize = self.get_finalized_command('install_lib').optimize
@@ -249,13 +263,14 @@ class build_ext(_build_ext):
os.unlink(stub_file)
-if use_stubs or os.name=='nt':
+if use_stubs or os.name == 'nt':
# Build shared libraries
#
- def link_shared_object(self, objects, output_libname, output_dir=None,
- libraries=None, library_dirs=None, runtime_library_dirs=None,
- export_symbols=None, debug=0, extra_preargs=None,
- extra_postargs=None, build_temp=None, target_lang=None):
+ def link_shared_object(
+ self, objects, output_libname, output_dir=None, libraries=None,
+ library_dirs=None, runtime_library_dirs=None, export_symbols=None,
+ debug=0, extra_preargs=None, extra_postargs=None, build_temp=None,
+ target_lang=None):
self.link(
self.SHARED_LIBRARY, objects, output_libname,
output_dir, libraries, library_dirs, runtime_library_dirs,
@@ -266,18 +281,19 @@ else:
# Build static libraries everywhere else
libtype = 'static'
- def link_shared_object(self, objects, output_libname, output_dir=None,
- libraries=None, library_dirs=None, runtime_library_dirs=None,
- export_symbols=None, debug=0, extra_preargs=None,
- extra_postargs=None, build_temp=None, target_lang=None):
+ def link_shared_object(
+ self, objects, output_libname, output_dir=None, libraries=None,
+ library_dirs=None, runtime_library_dirs=None, export_symbols=None,
+ debug=0, extra_preargs=None, extra_postargs=None, build_temp=None,
+ target_lang=None):
# XXX we need to either disallow these attrs on Library instances,
- # or warn/abort here if set, or something...
- #libraries=None, library_dirs=None, runtime_library_dirs=None,
- #export_symbols=None, extra_preargs=None, extra_postargs=None,
- #build_temp=None
+ # or warn/abort here if set, or something...
+ # libraries=None, library_dirs=None, runtime_library_dirs=None,
+ # export_symbols=None, extra_preargs=None, extra_postargs=None,
+ # build_temp=None
- assert output_dir is None # distutils build_ext doesn't pass this
- output_dir,filename = os.path.split(output_libname)
+ assert output_dir is None # distutils build_ext doesn't pass this
+ output_dir, filename = os.path.split(output_libname)
basename, ext = os.path.splitext(filename)
if self.library_filename("x").startswith('lib'):
# strip 'lib' prefix; this is kludgy if some platform uses