From 80720d7bcc0b1de4b92984fa62d52dad5855b9b0 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Fri, 5 Feb 2021 01:07:41 -0800 Subject: [PATCH 01/11] src/sage/misc/cython.py: Do not run pkgconfig at import time --- src/sage/misc/cython.py | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/src/sage/misc/cython.py b/src/sage/misc/cython.py index 99bfde6799d..636467213ce 100644 --- a/src/sage/misc/cython.py +++ b/src/sage/misc/cython.py @@ -31,20 +31,31 @@ from sage.repl.user_globals import get_globals from sage.misc.sage_ostools import restore_cwd, redirection from sage.cpython.string import str_to_bytes +from sage.misc.cachefunc import cached_function -cblas_pc = pkgconfig.parse(get_cblas_pc_module_name()) -cblas_libs = list(cblas_pc['libraries']) -cblas_library_dirs = list(cblas_pc['library_dirs']) -cblas_include_dirs = list(cblas_pc['include_dirs']) - -standard_libs = [ - 'mpfr', 'gmp', 'gmpxx', 'pari', 'm', - 'ec', 'gsl', -] + cblas_libs + [ - 'ntl'] +@cached_function +def _standard_libs_libdirs(): + r""" + Return the list of libraries and library directories. -standard_libdirs = [os.path.join(SAGE_LOCAL, "lib")] + cblas_library_dirs + EXAMPLES:: + sage: from sage.misc.cython import _standard_libs_libdirs + sage: _standard_libs_libdirs() + (['mpfr', 'gmp', 'gmpxx', 'pari', ...], + [...]) + """ + cblas_pc = pkgconfig.parse(get_cblas_pc_module_name()) + cblas_libs = list(cblas_pc['libraries']) + cblas_library_dirs = list(cblas_pc['library_dirs']) + cblas_include_dirs = list(cblas_pc['include_dirs']) + standard_libs = [ + 'mpfr', 'gmp', 'gmpxx', 'pari', 'm', + 'ec', 'gsl', + ] + cblas_libs + [ + 'ntl'] + standard_libdirs = [os.path.join(SAGE_LOCAL, "lib")] + cblas_library_dirs + return standard_libs, standard_libdirs ################################################################ # If the user attaches a .spyx file and changes it, we have @@ -310,6 +321,7 @@ def cython(filename, verbose=0, compile_message=False, '-Wl,--image-base=0x{:x}'.format(image_base) ]) + standard_libs, standard_libdirs = _standard_libs_libdirs() ext = Extension(name, sources=[pyxfile], extra_compile_args=extra_compile_args, From 515f89934e3b6d5daaa9a54684a4fb374289b978 Mon Sep 17 00:00:00 2001 From: "John H. Palmieri" Date: Sun, 7 Feb 2021 10:25:13 -0800 Subject: [PATCH 02/11] sage_setup.docbuild.AllBuilder: stop the non-reference manual docs from being built in parallel --- src/sage_setup/docbuild/__init__.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/sage_setup/docbuild/__init__.py b/src/sage_setup/docbuild/__init__.py index b07e9c100cf..1d4139555ec 100644 --- a/src/sage_setup/docbuild/__init__.py +++ b/src/sage_setup/docbuild/__init__.py @@ -286,13 +286,15 @@ def clean(self, *args): from .utils import build_many as _build_many -def build_many(target, args): +def build_many(target, args, processes=None): """ Thin wrapper around `sage_setup.docbuild.utils.build_many` which uses the docbuild settings ``NUM_THREADS`` and ``ABORT_ON_ERROR``. """ + if processes is None: + processes = NUM_THREADS try: - _build_many(target, args, processes=NUM_THREADS) + _build_many(target, args, processes=processes) except BaseException as exc: if ABORT_ON_ERROR: raise @@ -349,7 +351,7 @@ def _wrapper(self, name, *args, **kwds): # build the other documents in parallel L = [(doc, name, kwds) + args for doc in others] - build_many(build_other_doc, L) + build_many(build_other_doc, L, 1) logger.warning("Elapsed time: %.1f seconds."%(time.time()-start)) logger.warning("Done building the documentation!") From 804ebd7689fe8423e901e8ecf38dd62a7a9b8789 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sun, 7 Feb 2021 10:59:15 -0800 Subject: [PATCH 03/11] sage_setup.dpcbuild.AllBuilder: Restrict workaround to macOS --- src/sage_setup/docbuild/__init__.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/sage_setup/docbuild/__init__.py b/src/sage_setup/docbuild/__init__.py index 1d4139555ec..bd52241e3d7 100644 --- a/src/sage_setup/docbuild/__init__.py +++ b/src/sage_setup/docbuild/__init__.py @@ -351,7 +351,12 @@ def _wrapper(self, name, *args, **kwds): # build the other documents in parallel L = [(doc, name, kwds) + args for doc in others] - build_many(build_other_doc, L, 1) + + # Trac #31344: Work around crashes from multiprocessing + if sys.platform == 'darwin': + build_many(build_other_doc, L, 1) + else: + build_many(build_other_doc, L) logger.warning("Elapsed time: %.1f seconds."%(time.time()-start)) logger.warning("Done building the documentation!") From b4ceee5dae4caa7dac7a6fe7ca29538aca2d381a Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sun, 7 Feb 2021 11:10:35 -0800 Subject: [PATCH 04/11] sage_setup.docbuild: In the workaround, do not go through build_many to build serially --- src/sage_setup/docbuild/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/sage_setup/docbuild/__init__.py b/src/sage_setup/docbuild/__init__.py index bd52241e3d7..f4e8522e28d 100644 --- a/src/sage_setup/docbuild/__init__.py +++ b/src/sage_setup/docbuild/__init__.py @@ -354,7 +354,8 @@ def _wrapper(self, name, *args, **kwds): # Trac #31344: Work around crashes from multiprocessing if sys.platform == 'darwin': - build_many(build_other_doc, L, 1) + for target in L: + build_other_doc(target) else: build_many(build_other_doc, L) logger.warning("Elapsed time: %.1f seconds."%(time.time()-start)) From 8189632575820a4af1ae8ca7f96c8fbc60ada3cb Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Mon, 8 Feb 2021 19:09:19 -0800 Subject: [PATCH 05/11] sage.env.cython_aliases: Set NTL_... aliases from NTL_PREFIX --- build/pkgs/sage_conf/src/sage_conf.py.in | 2 ++ src/sage/env.py | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/build/pkgs/sage_conf/src/sage_conf.py.in b/build/pkgs/sage_conf/src/sage_conf.py.in index b3dc04f1ab1..e349f7ab47f 100644 --- a/build/pkgs/sage_conf/src/sage_conf.py.in +++ b/build/pkgs/sage_conf/src/sage_conf.py.in @@ -6,6 +6,8 @@ MAXIMA = "@prefix@/bin/maxima" ARB_LIBRARY = "@SAGE_ARB_LIBRARY@" +NTL_PREFIX = "@SAGE_NTL_PREFIX@" + # Path to the ecl-config script # TODO: At the moment this is hard-coded, needs to be set during the configure phase if we want to support system-installed ecl. ECL_CONFIG = "@prefix@/bin/ecl-config" diff --git a/src/sage/env.py b/src/sage/env.py index 7c4a7211f73..7bc860992ed 100644 --- a/src/sage/env.py +++ b/src/sage/env.py @@ -211,6 +211,7 @@ def var(key: str, *fallbacks: Optional[str], force: bool = False) -> Optional[st ARB_LIBRARY = var("ARB_LIBRARY", "arb") CBLAS_PC_MODULES = var("CBLAS_PC_MODULES", "cblas:openblas:blas") ECL_CONFIG = var("ECL_CONFIG", "ecl-config") +NTL_PREFIX = var("NTL_PREFIX", SAGE_LOCAL) # misc SAGE_BANNER = var("SAGE_BANNER", "") @@ -473,4 +474,11 @@ def uname_specific(name, value, alternative): aliases["ECL_LIBRARIES"] = list(map(lambda s: s[2:], filter(lambda s: s.startswith('-l'), ecl_libs))) aliases["ECL_LIBEXTRA"] = list(filter(lambda s: not s.startswith(('-l','-L')), ecl_libs)) + # NTL + aliases["NTL_CFLAGS"] = [] + aliases["NTL_INCDIR"] = os.path.join(NTL_PREFIX, 'include') + aliases["NTL_LIBDIR"] = os.path.join(NTL_PREFIX, 'lib') + aliases["NTL_LIBRARIES"] = ['ntl'] + aliases["NTL_LIBEXTRA"] = [] + return aliases From 0d278e1d02e196d8881d0bee6dd5ad2be34a972e Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Mon, 8 Feb 2021 19:32:31 -0800 Subject: [PATCH 06/11] Add distutils directives to all Cython sources using NTL Using: > git grep -l 'distutils.*libraries.*=.*ntl' src/sage | xargs sed -i.bak '/distutils.*libraries.*=.*ntl/a\ > # distutils: extra_compile_args = NTL_CFLAGS\ > # distutils: include_dirs = NTL_INCDIR\ > # distutils: libraries = NTL_LIBRARIES\ > # distutils: library_dirs = NTL_LIBDIR\ > # distutils: extra_link_args = NTL_LIBEXTRA > ' --- src/sage/algebras/quatalg/quaternion_algebra_cython.pyx | 5 +++++ src/sage/algebras/quatalg/quaternion_algebra_element.pyx | 5 +++++ src/sage/libs/eclib/__init__.pxd | 5 +++++ src/sage/libs/lcalc/lcalc_Lfunction.pyx | 5 +++++ src/sage/libs/ntl/convert.pyx | 5 +++++ src/sage/libs/ntl/error.pyx | 5 +++++ src/sage/libs/ntl/ntl_GF2.pyx | 5 +++++ src/sage/libs/ntl/ntl_GF2E.pyx | 5 +++++ src/sage/libs/ntl/ntl_GF2EContext.pyx | 5 +++++ src/sage/libs/ntl/ntl_GF2EX.pyx | 5 +++++ src/sage/libs/ntl/ntl_GF2X.pyx | 5 +++++ src/sage/libs/ntl/ntl_ZZ.pyx | 5 +++++ src/sage/libs/ntl/ntl_ZZX.pyx | 5 +++++ src/sage/libs/ntl/ntl_ZZ_p.pyx | 5 +++++ src/sage/libs/ntl/ntl_ZZ_pContext.pyx | 5 +++++ src/sage/libs/ntl/ntl_ZZ_pE.pyx | 5 +++++ src/sage/libs/ntl/ntl_ZZ_pEContext.pyx | 5 +++++ src/sage/libs/ntl/ntl_ZZ_pEX.pyx | 5 +++++ src/sage/libs/ntl/ntl_ZZ_pX.pyx | 5 +++++ src/sage/libs/ntl/ntl_lzz_p.pyx | 5 +++++ src/sage/libs/ntl/ntl_lzz_pContext.pyx | 5 +++++ src/sage/libs/ntl/ntl_lzz_pX.pyx | 5 +++++ src/sage/libs/ntl/ntl_mat_GF2.pyx | 5 +++++ src/sage/libs/ntl/ntl_mat_GF2E.pyx | 5 +++++ src/sage/libs/ntl/ntl_mat_ZZ.pyx | 5 +++++ src/sage/matrix/matrix_cyclo_dense.pyx | 5 +++++ src/sage/matrix/matrix_integer_dense.pyx | 5 +++++ src/sage/matrix/matrix_rational_dense.pyx | 5 +++++ src/sage/rings/bernmm.pyx | 5 +++++ src/sage/rings/bernoulli_mod_p.pyx | 5 +++++ src/sage/rings/finite_rings/element_ntl_gf2e.pyx | 5 +++++ src/sage/rings/finite_rings/hom_finite_field_givaro.pyx | 5 +++++ src/sage/rings/fraction_field_FpT.pyx | 5 +++++ src/sage/rings/number_field/number_field_element.pyx | 5 +++++ .../rings/number_field/number_field_element_quadratic.pyx | 5 +++++ src/sage/rings/padics/padic_ZZ_pX_CA_element.pyx | 5 +++++ src/sage/rings/padics/padic_ZZ_pX_CR_element.pyx | 5 +++++ src/sage/rings/padics/padic_ZZ_pX_FM_element.pyx | 5 +++++ src/sage/rings/padics/padic_ZZ_pX_element.pyx | 5 +++++ src/sage/rings/padics/padic_ext_element.pyx | 5 +++++ src/sage/rings/padics/padic_printing.pyx | 5 +++++ src/sage/rings/padics/pow_computer.pyx | 5 +++++ src/sage/rings/padics/pow_computer_ext.pyx | 5 +++++ src/sage/rings/padics/pow_computer_flint.pyx | 5 +++++ src/sage/rings/padics/pow_computer_relative.pyx | 5 +++++ src/sage/rings/polynomial/evaluation_ntl.pyx | 5 +++++ src/sage/rings/polynomial/polynomial_gf2x.pyx | 5 +++++ src/sage/rings/polynomial/polynomial_integer_dense_flint.pyx | 5 +++++ src/sage/rings/polynomial/polynomial_integer_dense_ntl.pyx | 5 +++++ src/sage/rings/polynomial/polynomial_modn_dense_ntl.pyx | 5 +++++ src/sage/rings/polynomial/polynomial_rational_flint.pyx | 5 +++++ src/sage/rings/polynomial/polynomial_zmod_flint.pyx | 5 +++++ src/sage/rings/polynomial/polynomial_zz_pex.pyx | 5 +++++ src/sage/rings/rational.pyx | 5 +++++ src/sage/schemes/hyperelliptic_curves/hypellfrob.pyx | 5 +++++ 55 files changed, 275 insertions(+) diff --git a/src/sage/algebras/quatalg/quaternion_algebra_cython.pyx b/src/sage/algebras/quatalg/quaternion_algebra_cython.pyx index d0d291ccdd8..a78ddf9bc39 100644 --- a/src/sage/algebras/quatalg/quaternion_algebra_cython.pyx +++ b/src/sage/algebras/quatalg/quaternion_algebra_cython.pyx @@ -1,5 +1,10 @@ # distutils: language = c++ # distutils: libraries = gmp m ntl +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA """ Optimized Cython code needed by quaternion algebras diff --git a/src/sage/algebras/quatalg/quaternion_algebra_element.pyx b/src/sage/algebras/quatalg/quaternion_algebra_element.pyx index 061d6f33c9d..7b4be8e61e5 100644 --- a/src/sage/algebras/quatalg/quaternion_algebra_element.pyx +++ b/src/sage/algebras/quatalg/quaternion_algebra_element.pyx @@ -1,5 +1,10 @@ # distutils: language = c++ # distutils: libraries = gmp m ntl +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA """ Elements of Quaternion Algebras diff --git a/src/sage/libs/eclib/__init__.pxd b/src/sage/libs/eclib/__init__.pxd index 7ff4ac13fa9..eb7ddea1288 100644 --- a/src/sage/libs/eclib/__init__.pxd +++ b/src/sage/libs/eclib/__init__.pxd @@ -1,5 +1,10 @@ # distutils: language = c++ # distutils: libraries = ec ntl pari gmp m +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA from libcpp.map cimport map diff --git a/src/sage/libs/lcalc/lcalc_Lfunction.pyx b/src/sage/libs/lcalc/lcalc_Lfunction.pyx index e726b653a25..8c91bc78ed5 100644 --- a/src/sage/libs/lcalc/lcalc_Lfunction.pyx +++ b/src/sage/libs/lcalc/lcalc_Lfunction.pyx @@ -1,4 +1,9 @@ # distutils: libraries = m ntl Lfunction +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: extra_compile_args = -O3 -ffast-math # distutils: language = c++ r""" diff --git a/src/sage/libs/ntl/convert.pyx b/src/sage/libs/ntl/convert.pyx index 19380ded8ea..b22819f0576 100644 --- a/src/sage/libs/ntl/convert.pyx +++ b/src/sage/libs/ntl/convert.pyx @@ -1,5 +1,10 @@ # distutils: depends = NTL/ZZ.h # distutils: libraries = ntl gmp +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ """ diff --git a/src/sage/libs/ntl/error.pyx b/src/sage/libs/ntl/error.pyx index 99d6ca92a0c..ac6cef82910 100644 --- a/src/sage/libs/ntl/error.pyx +++ b/src/sage/libs/ntl/error.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ """ diff --git a/src/sage/libs/ntl/ntl_GF2.pyx b/src/sage/libs/ntl/ntl_GF2.pyx index 1a03ed5ebd7..9fa36aa4da5 100644 --- a/src/sage/libs/ntl/ntl_GF2.pyx +++ b/src/sage/libs/ntl/ntl_GF2.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ #***************************************************************************** diff --git a/src/sage/libs/ntl/ntl_GF2E.pyx b/src/sage/libs/ntl/ntl_GF2E.pyx index 99cff223907..0d5732b24e4 100644 --- a/src/sage/libs/ntl/ntl_GF2E.pyx +++ b/src/sage/libs/ntl/ntl_GF2E.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp m +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ #***************************************************************************** diff --git a/src/sage/libs/ntl/ntl_GF2EContext.pyx b/src/sage/libs/ntl/ntl_GF2EContext.pyx index 65c26f5627c..962e351ca91 100644 --- a/src/sage/libs/ntl/ntl_GF2EContext.pyx +++ b/src/sage/libs/ntl/ntl_GF2EContext.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp m +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ #***************************************************************************** diff --git a/src/sage/libs/ntl/ntl_GF2EX.pyx b/src/sage/libs/ntl/ntl_GF2EX.pyx index 4a3ac4a3c0e..d0a0c47ad6d 100644 --- a/src/sage/libs/ntl/ntl_GF2EX.pyx +++ b/src/sage/libs/ntl/ntl_GF2EX.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp m +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ #***************************************************************************** diff --git a/src/sage/libs/ntl/ntl_GF2X.pyx b/src/sage/libs/ntl/ntl_GF2X.pyx index b80766b4ec1..5f500e99412 100644 --- a/src/sage/libs/ntl/ntl_GF2X.pyx +++ b/src/sage/libs/ntl/ntl_GF2X.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp m +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ # **************************************************************************** diff --git a/src/sage/libs/ntl/ntl_ZZ.pyx b/src/sage/libs/ntl/ntl_ZZ.pyx index 8a21990db1c..d02d79dbc3b 100644 --- a/src/sage/libs/ntl/ntl_ZZ.pyx +++ b/src/sage/libs/ntl/ntl_ZZ.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp m +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ #***************************************************************************** diff --git a/src/sage/libs/ntl/ntl_ZZX.pyx b/src/sage/libs/ntl/ntl_ZZX.pyx index 4d602df9032..7e207e82f33 100644 --- a/src/sage/libs/ntl/ntl_ZZX.pyx +++ b/src/sage/libs/ntl/ntl_ZZX.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp m +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ #***************************************************************************** diff --git a/src/sage/libs/ntl/ntl_ZZ_p.pyx b/src/sage/libs/ntl/ntl_ZZ_p.pyx index 7444c7c4cff..430c08381db 100644 --- a/src/sage/libs/ntl/ntl_ZZ_p.pyx +++ b/src/sage/libs/ntl/ntl_ZZ_p.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp m +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ #***************************************************************************** diff --git a/src/sage/libs/ntl/ntl_ZZ_pContext.pyx b/src/sage/libs/ntl/ntl_ZZ_pContext.pyx index 8c351111cd8..e5dae498404 100644 --- a/src/sage/libs/ntl/ntl_ZZ_pContext.pyx +++ b/src/sage/libs/ntl/ntl_ZZ_pContext.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp m +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ #***************************************************************************** diff --git a/src/sage/libs/ntl/ntl_ZZ_pE.pyx b/src/sage/libs/ntl/ntl_ZZ_pE.pyx index ad236ebe733..f214e2aa7b6 100644 --- a/src/sage/libs/ntl/ntl_ZZ_pE.pyx +++ b/src/sage/libs/ntl/ntl_ZZ_pE.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp m +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ #***************************************************************************** diff --git a/src/sage/libs/ntl/ntl_ZZ_pEContext.pyx b/src/sage/libs/ntl/ntl_ZZ_pEContext.pyx index 50bf8cf6cbb..959faac3e7f 100644 --- a/src/sage/libs/ntl/ntl_ZZ_pEContext.pyx +++ b/src/sage/libs/ntl/ntl_ZZ_pEContext.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp m +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ #***************************************************************************** diff --git a/src/sage/libs/ntl/ntl_ZZ_pEX.pyx b/src/sage/libs/ntl/ntl_ZZ_pEX.pyx index f51d4f606b0..f4c15639b16 100644 --- a/src/sage/libs/ntl/ntl_ZZ_pEX.pyx +++ b/src/sage/libs/ntl/ntl_ZZ_pEX.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp m +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ """ diff --git a/src/sage/libs/ntl/ntl_ZZ_pX.pyx b/src/sage/libs/ntl/ntl_ZZ_pX.pyx index 8821df416ef..0400a3fdc59 100644 --- a/src/sage/libs/ntl/ntl_ZZ_pX.pyx +++ b/src/sage/libs/ntl/ntl_ZZ_pX.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp m +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ # **************************************************************************** diff --git a/src/sage/libs/ntl/ntl_lzz_p.pyx b/src/sage/libs/ntl/ntl_lzz_p.pyx index aac832eae98..71da7d197f4 100644 --- a/src/sage/libs/ntl/ntl_lzz_p.pyx +++ b/src/sage/libs/ntl/ntl_lzz_p.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp m +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ """ diff --git a/src/sage/libs/ntl/ntl_lzz_pContext.pyx b/src/sage/libs/ntl/ntl_lzz_pContext.pyx index 30667a452d2..c8a4800f7dd 100644 --- a/src/sage/libs/ntl/ntl_lzz_pContext.pyx +++ b/src/sage/libs/ntl/ntl_lzz_pContext.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp m +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ #***************************************************************************** diff --git a/src/sage/libs/ntl/ntl_lzz_pX.pyx b/src/sage/libs/ntl/ntl_lzz_pX.pyx index c08ad28491a..8366f1f1243 100644 --- a/src/sage/libs/ntl/ntl_lzz_pX.pyx +++ b/src/sage/libs/ntl/ntl_lzz_pX.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp m +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ """ diff --git a/src/sage/libs/ntl/ntl_mat_GF2.pyx b/src/sage/libs/ntl/ntl_mat_GF2.pyx index 111010f8d14..81e3b263b03 100644 --- a/src/sage/libs/ntl/ntl_mat_GF2.pyx +++ b/src/sage/libs/ntl/ntl_mat_GF2.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp m +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ """ diff --git a/src/sage/libs/ntl/ntl_mat_GF2E.pyx b/src/sage/libs/ntl/ntl_mat_GF2E.pyx index 4e7b6c13082..e86d61db2fa 100644 --- a/src/sage/libs/ntl/ntl_mat_GF2E.pyx +++ b/src/sage/libs/ntl/ntl_mat_GF2E.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp m +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ #***************************************************************************** diff --git a/src/sage/libs/ntl/ntl_mat_ZZ.pyx b/src/sage/libs/ntl/ntl_mat_ZZ.pyx index 5c3e5e70746..2b12c11543e 100644 --- a/src/sage/libs/ntl/ntl_mat_ZZ.pyx +++ b/src/sage/libs/ntl/ntl_mat_ZZ.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp m +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ #***************************************************************************** diff --git a/src/sage/matrix/matrix_cyclo_dense.pyx b/src/sage/matrix/matrix_cyclo_dense.pyx index 3b835d58fb7..67edbb7c77a 100644 --- a/src/sage/matrix/matrix_cyclo_dense.pyx +++ b/src/sage/matrix/matrix_cyclo_dense.pyx @@ -1,5 +1,10 @@ # distutils: language = c++ # distutils: libraries = ntl +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA """ Matrices over Cyclotomic Fields diff --git a/src/sage/matrix/matrix_integer_dense.pyx b/src/sage/matrix/matrix_integer_dense.pyx index fd38eaef8d9..0514198687b 100644 --- a/src/sage/matrix/matrix_integer_dense.pyx +++ b/src/sage/matrix/matrix_integer_dense.pyx @@ -1,6 +1,11 @@ # -*- coding: utf-8 -*- # distutils: extra_compile_args = M4RI_CFLAGS # distutils: libraries = iml ntl gmp m CBLAS_LIBRARIES +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: library_dirs = CBLAS_LIBDIR # distutils: include_dirs = M4RI_INCDIR CBLAS_INCDIR """ diff --git a/src/sage/matrix/matrix_rational_dense.pyx b/src/sage/matrix/matrix_rational_dense.pyx index c4793114d03..7520b577dae 100644 --- a/src/sage/matrix/matrix_rational_dense.pyx +++ b/src/sage/matrix/matrix_rational_dense.pyx @@ -1,5 +1,10 @@ # distutils: extra_compile_args = -D_XPG6 M4RI_CFLAGS # distutils: libraries = iml ntl m CBLAS_LIBRARIES +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: library_dirs = CBLAS_LIBDIR # distutils: include_dirs = M4RI_INCDIR CBLAS_INCDIR diff --git a/src/sage/rings/bernmm.pyx b/src/sage/rings/bernmm.pyx index 803401131ee..a824c724336 100644 --- a/src/sage/rings/bernmm.pyx +++ b/src/sage/rings/bernmm.pyx @@ -1,5 +1,10 @@ # distutils: sources = sage/rings/bernmm/bern_modp.cpp sage/rings/bernmm/bern_modp_util.cpp sage/rings/bernmm/bern_rat.cpp # distutils: libraries = ntl pthread gmp +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: depends = sage/rings/bernmm/bern_modp.h sage/rings/bernmm/bern_modp_util.h sage/rings/bernmm/bern_rat.h # distutils: language = c++ # distutils: define_macros = USE_THREADS=1 THREAD_STACK_SIZE=4096 diff --git a/src/sage/rings/bernoulli_mod_p.pyx b/src/sage/rings/bernoulli_mod_p.pyx index 575435f5eba..65e9ea0c2a9 100644 --- a/src/sage/rings/bernoulli_mod_p.pyx +++ b/src/sage/rings/bernoulli_mod_p.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ r""" Bernoulli numbers modulo p diff --git a/src/sage/rings/finite_rings/element_ntl_gf2e.pyx b/src/sage/rings/finite_rings/element_ntl_gf2e.pyx index 42a8a08490c..3a1179da8b2 100644 --- a/src/sage/rings/finite_rings/element_ntl_gf2e.pyx +++ b/src/sage/rings/finite_rings/element_ntl_gf2e.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ r""" Finite Fields of characteristic 2. diff --git a/src/sage/rings/finite_rings/hom_finite_field_givaro.pyx b/src/sage/rings/finite_rings/hom_finite_field_givaro.pyx index 53209be6a9f..5ff149d05fb 100644 --- a/src/sage/rings/finite_rings/hom_finite_field_givaro.pyx +++ b/src/sage/rings/finite_rings/hom_finite_field_givaro.pyx @@ -1,4 +1,9 @@ # distutils: libraries = givaro ntl gmp m +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ """ Finite field morphisms using Givaro diff --git a/src/sage/rings/fraction_field_FpT.pyx b/src/sage/rings/fraction_field_FpT.pyx index cad995f91af..ee3c9f76f21 100644 --- a/src/sage/rings/fraction_field_FpT.pyx +++ b/src/sage/rings/fraction_field_FpT.pyx @@ -1,4 +1,9 @@ # distutils: libraries = gmp ntl zn_poly +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ "Univariate rational functions over prime fields" diff --git a/src/sage/rings/number_field/number_field_element.pyx b/src/sage/rings/number_field/number_field_element.pyx index 562a76fa845..61a8eebc96d 100644 --- a/src/sage/rings/number_field/number_field_element.pyx +++ b/src/sage/rings/number_field/number_field_element.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ """ Number Field Elements diff --git a/src/sage/rings/number_field/number_field_element_quadratic.pyx b/src/sage/rings/number_field/number_field_element_quadratic.pyx index b261d26d6c9..4133085a47b 100644 --- a/src/sage/rings/number_field/number_field_element_quadratic.pyx +++ b/src/sage/rings/number_field/number_field_element_quadratic.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ """ Optimized Quadratic Number Field Elements diff --git a/src/sage/rings/padics/padic_ZZ_pX_CA_element.pyx b/src/sage/rings/padics/padic_ZZ_pX_CA_element.pyx index acef5bcf43a..56afc802311 100644 --- a/src/sage/rings/padics/padic_ZZ_pX_CA_element.pyx +++ b/src/sage/rings/padics/padic_ZZ_pX_CA_element.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp m +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ """ `p`-Adic ``ZZ_pX`` CA Element diff --git a/src/sage/rings/padics/padic_ZZ_pX_CR_element.pyx b/src/sage/rings/padics/padic_ZZ_pX_CR_element.pyx index e4100d7e6f9..26a02e266f7 100644 --- a/src/sage/rings/padics/padic_ZZ_pX_CR_element.pyx +++ b/src/sage/rings/padics/padic_ZZ_pX_CR_element.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp m +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ """ `p`-Adic ``ZZ_pX`` CR Element diff --git a/src/sage/rings/padics/padic_ZZ_pX_FM_element.pyx b/src/sage/rings/padics/padic_ZZ_pX_FM_element.pyx index 2c8463bac71..a9c17302c8e 100644 --- a/src/sage/rings/padics/padic_ZZ_pX_FM_element.pyx +++ b/src/sage/rings/padics/padic_ZZ_pX_FM_element.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp m +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ """ `p`-Adic ``ZZ_pX`` FM Element diff --git a/src/sage/rings/padics/padic_ZZ_pX_element.pyx b/src/sage/rings/padics/padic_ZZ_pX_element.pyx index 2f3da7cad62..0f768b8f37a 100644 --- a/src/sage/rings/padics/padic_ZZ_pX_element.pyx +++ b/src/sage/rings/padics/padic_ZZ_pX_element.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp m +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ """ `p`-Adic ``ZZ_pX Element`` diff --git a/src/sage/rings/padics/padic_ext_element.pyx b/src/sage/rings/padics/padic_ext_element.pyx index c00d00a5fca..0fb6a423401 100644 --- a/src/sage/rings/padics/padic_ext_element.pyx +++ b/src/sage/rings/padics/padic_ext_element.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp m +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ """ p-Adic Extension Element diff --git a/src/sage/rings/padics/padic_printing.pyx b/src/sage/rings/padics/padic_printing.pyx index 0b1c346bf55..9d3fe67a0ec 100644 --- a/src/sage/rings/padics/padic_printing.pyx +++ b/src/sage/rings/padics/padic_printing.pyx @@ -1,4 +1,9 @@ # distutils: libraries = gmp ntl m +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ """ p-Adic Printing diff --git a/src/sage/rings/padics/pow_computer.pyx b/src/sage/rings/padics/pow_computer.pyx index 3092a2a9ff0..3535b7fe113 100644 --- a/src/sage/rings/padics/pow_computer.pyx +++ b/src/sage/rings/padics/pow_computer.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp m +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ """ PowComputer diff --git a/src/sage/rings/padics/pow_computer_ext.pyx b/src/sage/rings/padics/pow_computer_ext.pyx index 6f8f356af52..590bfc17650 100644 --- a/src/sage/rings/padics/pow_computer_ext.pyx +++ b/src/sage/rings/padics/pow_computer_ext.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp m +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ """ PowComputer_ext diff --git a/src/sage/rings/padics/pow_computer_flint.pyx b/src/sage/rings/padics/pow_computer_flint.pyx index 42bebf3cc2a..d2ff6c5646c 100644 --- a/src/sage/rings/padics/pow_computer_flint.pyx +++ b/src/sage/rings/padics/pow_computer_flint.pyx @@ -1,4 +1,9 @@ # distutils: libraries = gmp ntl +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ from cysignals.memory cimport sig_malloc, sig_free from cysignals.signals cimport sig_on, sig_off diff --git a/src/sage/rings/padics/pow_computer_relative.pyx b/src/sage/rings/padics/pow_computer_relative.pyx index 9bd8a28634f..9a3951729a3 100644 --- a/src/sage/rings/padics/pow_computer_relative.pyx +++ b/src/sage/rings/padics/pow_computer_relative.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp m +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ # -*- coding: utf-8 -*- r""" diff --git a/src/sage/rings/polynomial/evaluation_ntl.pyx b/src/sage/rings/polynomial/evaluation_ntl.pyx index 3f256df8059..c2e42386c60 100644 --- a/src/sage/rings/polynomial/evaluation_ntl.pyx +++ b/src/sage/rings/polynomial/evaluation_ntl.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ r""" Fast evaluation of polynomials (Horner's rule) diff --git a/src/sage/rings/polynomial/polynomial_gf2x.pyx b/src/sage/rings/polynomial/polynomial_gf2x.pyx index 726bbb43e90..2012d08e743 100644 --- a/src/sage/rings/polynomial/polynomial_gf2x.pyx +++ b/src/sage/rings/polynomial/polynomial_gf2x.pyx @@ -1,4 +1,9 @@ # distutils: libraries = gmp ntl +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: extra_compile_args = M4RI_CFLAGS # distutils: include_dirs = M4RI_INCDIR # distutils: language = c++ diff --git a/src/sage/rings/polynomial/polynomial_integer_dense_flint.pyx b/src/sage/rings/polynomial/polynomial_integer_dense_flint.pyx index 0337b39d55d..57cd6c0fe2e 100644 --- a/src/sage/rings/polynomial/polynomial_integer_dense_flint.pyx +++ b/src/sage/rings/polynomial/polynomial_integer_dense_flint.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ """ Dense univariate polynomials over `\ZZ`, implemented using FLINT diff --git a/src/sage/rings/polynomial/polynomial_integer_dense_ntl.pyx b/src/sage/rings/polynomial/polynomial_integer_dense_ntl.pyx index b6a9c514992..5217e805ae5 100644 --- a/src/sage/rings/polynomial/polynomial_integer_dense_ntl.pyx +++ b/src/sage/rings/polynomial/polynomial_integer_dense_ntl.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ r""" Dense univariate polynomials over `\ZZ`, implemented using NTL. diff --git a/src/sage/rings/polynomial/polynomial_modn_dense_ntl.pyx b/src/sage/rings/polynomial/polynomial_modn_dense_ntl.pyx index 9cc44743fb0..fff9a6b00e5 100644 --- a/src/sage/rings/polynomial/polynomial_modn_dense_ntl.pyx +++ b/src/sage/rings/polynomial/polynomial_modn_dense_ntl.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ """ Dense univariate polynomials over `\ZZ/n\ZZ`, implemented using NTL diff --git a/src/sage/rings/polynomial/polynomial_rational_flint.pyx b/src/sage/rings/polynomial/polynomial_rational_flint.pyx index 441f901c1af..df59cfeab63 100644 --- a/src/sage/rings/polynomial/polynomial_rational_flint.pyx +++ b/src/sage/rings/polynomial/polynomial_rational_flint.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ r""" Univariate polynomials over `\QQ` implemented via FLINT diff --git a/src/sage/rings/polynomial/polynomial_zmod_flint.pyx b/src/sage/rings/polynomial/polynomial_zmod_flint.pyx index e454d28768b..03dcb482db2 100644 --- a/src/sage/rings/polynomial/polynomial_zmod_flint.pyx +++ b/src/sage/rings/polynomial/polynomial_zmod_flint.pyx @@ -1,4 +1,9 @@ # distutils: libraries = gmp ntl zn_poly +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ """ Dense univariate polynomials over `\ZZ/n\ZZ`, implemented using FLINT diff --git a/src/sage/rings/polynomial/polynomial_zz_pex.pyx b/src/sage/rings/polynomial/polynomial_zz_pex.pyx index e8117befcd3..ef5327bc6b8 100644 --- a/src/sage/rings/polynomial/polynomial_zz_pex.pyx +++ b/src/sage/rings/polynomial/polynomial_zz_pex.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl gmp +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ """ Univariate Polynomials over GF(p^e) via NTL's ZZ_pEX diff --git a/src/sage/rings/rational.pyx b/src/sage/rings/rational.pyx index d977e6a72fb..26d4c4fd173 100644 --- a/src/sage/rings/rational.pyx +++ b/src/sage/rings/rational.pyx @@ -1,4 +1,9 @@ # distutils: libraries = ntl +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA r""" Rational Numbers diff --git a/src/sage/schemes/hyperelliptic_curves/hypellfrob.pyx b/src/sage/schemes/hyperelliptic_curves/hypellfrob.pyx index f60b85e3bd9..b815d53c519 100644 --- a/src/sage/schemes/hyperelliptic_curves/hypellfrob.pyx +++ b/src/sage/schemes/hyperelliptic_curves/hypellfrob.pyx @@ -3,6 +3,11 @@ # distutils: depends = sage/schemes/hyperelliptic_curves/hypellfrob/hypellfrob.h sage/schemes/hyperelliptic_curves/hypellfrob/recurrences_ntl.h sage/schemes/hyperelliptic_curves/hypellfrob/recurrences_zn_poly.h # distutils: include_dirs = sage/libs/ntl/ sage/schemes/hyperelliptic_curves/hypellfrob/ # distutils: libraries = gmp ntl zn_poly +# distutils: extra_compile_args = NTL_CFLAGS +# distutils: include_dirs = NTL_INCDIR +# distutils: libraries = NTL_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_link_args = NTL_LIBEXTRA r""" Frobenius on Monsky-Washnitzer cohomology of a hyperelliptic curve over a From ce03e6b8a93777820c94d83eeb42d8b70c222a73 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Mon, 8 Feb 2021 19:57:38 -0800 Subject: [PATCH 07/11] src/sage/schemes/hyperelliptic_curves/hypellfrob.pyx: Merge distutils directives --- src/sage/schemes/hyperelliptic_curves/hypellfrob.pyx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/sage/schemes/hyperelliptic_curves/hypellfrob.pyx b/src/sage/schemes/hyperelliptic_curves/hypellfrob.pyx index b815d53c519..785b7812835 100644 --- a/src/sage/schemes/hyperelliptic_curves/hypellfrob.pyx +++ b/src/sage/schemes/hyperelliptic_curves/hypellfrob.pyx @@ -1,11 +1,9 @@ # distutils: language = c++ # distutils: sources = sage/schemes/hyperelliptic_curves/hypellfrob/hypellfrob.cpp sage/schemes/hyperelliptic_curves/hypellfrob/recurrences_ntl.cpp sage/schemes/hyperelliptic_curves/hypellfrob/recurrences_zn_poly.cpp # distutils: depends = sage/schemes/hyperelliptic_curves/hypellfrob/hypellfrob.h sage/schemes/hyperelliptic_curves/hypellfrob/recurrences_ntl.h sage/schemes/hyperelliptic_curves/hypellfrob/recurrences_zn_poly.h -# distutils: include_dirs = sage/libs/ntl/ sage/schemes/hyperelliptic_curves/hypellfrob/ -# distutils: libraries = gmp ntl zn_poly +# distutils: include_dirs = sage/libs/ntl/ sage/schemes/hyperelliptic_curves/hypellfrob/ NTL_INCDIR +# distutils: libraries = gmp NTL_LIBRARIES zn_poly # distutils: extra_compile_args = NTL_CFLAGS -# distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA From 32576b43a0415a9e15d1cbe6beac2dd4c300a745 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Mon, 8 Feb 2021 22:20:21 -0800 Subject: [PATCH 08/11] sage.misc.cython: Add NTL aliases, cache result of cython_aliases --- src/sage/env.py | 4 ++-- src/sage/misc/cython.py | 28 ++++++++++++++-------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/sage/env.py b/src/sage/env.py index 7bc860992ed..9406fc7c65f 100644 --- a/src/sage/env.py +++ b/src/sage/env.py @@ -476,8 +476,8 @@ def uname_specific(name, value, alternative): # NTL aliases["NTL_CFLAGS"] = [] - aliases["NTL_INCDIR"] = os.path.join(NTL_PREFIX, 'include') - aliases["NTL_LIBDIR"] = os.path.join(NTL_PREFIX, 'lib') + aliases["NTL_INCDIR"] = [os.path.join(NTL_PREFIX, 'include')] if NTL_PREFIX else [] + aliases["NTL_LIBDIR"] = [os.path.join(NTL_PREFIX, 'lib')] if NTL_PREFIX else [] aliases["NTL_LIBRARIES"] = ['ntl'] aliases["NTL_LIBEXTRA"] = [] diff --git a/src/sage/misc/cython.py b/src/sage/misc/cython.py index 636467213ce..f47fc7289da 100644 --- a/src/sage/misc/cython.py +++ b/src/sage/misc/cython.py @@ -34,28 +34,28 @@ from sage.misc.cachefunc import cached_function @cached_function -def _standard_libs_libdirs(): +def _standard_libs_libdirs_incdirs_aliases(): r""" Return the list of libraries and library directories. EXAMPLES:: - sage: from sage.misc.cython import _standard_libs_libdirs - sage: _standard_libs_libdirs() + sage: from sage.misc.cython import _standard_libs_libdirs_incdirs_aliases + sage: _standard_libs_libdirs_incdirs_aliases() (['mpfr', 'gmp', 'gmpxx', 'pari', ...], - [...]) + [...], + [...], + {...}) """ - cblas_pc = pkgconfig.parse(get_cblas_pc_module_name()) - cblas_libs = list(cblas_pc['libraries']) - cblas_library_dirs = list(cblas_pc['library_dirs']) - cblas_include_dirs = list(cblas_pc['include_dirs']) + aliases = cython_aliases() standard_libs = [ 'mpfr', 'gmp', 'gmpxx', 'pari', 'm', 'ec', 'gsl', - ] + cblas_libs + [ + ] + aliases["CBLAS_LIBRARIES"] + [ 'ntl'] - standard_libdirs = [os.path.join(SAGE_LOCAL, "lib")] + cblas_library_dirs - return standard_libs, standard_libdirs + standard_libdirs = [os.path.join(SAGE_LOCAL, "lib")] + aliases["CBLAS_LIBDIR"] + aliases["NTL_LIBDIR"] + standard_incdirs = sage_include_directories() + aliases["CBLAS_INCDIR"] + aliases["NTL_INCDIR"] + return standard_libs, standard_libdirs, standard_incdirs, aliases ################################################################ # If the user attaches a .spyx file and changes it, we have @@ -277,7 +277,8 @@ def cython(filename, verbose=0, compile_message=False, # Add current working directory to includes. This is needed because # we cythonize from a different directory. See Trac #24764. - includes = [os.getcwd()] + sage_include_directories() + standard_libs, standard_libdirs, standard_includes, aliases = _standard_libs_libdirs_incdirs_aliases() + includes = [os.getcwd()] + standard_includes # Now do the actual build, directly calling Cython and distutils from Cython.Build import cythonize @@ -321,7 +322,6 @@ def cython(filename, verbose=0, compile_message=False, '-Wl,--image-base=0x{:x}'.format(image_base) ]) - standard_libs, standard_libdirs = _standard_libs_libdirs() ext = Extension(name, sources=[pyxfile], extra_compile_args=extra_compile_args, @@ -337,7 +337,7 @@ def cython(filename, verbose=0, compile_message=False, with restore_cwd(target_dir): try: ext, = cythonize([ext], - aliases=cython_aliases(), + aliases=aliases, include_path=includes, compiler_directives=directives, quiet=(verbose <= 0), From 6e30e3ac2d891a16fdd1ad89506db767d4edb9e5 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Wed, 10 Feb 2021 19:36:20 -0800 Subject: [PATCH 09/11] Use variables NTL_INCDIR, NTL_LIBDIR in sage_conf, separate from NTL_PREFIX used in sage-build-env-config; set -std=c++11 in NTL_CFLAGS --- build/pkgs/ntl/spkg-configure.m4 | 3 +++ build/pkgs/sage_conf/src/sage_conf.py.in | 3 ++- src/sage/env.py | 9 +++++---- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/build/pkgs/ntl/spkg-configure.m4 b/build/pkgs/ntl/spkg-configure.m4 index fbf142a3e94..36553d8779e 100644 --- a/build/pkgs/ntl/spkg-configure.m4 +++ b/build/pkgs/ntl/spkg-configure.m4 @@ -49,6 +49,9 @@ SAGE_SPKG_CONFIGURE([ntl], [ AC_SUBST(SAGE_NTL_PREFIX, ['$SAGE_LOCAL']) else AC_SUBST(SAGE_NTL_PREFIX, ['']) + AX_ABSOLUTE_HEADER([NTL/ZZ.h]) + AC_SUBST(NTL_INCDIR, [`AS_DIRNAME(AS_DIRNAME($gl_cv_absolute_NTL_ZZ_h))`]) + AC_SUBST(NTL_LIBDIR, [`AS_DIRNAME($NTL_INCDIR)/lib`]) fi ]) diff --git a/build/pkgs/sage_conf/src/sage_conf.py.in b/build/pkgs/sage_conf/src/sage_conf.py.in index e349f7ab47f..6ac91e68018 100644 --- a/build/pkgs/sage_conf/src/sage_conf.py.in +++ b/build/pkgs/sage_conf/src/sage_conf.py.in @@ -6,7 +6,8 @@ MAXIMA = "@prefix@/bin/maxima" ARB_LIBRARY = "@SAGE_ARB_LIBRARY@" -NTL_PREFIX = "@SAGE_NTL_PREFIX@" +NTL_INCDIR = "@NTL_INCDIR@" +NTL_LIBDIR = "@NTL_LIBDIR@" # Path to the ecl-config script # TODO: At the moment this is hard-coded, needs to be set during the configure phase if we want to support system-installed ecl. diff --git a/src/sage/env.py b/src/sage/env.py index 9406fc7c65f..2908f5d04fa 100644 --- a/src/sage/env.py +++ b/src/sage/env.py @@ -211,7 +211,8 @@ def var(key: str, *fallbacks: Optional[str], force: bool = False) -> Optional[st ARB_LIBRARY = var("ARB_LIBRARY", "arb") CBLAS_PC_MODULES = var("CBLAS_PC_MODULES", "cblas:openblas:blas") ECL_CONFIG = var("ECL_CONFIG", "ecl-config") -NTL_PREFIX = var("NTL_PREFIX", SAGE_LOCAL) +NTL_INCDIR = var("NTL_INCDIR") +NTL_LIBDIR = var("NTL_LIBDIR") # misc SAGE_BANNER = var("SAGE_BANNER", "") @@ -475,9 +476,9 @@ def uname_specific(name, value, alternative): aliases["ECL_LIBEXTRA"] = list(filter(lambda s: not s.startswith(('-l','-L')), ecl_libs)) # NTL - aliases["NTL_CFLAGS"] = [] - aliases["NTL_INCDIR"] = [os.path.join(NTL_PREFIX, 'include')] if NTL_PREFIX else [] - aliases["NTL_LIBDIR"] = [os.path.join(NTL_PREFIX, 'lib')] if NTL_PREFIX else [] + aliases["NTL_CFLAGS"] = ['-std=c++11'] + aliases["NTL_INCDIR"] = [NTL_INCDIR] if NTL_INCDIR else [] + aliases["NTL_LIBDIR"] = [NTL_LIBDIR] if NTL_LIBDIR else [] aliases["NTL_LIBRARIES"] = ['ntl'] aliases["NTL_LIBEXTRA"] = [] From 7b1e27b96e143d6d44b448692ba266050e667399 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Wed, 10 Feb 2021 19:36:48 -0800 Subject: [PATCH 10/11] Merge distutils directives for Cython files using ntl --- .../algebras/quatalg/quaternion_algebra_cython.pyx | 3 +-- .../algebras/quatalg/quaternion_algebra_element.pyx | 3 +-- src/sage/libs/eclib/__init__.pxd | 3 +-- src/sage/libs/lcalc/lcalc_Lfunction.pyx | 6 ++---- src/sage/libs/ntl/convert.pyx | 3 +-- src/sage/libs/ntl/ntl_GF2.pyx | 3 +-- src/sage/libs/ntl/ntl_GF2E.pyx | 3 +-- src/sage/libs/ntl/ntl_GF2EContext.pyx | 3 +-- src/sage/libs/ntl/ntl_GF2EX.pyx | 3 +-- src/sage/libs/ntl/ntl_GF2X.pyx | 3 +-- src/sage/libs/ntl/ntl_ZZ.pyx | 3 +-- src/sage/libs/ntl/ntl_ZZX.pyx | 3 +-- src/sage/libs/ntl/ntl_ZZ_p.pyx | 3 +-- src/sage/libs/ntl/ntl_ZZ_pContext.pyx | 3 +-- src/sage/libs/ntl/ntl_ZZ_pE.pyx | 3 +-- src/sage/libs/ntl/ntl_ZZ_pEContext.pyx | 3 +-- src/sage/libs/ntl/ntl_ZZ_pEX.pyx | 3 +-- src/sage/libs/ntl/ntl_ZZ_pX.pyx | 3 +-- src/sage/libs/ntl/ntl_lzz_p.pyx | 3 +-- src/sage/libs/ntl/ntl_lzz_pContext.pyx | 3 +-- src/sage/libs/ntl/ntl_lzz_pX.pyx | 3 +-- src/sage/libs/ntl/ntl_mat_GF2.pyx | 3 +-- src/sage/libs/ntl/ntl_mat_GF2E.pyx | 3 +-- src/sage/libs/ntl/ntl_mat_ZZ.pyx | 3 +-- src/sage/matrix/matrix_cyclo_dense.pyx | 3 +-- src/sage/matrix/matrix_integer_dense.pyx | 12 ++++-------- src/sage/matrix/matrix_rational_dense.pyx | 12 ++++-------- src/sage/rings/bernmm.pyx | 3 +-- src/sage/rings/bernoulli_mod_p.pyx | 3 +-- src/sage/rings/finite_rings/element_ntl_gf2e.pyx | 3 +-- .../rings/finite_rings/hom_finite_field_givaro.pyx | 3 +-- src/sage/rings/fraction_field_FpT.pyx | 3 +-- src/sage/rings/number_field/number_field_element.pyx | 3 +-- .../number_field/number_field_element_quadratic.pyx | 3 +-- src/sage/rings/padics/padic_ZZ_pX_CA_element.pyx | 3 +-- src/sage/rings/padics/padic_ZZ_pX_CR_element.pyx | 3 +-- src/sage/rings/padics/padic_ZZ_pX_FM_element.pyx | 3 +-- src/sage/rings/padics/padic_ZZ_pX_element.pyx | 3 +-- src/sage/rings/padics/padic_ext_element.pyx | 3 +-- src/sage/rings/padics/padic_printing.pyx | 3 +-- src/sage/rings/padics/pow_computer.pyx | 3 +-- src/sage/rings/padics/pow_computer_ext.pyx | 3 +-- src/sage/rings/padics/pow_computer_flint.pyx | 3 +-- src/sage/rings/padics/pow_computer_relative.pyx | 3 +-- src/sage/rings/polynomial/evaluation_ntl.pyx | 3 +-- src/sage/rings/polynomial/polynomial_gf2x.pyx | 9 +++------ .../polynomial/polynomial_integer_dense_flint.pyx | 3 +-- .../polynomial/polynomial_integer_dense_ntl.pyx | 3 +-- .../rings/polynomial/polynomial_modn_dense_ntl.pyx | 3 +-- .../rings/polynomial/polynomial_rational_flint.pyx | 3 +-- src/sage/rings/polynomial/polynomial_zmod_flint.pyx | 3 +-- src/sage/rings/polynomial/polynomial_zz_pex.pyx | 3 +-- src/sage/rings/rational.pyx | 3 +-- 53 files changed, 62 insertions(+), 124 deletions(-) diff --git a/src/sage/algebras/quatalg/quaternion_algebra_cython.pyx b/src/sage/algebras/quatalg/quaternion_algebra_cython.pyx index a78ddf9bc39..40c55c7a071 100644 --- a/src/sage/algebras/quatalg/quaternion_algebra_cython.pyx +++ b/src/sage/algebras/quatalg/quaternion_algebra_cython.pyx @@ -1,8 +1,7 @@ # distutils: language = c++ -# distutils: libraries = gmp m ntl +# distutils: libraries = gmp m NTL_LIBRARIES # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA """ diff --git a/src/sage/algebras/quatalg/quaternion_algebra_element.pyx b/src/sage/algebras/quatalg/quaternion_algebra_element.pyx index 7b4be8e61e5..95c2732c78a 100644 --- a/src/sage/algebras/quatalg/quaternion_algebra_element.pyx +++ b/src/sage/algebras/quatalg/quaternion_algebra_element.pyx @@ -1,8 +1,7 @@ # distutils: language = c++ -# distutils: libraries = gmp m ntl +# distutils: libraries = gmp m NTL_LIBRARIES # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA """ diff --git a/src/sage/libs/eclib/__init__.pxd b/src/sage/libs/eclib/__init__.pxd index eb7ddea1288..155c5d040bb 100644 --- a/src/sage/libs/eclib/__init__.pxd +++ b/src/sage/libs/eclib/__init__.pxd @@ -1,8 +1,7 @@ # distutils: language = c++ -# distutils: libraries = ec ntl pari gmp m +# distutils: libraries = ec NTL_LIBRARIES pari gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA diff --git a/src/sage/libs/lcalc/lcalc_Lfunction.pyx b/src/sage/libs/lcalc/lcalc_Lfunction.pyx index 8c91bc78ed5..16cc67cf5d6 100644 --- a/src/sage/libs/lcalc/lcalc_Lfunction.pyx +++ b/src/sage/libs/lcalc/lcalc_Lfunction.pyx @@ -1,10 +1,8 @@ -# distutils: libraries = m ntl Lfunction -# distutils: extra_compile_args = NTL_CFLAGS +# distutils: libraries = m NTL_LIBRARIES Lfunction +# distutils: extra_compile_args = NTL_CFLAGS -O3 -ffast-math # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA -# distutils: extra_compile_args = -O3 -ffast-math # distutils: language = c++ r""" Rubinstein's lcalc library diff --git a/src/sage/libs/ntl/convert.pyx b/src/sage/libs/ntl/convert.pyx index b22819f0576..d06270d5077 100644 --- a/src/sage/libs/ntl/convert.pyx +++ b/src/sage/libs/ntl/convert.pyx @@ -1,8 +1,7 @@ # distutils: depends = NTL/ZZ.h -# distutils: libraries = ntl gmp +# distutils: libraries = NTL_LIBRARIES gmp # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/libs/ntl/ntl_GF2.pyx b/src/sage/libs/ntl/ntl_GF2.pyx index 9fa36aa4da5..2a03e7723b4 100644 --- a/src/sage/libs/ntl/ntl_GF2.pyx +++ b/src/sage/libs/ntl/ntl_GF2.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp +# distutils: libraries = NTL_LIBRARIES gmp # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/libs/ntl/ntl_GF2E.pyx b/src/sage/libs/ntl/ntl_GF2E.pyx index 0d5732b24e4..1f3c259b4a9 100644 --- a/src/sage/libs/ntl/ntl_GF2E.pyx +++ b/src/sage/libs/ntl/ntl_GF2E.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp m +# distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/libs/ntl/ntl_GF2EContext.pyx b/src/sage/libs/ntl/ntl_GF2EContext.pyx index 962e351ca91..d31f8fc6e10 100644 --- a/src/sage/libs/ntl/ntl_GF2EContext.pyx +++ b/src/sage/libs/ntl/ntl_GF2EContext.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp m +# distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/libs/ntl/ntl_GF2EX.pyx b/src/sage/libs/ntl/ntl_GF2EX.pyx index d0a0c47ad6d..be37ec0313a 100644 --- a/src/sage/libs/ntl/ntl_GF2EX.pyx +++ b/src/sage/libs/ntl/ntl_GF2EX.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp m +# distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/libs/ntl/ntl_GF2X.pyx b/src/sage/libs/ntl/ntl_GF2X.pyx index 5f500e99412..63c301e2767 100644 --- a/src/sage/libs/ntl/ntl_GF2X.pyx +++ b/src/sage/libs/ntl/ntl_GF2X.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp m +# distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/libs/ntl/ntl_ZZ.pyx b/src/sage/libs/ntl/ntl_ZZ.pyx index d02d79dbc3b..7ead8da7151 100644 --- a/src/sage/libs/ntl/ntl_ZZ.pyx +++ b/src/sage/libs/ntl/ntl_ZZ.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp m +# distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/libs/ntl/ntl_ZZX.pyx b/src/sage/libs/ntl/ntl_ZZX.pyx index 7e207e82f33..3aea4aca9fc 100644 --- a/src/sage/libs/ntl/ntl_ZZX.pyx +++ b/src/sage/libs/ntl/ntl_ZZX.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp m +# distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/libs/ntl/ntl_ZZ_p.pyx b/src/sage/libs/ntl/ntl_ZZ_p.pyx index 430c08381db..e168aa2c32b 100644 --- a/src/sage/libs/ntl/ntl_ZZ_p.pyx +++ b/src/sage/libs/ntl/ntl_ZZ_p.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp m +# distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/libs/ntl/ntl_ZZ_pContext.pyx b/src/sage/libs/ntl/ntl_ZZ_pContext.pyx index e5dae498404..0c8995608fd 100644 --- a/src/sage/libs/ntl/ntl_ZZ_pContext.pyx +++ b/src/sage/libs/ntl/ntl_ZZ_pContext.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp m +# distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/libs/ntl/ntl_ZZ_pE.pyx b/src/sage/libs/ntl/ntl_ZZ_pE.pyx index f214e2aa7b6..f46b28f95b5 100644 --- a/src/sage/libs/ntl/ntl_ZZ_pE.pyx +++ b/src/sage/libs/ntl/ntl_ZZ_pE.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp m +# distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/libs/ntl/ntl_ZZ_pEContext.pyx b/src/sage/libs/ntl/ntl_ZZ_pEContext.pyx index 959faac3e7f..69dcbff7469 100644 --- a/src/sage/libs/ntl/ntl_ZZ_pEContext.pyx +++ b/src/sage/libs/ntl/ntl_ZZ_pEContext.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp m +# distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/libs/ntl/ntl_ZZ_pEX.pyx b/src/sage/libs/ntl/ntl_ZZ_pEX.pyx index f4c15639b16..983bbbe826a 100644 --- a/src/sage/libs/ntl/ntl_ZZ_pEX.pyx +++ b/src/sage/libs/ntl/ntl_ZZ_pEX.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp m +# distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/libs/ntl/ntl_ZZ_pX.pyx b/src/sage/libs/ntl/ntl_ZZ_pX.pyx index 0400a3fdc59..d7fb124c62a 100644 --- a/src/sage/libs/ntl/ntl_ZZ_pX.pyx +++ b/src/sage/libs/ntl/ntl_ZZ_pX.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp m +# distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/libs/ntl/ntl_lzz_p.pyx b/src/sage/libs/ntl/ntl_lzz_p.pyx index 71da7d197f4..2152f299967 100644 --- a/src/sage/libs/ntl/ntl_lzz_p.pyx +++ b/src/sage/libs/ntl/ntl_lzz_p.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp m +# distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/libs/ntl/ntl_lzz_pContext.pyx b/src/sage/libs/ntl/ntl_lzz_pContext.pyx index c8a4800f7dd..9f69dce88b0 100644 --- a/src/sage/libs/ntl/ntl_lzz_pContext.pyx +++ b/src/sage/libs/ntl/ntl_lzz_pContext.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp m +# distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/libs/ntl/ntl_lzz_pX.pyx b/src/sage/libs/ntl/ntl_lzz_pX.pyx index 8366f1f1243..70d8f103fe8 100644 --- a/src/sage/libs/ntl/ntl_lzz_pX.pyx +++ b/src/sage/libs/ntl/ntl_lzz_pX.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp m +# distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/libs/ntl/ntl_mat_GF2.pyx b/src/sage/libs/ntl/ntl_mat_GF2.pyx index 81e3b263b03..165395a1a7e 100644 --- a/src/sage/libs/ntl/ntl_mat_GF2.pyx +++ b/src/sage/libs/ntl/ntl_mat_GF2.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp m +# distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/libs/ntl/ntl_mat_GF2E.pyx b/src/sage/libs/ntl/ntl_mat_GF2E.pyx index e86d61db2fa..77afb4d6479 100644 --- a/src/sage/libs/ntl/ntl_mat_GF2E.pyx +++ b/src/sage/libs/ntl/ntl_mat_GF2E.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp m +# distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/libs/ntl/ntl_mat_ZZ.pyx b/src/sage/libs/ntl/ntl_mat_ZZ.pyx index 2b12c11543e..462b3313133 100644 --- a/src/sage/libs/ntl/ntl_mat_ZZ.pyx +++ b/src/sage/libs/ntl/ntl_mat_ZZ.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp m +# distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/matrix/matrix_cyclo_dense.pyx b/src/sage/matrix/matrix_cyclo_dense.pyx index 67edbb7c77a..02dcc87ef5b 100644 --- a/src/sage/matrix/matrix_cyclo_dense.pyx +++ b/src/sage/matrix/matrix_cyclo_dense.pyx @@ -1,8 +1,7 @@ # distutils: language = c++ -# distutils: libraries = ntl +# distutils: libraries = NTL_LIBRARIES # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA """ diff --git a/src/sage/matrix/matrix_integer_dense.pyx b/src/sage/matrix/matrix_integer_dense.pyx index 0514198687b..2b7e0b3fefc 100644 --- a/src/sage/matrix/matrix_integer_dense.pyx +++ b/src/sage/matrix/matrix_integer_dense.pyx @@ -1,13 +1,9 @@ # -*- coding: utf-8 -*- -# distutils: extra_compile_args = M4RI_CFLAGS -# distutils: libraries = iml ntl gmp m CBLAS_LIBRARIES -# distutils: extra_compile_args = NTL_CFLAGS -# distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES -# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_compile_args = NTL_CFLAGS M4RI_CFLAGS +# distutils: libraries = iml NTL_LIBRARIES gmp m CBLAS_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR CBLAS_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA -# distutils: library_dirs = CBLAS_LIBDIR -# distutils: include_dirs = M4RI_INCDIR CBLAS_INCDIR +# distutils: include_dirs = NTL_INCDIR M4RI_INCDIR CBLAS_INCDIR """ Dense matrices over the integer ring diff --git a/src/sage/matrix/matrix_rational_dense.pyx b/src/sage/matrix/matrix_rational_dense.pyx index 7520b577dae..5a1f9c17e12 100644 --- a/src/sage/matrix/matrix_rational_dense.pyx +++ b/src/sage/matrix/matrix_rational_dense.pyx @@ -1,12 +1,8 @@ -# distutils: extra_compile_args = -D_XPG6 M4RI_CFLAGS -# distutils: libraries = iml ntl m CBLAS_LIBRARIES -# distutils: extra_compile_args = NTL_CFLAGS -# distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES -# distutils: library_dirs = NTL_LIBDIR +# distutils: extra_compile_args = -D_XPG6 NTL_CFLAGS M4RI_CFLAGS # distutils: extra_link_args = NTL_LIBEXTRA -# distutils: library_dirs = CBLAS_LIBDIR -# distutils: include_dirs = M4RI_INCDIR CBLAS_INCDIR +# distutils: libraries = iml NTL_LIBRARIES m CBLAS_LIBRARIES +# distutils: library_dirs = NTL_LIBDIR CBLAS_LIBDIR +# distutils: include_dirs = NTL_INCDIR M4RI_INCDIR CBLAS_INCDIR """ Dense matrices over the rational field diff --git a/src/sage/rings/bernmm.pyx b/src/sage/rings/bernmm.pyx index a824c724336..74c2aa19738 100644 --- a/src/sage/rings/bernmm.pyx +++ b/src/sage/rings/bernmm.pyx @@ -1,8 +1,7 @@ # distutils: sources = sage/rings/bernmm/bern_modp.cpp sage/rings/bernmm/bern_modp_util.cpp sage/rings/bernmm/bern_rat.cpp -# distutils: libraries = ntl pthread gmp +# distutils: libraries = NTL_LIBRARIES pthread gmp # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: depends = sage/rings/bernmm/bern_modp.h sage/rings/bernmm/bern_modp_util.h sage/rings/bernmm/bern_rat.h diff --git a/src/sage/rings/bernoulli_mod_p.pyx b/src/sage/rings/bernoulli_mod_p.pyx index 65e9ea0c2a9..514d32d6ec9 100644 --- a/src/sage/rings/bernoulli_mod_p.pyx +++ b/src/sage/rings/bernoulli_mod_p.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp +# distutils: libraries = NTL_LIBRARIES gmp # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/rings/finite_rings/element_ntl_gf2e.pyx b/src/sage/rings/finite_rings/element_ntl_gf2e.pyx index 3a1179da8b2..e6f65c84cd4 100644 --- a/src/sage/rings/finite_rings/element_ntl_gf2e.pyx +++ b/src/sage/rings/finite_rings/element_ntl_gf2e.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl +# distutils: libraries = NTL_LIBRARIES # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/rings/finite_rings/hom_finite_field_givaro.pyx b/src/sage/rings/finite_rings/hom_finite_field_givaro.pyx index 5ff149d05fb..28c8b3935c0 100644 --- a/src/sage/rings/finite_rings/hom_finite_field_givaro.pyx +++ b/src/sage/rings/finite_rings/hom_finite_field_givaro.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = givaro ntl gmp m +# distutils: libraries = givaro NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/rings/fraction_field_FpT.pyx b/src/sage/rings/fraction_field_FpT.pyx index ee3c9f76f21..7ad2a7359ab 100644 --- a/src/sage/rings/fraction_field_FpT.pyx +++ b/src/sage/rings/fraction_field_FpT.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = gmp ntl zn_poly +# distutils: libraries = gmp NTL_LIBRARIES zn_poly # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/rings/number_field/number_field_element.pyx b/src/sage/rings/number_field/number_field_element.pyx index 61a8eebc96d..34bdd77c753 100644 --- a/src/sage/rings/number_field/number_field_element.pyx +++ b/src/sage/rings/number_field/number_field_element.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl +# distutils: libraries = NTL_LIBRARIES # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/rings/number_field/number_field_element_quadratic.pyx b/src/sage/rings/number_field/number_field_element_quadratic.pyx index 4133085a47b..e35315f1462 100644 --- a/src/sage/rings/number_field/number_field_element_quadratic.pyx +++ b/src/sage/rings/number_field/number_field_element_quadratic.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl +# distutils: libraries = NTL_LIBRARIES # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/rings/padics/padic_ZZ_pX_CA_element.pyx b/src/sage/rings/padics/padic_ZZ_pX_CA_element.pyx index 56afc802311..16a9e0d4ff7 100644 --- a/src/sage/rings/padics/padic_ZZ_pX_CA_element.pyx +++ b/src/sage/rings/padics/padic_ZZ_pX_CA_element.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp m +# distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/rings/padics/padic_ZZ_pX_CR_element.pyx b/src/sage/rings/padics/padic_ZZ_pX_CR_element.pyx index 26a02e266f7..87d70edaf51 100644 --- a/src/sage/rings/padics/padic_ZZ_pX_CR_element.pyx +++ b/src/sage/rings/padics/padic_ZZ_pX_CR_element.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp m +# distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/rings/padics/padic_ZZ_pX_FM_element.pyx b/src/sage/rings/padics/padic_ZZ_pX_FM_element.pyx index a9c17302c8e..c3cf8f96770 100644 --- a/src/sage/rings/padics/padic_ZZ_pX_FM_element.pyx +++ b/src/sage/rings/padics/padic_ZZ_pX_FM_element.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp m +# distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/rings/padics/padic_ZZ_pX_element.pyx b/src/sage/rings/padics/padic_ZZ_pX_element.pyx index 0f768b8f37a..420bf72703f 100644 --- a/src/sage/rings/padics/padic_ZZ_pX_element.pyx +++ b/src/sage/rings/padics/padic_ZZ_pX_element.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp m +# distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/rings/padics/padic_ext_element.pyx b/src/sage/rings/padics/padic_ext_element.pyx index 0fb6a423401..f1f663cc6da 100644 --- a/src/sage/rings/padics/padic_ext_element.pyx +++ b/src/sage/rings/padics/padic_ext_element.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp m +# distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/rings/padics/padic_printing.pyx b/src/sage/rings/padics/padic_printing.pyx index 9d3fe67a0ec..f0fea52b8d2 100644 --- a/src/sage/rings/padics/padic_printing.pyx +++ b/src/sage/rings/padics/padic_printing.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = gmp ntl m +# distutils: libraries = NTL_LIBRARIES ntl m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/rings/padics/pow_computer.pyx b/src/sage/rings/padics/pow_computer.pyx index 3535b7fe113..ec4ff3009dc 100644 --- a/src/sage/rings/padics/pow_computer.pyx +++ b/src/sage/rings/padics/pow_computer.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp m +# distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/rings/padics/pow_computer_ext.pyx b/src/sage/rings/padics/pow_computer_ext.pyx index 590bfc17650..f4e60ee393b 100644 --- a/src/sage/rings/padics/pow_computer_ext.pyx +++ b/src/sage/rings/padics/pow_computer_ext.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp m +# distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/rings/padics/pow_computer_flint.pyx b/src/sage/rings/padics/pow_computer_flint.pyx index d2ff6c5646c..3868c11a6f7 100644 --- a/src/sage/rings/padics/pow_computer_flint.pyx +++ b/src/sage/rings/padics/pow_computer_flint.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = gmp ntl +# distutils: libraries = gmp NTL_LIBRARIES # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/rings/padics/pow_computer_relative.pyx b/src/sage/rings/padics/pow_computer_relative.pyx index 9a3951729a3..d80419863bb 100644 --- a/src/sage/rings/padics/pow_computer_relative.pyx +++ b/src/sage/rings/padics/pow_computer_relative.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp m +# distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/rings/polynomial/evaluation_ntl.pyx b/src/sage/rings/polynomial/evaluation_ntl.pyx index c2e42386c60..28b3917d3a1 100644 --- a/src/sage/rings/polynomial/evaluation_ntl.pyx +++ b/src/sage/rings/polynomial/evaluation_ntl.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl +# distutils: libraries = NTL_LIBRARIES # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/rings/polynomial/polynomial_gf2x.pyx b/src/sage/rings/polynomial/polynomial_gf2x.pyx index 2012d08e743..8149a3ba6e5 100644 --- a/src/sage/rings/polynomial/polynomial_gf2x.pyx +++ b/src/sage/rings/polynomial/polynomial_gf2x.pyx @@ -1,11 +1,8 @@ -# distutils: libraries = gmp ntl -# distutils: extra_compile_args = NTL_CFLAGS -# distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES +# distutils: libraries = gmp NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA -# distutils: extra_compile_args = M4RI_CFLAGS -# distutils: include_dirs = M4RI_INCDIR +# distutils: extra_compile_args = NTL_CFLAGS M4RI_CFLAGS +# distutils: include_dirs = NTL_INCDIR M4RI_INCDIR # distutils: language = c++ """ Univariate Polynomials over GF(2) via NTL's GF2X diff --git a/src/sage/rings/polynomial/polynomial_integer_dense_flint.pyx b/src/sage/rings/polynomial/polynomial_integer_dense_flint.pyx index 57cd6c0fe2e..0e2223b128e 100644 --- a/src/sage/rings/polynomial/polynomial_integer_dense_flint.pyx +++ b/src/sage/rings/polynomial/polynomial_integer_dense_flint.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp +# distutils: libraries = NTL_LIBRARIES gmp # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/rings/polynomial/polynomial_integer_dense_ntl.pyx b/src/sage/rings/polynomial/polynomial_integer_dense_ntl.pyx index 5217e805ae5..7693cd29c84 100644 --- a/src/sage/rings/polynomial/polynomial_integer_dense_ntl.pyx +++ b/src/sage/rings/polynomial/polynomial_integer_dense_ntl.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp +# distutils: libraries = NTL_LIBRARIES gmp # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/rings/polynomial/polynomial_modn_dense_ntl.pyx b/src/sage/rings/polynomial/polynomial_modn_dense_ntl.pyx index fff9a6b00e5..77f64bf3b99 100644 --- a/src/sage/rings/polynomial/polynomial_modn_dense_ntl.pyx +++ b/src/sage/rings/polynomial/polynomial_modn_dense_ntl.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp +# distutils: libraries = NTL_LIBRARIES gmp # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/rings/polynomial/polynomial_rational_flint.pyx b/src/sage/rings/polynomial/polynomial_rational_flint.pyx index df59cfeab63..ecb38975c96 100644 --- a/src/sage/rings/polynomial/polynomial_rational_flint.pyx +++ b/src/sage/rings/polynomial/polynomial_rational_flint.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp +# distutils: libraries = NTL_LIBRARIES gmp # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/rings/polynomial/polynomial_zmod_flint.pyx b/src/sage/rings/polynomial/polynomial_zmod_flint.pyx index 03dcb482db2..fc7898dde64 100644 --- a/src/sage/rings/polynomial/polynomial_zmod_flint.pyx +++ b/src/sage/rings/polynomial/polynomial_zmod_flint.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = gmp ntl zn_poly +# distutils: libraries = gmp NTL_LIBRARIES zn_poly # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/rings/polynomial/polynomial_zz_pex.pyx b/src/sage/rings/polynomial/polynomial_zz_pex.pyx index ef5327bc6b8..c9f2a309365 100644 --- a/src/sage/rings/polynomial/polynomial_zz_pex.pyx +++ b/src/sage/rings/polynomial/polynomial_zz_pex.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl gmp +# distutils: libraries = NTL_LIBRARIES gmp # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ diff --git a/src/sage/rings/rational.pyx b/src/sage/rings/rational.pyx index 26d4c4fd173..4e150973b73 100644 --- a/src/sage/rings/rational.pyx +++ b/src/sage/rings/rational.pyx @@ -1,7 +1,6 @@ -# distutils: libraries = ntl +# distutils: libraries = NTL_LIBRARIES # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR -# distutils: libraries = NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA r""" From 4d2828df69cd02e128a43a53b32e67cb63caacb9 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Wed, 10 Feb 2021 19:45:59 -0800 Subject: [PATCH 11/11] Switch Cython files that use NTL to language = c++ --- src/sage/matrix/matrix_rational_dense.pyx | 2 +- src/sage/rings/rational.pyx | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/sage/matrix/matrix_rational_dense.pyx b/src/sage/matrix/matrix_rational_dense.pyx index 5a1f9c17e12..549c5c46305 100644 --- a/src/sage/matrix/matrix_rational_dense.pyx +++ b/src/sage/matrix/matrix_rational_dense.pyx @@ -3,7 +3,7 @@ # distutils: libraries = iml NTL_LIBRARIES m CBLAS_LIBRARIES # distutils: library_dirs = NTL_LIBDIR CBLAS_LIBDIR # distutils: include_dirs = NTL_INCDIR M4RI_INCDIR CBLAS_INCDIR - +# distutils: language = c++ """ Dense matrices over the rational field diff --git a/src/sage/rings/rational.pyx b/src/sage/rings/rational.pyx index 4e150973b73..72396d24f3e 100644 --- a/src/sage/rings/rational.pyx +++ b/src/sage/rings/rational.pyx @@ -3,6 +3,7 @@ # distutils: include_dirs = NTL_INCDIR # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA +# distutils: language = c++ r""" Rational Numbers