forked from sebasguts/JuPyMake
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsetup.py
42 lines (33 loc) · 1.42 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
import setuptools
from setuptools import setup, Extension
import sys
import subprocess
import platform
import os
if sys.version_info < (3,5):
macro_list = [ ( "PYTHON_VERSION_OLDER_THREE_FIVE", "1" ) ]
else:
macro_list = [ ]
if sys.version_info < (3,0):
FileNotFoundError = OSError
def conditional_decode( string ):
if sys.version_info < (3,0):
return string
return string.decode( 'utf-8' )
polymake_cflags = conditional_decode( subprocess.check_output( [ "polymake-config", "--cflags" ] ).strip() ).split()
polymake_cflags += conditional_decode( subprocess.check_output( [ "polymake-config", "--includes" ] ).strip() ).split()
polymake_ldflags = conditional_decode( subprocess.check_output( [ "polymake-config", "--ldflags" ] ).strip() ).split()
polymake_ldflags += [ "-lpolymake" ]
polymake_cc = conditional_decode( subprocess.check_output( [ "polymake-config", "--cc" ] ).strip() )
os.environ["CC"] = polymake_cc
os.environ["CXX"] = polymake_cc
if platform.system() == "Darwin" :
version_arr = platform.mac_ver()[0].split('.')
os.environ["MACOSX_DEPLOYMENT_TARGET"] = version_arr[0]+'.'+version_arr[1]
setup(
ext_modules= [ Extension( "JuPyMake",
[ "JuPyMake.cpp" ],
extra_compile_args=polymake_cflags + [ '-pthread' ],
extra_link_args=polymake_ldflags,
define_macros = macro_list ) ],
)