• Emil Velikov's avatar
    gallium/dri: always link against shared glapi · 5c9a9ba9
    Emil Velikov authored
    In the early days of Xorg and Mesa we had multiple providers of the
    GLAPI. All of those were the ones responsible for dlopening the DRI
    module. Hence it was perfectly fine, and actually expected, for the DRI
    modules to have unresolved symbols.
    
    Since then we've moved the API to a separate shared library and no other
    libraries provide the symbols.
    
    Here comes the picky part:
    It's possible that one uses old Xorg (where libglx.so provides the
    GLAPI) and new Mesa (with DRI modules linking against libglapi.so).
    
    That should still work, since the the libglx.so symbols will take
    precedence over the libglapi.so ones.
    
    I've verified this while running 1.14 series Xorg alongside this (and
    next) patch.
    
    It may seem a bit fragile, but that's of reasonably OK since all of the
    affected Xorg versions have been EOL for years.
    
    The final one being the 1.14 series, which saw its final bug fix release
    1.14.7 in June 2014.
    
    To ensure that the binaries do not have unresolved symbols add
    -no-undefined and $(LD_NO_UNDEFINED), just like we do everywhere else
    throughout mesa.
    
    Cc: mesa-stable@lists.freedesktop.org
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98428Signed-off-by: default avatarEmil Velikov <emil.velikov@collabora.com>
    Reviewed-by: default avatarNicolai Hähnle <nicolai.haehnle@amd.com>
    (cherry picked from commit 79a26b66)
    5c9a9ba9
Name
Last commit
Last update
bin Loading commit data...
docs Loading commit data...
doxygen Loading commit data...
include Loading commit data...
m4 Loading commit data...
scons Loading commit data...
scripts Loading commit data...
src Loading commit data...
.dir-locals.el Loading commit data...
.editorconfig Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.mailmap Loading commit data...
.travis.yml Loading commit data...
Android.common.mk Loading commit data...
Android.mk Loading commit data...
CleanSpec.mk Loading commit data...
Makefile.am Loading commit data...
REVIEWERS Loading commit data...
SConstruct Loading commit data...
VERSION Loading commit data...
appveyor.yml Loading commit data...
autogen.sh Loading commit data...
common.py Loading commit data...
configure.ac Loading commit data...
install-gallium-links.mk Loading commit data...
install-lib-links.mk Loading commit data...