Skip to content

Commit a8b67c6

Browse files
committed
fix and close #1
1 parent 9005fc4 commit a8b67c6

File tree

1 file changed

+19
-3
lines changed

1 file changed

+19
-3
lines changed

setup.py

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,29 @@
1+
import platform
12
from setuptools import setup, Extension
23
from Cython.Build import cythonize
34
import numpy as np
45

6+
SYSTEM = platform.system()
7+
CPU = platform.processor()
8+
9+
C_COMPILE_ARGS = ["-std=c99", "-O3", "-ffast-math", "-DREP"]
10+
CXX_COMPILE_ARGS = ["-std=c++11", "-O3", "-ffast-math"]
11+
CXX_LINK_ARGS = ["-std=c++11"]
12+
13+
if not CPU:
14+
CPU = platform.machine()
15+
16+
if (SYSTEM != "Darwin") and (CPU not in 'arm64'):
17+
C_COMPILE_ARGS.append("-march=native")
18+
CXX_COMPILE_ARGS.append("-march=native")
19+
CXX_LINK_ARGS.append("-fopenmp")
20+
521
extensions = [
622
Extension(
723
"radius_clustering.utils._emos",
824
["radius_clustering/utils/emos.pyx", "radius_clustering/utils/main-emos.c"],
925
include_dirs=[np.get_include(), "radius_clustering/utils"],
10-
extra_compile_args=["-std=c99", "-O3", "-march=native", "-ffast-math", "-DREP"],
26+
extra_compile_args=C_COMPILE_ARGS,
1127
),
1228
Extension(
1329
"radius_clustering.utils._mds_approx",
@@ -18,8 +34,8 @@
1834
],
1935
include_dirs=[np.get_include(), "radius_clustering/utils"],
2036
language="c++",
21-
extra_compile_args=["-std=c++11", "-O3", "-march=native", "-ffast-math"],
22-
extra_link_args=["-std=c++11", "-fopenmp"],
37+
extra_compile_args=CXX_COMPILE_ARGS,
38+
extra_link_args=CXX_LINK_ARGS,
2339
),
2440
]
2541

0 commit comments

Comments
 (0)