xeus-python
xeus-python copied to clipboard
Hide openssl symbols
As pointed by @ihnorton, we may want to not re-export the symbols when statically linking openssl.
https://github.com/TileDB-Inc/TileDB/pull/1461/files
The test of #218 was actually using an uploaded wheel build with old openssl instead of the locall built one. Adding the flags to the executable doe snot fix the issue, we need to split the static build into xpython and libxeus-python.so, and add the flags to the shared object.
Ok, I propose we split the xeus-python-wheel binary into xeus (hiding openssl symbols from https://github.com/jupyter-xeus/xeus/pull/220), and xpython which links with xeus dynamically and with Python dynamically.
Xeus ought to be placed in the same directory as xpython (which will not override the conda version), we set the rpath of xpython to origin so that it picks it up. (${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath='$ORIGIN'")
Now, ifwe go with this, the XPYT_STATIC_DEPENDENCIES build option of xeus-python is probably a bad name, since the option will only determine whether we produce a libxeus-python library or not.
OK, my proposal is to have a new option replacing XPYT_STATIC_DEPENDENCIES, named XPYT_SPLIT_SHARED set to ON by default, which causes the split of xpython into libxeus-python and xpython.
And another flag for XPYT_USE_STATIC_XEUS, which we set to OFF by default.
It almost completely maps to the current state of the CMake file.
Also, note for self: why are we doing find-package on cppzmq and not using it in the makefile?
It seems we could remove it since it is exported by xeus.