From,
|
user_options = _build_ext.build_ext.user_options |
|
boolean_options = _build_ext.build_ext.boolean_options |
|
help_options = _build_ext.build_ext.help_options |
Cython's
build_ext starts using and modifying distutils' options attributes directly instead of making a copy of them.
If using setuptools' setup function (most likely the case) and Cython is installed then setuptools will successfully (and unconditionally) import Cython's build_ext, therefore Cython's modifications to these lists do happen and is, more than anything, confusing whenever using directly or subclassing distutils' build_ext that these options appear out of "nowhere".
From,
cython/Cython/Distutils/old_build_ext.py
Lines 87 to 89 in ee1b021
build_extstarts using and modifying distutils' options attributes directly instead of making a copy of them.If using setuptools'
setupfunction (most likely the case) and Cython is installed then setuptools will successfully (and unconditionally) import Cython'sbuild_ext, therefore Cython's modifications to these lists do happen and is, more than anything, confusing whenever using directly or subclassing distutils'build_extthat these options appear out of "nowhere".