Commit 847ce20a authored by PJ Eby's avatar PJ Eby

Backport 'module' fixes to 0.6

--HG--
branch : setuptools-0.6
extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/branches/setuptools-0.6%4045696
parent 3f6ffbc7
......@@ -12,6 +12,13 @@ from pkg_resources import get_build_platform, Distribution
from types import CodeType
from setuptools.extension import Library
def strip_module(filename):
if '.' in filename:
filename = os.path.splitext(filename)[0]
if filename.endswith('module'):
filename = filename[:-6]
return filename
def write_stub(resource, pyfile):
f = open(pyfile,'w')
f.write('\n'.join([
......@@ -32,13 +39,6 @@ NS_PKG_STUB = '__import__("pkg_resources").declare_namespace(__name__)'
class bdist_egg(Command):
description = "create an \"egg\" distribution"
......@@ -179,7 +179,7 @@ class bdist_egg(Command):
to_compile = []
for (p,ext_name) in enumerate(ext_outputs):
filename,ext = os.path.splitext(ext_name)
pyfile = os.path.join(self.bdist_dir, filename + '.py')
pyfile = os.path.join(self.bdist_dir, strip_module(filename)+'.py')
self.stubs.append(pyfile)
log.info("creating stub loader for %s" % ext_name)
if not self.dry_run:
......
......@@ -745,7 +745,6 @@ Please make the appropriate changes for your system and try again.
to_compile = []
native_libs = []
top_level = {}
def process(src,dst):
for old,new in prefixes:
if src.startswith(old):
......@@ -754,6 +753,7 @@ Please make the appropriate changes for your system and try again.
dst = os.path.join(egg_tmp, *parts)
dl = dst.lower()
if dl.endswith('.pyd') or dl.endswith('.dll'):
parts[-1] = bdist_egg.strip_module(parts[-1])
top_level[os.path.splitext(parts[0])[0]] = 1
native_libs.append(src)
elif dl.endswith('.py') and old!='SCRIPTS/':
......@@ -770,11 +770,11 @@ Please make the appropriate changes for your system and try again.
for res in native_libs:
if res.lower().endswith('.pyd'): # create stubs for .pyd's
parts = res.split('/')
resource, parts[-1] = parts[-1], parts[-1][:-1]
resource = parts[-1]
parts[-1] = bdist_egg.strip_module(parts[-1])+'.py'
pyfile = os.path.join(egg_tmp, *parts)
to_compile.append(pyfile); stubs.append(pyfile)
bdist_egg.write_stub(resource, pyfile)
self.byte_compile(to_compile) # compile .py's
bdist_egg.write_safety_flag(os.path.join(egg_tmp,'EGG-INFO'),
bdist_egg.analyze_egg(egg_tmp, stubs)) # write zip-safety flag
......
......@@ -624,10 +624,12 @@ class Distribution(_Distribution):
for ext in self.ext_modules or ():
if isinstance(ext,tuple):
name,buildinfo = ext
yield name
name, buildinfo = ext
else:
yield ext.name
name = ext.name
if name.endswith('module'):
name = name[:-6]
yield name
# Install it throughout the distutils
for module in distutils.dist, distutils.core, distutils.cmd:
......@@ -650,8 +652,6 @@ for module in distutils.dist, distutils.core, distutils.cmd:
class Feature:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment