| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- import os, sys
- try:
- from setuptools import setup
- from setuptools.command.install import install as _install
- from setuptools.command.sdist import sdist as _sdist
- except ImportError:
- from distutils.core import setup
- from distutils.command.install import install as _install
- from distutils.command.sdist import sdist as _sdist
- def _run_build_tables(dir):
- from subprocess import call
- call([sys.executable, '_build_tables.py'],
- cwd=os.path.join(dir, 'pycparser'))
- class install(_install):
- def run(self):
- _install.run(self)
- self.execute(_run_build_tables, (self.install_lib,),
- msg="Build the lexing/parsing tables")
- class sdist(_sdist):
- def make_release_tree(self, basedir, files):
- _sdist.make_release_tree(self, basedir, files)
- self.execute(_run_build_tables, (basedir,),
- msg="Build the lexing/parsing tables")
- setup(
- # metadata
- name='pycparser',
- description='C parser in Python',
- long_description="""
- pycparser is a complete parser of the C language, written in
- pure Python using the PLY parsing library.
- It parses C code into an AST and can serve as a front-end for
- C compilers or analysis tools.
- """,
- license='BSD',
- version='2.18',
- author='Eli Bendersky',
- maintainer='Eli Bendersky',
- author_email='eliben@gmail.com',
- url='https://github.com/eliben/pycparser',
- platforms='Cross Platform',
- classifiers = [
- 'Programming Language :: Python :: 2',
- 'Programming Language :: Python :: 3',],
- packages=['pycparser', 'pycparser.ply'],
- package_data={'pycparser': ['*.cfg']},
- cmdclass={'install': install, 'sdist': sdist},
- )
|