automake: add -Wl,--no-undefined to all libraries

... apart from the dri drivers.
With this final change we can build mesa without fear that
the resulting libraries will have unresolved symbols.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
Emil Velikov 2014-03-13 05:44:33 +00:00
parent 902dc61f88
commit d187a150d4
17 changed files with 63 additions and 18 deletions

View File

@ -73,7 +73,11 @@ libEGL_la_SOURCES = \
libEGL_la_LIBADD = \
$(EGL_LIB_DEPS)
libEGL_la_LDFLAGS = -Wl,-Bsymbolic -version-number 1:0 -no-undefined
libEGL_la_LDFLAGS = \
-no-undefined \
-version-number 1:0 \
-Wl,-Bsymbolic \
-Wl,--no-undefined
if HAVE_EGL_PLATFORM_X11
AM_CFLAGS += -DHAVE_X11_PLATFORM

View File

@ -10,7 +10,8 @@ noinst_HEADERS = wayland-egl-priv.h
libwayland_egl_la_SOURCES = wayland-egl.c
libwayland_egl_la_LDFLAGS = \
-no-undefined \
-version-info 1
-version-info 1 \
-Wl,--no-undefined
TESTS = wayland-egl-symbols-check

View File

@ -64,20 +64,23 @@ GALLIUM_VDPAU_LINKER_FLAGS = \
-module \
-no-undefined \
-version-number $(VDPAU_MAJOR):$(VDPAU_MINOR) \
-export-symbols-regex $(VDPAU_EXPORTS)
-export-symbols-regex $(VDPAU_EXPORTS) \
-Wl,--no-undefined
GALLIUM_XVMC_LINKER_FLAGS = \
-shared \
-module \
-no-undefined \
-version-number $(XVMC_MAJOR):$(XVMC_MINOR) \
-export-symbols-regex '^XvMC'
-export-symbols-regex '^XvMC' \
-Wl,--no-undefined
GALLIUM_OMX_LINKER_FLAGS = \
-shared \
-module \
-no-undefined \
-export-symbols-regex $(EXPORTS)
-export-symbols-regex $(EXPORTS) \
-Wl,--no-undefined
GALLIUM_VDPAU_LIB_DEPS = \
$(top_builddir)/src/gallium/auxiliary/libgallium.la \

View File

@ -66,7 +66,11 @@ gbm_gallium_drm_la_LIBADD += \
$(LIBDRM_LIBS)
endif
gbm_gallium_drm_la_LDFLAGS = -no-undefined -avoid-version -module
gbm_gallium_drm_la_LDFLAGS = \
-module \
-no-undefined \
-avoid-version \
-Wl,--no-undefined
if HAVE_MESA_LLVM
gbm_gallium_drm_la_LIBADD += $(LLVM_LIBS)

View File

@ -44,7 +44,10 @@ lib_LTLIBRARIES = libGL.la
nodist_EXTRA_libGL_la_SOURCES = dummy.cpp
libGL_la_SOURCES = xlib.c
libGL_la_LDFLAGS = -version-number $(GL_MAJOR):$(GL_MINOR):$(GL_TINY) -no-undefined
libGL_la_LDFLAGS = \
-no-undefined \
-version-number $(GL_MAJOR):$(GL_MINOR):$(GL_TINY) \
-Wl,--no-undefined
libGL_la_LIBADD = \
$(top_builddir)/src/gallium/state_trackers/glx/xlib/libxlib.la \

View File

@ -5,7 +5,9 @@ lib_LTLIBRARIES = lib@OPENCL_LIBNAME@.la
lib@OPENCL_LIBNAME@_la_LDFLAGS = \
$(LLVM_LDFLAGS) \
-no-undefined \
-version-number 1:0
-version-number 1:0 \
-Wl,--no-undefined
lib@OPENCL_LIBNAME@_la_LIBADD = \
$(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader_client.la \

View File

@ -39,7 +39,12 @@ lib_LTLIBRARIES = lib@OSMESA_LIB@.la
nodist_EXTRA_lib@OSMESA_LIB@_la_SOURCES = dummy.cpp
lib@OSMESA_LIB@_la_SOURCES = target.c
lib@OSMESA_LIB@_la_LDFLAGS = -module -version-number @OSMESA_VERSION@ -no-undefined
lib@OSMESA_LIB@_la_LDFLAGS = \
-module \
-no-undefined \
-version-number @OSMESA_VERSION@ \
-Wl,--no-undefined
if HAVE_SHARED_GLAPI
SHARED_GLAPI_LIB = $(top_builddir)/src/mapi/shared-glapi/libglapi.la

View File

@ -49,6 +49,7 @@ AM_LDFLAGS = \
-module \
-no-undefined \
-avoid-version \
-Wl,--no-undefined \
-Wl,--version-script=$(top_srcdir)/src/gallium/targets/pipe-loader/pipe.link
if HAVE_MESA_LLVM

View File

@ -66,7 +66,8 @@ endif
libxatracker_la_LDFLAGS = \
-no-undefined \
-version-number $(XA_MAJOR):$(XA_MINOR):$(XA_TINY)
-version-number $(XA_MAJOR):$(XA_MINOR):$(XA_TINY) \
-Wl,--no-undefined
if HAVE_MESA_LLVM
libxatracker_la_LIBADD += $(LLVM_LIBS)

View File

@ -21,7 +21,9 @@ libgbm_la_SOURCES = \
main/backend.c
libgbm_la_LDFLAGS = \
-no-undefined \
-version-info 1:0
-version-info 1:0 \
-Wl,--no-undefined
libgbm_la_LIBADD = \
$(top_builddir)/src/loader/libloader.la \
$(DLOPEN_LIBS)

View File

@ -109,8 +109,10 @@ GL_LIBS = \
$(GL_LIB_DEPS)
GL_LDFLAGS = \
-no-undefined \
-version-number 1:2 \
-Wl,-Bsymbolic \
-version-number 1:2 -no-undefined
-Wl,--no-undefined
lib@GL_LIB@_la_SOURCES =
lib@GL_LIB@_la_LIBADD = $(GL_LIBS)

View File

@ -44,7 +44,10 @@ lib_LTLIBRARIES = libGLESv1_CM.la
libGLESv1_CM_la_SOURCES = ../entry.c glapi_mapi_tmp.h
libGLESv1_CM_la_LIBADD = $(GLESv1_CM_LIB_DEPS)
libGLESv1_CM_la_LDFLAGS = -version-number 1:1 -no-undefined
libGLESv1_CM_la_LDFLAGS = \
-no-undefined \
-version-number 1:1 \
-Wl,--no-undefined
if HAVE_SHARED_GLAPI
libGLESv1_CM_la_LIBADD += ../shared-glapi/libglapi.la

View File

@ -48,7 +48,10 @@ lib_LTLIBRARIES = libGLESv2.la
libGLESv2_la_SOURCES = ../entry.c glapi_mapi_tmp.h
libGLESv2_la_LIBADD = $(GLESv2_LIB_DEPS)
libGLESv2_la_LDFLAGS = -version-number 2 -no-undefined
libGLESv2_la_LDFLAGS = \
-no-undefined \
-version-number 2 \
-Wl,--no-undefined
if HAVE_SHARED_GLAPI
libGLESv2_la_LIBADD += ../shared-glapi/libglapi.la

View File

@ -9,7 +9,9 @@ include $(top_srcdir)/src/mapi/Makefile.sources
lib_LTLIBRARIES = libglapi.la
libglapi_la_SOURCES = $(MAPI_GLAPI_FILES)
libglapi_la_LIBADD = $(PTHREAD_LIBS) $(SELINUX_LIBS)
libglapi_la_LDFLAGS = -no-undefined
libglapi_la_LDFLAGS = \
-no-undefined \
-Wl,--no-undefined
include $(GLAPI)/gen/glapi_gen.mk
glapi_mapi_tmp.h : $(GLAPI)/gen/gl_and_es_API.xml $(glapi_gen_mapi_deps)

View File

@ -44,7 +44,10 @@ TOP=$(top_srcdir)
include ../Makefile.sources
libOpenVG_la_SOURCES = $(MAPI_FILES) vgapi_tmp.h
libOpenVG_la_LIBADD = $(VG_LIB_DEPS)
libOpenVG_la_LDFLAGS = -version-number 1 -no-undefined
libOpenVG_la_LDFLAGS = \
-no-undefined \
-version-number 1 \
-Wl,--no-undefined
vgapi_tmp.h: $(srcdir)/vgapi.csv $(top_srcdir)/src/mapi/mapi_abi.py
$(AM_V_GEN) $(PYTHON2) $(PYTHON_FLAGS) $(top_srcdir)/src/mapi/mapi_abi.py \

View File

@ -35,7 +35,12 @@ lib_LTLIBRARIES = lib@OSMESA_LIB@.la
nodist_EXTRA_lib@OSMESA_LIB@_la_SOURCES = dummy.cpp
lib@OSMESA_LIB@_la_SOURCES = osmesa.c
lib@OSMESA_LIB@_la_LDFLAGS = -module -version-number @OSMESA_VERSION@ -no-undefined
lib@OSMESA_LIB@_la_LDFLAGS = \
-module \
-no-undefined \
-version-number @OSMESA_VERSION@ \
-Wl,--no-undefined
if HAVE_SHARED_GLAPI
SHARED_GLAPI_LIB = $(top_builddir)/src/mapi/shared-glapi/libglapi.la

View File

@ -62,7 +62,8 @@ lib@GL_LIB@_la_LIBADD = \
$(GL_LIB_DEPS)
lib@GL_LIB@_la_LDFLAGS = \
-no-undefined \
-version-number $(GL_MAJOR):$(GL_MINOR):$(GL_PATCH) \
-no-undefined
-Wl,--no-undefined
include $(top_srcdir)/install-lib-links.mk