You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add multi-threaded versions of sdl2_image and sdl2_ttf (#22946)
Because some possible dependencies of these libraries have `-mt`
variants (specifically png and harfbuzz) we also needs to declare `-mt`
variant of these libraries.
The reason for this is a little complex: When we find the set of
transitive dependencies of given library we select the correct variant
of each library. This means that if we are building with `-pthread` then
we select and include the `-mt` variants of all dependencies. However if
libsdl2_image or libsdl2_ttf themselves then need to be built we end up
building them without `-pthread` which means that emcc subprocesses will
try to select and build the single threaded variants of the
dependencies. This is mostly a serious problem because we don't allow
for nested calls to emcc (we assume all dependencies have been already
built before we try to build a given library and the we error out with
`EM_CACHE_IS_LOCKED` if that is not the case).
Testing this fix requires the cache to be setup just right so I'm not
sure its worth it.
Fixes: #22941, #20204
self.assertContained('error building port `sdl2_image:formats=invalid` | invalid is not a supported format', self.do([EMBUILDER, 'build', 'sdl2_image:formats=invalid', '--force']))
0 commit comments