summaryrefslogtreecommitdiff
path: root/Cython/Build/Inline.py
diff options
context:
space:
mode:
Diffstat (limited to 'Cython/Build/Inline.py')
-rw-r--r--Cython/Build/Inline.py25
1 files changed, 16 insertions, 9 deletions
diff --git a/Cython/Build/Inline.py b/Cython/Build/Inline.py
index 15d26dbf8..abb891265 100644
--- a/Cython/Build/Inline.py
+++ b/Cython/Build/Inline.py
@@ -11,7 +11,8 @@ from distutils.command.build_ext import build_ext
import Cython
from ..Compiler.Main import Context
-from ..Compiler.Options import default_options
+from ..Compiler.Options import (default_options, CompilationOptions,
+ get_directive_defaults)
from ..Compiler.Visitor import CythonTransform, EnvTransform
from ..Compiler.ParseTreeTransforms import SkipDeclarations
@@ -41,18 +42,19 @@ if sys.version_info < (3, 5):
def load_dynamic(name, module_path):
return imp.load_dynamic(name, module_path)
else:
- import importlib.util as _importlib_util
- def load_dynamic(name, module_path):
- spec = _importlib_util.spec_from_file_location(name, module_path)
- module = _importlib_util.module_from_spec(spec)
- # sys.modules[name] = module
+ import importlib.util
+ from importlib.machinery import ExtensionFileLoader
+
+ def load_dynamic(name, path):
+ spec = importlib.util.spec_from_file_location(name, loader=ExtensionFileLoader(name, path))
+ module = importlib.util.module_from_spec(spec)
spec.loader.exec_module(module)
return module
class UnboundSymbols(EnvTransform, SkipDeclarations):
def __init__(self):
- CythonTransform.__init__(self, None)
+ super(EnvTransform, self).__init__(context=None)
self.unbound = set()
def visit_NameNode(self, node):
if not self.current_env().lookup(node.name):
@@ -67,7 +69,8 @@ class UnboundSymbols(EnvTransform, SkipDeclarations):
def unbound_symbols(code, context=None):
code = to_unicode(code)
if context is None:
- context = Context([], default_options)
+ context = Context([], get_directive_defaults(),
+ options=CompilationOptions(default_options))
from ..Compiler.ParseTreeTransforms import AnalyseDeclarationsTransform
tree = parse_from_strings('(tree fragment)', code)
for phase in Pipeline.create_pipeline(context, 'pyx'):
@@ -128,7 +131,11 @@ def _get_build_extension():
@cached_function
def _create_context(cython_include_dirs):
- return Context(list(cython_include_dirs), default_options)
+ return Context(
+ list(cython_include_dirs),
+ get_directive_defaults(),
+ options=CompilationOptions(default_options)
+ )
_cython_inline_cache = {}