-
Notifications
You must be signed in to change notification settings - Fork 164
/
Copy pathsetup.py
63 lines (55 loc) · 2.02 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
#! /usr/bin/env python
"""
This file is part of BinCAT.
Copyright 2014-2017 - Airbus Group
BinCAT is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or (at your
option) any later version.
BinCAT is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with BinCAT. If not, see <http://www.gnu.org/licenses/>.
"""
import os
import sys
from setuptools import setup, Extension, Command
class PyTest(Command):
description = "run py.test unit tests"
user_options = []
def initialize_options(self):
pass
def finalize_options(self):
pass
def run(self):
import sys,subprocess
errno = subprocess.call([sys.executable, 'runtests.py'])
raise SystemExit(errno)
if os.name == "nt" or sys.platform == 'cygwin':
mlbincat = None
else:
mlbincat = Extension(
"pybincat/mlbincat",
sources=["pybincat/mlbincat.c"],
libraries=["bincat"],
library_dirs=["../ocaml/build/"],
extra_compile_args=['-Wno-discarded-qualifiers'],
)
package_data_files = ['idabincat/conf/*ini']
setup(
cmdclass = {'test': PyTest},
name = 'BinCAT',
version = '0.1',
author = 'Sarah Zennou',
author_email = '[email protected]',
description = 'Binary Code Analysis Toolkit',
scripts = ['bin/bincat.py'],
packages = ['pybincat', 'pybincat/tools', 'idabincat', 'idabincat/hexview', 'webbincat'],
ext_modules = [mlbincat] if mlbincat is not None else [],
package_data = {
'idabincat': package_data_files
},
license = 'AGPLv3'
)