|
31 | 31 | from sage.repl.user_globals import get_globals
|
32 | 32 | from sage.misc.sage_ostools import restore_cwd, redirection
|
33 | 33 | from sage.cpython.string import str_to_bytes
|
| 34 | +from sage.misc.cachefunc import cached_function |
34 | 35 |
|
35 |
| -cblas_pc = pkgconfig.parse(get_cblas_pc_module_name()) |
36 |
| -cblas_libs = list(cblas_pc['libraries']) |
37 |
| -cblas_library_dirs = list(cblas_pc['library_dirs']) |
38 |
| -cblas_include_dirs = list(cblas_pc['include_dirs']) |
39 |
| - |
40 |
| -standard_libs = [ |
41 |
| - 'mpfr', 'gmp', 'gmpxx', 'pari', 'm', |
42 |
| - 'ec', 'gsl', |
43 |
| -] + cblas_libs + [ |
44 |
| - 'ntl'] |
| 36 | +@cached_function |
| 37 | +def _standard_libs_libdirs(): |
| 38 | + r""" |
| 39 | + Return the list of libraries and library directories. |
45 | 40 |
|
46 |
| -standard_libdirs = [os.path.join(SAGE_LOCAL, "lib")] + cblas_library_dirs |
| 41 | + EXAMPLES:: |
47 | 42 |
|
| 43 | + sage: from sage.misc.cython import _standard_libs_libdirs |
| 44 | + sage: _standard_libs_libdirs() |
| 45 | + (['mpfr', 'gmp', 'gmpxx', 'pari', ...], |
| 46 | + [...]) |
| 47 | + """ |
| 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']) |
| 52 | + standard_libs = [ |
| 53 | + 'mpfr', 'gmp', 'gmpxx', 'pari', 'm', |
| 54 | + 'ec', 'gsl', |
| 55 | + ] + cblas_libs + [ |
| 56 | + 'ntl'] |
| 57 | + standard_libdirs = [os.path.join(SAGE_LOCAL, "lib")] + cblas_library_dirs |
| 58 | + return standard_libs, standard_libdirs |
48 | 59 |
|
49 | 60 | ################################################################
|
50 | 61 | # If the user attaches a .spyx file and changes it, we have
|
@@ -310,6 +321,7 @@ def cython(filename, verbose=0, compile_message=False,
|
310 | 321 | '-Wl,--image-base=0x{:x}'.format(image_base)
|
311 | 322 | ])
|
312 | 323 |
|
| 324 | + standard_libs, standard_libdirs = _standard_libs_libdirs() |
313 | 325 | ext = Extension(name,
|
314 | 326 | sources=[pyxfile],
|
315 | 327 | extra_compile_args=extra_compile_args,
|
|
0 commit comments