Build: hide most symbols on macOS on Linux to avoid conflicts

This means symbols from Blender itself and most external libraries. We can't
just hide all because that breaks some libraries. The better solution would
be to rebuild all library dependencies with hidden visibility.

Fixes T75223: Luxrender add-on failing to load on macOS
This commit is contained in:
Brecht Van Lommel
2020-03-30 21:24:13 +02:00
parent 899bfdc412
commit b555b8dedc
4 changed files with 137 additions and 28 deletions

View File

@@ -6,21 +6,71 @@
{
global:
*;
*_boost*;
*;
*_boost*;
local:
*default_error_condition*;
*llvm*;
*LLVM*;
decodeInstruction;
ForceStackAlign;
_Jv_RegisterClasses;
Name;
NumNamedVarArgParams;
X86CompilationCallback*;
*boost*;
*SDL*;
*embree*;
cu*;
al*;
*Alembic*;
av*;
blosc*;
*boost*;
*ceres*;
*cineon*;
*COLLADA*;
cu*;
decodeInstruction;
*default_error_condition*;
*dpx*;
*embree*;
ff_*;
fftw*;
FLAC*;
ForceStackAlign;
FT_*;
*GeneratedSaxParser*;
*google*;
gsm*;
Gsm*;
html*;
id3tag*;
*Iex*;
*Ilm*;
*Imath*;
*Imf*;
jack_*;
jpeg_*;
jsimd**;
_Jv_RegisterClasses;
lame_*;
*llvm*;
*LLVM*;
*MathML*;
*mkldnn*;
Name;
NumNamedVarArgParams;
oc_*;
ogg*;
*oidn*;
*OpenColorIO*;
*OpenImageIO*;
*OpenSubdiv*;
*openvdb*;
opj_*;
opus_*;
*OSL*;
png_*;
*SDL*;
*squish*;
*tbb*;
*TIFF*;
*tinyformat*;
vorbis*;
vp8*;
vp9*;
vpx*;
x264_*;
X86CompilationCallback*;
xml*;
xvid*;
*YAML*;
};

View File

@@ -1,10 +1,66 @@
## The symbols will be treated as if they were marked as __private_extern__
## (aka visibility=hidden) and will not be global in the output file
al*
*Alembic*
av*
blosc*
*boost*
*__ZNSt6vector*
*ceres*
*cineon*
*COLLADA*
cu*
decodeInstruction
*default_error_condition*
*dpx*
*embree*
ff_*
fftw*
FLAC*
ForceStackAlign
FT_*
*GeneratedSaxParser*
*google*
gsm*
Gsm*
html*
id3tag*
*Iex*
*Ilm*
*Imath*
*Imf*
jack_*
jpeg_*
jsimd**
_Jv_RegisterClasses
lame_*
*llvm*
*LLVM*
*MathML*
*mkldnn*
Name
NumNamedVarArgParams
oc_*
ogg*
*oidn*
*OpenColorIO*
*OpenImageIO*
*OpenSubdiv*
*openvdb*
opj_*
opus_*
*OSL*
*embree*
cu*
png_*
*SDL*
*squish*
*tbb*
*TIFF*
*tinyformat*
vorbis*
vp8*
vp9*
vpx*
x264_*
X86CompilationCallback*
xml*
xvid*
*YAML*