34
34
from sage .misc .cachefunc import cached_function
35
35
36
36
@cached_function
37
- def _standard_libs_libdirs ():
37
+ def _standard_libs_libdirs_incdirs_aliases ():
38
38
r"""
39
39
Return the list of libraries and library directories.
40
40
41
41
EXAMPLES::
42
42
43
- sage: from sage.misc.cython import _standard_libs_libdirs
44
- sage: _standard_libs_libdirs ()
43
+ sage: from sage.misc.cython import _standard_libs_libdirs_incdirs_aliases
44
+ sage: _standard_libs_libdirs_incdirs_aliases ()
45
45
(['mpfr', 'gmp', 'gmpxx', 'pari', ...],
46
- [...])
46
+ [...],
47
+ [...],
48
+ {...})
47
49
"""
48
- cblas_pc = pkgconfig .parse (get_cblas_pc_module_name ())
49
- cblas_libs = list (cblas_pc ['libraries' ])
50
- cblas_library_dirs = list (cblas_pc ['library_dirs' ])
51
- cblas_include_dirs = list (cblas_pc ['include_dirs' ])
50
+ aliases = cython_aliases ()
52
51
standard_libs = [
53
52
'mpfr' , 'gmp' , 'gmpxx' , 'pari' , 'm' ,
54
53
'ec' , 'gsl' ,
55
- ] + cblas_libs + [
54
+ ] + aliases [ "CBLAS_LIBRARIES" ] + [
56
55
'ntl' ]
57
- standard_libdirs = [os .path .join (SAGE_LOCAL , "lib" )] + cblas_library_dirs
58
- return standard_libs , standard_libdirs
56
+ standard_libdirs = [os .path .join (SAGE_LOCAL , "lib" )] + aliases ["CBLAS_LIBDIR" ] + aliases ["NTL_LIBDIR" ]
57
+ standard_incdirs = sage_include_directories () + aliases ["CBLAS_INCDIR" ] + aliases ["NTL_INCDIR" ]
58
+ return standard_libs , standard_libdirs , standard_incdirs , aliases
59
59
60
60
################################################################
61
61
# If the user attaches a .spyx file and changes it, we have
@@ -277,7 +277,8 @@ def cython(filename, verbose=0, compile_message=False,
277
277
278
278
# Add current working directory to includes. This is needed because
279
279
# we cythonize from a different directory. See Trac #24764.
280
- includes = [os .getcwd ()] + sage_include_directories ()
280
+ standard_libs , standard_libdirs , standard_includes , aliases = _standard_libs_libdirs_incdirs_aliases ()
281
+ includes = [os .getcwd ()] + standard_includes
281
282
282
283
# Now do the actual build, directly calling Cython and distutils
283
284
from Cython .Build import cythonize
@@ -321,7 +322,6 @@ def cython(filename, verbose=0, compile_message=False,
321
322
'-Wl,--image-base=0x{:x}' .format (image_base )
322
323
])
323
324
324
- standard_libs , standard_libdirs = _standard_libs_libdirs ()
325
325
ext = Extension (name ,
326
326
sources = [pyxfile ],
327
327
extra_compile_args = extra_compile_args ,
@@ -337,7 +337,7 @@ def cython(filename, verbose=0, compile_message=False,
337
337
with restore_cwd (target_dir ):
338
338
try :
339
339
ext , = cythonize ([ext ],
340
- aliases = cython_aliases () ,
340
+ aliases = aliases ,
341
341
include_path = includes ,
342
342
compiler_directives = directives ,
343
343
quiet = (verbose <= 0 ),
0 commit comments