|
|
|
@ -65,18 +65,21 @@ PY3 = sys.version_info.major == 3 |
|
|
|
|
# to have been generated by building first *with* Cython support. |
|
|
|
|
BUILD_WITH_CYTHON = os.environ.get('GRPC_PYTHON_BUILD_WITH_CYTHON', False) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def check_linker_need_libatomic(): |
|
|
|
|
"""Test if linker on system needs libatomic. |
|
|
|
|
""" |
|
|
|
|
code_test = (b'#include <atomic>\n' + |
|
|
|
|
b'int main() { return std::atomic<int64_t>{}; }') |
|
|
|
|
cc_test = subprocess.Popen(['cc', '-x', 'c++', '-std=c++11', '-'], |
|
|
|
|
stdin=PIPE, |
|
|
|
|
stdout=PIPE, |
|
|
|
|
stderr=PIPE) |
|
|
|
|
cc_test = subprocess.Popen( |
|
|
|
|
['cc', '-x', 'c++', '-std=c++11', '-'], |
|
|
|
|
stdin=PIPE, |
|
|
|
|
stdout=PIPE, |
|
|
|
|
stderr=PIPE) |
|
|
|
|
cc_test.communicate(input=code_test) |
|
|
|
|
return cc_test.returncode != 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# There are some situations (like on Windows) where CC, CFLAGS, and LDFLAGS are |
|
|
|
|
# entirely ignored/dropped/forgotten by distutils and its Cygwin/MinGW support. |
|
|
|
|
# We use these environment variables to thus get around that without locking |
|
|
|
|