66 lines
2.5 KiB
Python
66 lines
2.5 KiB
Python
![]() |
#!/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.3',
|
||
|
'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()
|