forked from gdabah/distorm
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
executable file
·65 lines (59 loc) · 2.54 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/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()