ceph/cmake/modules
Tim Serong 3bde34af8a cmake: remove cython 0.29's subinterpreter check
cython 0.29 introduced a check which prevents multiple python
subinterpreters from loading the same module:

https://github.com/cython/cython/commit/7e27c7c

Unfortunately, this completely breaks ceph-mgr.  Until we can
figure out a better long term solution, this commit removes
cython's subinterpreter check, via some careful abuse of the
C preprocessor.

This works because when cython is invoked, it first generates
some C code, then compiles it.  We know it's going to generate
C code including:

  int __Pyx_check_single_interpreter(void) { ... }

and:

  if (__Pyx_check_single_interpreter())
      return NULL;

So, we can do the following:

  #define void0 dead_function(void)
  #define __Pyx_check_single_interpreter(ARG)=ARG ## 0

This replaces the call to __Pyx_check_single_interpreter()
with a literal 0, removing the subinterpreter check.

The void0 dead_function(void) thing is necessary because
the __Pyx_check_single_interpreter() macro also clobbers
that function definition, so we need to make sure it's
replaced with something that works as a function definition.

Fixes: https://tracker.ceph.com/issues/37472
Signed-off-by: Tim Serong <tserong@suse.com>
2018-12-17 23:27:06 +11:00
..
AddCephTest.cmake cmake: link against gtest in a better way 2018-08-17 15:21:27 +08:00
BuildBoost.cmake cmake: fix build WITH_SYSTEM_BOOST=ON 2018-08-09 18:57:04 +08:00
Buildc-ares.cmake cmake: build c-ares if it's not found or not new enough 2018-07-25 13:13:45 +08:00
BuildDPDK.cmake cmake: update dpdk drivers/modules to accomodate dpdk submodule 2018-10-26 21:49:03 +08:00
BuildFIO.cmake objectstore/test/fio: Fixed fio compilation when tcmalloc is used. 2018-09-13 09:43:48 +02:00
BuildQatDrv.cmake crypto: QAT Wrapper for Ceph Encryption 2018-10-18 21:48:18 -07:00
BuildRocksDB.cmake cmake: refactor RocksDB related script 2018-08-06 19:37:43 +08:00
BuildSPDK.cmake cmake: pass DPDK_DIR explicitly 2018-09-05 17:33:59 +08:00
CheckCxxAtomic.cmake cmake: should link against libatomic if libcxx/libstdc++ does not offer atomic ops 2018-07-10 01:37:00 +08:00
CheckYasm.cmake cmake: extract Yasm check into a module 2018-07-28 16:53:10 +08:00
CTags.cmake
Distutils.cmake cmake: remove cython 0.29's subinterpreter check 2018-12-17 23:27:06 +11:00
Findaio.cmake
Findbabeltrace.cmake
FindBacktrace.cmake
Findblkid.cmake
FindBoost.cmake cmake/modules: add FindBoost.cmake 2018-09-11 22:22:47 +08:00
Findc-ares.cmake cmake: require 4.0.0 <= libfmt-dev < 5.0.0 2018-08-02 22:14:03 +08:00
FindCUnit.cmake
FindCython.cmake cmake: cleanup FindCython.cmake 2018-07-09 17:13:56 +08:00
Finddpdk.cmake cmake: fix the build WITH_DPDK=ON 2018-09-05 13:53:57 +08:00
Findfcgi.cmake
Findfio.cmake
Findfmt.cmake cmake: fix version matching for Findfmt 2018-09-10 10:22:24 -04:00
Findfuse.cmake
FindGMock.cmake cmake: link against gtest in a better way 2018-08-17 15:21:27 +08:00
Findgperftools.cmake cmake: import allocator libraries in a better way 2018-07-26 15:16:48 +08:00
FindGSSApi.cmake auth: Kerberos authentication 2018-12-03 18:55:46 -07:00
FindJeMalloc.cmake cmake: fix a cmake error when with -DALLOCATOR=jemalloc. 2018-08-02 16:38:53 +08:00
Findkeyutils.cmake cmake: extract mount.ceph into src/mount 2018-07-28 16:53:10 +08:00
Findleveldb.cmake
FindLTTngUST.cmake
FindLZ4.cmake cmake: add LZ4::LZ4 target for LZ4 2018-08-06 17:38:07 +08:00
FindNSPR.cmake
FindNSS.cmake
FindOATH.cmake
FindOpenLdap.cmake
FindPython3Interp.cmake
FindPython3Libs.cmake
Findqatzip.cmake
Findrdmacm.cmake cmake: extract the RDMA libraries interface properties out 2018-06-28 23:26:28 +08:00
FindRocksDB.cmake cmake: refactor RocksDB related script 2018-08-06 19:37:43 +08:00
FindSanitizers.cmake cmake,ceph.in: preload libasan if WITH_ASAN 2018-10-22 14:40:03 +08:00
Findsnappy.cmake cmake: cleanup snappy related script 2018-08-06 17:16:46 +08:00
FindStdFilesystem_test.cc cmake: extract std::filesystem linkage checking into module 2018-07-29 20:25:32 +08:00
FindStdFilesystem.cmake cmake: fix StdFilesystem detection 2018-08-02 14:37:49 +08:00
Findudev.cmake
Finduuid.cmake
Findverbs.cmake cmake: extract the RDMA libraries interface properties out 2018-06-28 23:26:28 +08:00
Findxfs.cmake
Findxio.cmake
Findzfs.cmake
GetGitRevisionDescription.cmake
GetGitRevisionDescription.cmake.in
patch-dpdk-conf.sh
SIMDExt.cmake Merge pull request #24168 from tchaikov/wip-17516 2018-10-04 16:10:18 -07:00