targets/dri: Add __driDriverGetExtensions_i915 symbol
[mesa.git] / src / gallium / targets / dri / Makefile.am
1 include $(top_srcdir)/src/gallium/Automake.inc
2
3 AM_CFLAGS = \
4 -I$(top_srcdir)/src/mapi \
5 -I$(top_srcdir)/src/mesa \
6 -I$(top_srcdir)/src/mesa/drivers/dri/common \
7 -I$(top_srcdir)/src/gallium/state_trackers/dri/common \
8 $(GALLIUM_TARGET_CFLAGS)
9
10 AM_CPPFLAGS = \
11 -DGALLIUM_GALAHAD \
12 -DGALLIUM_NOOP \
13 -DGALLIUM_RBUG \
14 -DGALLIUM_TRACE
15
16 if HAVE_GALLIUM_I915
17 AM_CPPFLAGS += \
18 -DDRI_TARGET
19 endif
20
21 if HAVE_GALLIUM_NOUVEAU
22 AM_CPPFLAGS += \
23 -DDRI_TARGET
24 endif
25
26 if NEED_RADEON_DRM_WINSYS
27 AM_CPPFLAGS += \
28 -DDRI_TARGET
29 endif
30
31 if HAVE_GALLIUM_FREEDRENO
32 AM_CPPFLAGS += \
33 -DDRI_TARGET
34 endif
35
36 dridir = $(DRI_DRIVER_INSTALL_DIR)
37 dri_LTLIBRARIES = gallium_dri.la
38
39 nodist_EXTRA_gallium_dri_la_SOURCES = dummy.cpp
40 gallium_dri_la_SOURCES =
41
42 gallium_dri_la_LDFLAGS = \
43 -shared \
44 -shrext .so \
45 -module \
46 -avoid-version \
47 -Wl,--dynamic-list=$(top_srcdir)/src/gallium/targets/dri-vdpau.dyn \
48 $(GC_SECTIONS)
49
50 if HAVE_LD_VERSION_SCRIPT
51 gallium_dri_la_LDFLAGS += \
52 -Wl,--version-script=$(top_srcdir)/src/gallium/targets/dri/dri.sym
53 endif # HAVE_LD_VERSION_SCRIPT
54
55 # XXX: Fold libdridrm/libdrisw as drivers become megadriver (__dri*DriverExtension) aware
56 gallium_dri_la_LIBADD = \
57 $(top_builddir)/src/mesa/libmesagallium.la \
58 $(top_builddir)/src/mesa/drivers/dri/common/libdricommon.la \
59 $(top_builddir)/src/gallium/state_trackers/dri/drm/libdridrm.la \
60 $(top_builddir)/src/gallium/auxiliary/libgallium.la \
61 $(top_builddir)/src/gallium/drivers/galahad/libgalahad.la \
62 $(top_builddir)/src/gallium/drivers/noop/libnoop.la \
63 $(top_builddir)/src/gallium/drivers/rbug/librbug.la \
64 $(top_builddir)/src/gallium/drivers/trace/libtrace.la \
65 $(SELINUX_LIBS) \
66 $(EXPAT_LIBS) \
67 $(LIBDRM_LIBS) \
68 $(GALLIUM_COMMON_LIB_DEPS)
69
70 if HAVE_GALLIUM_STATIC_TARGETS
71
72 # XXX: Temporary allow duplicated symbols, as the loader pulls in xmlconfig.c
73 # which already provides driParse* and driQuery* amongst others.
74 # Remove this hack as we come up with a cleaner solution.
75 gallium_dri_la_LDFLAGS += \
76 -Wl,--allow-multiple-definition
77
78 MEGADRIVERS =
79 STATIC_TARGET_CPPFLAGS =
80 STATIC_TARGET_LIB_DEPS = \
81 $(top_builddir)/src/loader/libloader.la
82
83 if HAVE_GALLIUM_I915
84 MEGADRIVERS += i915
85 STATIC_TARGET_CPPFLAGS += -DGALLIUM_I915
86 STATIC_TARGET_LIB_DEPS += \
87 $(top_builddir)/src/gallium/winsys/i915/drm/libi915drm.la \
88 $(top_builddir)/src/gallium/drivers/i915/libi915.la \
89 $(INTEL_LIBS)
90 endif
91
92 if HAVE_GALLIUM_ILO
93 MEGADRIVERS += ilo
94 STATIC_TARGET_CPPFLAGS += -DGALLIUM_ILO
95 STATIC_TARGET_LIB_DEPS += \
96 $(top_builddir)/src/gallium/winsys/intel/drm/libintelwinsys.la \
97 $(top_builddir)/src/gallium/drivers/ilo/libilo.la \
98 $(INTEL_LIBS)
99 endif
100
101 if HAVE_GALLIUM_NOUVEAU
102 MEGADRIVERS += nouveau
103 STATIC_TARGET_CPPFLAGS += -DGALLIUM_NOUVEAU
104 STATIC_TARGET_LIB_DEPS += \
105 $(top_builddir)/src/gallium/winsys/nouveau/drm/libnouveaudrm.la \
106 $(top_builddir)/src/gallium/drivers/nouveau/libnouveau.la \
107 $(NOUVEAU_LIBS)
108 endif
109
110 if NEED_RADEON_DRM_WINSYS
111 STATIC_TARGET_LIB_DEPS += \
112 $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la
113 endif
114
115 if HAVE_GALLIUM_RADEON_COMMON
116 STATIC_TARGET_LIB_DEPS += \
117 $(top_builddir)/src/gallium/drivers/radeon/libradeon.la
118 endif
119
120 if HAVE_GALLIUM_R300
121 MEGADRIVERS += r300
122 STATIC_TARGET_CPPFLAGS += -DGALLIUM_R300
123 STATIC_TARGET_LIB_DEPS += \
124 $(top_builddir)/src/gallium/drivers/r300/libr300.la \
125 $(RADEON_LIBS)
126 endif
127
128 if HAVE_GALLIUM_R600
129 MEGADRIVERS += r600
130 STATIC_TARGET_CPPFLAGS += -DGALLIUM_R600
131 STATIC_TARGET_LIB_DEPS += \
132 $(top_builddir)/src/gallium/drivers/r600/libr600.la \
133 $(RADEON_LIBS)
134 endif
135
136 if HAVE_GALLIUM_RADEONSI
137 MEGADRIVERS += radeonsi
138 STATIC_TARGET_CPPFLAGS += -DGALLIUM_RADEONSI
139 STATIC_TARGET_LIB_DEPS += \
140 $(top_builddir)/src/gallium/drivers/radeonsi/libradeonsi.la \
141 $(RADEON_LIBS)
142 endif
143
144 if HAVE_GALLIUM_SVGA
145 MEGADRIVERS += vmwgfx
146 STATIC_TARGET_CPPFLAGS += -DGALLIUM_VMWGFX
147 STATIC_TARGET_LIB_DEPS += \
148 $(top_builddir)/src/gallium/winsys/svga/drm/libsvgadrm.la \
149 $(top_builddir)/src/gallium/drivers/svga/libsvga.la
150 endif
151
152 if HAVE_GALLIUM_FREEDRENO
153 MEGADRIVERS += freedreno
154 STATIC_TARGET_CPPFLAGS += -DGALLIUM_FREEDRENO
155 STATIC_TARGET_LIB_DEPS += \
156 $(top_builddir)/src/gallium/winsys/freedreno/drm/libfreedrenodrm.la \
157 $(top_builddir)/src/gallium/drivers/freedreno/libfreedreno.la \
158 $(FREEDRENO_LIBS)
159
160 endif
161
162 gallium_dri_la_SOURCES += target.c
163 AM_CPPFLAGS += $(STATIC_TARGET_CPPFLAGS)
164 gallium_dri_la_LIBADD += $(STATIC_TARGET_LIB_DEPS)
165
166 else # HAVE_GALLIUM_STATIC_TARGETS
167
168 gallium_dri_la_LIBADD += \
169 $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader.la \
170 $(GALLIUM_PIPE_LOADER_WINSYS_LIBS) \
171 $(GALLIUM_PIPE_LOADER_LIBS)
172
173 endif # HAVE_GALLIUM_STATIC_TARGETS
174
175 if HAVE_MESA_LLVM
176 gallium_dri_la_LIBADD += $(LLVM_LIBS)
177 gallium_dri_la_LDFLAGS += $(LLVM_LDFLAGS)
178 endif
179
180 if HAVE_COMPAT_SYMLINKS
181 # Add a link to allow setting LIBGL_DRIVERS_PATH to /lib/gallium of the build tree.
182 all-local: $(dri_LTLIBRARIES)
183 $(AM_V_GEN)link_dir=$(top_builddir)/$(LIB_DIR)/gallium; \
184 $(MKDIR_P) $${link_dir}; \
185 for i in $(MEGADRIVERS); do \
186 j=gallium_dri.so; \
187 k=$${i}_dri.so; \
188 ln -f .libs/$${j} \
189 $${link_dir}/$${k}; \
190 done
191 endif
192
193 # hardlink each megadriver instance, but don't actually have
194 # gallium_dri.so in the set of final installed files.
195 install-data-hook:
196 $(AM_V_GEN)dest_dir=$(DESTDIR)/$(dridir); \
197 for i in $(MEGADRIVERS); do \
198 j=gallium_dri.so; \
199 k=$${i}_dri.so; \
200 ln -f $${dest_dir}/$${j} \
201 $${dest_dir}/$${k}; \
202 done; \
203 $(RM) -f $$dest_dir/gallium_dri.*