From b555b8dedce058985bfe8c544c8c46ba4821bc1a Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 30 Mar 2020 21:24:13 +0200 Subject: 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 --- source/creator/blender.map | 82 ++++++++++++++++++++++++++++++++++--------- source/creator/osx_locals.map | 64 ++++++++++++++++++++++++++++++--- 2 files changed, 126 insertions(+), 20 deletions(-) (limited to 'source/creator') diff --git a/source/creator/blender.map b/source/creator/blender.map index 4c34dea3338..3e447ec9e89 100644 --- a/source/creator/blender.map +++ b/source/creator/blender.map @@ -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*; }; - diff --git a/source/creator/osx_locals.map b/source/creator/osx_locals.map index 3382ac954e2..908bfdae6cb 100644 --- a/source/creator/osx_locals.map +++ b/source/creator/osx_locals.map @@ -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* -- cgit v1.2.3