summaryrefslogtreecommitdiff
path: root/numpy/f2py/lib/extgen/setup_py.py
diff options
context:
space:
mode:
authorRobert Kern <robert.kern@gmail.com>2008-07-03 19:57:24 +0000
committerRobert Kern <robert.kern@gmail.com>2008-07-03 19:57:24 +0000
commit484c100392601f4942ceecbedf32e6df0201d473 (patch)
tree5e5a58b30a39bd1b5481333ae4a4b9c34e466841 /numpy/f2py/lib/extgen/setup_py.py
parent0c817a5d51c2c16db9df5c015ff846002d991d74 (diff)
downloadnumpy-484c100392601f4942ceecbedf32e6df0201d473.tar.gz
Removing G3 f2py code. Development has moved to https://launchpad.net/f2py/
Diffstat (limited to 'numpy/f2py/lib/extgen/setup_py.py')
-rw-r--r--numpy/f2py/lib/extgen/setup_py.py124
1 files changed, 0 insertions, 124 deletions
diff --git a/numpy/f2py/lib/extgen/setup_py.py b/numpy/f2py/lib/extgen/setup_py.py
deleted file mode 100644
index da1d84943..000000000
--- a/numpy/f2py/lib/extgen/setup_py.py
+++ /dev/null
@@ -1,124 +0,0 @@
-
-__all__ = ['SetupPy']
-
-import os
-import sys
-from numpy.distutils.exec_command import exec_command
-from base import Component
-from utils import FileSource
-
-def write_files(container):
- s = ['creating files and directories:']
- for filename, i in container.label_map.items():
- content = container.list[i]
- d,f = os.path.split(filename)
- if d and not os.path.isdir(d):
- s.append(' %s/' % (d))
- if not Component._generate_dry_run:
- os.makedirs(d)
- s.append(' %s' % (filename))
- if not Component._generate_dry_run:
- overwrite = True
- if os.path.isfile(filename):
- overwrite = False
- f = file(filename, 'r')
- i = 0
- for line in f:
- if 'is generated using ExtGen tool' in line:
- overwrite = True
- break
- i += 1
- if i>5: break
- if not overwrite:
- s[-1] += ' - unknown file exists, skipping'
- else:
- s[-1] += ' - extgen generated file exists, overwriting'
- if overwrite:
- f = file(filename,'w')
- f.write(content)
- f.close()
- return '\n'.join(s)
-
-
-class SetupPy(Component):
-
- """
- >>> from __init__ import *
- >>> s = SetupPy('SetupPy_doctest')
- >>> s += PyCModule('foo')
- >>> s,o = s.execute('build_ext', '--inplace')
- >>> assert s==0,`s`
- >>> import SetupPy_doctest as mypackage
- >>> print mypackage.foo.__doc__ #doctest: +ELLIPSIS
- This module 'foo' is generated with ExtGen from NumPy version...
-
- """
- template_setup_py_start = '''\
-def configuration(parent_package='', top_path = ''):
- from numpy.distutils.misc_util import Configuration
- config = Configuration('',parent_package,top_path)'''
- template_setup_py_end = '''\
- return config
-if __name__ == "__main__":
- from numpy.distutils.core import setup
- setup(configuration=configuration)
-'''
- template = '%(SourceWriter)s'
-
- container_options = dict(
- SourceWriter = dict(user_defined_str = write_files),
- TMP = dict()
- )
-
- component_container_map = dict(
- FileSource = 'SourceWriter',
- ExtensionModule = 'TMP',
- )
-
- def initialize(self, build_dir, *components, **options):
- self.name = self.path = build_dir
- if not self.path:
- self.setup_py = setup_py = Component.PySource('extgen_setup.py')
- self.init_py = init_py = Component.PySource('extgen__init__.py')
- else:
- self.setup_py = setup_py = Component.PySource('setup.py')
- self.init_py = init_py = Component.PySource('__init__.py')
-
- setup_py += self.template_setup_py_start
-
- self += init_py
- self += setup_py
-
- map(self.add, components)
-
- return self
-
- def finalize(self):
- self.setup_py += self.template_setup_py_end
-
- def execute(self, *args):
- """
- Run generated setup.py file with given arguments.
- """
- if not args:
- raise ValueError('need setup.py arguments')
- self.info(self.generate(dry_run=False))
- cmd = [sys.executable,'setup.py'] + list(args)
- self.info('entering %r directory' % (self.path))
- self.info('executing command %r' % (' '.join(cmd)))
- try:
- r = exec_command(cmd, execute_in=self.path, use_tee=False)
- except:
- self.info('leaving %r directory' % (self.path))
- raise
- else:
- self.info('leaving %r directory' % (self.path))
- return r
-
-
-def _test():
- import doctest
- doctest.testmod()
-
-if __name__ == "__main__":
- _test()