Use -no-undefined libtool flag in src/glx/Makefile.am
[mesa.git] / src / glx / Makefile.am
1 # Copyright © 2012 Intel Corporation
2 #
3 # Permission is hereby granted, free of charge, to any person obtaining a
4 # copy of this software and associated documentation files (the "Software"),
5 # to deal in the Software without restriction, including without limitation
6 # the rights to use, copy, modify, merge, publish, distribute, sublicense,
7 # and/or sell copies of the Software, and to permit persons to whom the
8 # Software is furnished to do so, subject to the following conditions:
9 #
10 # The above copyright notice and this permission notice (including the next
11 # paragraph) shall be included in all copies or substantial portions of the
12 # Software.
13 #
14 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
20 # IN THE SOFTWARE.
21
22 if HAVE_SHARED_GLAPI
23 SHARED_GLAPI_CFLAGS = -DGLX_SHARED_GLAPI
24 SHARED_GLAPI_LIBS = $(top_builddir)/src/mapi/shared-glapi/libglapi.la
25 endif
26
27 GLAPI_LIB = ../mapi/glapi/libglapi.a
28
29 if HAVE_XF86VIDMODE
30 EXTRA_DEFINES_XF86VIDMODE = -DXF86VIDMODE
31 endif
32
33 AM_CFLAGS = \
34 -I$(top_srcdir)/include \
35 -I$(top_srcdir)/include/GL/internal \
36 -I$(top_srcdir)/src/mapi \
37 -I$(top_srcdir)/src/mapi/glapi \
38 $(SHARED_GLAPI_CFLAGS) \
39 $(EXTRA_DEFINES_XF86VIDMODE) \
40 -D_REENTRANT \
41 -DDEFAULT_DRIVER_DIR=\"$(DRI_DRIVER_SEARCH_DIR)\" \
42 $(DEFINES) \
43 $(LIBDRM_CFLAGS) \
44 $(DRI2PROTO_CFLAGS) \
45 $(GLPROTO_CFLAGS) \
46 $(X11_INCLUDES)
47
48 if HAVE_MANGLED_GL
49 MANGLED_GL_LIB = libMangledGL.la
50 else
51 NORMAL_GL_LIB = libGL.la
52 endif
53
54 lib_LTLIBRARIES = \
55 $(NORMAL_GL_LIB) \
56 $(MANGLED_GL_LIB)
57
58 GL_FILES = \
59 clientattrib.c \
60 clientinfo.c \
61 compsize.c \
62 create_context.c \
63 eval.c \
64 glxconfig.c \
65 glxcmds.c \
66 glxcurrent.c \
67 glx_error.c \
68 glxext.c \
69 glxextensions.c \
70 indirect_glx.c \
71 indirect.c \
72 indirect_init.c \
73 indirect_size.c \
74 indirect_window_pos.c \
75 indirect_texture_compression.c \
76 indirect_transpose_matrix.c \
77 indirect_vertex_array.c \
78 indirect_vertex_program.c \
79 pixel.c \
80 pixelstore.c \
81 render2.c \
82 renderpix.c \
83 single2.c \
84 singlepix.c \
85 vertarr.c \
86 xfont.c \
87 glx_pbuffer.c \
88 glx_query.c \
89 drisw_glx.c \
90 dri_common.c \
91 dri_glx.c \
92 XF86dri.c \
93 glxhash.c \
94 dri2_glx.c \
95 dri2.c \
96 applegl_glx.c
97
98 GL_LIBS = \
99 $(SHARED_GLAPI_LIBS) \
100 $(GLAPI_LIB) \
101 $(GL_LIB_DEPS)
102
103 GL_LDFLAGS = \
104 -Wl,-Bsymbolic \
105 -version-number 1:2 -no-undefined
106
107 libGL_la_SOURCES = $(GL_FILES)
108 libMangledGL_la_SOURCES = $(GL_FILES)
109 libGL_la_LIBADD = $(GL_LIBS)
110 libMangledGL_la_LIBADD = $(GL_LIBS)
111 libGL_la_LDFLAGS = $(GL_LDFLAGS)
112 libMangledGL_la_LDFLAGS = $(GL_LDFLAGS)
113
114 # Provide compatibility with scripts for the old Mesa build system for
115 # a while by putting a link to the driver into /lib of the build tree.
116 if !HAVE_MANGLED_GL
117 all-local: $(NORMAL_GL_LIB) $(MANGLED_GL_LIB)
118 $(MKDIR_P) $(top_builddir)/$(LIB_DIR);
119 ln -f .libs/libGL.so.1.2.0 $(top_builddir)/$(LIB_DIR)/libGL.so.1
120 ln -sf libGL.so.1 $(top_builddir)/$(LIB_DIR)/libGL.so
121 endif
122
123 $(GLAPI_LIB):
124 @$(MAKE) -C $(TOP)/src/mapi/glapi