Skip to content
This repository was archived by the owner on Jan 30, 2023. It is now read-only.

Commit 32576b4

Browse files
author
Matthias Koeppe
committed
sage.misc.cython: Add NTL aliases, cache result of cython_aliases
1 parent ce03e6b commit 32576b4

File tree

2 files changed

+16
-16
lines changed

2 files changed

+16
-16
lines changed

src/sage/env.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -476,8 +476,8 @@ def uname_specific(name, value, alternative):
476476

477477
# NTL
478478
aliases["NTL_CFLAGS"] = []
479-
aliases["NTL_INCDIR"] = os.path.join(NTL_PREFIX, 'include')
480-
aliases["NTL_LIBDIR"] = os.path.join(NTL_PREFIX, 'lib')
479+
aliases["NTL_INCDIR"] = [os.path.join(NTL_PREFIX, 'include')] if NTL_PREFIX else []
480+
aliases["NTL_LIBDIR"] = [os.path.join(NTL_PREFIX, 'lib')] if NTL_PREFIX else []
481481
aliases["NTL_LIBRARIES"] = ['ntl']
482482
aliases["NTL_LIBEXTRA"] = []
483483

src/sage/misc/cython.py

+14-14
Original file line numberDiff line numberDiff line change
@@ -34,28 +34,28 @@
3434
from sage.misc.cachefunc import cached_function
3535

3636
@cached_function
37-
def _standard_libs_libdirs():
37+
def _standard_libs_libdirs_incdirs_aliases():
3838
r"""
3939
Return the list of libraries and library directories.
4040
4141
EXAMPLES::
4242
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()
4545
(['mpfr', 'gmp', 'gmpxx', 'pari', ...],
46-
[...])
46+
[...],
47+
[...],
48+
{...})
4749
"""
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()
5251
standard_libs = [
5352
'mpfr', 'gmp', 'gmpxx', 'pari', 'm',
5453
'ec', 'gsl',
55-
] + cblas_libs + [
54+
] + aliases["CBLAS_LIBRARIES"] + [
5655
'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
5959

6060
################################################################
6161
# If the user attaches a .spyx file and changes it, we have
@@ -277,7 +277,8 @@ def cython(filename, verbose=0, compile_message=False,
277277

278278
# Add current working directory to includes. This is needed because
279279
# 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
281282

282283
# Now do the actual build, directly calling Cython and distutils
283284
from Cython.Build import cythonize
@@ -321,7 +322,6 @@ def cython(filename, verbose=0, compile_message=False,
321322
'-Wl,--image-base=0x{:x}'.format(image_base)
322323
])
323324

324-
standard_libs, standard_libdirs = _standard_libs_libdirs()
325325
ext = Extension(name,
326326
sources=[pyxfile],
327327
extra_compile_args=extra_compile_args,
@@ -337,7 +337,7 @@ def cython(filename, verbose=0, compile_message=False,
337337
with restore_cwd(target_dir):
338338
try:
339339
ext, = cythonize([ext],
340-
aliases=cython_aliases(),
340+
aliases=aliases,
341341
include_path=includes,
342342
compiler_directives=directives,
343343
quiet=(verbose <= 0),

0 commit comments

Comments
 (0)