automake: add -Wl,--no-undefined to all libraries
[mesa.git] / src / gallium / Automake.inc
1 GALLIUM_CFLAGS = \
2 -I$(top_srcdir)/include \
3 -I$(top_srcdir)/src/gallium/include \
4 -I$(top_srcdir)/src/gallium/auxiliary \
5 $(DEFINES)
6
7 # src/gallium/auxiliary must appear before src/gallium/drivers
8 # because there are stupidly two rbug_context.h files in
9 # different directories, and which one is included by the
10 # preprocessor is determined by the ordering of the -I flags.
11 GALLIUM_DRIVER_CFLAGS = \
12 -I$(srcdir)/include \
13 -I$(top_srcdir)/include \
14 -I$(top_srcdir)/src/gallium/include \
15 -I$(top_srcdir)/src/gallium/auxiliary \
16 -I$(top_srcdir)/src/gallium/drivers \
17 $(DEFINES) \
18 $(VISIBILITY_CFLAGS)
19
20 GALLIUM_DRIVER_CXXFLAGS = \
21 -I$(srcdir)/include \
22 -I$(top_srcdir)/include \
23 -I$(top_srcdir)/src/gallium/include \
24 -I$(top_srcdir)/src/gallium/auxiliary \
25 -I$(top_srcdir)/src/gallium/drivers \
26 $(DEFINES) \
27 $(VISIBILITY_CXXFLAGS)
28
29 GALLIUM_DRI_CFLAGS = \
30 -I$(top_srcdir)/include \
31 -I$(top_srcdir)/src/gallium/include \
32 -I$(top_srcdir)/src/gallium/auxiliary \
33 -I$(top_srcdir)/src/gallium/drivers \
34 -I$(top_srcdir)/src/gallium/winsys \
35 -I$(top_srcdir)/src/mesa \
36 -I$(top_srcdir)/src/mapi \
37 $(DEFINES) \
38 $(PTHREAD_CFLAGS) \
39 $(LIBDRM_CFLAGS) \
40 $(VISIBILITY_CFLAGS)
41
42 GALLIUM_VIDEO_CFLAGS = \
43 -I$(top_srcdir)/include \
44 -I$(top_srcdir)/src/gallium/include \
45 -I$(top_srcdir)/src/gallium/auxiliary \
46 -I$(top_srcdir)/src/gallium/drivers \
47 -I$(top_srcdir)/src/gallium/winsys \
48 $(DEFINES) \
49 $(PTHREAD_CFLAGS) \
50 $(LIBDRM_CFLAGS) \
51 $(VISIBILITY_CFLAGS)
52
53
54 DRI_VERSION_SCRIPT ?= $(top_srcdir)/src/gallium/state_trackers/dri/dri.link
55
56 GALLIUM_DRI_LINKER_FLAGS = \
57 -shared \
58 -module \
59 -avoid-version \
60 -Wl,--version-script=$(DRI_VERSION_SCRIPT)
61
62 GALLIUM_VDPAU_LINKER_FLAGS = \
63 -shared \
64 -module \
65 -no-undefined \
66 -version-number $(VDPAU_MAJOR):$(VDPAU_MINOR) \
67 -export-symbols-regex $(VDPAU_EXPORTS) \
68 -Wl,--no-undefined
69
70 GALLIUM_XVMC_LINKER_FLAGS = \
71 -shared \
72 -module \
73 -no-undefined \
74 -version-number $(XVMC_MAJOR):$(XVMC_MINOR) \
75 -export-symbols-regex '^XvMC' \
76 -Wl,--no-undefined
77
78 GALLIUM_OMX_LINKER_FLAGS = \
79 -shared \
80 -module \
81 -no-undefined \
82 -export-symbols-regex $(EXPORTS) \
83 -Wl,--no-undefined
84
85 GALLIUM_VDPAU_LIB_DEPS = \
86 $(top_builddir)/src/gallium/auxiliary/libgallium.la \
87 $(top_builddir)/src/gallium/state_trackers/vdpau/libvdpautracker.la \
88 $(VDPAU_LIBS) \
89 $(LIBDRM_LIBS) \
90 -lm \
91 $(CLOCK_LIB) \
92 $(PTHREAD_LIBS) \
93 $(DLOPEN_LIBS)
94
95 GALLIUM_XVMC_LIB_DEPS = \
96 $(top_builddir)/src/gallium/auxiliary/libgallium.la \
97 $(top_builddir)/src/gallium/state_trackers/xvmc/libxvmctracker.la \
98 $(XVMC_LIBS) \
99 $(LIBDRM_LIBS)
100
101 GALLIUM_OMX_LIB_DEPS = \
102 $(top_builddir)/src/gallium/auxiliary/libgallium.la \
103 $(top_builddir)/src/gallium/state_trackers/omx/libomxtracker.la \
104 $(GALLIUM_DRI_LIB_DEPS) \
105 $(OMX_LIBS)
106
107 GALLIUM_WINSYS_CFLAGS = \
108 -I$(top_srcdir)/include \
109 -I$(top_srcdir)/src/gallium/include \
110 -I$(top_srcdir)/src/gallium/auxiliary \
111 $(DEFINES) \
112 $(VISIBILITY_CFLAGS)
113
114 if HAVE_MESA_LLVM
115
116 GALLIUM_DRI_LINKER_FLAGS += $(LLVM_LDFLAGS)
117 GALLIUM_VDPAU_LINKER_FLAGS += $(LLVM_LDFLAGS)
118 GALLIUM_XVMC_LINKER_FLAGS += $(LLVM_LDFLAGS)
119 GALLIUM_OMX_LINKER_FLAGS += $(LLVM_LDFLAGS)
120
121 GALLIUM_DRI_LIB_DEPS += $(LLVM_LIBS)
122 GALLIUM_VDPAU_LIB_DEPS += $(LLVM_LIBS)
123 GALLIUM_XVMC_LIB_DEPS += $(LLVM_LIBS)
124 GALLIUM_OMX_LIB_DEPS += $(LLVM_LIBS)
125
126 endif