blob: de53c8c35b30ae2d21b56870710c8a01d1d91cd1 [file] [log] [blame]
#!/usr/bin/env python
import os
import os.path
from glob import glob
from setuptools import Extension, setup
def main():
# Just in case we are being called from a different directory
cwd = os.path.dirname(__file__)
if cwd:
os.chdir(cwd)
distorm_module = Extension(
"_distorm3",
sources=sorted(glob('src/*.c')) + ["python/python_module_init.c"],
include_dirs=['src', 'include'],
define_macros=[('SUPPORT_64BIT_OFFSET', None), ('DISTORM_DYNAMIC', None)],
)
options = {
# Setup instructions
'requires' : ['ctypes'],
'provides' : ['distorm3'],
'packages' : ['distorm3'],
'package_dir' : { '' : 'python' },
'ext_modules' : [distorm_module],
# Metadata
'name' : 'distorm3',
'version' : '3.5.2',
'description' : 'The goal of diStorm3 is to decode x86/AMD64' \
' binary streams and return a structure that' \
' describes each instruction.',
'long_description' : (
'Powerful Disassembler Library For AMD64\n'
'by Gil Dabah (distorm@gmail.com)\n'
'\n'
'Python bindings by Mario Vilas (mvilas@gmail.com)'
),
'author' : 'Gil Dabah',
'author_email' : 'distorm@gmail.com',
'maintainer' : 'Gil Dabah',
'maintainer_email' : 'distorm@gmail.com',
'url' : 'https://github.com/gdabah/distorm/',
'download_url' : 'https://github.com/gdabah/distorm/',
'platforms' : ['cygwin', 'win', 'linux', 'macosx'],
'classifiers' : [
'License :: OSI Approved :: BSD License',
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Developers',
'Natural Language :: English',
'Operating System :: Microsoft :: Windows',
'Operating System :: MacOS :: MacOS X',
'Operating System :: POSIX :: Linux',
'Programming Language :: Python :: 3.5',
'Topic :: Software Development :: Disassemblers',
'Topic :: Software Development :: Libraries :: Python Modules',
]
}
# Call the setup function
setup(**options)
if __name__ == '__main__':
main()