automake: ask the linker to do garbage collection
[mesa.git] / src / gallium / targets / egl-static / Makefile.am
index 760c477148df5f04b83125fc29db413f42f3b346..58ecf697ce945adfb479ad6816b8694061eac570 100644 (file)
 #
 include $(top_srcdir)/src/gallium/Automake.inc
 
-LDFLAGS += -Wl,$(top_srcdir)/src/gallium/targets/egl-static/egl.link
-
 AM_CFLAGS = $(PTHREAD_CFLAGS)
 AM_CPPFLAGS = \
        $(GALLIUM_CFLAGS) \
+       $(VISIBILITY_CFLAGS) \
        -I$(top_srcdir)/include \
+       -I$(top_srcdir)/src/loader \
        -I$(top_srcdir)/src/gallium/drivers \
        -I$(top_srcdir)/src/gallium/winsys \
        -I$(top_srcdir)/src/gallium/include \
@@ -44,6 +44,14 @@ AM_CPPFLAGS = \
        -I$(top_srcdir)/src/egl/main \
        -D_EGL_MAIN=_eglMain
 
+AM_LDFLAGS = \
+       -module \
+       -no-undefined \
+       -avoid-version \
+       $(GC_SECTIONS) \
+       -Wl,--no-undefined \
+       -Wl,--version-script=$(top_srcdir)/src/gallium/targets/egl-static/egl.link
+
 egldir = $(EGL_DRIVER_INSTALL_DIR)
 egl_LTLIBRARIES = egl_gallium.la
 
@@ -60,13 +68,19 @@ egl_gallium_la_LIBADD = \
        $(top_builddir)/src/gallium/drivers/rbug/librbug.la \
        $(top_builddir)/src/gallium/state_trackers/egl/libegl.la \
        $(top_builddir)/src/egl/main/libEGL.la \
+       $(top_builddir)/src/loader/libloader.la \
        $(CLOCK_LIB) \
-       $(LIBUDEV_LIBS) \
        $(DLOPEN_LIBS) \
        $(PTHREAD_LIBS) \
        -lm
 
-egl_gallium_la_LDFLAGS = -Wl,--no-undefined -Wl,--allow-multiple-definition -avoid-version -module
+if HAVE_MESA_LLVM
+AM_LDFLAGS += $(LLVM_LDFLAGS)
+endif
+
+egl_gallium_la_LDFLAGS = \
+       $(AM_LDFLAGS) \
+       -Wl,--allow-multiple-definition
 
 if HAVE_EGL_PLATFORM_X11
 AM_CPPFLAGS += $(LIBDRM_CFLAGS)
@@ -119,7 +133,6 @@ egl_LTLIBRARIES += st_GL.la
 
 nodist_EXTRA_st_GL_la_SOURCES = dummy.cpp
 st_GL_la_SOURCES = st_GL.c
-st_GL_la_LDFLAGS = -Wl,--no-undefined -avoid-version -module
 
 # st_GL, built only when shared glapi is not enabled
 st_GL_la_LIBADD = \
@@ -230,32 +243,12 @@ endif
 
 if HAVE_MESA_LLVM
 egl_gallium_la_LIBADD += $(LLVM_LIBS)
-egl_gallium_la_LDFLAGS += $(LLVM_LDFLAGS)
 
 if HAVE_OPENGL
 if !HAVE_SHARED_GLAPI
 st_GL_la_LIBADD += $(LLVM_LIBS)
-st_GL_la_LDFLAGS += $(LLVM_LDFLAGS)
 endif
 endif
 endif
 
-# Provide compatibility with scripts for the old Mesa build system for
-# a while by putting a link to the driver into /lib of the build tree.
-if HAVE_OPENGL
-if !HAVE_SHARED_GLAPI
-all-local: egl_gallium.la st_GL.la
-       $(MKDIR_P) $(top_builddir)/$(LIB_DIR)/egl
-       ln -f .libs/egl_gallium.so $(top_builddir)/$(LIB_DIR)/egl/egl_gallium.so
-       ln -f .libs/st_GL.so $(top_builddir)/$(LIB_DIR)/egl/st_GL.so
-else
-all-local: egl_gallium.la
-       $(MKDIR_P) $(top_builddir)/$(LIB_DIR)/egl
-       ln -f .libs/egl_gallium.so $(top_builddir)/$(LIB_DIR)/egl/egl_gallium.so
-
-endif
-else
-all-local: egl_gallium.la
-       $(MKDIR_P) $(top_builddir)/$(LIB_DIR)/egl
-       ln -f .libs/egl_gallium.so $(top_builddir)/$(LIB_DIR)/egl/egl_gallium.so
-endif
+include $(top_srcdir)/install-gallium-links.mk