-
Notifications
You must be signed in to change notification settings - Fork 11
/
setup.py
38 lines (34 loc) · 976 Bytes
/
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
#!/usr/bin/env python
# vim: fdm=indent
import sys
# Python 3.6 compatibility: Python 3.6 has no compatible version of setuptools that supports
# PEP-517 (the `pyproject.toml`-based config), so we use a shim package `ppsetuptools` instead.
if sys.version_info >= (3, 7):
from setuptools import setup, Extension
else:
from ppsetuptools import setup, Extension
import numpy as np
setup_args = dict(
py_modules=["FFPopSim"],
package_dir={ '': 'src/python' },
ext_modules = [
Extension(
'_FFPopSim',
[
'src/python/FFPopSim_wrap.cpp',
'src/haploid_highd.cpp',
'src/haploid_lowd.cpp',
'src/hivpopulation.cpp',
'src/hivgene.cpp',
'src/rootedTree.cpp',
'src/multiLocusGenealogy.cpp',
'src/hypercube_lowd.cpp',
'src/hypercube_highd.cpp',
],
include_dirs=[np.get_include()],
libraries=['gsl', 'gslcblas'],
py_limited_api = True
)
]
)
setup(**setup_args)