@@ -53,15 +53,15 @@ def prepare_Cython_extensions_as_C_extensions(extensions):
53
53
54
54
# modify extension in place
55
55
extension .sources = c_sources
56
-
56
+
57
57
def files_exist (file_list ):
58
58
for fname in file_list :
59
59
if os .path .isfile (fname ) == False :
60
60
return False
61
61
return True
62
62
63
63
f2py_options = []
64
-
64
+
65
65
hsl_config = ConfigParser .SafeConfigParser ()
66
66
hsl_config .read ('site.cfg' )
67
67
@@ -98,7 +98,7 @@ metis_dir = hsl_config.get('METIS', 'metis_dir')
98
98
metis_lib = hsl_config .get ('METIS' , 'metis_lib' )
99
99
100
100
# OPTIONAL
101
- build_cysparse_ext = False
101
+ build_cysparse_ext = False
102
102
if hsl_config .has_section ('CYSPARSE' ):
103
103
build_cysparse_ext = True
104
104
cysparse_rootdir = hsl_config .get ('CYSPARSE' , 'cysparse_rootdir' ).split (os .pathsep )
@@ -128,13 +128,13 @@ lapack_info = get_info('lapack_opt', 0)
128
128
if not lapack_info :
129
129
print 'No lapack info found'
130
130
131
-
131
+
132
132
########################################################################################################################
133
133
# EXTENSIONS
134
134
########################################################################################################################
135
135
include_dirs = [numpy_include , 'include' , '.' ]
136
136
137
- ## Extensions using Fortran codes
137
+ ## Extensions using Fortran codes
138
138
139
139
# Relevant files for building MA27 extension.
140
140
ma27_src = ['fd05ad.f' , 'ma27ad.f' ]
@@ -147,24 +147,34 @@ ma27_sources += [os.path.join('hsl', 'solvers', 'src', name) for name in libma27
147
147
pyma27_sources = [os .path .join ('hsl' , 'solvers' , 'src' , name ) for name in pyma27_src ]
148
148
149
149
if files_exist (ma27_sources ):
150
-
150
+
151
151
config .add_library (name = 'hsl_ma27' ,
152
152
sources = ma27_sources ,
153
153
include_dirs = [hsl_rootdir , os .path .join ('hsl' , 'solvers' , 'src' )],)
154
154
155
-
155
+ config .add_extension (name = 'solvers._pyma27' ,
156
+ sources = pyma27_sources ,
157
+ libraries = ['hsl_ma27' ],
158
+ include_dirs = ['include' , os .path .join ('hsl' ,'solvers' ,'src' )],)
156
159
157
160
# Build PyMA57
158
161
ma57_src = ['ddeps.f' , 'ma57d.f' ]
159
162
ma57_sources = [os .path .join (hsl_rootdir , 'ma57d' , name ) for name in ma57_src ]
163
+ pyma57_src = ['ma57_lib.c' , 'hsl_alloc.c' , '_pyma57.c' ]
164
+ pyma57_sources = [os .path .join ('hsl' ,'solvers' ,'src' ,name ) for name in pyma57_src ]
160
165
161
166
if files_exist (ma57_sources ):
162
- config .add_library (
163
- name = 'hsl_ma57' ,
164
- sources = ma57_sources ,
165
- libraries = [metis_lib ],
166
- library_dirs = [metis_dir ],
167
- include_dirs = [hsl_rootdir , os .path .join ('hsl' , 'solvers' , 'src' )],)
167
+ config .add_library (name = 'hsl_ma57' ,
168
+ sources = ma57_sources ,
169
+ libraries = [metis_lib ],
170
+ library_dirs = [metis_dir ],
171
+ include_dirs = [hsl_rootdir , os .path .join ('hsl' , 'solvers' , 'src' )],)
172
+
173
+ config .add_extension (name = 'solvers._pyma57' ,
174
+ sources = pyma57_sources ,
175
+ libraries = [metis_lib ,'hsl_ma57' ],
176
+ library_dirs = [metis_dir ],
177
+ include_dirs = ['include' ,os .path .join ('hsl' ,'solvers' ,'src' )],)
168
178
169
179
mc29_sources = [os .path .join (hsl_rootdir , 'mc29d' , 'mc29d.f' ),
170
180
os .path .join ('hsl' , 'scaling' , 'src' , 'mc29.pyf' )]
@@ -204,7 +214,7 @@ if not use_debug_symbols:
204
214
else :
205
215
ext_params ['extra_compile_args' ] = ["-g" , '-std=c99' , '-Wno-unused-function' ]
206
216
ext_params ['extra_link_args' ] = ["-g" ]
207
-
217
+
208
218
context_ext_params = copy .deepcopy (ext_params )
209
219
{% for index_type in index_list % }
210
220
{% for element_type in type_list % }
0 commit comments