@@ -39,30 +39,12 @@ def run(self):
39
39
self .run_command ('build_ext' )
40
40
self .do_egg_install ()
41
41
42
- class Build_Ext_find_swig3 (build_ext ):
42
+ class Swig3Ext (build_ext ):
43
43
def find_swig (self ):
44
- return get_swig_executable ()
45
-
46
- def get_swig_executable ():
47
- # stolen from https://github.com/FEniCS/ffc/blob/master/setup.py
48
- "Get SWIG executable"
49
-
50
- # Find SWIG executable
51
- swig_executable = None
52
- swig_minimum_version = "3.0.2"
53
- for executable in ["swig" , "swig3.0" ]:
54
- swig_executable = find_executable (executable )
55
- if swig_executable is not None :
56
- # Check that SWIG version is ok
57
- output = subprocess .check_output ([swig_executable , "-version" ]).decode ('utf-8' )
58
- swig_version = re .findall (r"SWIG Version ([0-9.]+)" , output )[0 ]
59
- if LooseVersion (swig_version ) >= LooseVersion (swig_minimum_version ):
60
- break
61
- swig_executable = None
62
- if swig_executable is None :
63
- raise OSError ("Unable to find SWIG version %s or higher." % swig_minimum_version )
64
- print ("Found SWIG: %s (version %s)" % (swig_executable , swig_version ))
65
- return swig_executable
44
+ swigBinary = find_executable ('swig3.0' ) or find_executable ('swig' )
45
+ assert swigBinary is not None
46
+ assert subprocess .check_output ([swigBinary , "-version" ]).find ('SWIG Version 3' ) != - 1
47
+ return swigBinary
66
48
67
49
VERSION = '0.0.5'
68
50
@@ -86,7 +68,7 @@ def get_swig_executable():
86
68
cmdclass = {
87
69
'build' : CustomBuild ,
88
70
'install' : CustomInstall ,
89
- 'build_ext' : Build_Ext_find_swig3 ,
71
+ 'build_ext' : Swig3Ext ,
90
72
},
91
73
include_package_data = True ,
92
74
)
0 commit comments