aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend/ninjabackend.py
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2021-05-19 15:22:55 -0700
committerDylan Baker <dylan@pnwbakers.com>2021-06-07 09:25:32 -0700
commit0bc18f26a21ea0c1ad06e131e872cec2cc6022a4 (patch)
tree405ce4b67ecf46187766ea405437062a2890d4fc /mesonbuild/backend/ninjabackend.py
parent0cb05004ca9cb6e17cd64b6d0b4ef8e759ed4136 (diff)
downloadmeson-0bc18f26a21ea0c1ad06e131e872cec2cc6022a4.zip
meson-0bc18f26a21ea0c1ad06e131e872cec2cc6022a4.tar.gz
meson-0bc18f26a21ea0c1ad06e131e872cec2cc6022a4.tar.bz2
cython: Add an option for selecting python 3 vs python 2 output
Diffstat (limited to 'mesonbuild/backend/ninjabackend.py')
-rw-r--r--mesonbuild/backend/ninjabackend.py15
1 files changed, 13 insertions, 2 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index 25fa051..8efb01b 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -1559,10 +1559,21 @@ int dummy;
cython = target.compilers['cython']
+ opt_proxy = self.get_compiler_options_for_target(target)
+
+ args: T.List[str] = []
+ args += cython.get_always_args()
+ args += cython.get_buildtype_args(self.get_option_for_target(OptionKey('buildtype'), target))
+ args += cython.get_debug_args(self.get_option_for_target(OptionKey('debug'), target))
+ args += cython.get_optimization_args(self.get_option_for_target(OptionKey('optimization'), target))
+ args += cython.get_option_compile_args(opt_proxy)
+ args += self.build.get_global_args(cython, target.for_machine)
+ args += self.build.get_project_args(cython, target.subproject, target.for_machine)
+
for src in target.get_sources():
if src.endswith('.pyx'):
output = os.path.join(self.get_target_private_dir(target), f'{src}.c')
- args = cython.get_always_args()
+ args = args.copy()
args += cython.get_output_args(output)
element = NinjaBuildElement(
self.all_outputs, [output],
@@ -1580,8 +1591,8 @@ int dummy;
if isinstance(gen, GeneratedList):
ssrc = os.path.join(self.get_target_private_dir(target) , ssrc)
if ssrc.endswith('.pyx'):
+ args = args.copy()
output = os.path.join(self.get_target_private_dir(target), f'{ssrc}.c')
- args = cython.get_always_args()
args += cython.get_output_args(output)
element = NinjaBuildElement(
self.all_outputs, [output],