wl/shm: initial unaccelerated RGB video output
[vlc.git] / modules / video_output / Modules.am
1 voutdir = $(pluginsdir)/video_output
2
3 noinst_LTLIBRARIES =
4 vout_LTLIBRARIES =
5
6 SOURCES_aa = aa.c
7 SOURCES_fb = fb.c
8 SOURCES_vout_sdl = sdl.c
9 SOURCES_directfb = directfb.c
10 SOURCES_vmem = vmem.c
11 SOURCES_yuv = yuv.c
12 SOURCES_android_surface = android/surface.c android/utils.c
13 SOURCES_android_opaque = android/opaque.c
14
15 if HAVE_DECKLINK
16 libdecklinkoutput_plugin_la_SOURCES = decklink.cpp
17 libdecklinkoutput_plugin_la_CXXFLAGS = $(AM_CFLAGS) $(CPPFLAGS_decklinkoutput)
18 libdecklinkoutput_plugin_la_LIBADD = $(LIBS_decklink) $(LIBDL)
19 vout_LTLIBRARIES += libdecklinkoutput_plugin.la
20 endif
21
22 if HAVE_OSX
23 libvout_macosx_plugin_la_SOURCES = macosx.m opengl.c opengl.h
24 libvout_macosx_plugin_la_CFLAGS = $(AM_CFLAGS) $(GL_CFLAGS)
25 libvout_macosx_plugin_la_LIBADD = $(GL_LIBS)
26 libvout_macosx_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(voutdir)' -Wl,-framework,OpenGL,-framework,Cocoa
27
28 libcaopengllayer_plugin_la_SOURCES = caopengllayer.m opengl.c opengl.h
29 libcaopengllayer_plugin_la_CFLAGS = $(AM_CFLAGS) $(GL_CFLAGS)
30 libcaopengllayer_plugin_la_LIBADD = $(GL_LIBS)
31 libcaopengllayer_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(voutdir)' -Wl,-framework,OpenGL,-framework,Cocoa,-framework,QuartzCore
32 vout_LTLIBRARIES += libvout_macosx_plugin.la libcaopengllayer_plugin.la
33 endif
34
35 libvout_ios2_plugin_la_SOURCES = ios2.m opengl.h opengl.c
36 libvout_ios2_plugin_la_CFLAGS = $(AM_CFLAGS) $(GL_CFLAGS)
37 libvout_ios2_plugin_la_OBJCFLAGS = $(AM_OBJCFLAGS) $(GL_OBJCFLAGS)
38 libvout_ios2_plugin_la_LIBADD = $(AM_LIBADD) $(GL_LIBS)
39 libvout_ios2_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(voutdir)' -Wl,-framework,OpenGLES,-framework,QuartzCore,-framework,UIKit
40 if HAVE_IOS
41 vout_LTLIBRARIES += libvout_ios2_plugin.la
42 endif
43
44 ### OpenGL ###
45 # TODO: merge all three source files (?)
46 libgles2_plugin_la_SOURCES = opengl.c opengl.h gl.c
47 libgles2_plugin_la_CFLAGS = $(AM_CFLAGS) $(GLES2_CFLAGS) -DUSE_OPENGL_ES=2
48 libgles2_plugin_la_LIBADD = $(GLES2_LIBS)
49 libgles2_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(voutdir)'
50
51 libgles1_plugin_la_SOURCES = opengl.c opengl.h gl.c
52 libgles1_plugin_la_CFLAGS = $(AM_CFLAGS) $(GLES1_CFLAGS) -DUSE_OPENGL_ES=1
53 libgles1_plugin_la_LIBADD = $(GLES1_LIBS)
54 libgles1_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(voutdir)'
55
56 EXTRA_LTLIBRARIES += libgles2_plugin.la libgles1_plugin.la
57 vout_LTLIBRARIES += $(LTLIBgles2) $(LTLIBgles1)
58
59 libgl_plugin_la_SOURCES = opengl.c opengl.h gl.c
60 libgl_plugin_la_CFLAGS = $(AM_CFLAGS) $(GL_CFLAGS)
61 libgl_plugin_la_LIBADD = $(GL_LIBS)
62 if HAVE_GL
63 vout_LTLIBRARIES += libgl_plugin.la
64 endif
65
66
67 ### XCB ###
68 libvlc_xcb_events_la_SOURCES = xcb/events.c xcb/events.h
69 libvlc_xcb_events_la_CPPFLAGS = -DMODULE_STRING=\"xcb\"
70 libvlc_xcb_events_la_CFLAGS = $(AM_CFLAGS) $(XCB_CFLAGS)
71 libvlc_xcb_events_la_LDFLAGS = -static
72 libvlc_xcb_events_la_LIBADD = $(XCB_LIBS)
73
74 libxcb_x11_plugin_la_SOURCES = \
75         xcb/pictures.c xcb/pictures.h \
76         xcb/x11.c
77 libxcb_x11_plugin_la_CFLAGS = $(AM_CFLAGS) \
78         $(XCB_CFLAGS) $(XCB_SHM_CFLAGS)
79 libxcb_x11_plugin_la_LIBADD = libvlc_xcb_events.la \
80         $(XCB_LIBS) $(XCB_SHM_LIBS)
81
82 libxcb_xv_plugin_la_SOURCES = \
83         xcb/pictures.c xcb/pictures.h \
84         xcb/xvideo.c
85 libxcb_xv_plugin_la_CFLAGS = $(AM_CFLAGS) \
86         $(XCB_CFLAGS) $(XCB_SHM_CFLAGS) $(XCB_XV_CFLAGS)
87 libxcb_xv_plugin_la_LIBADD = libvlc_xcb_events.la \
88         $(XCB_LIBS) $(XCB_SHM_LIBS) $(XCB_XV_LIBS)
89
90 libxcb_glx_plugin_la_SOURCES = \
91         opengl.c opengl.h \
92         xcb/glx.c
93 libxcb_glx_plugin_la_CFLAGS = $(AM_CFLAGS) \
94         $(XCB_CFLAGS) $(GL_CFLAGS)
95 libxcb_glx_plugin_la_LIBADD = libvlc_xcb_events.la \
96         $(XCB_LIBS) $(GL_LIBS)
97
98 libxcb_window_plugin_la_SOURCES = xcb/window.c xcb/keys.c xcb/keysym.h xcb/xcb_keysym.h
99 libxcb_window_plugin_la_CFLAGS = $(AM_CFLAGS) \
100         $(CFLAGS_xcb_window) \
101         $(XPROTO_CFLAGS) $(XCB_CFLAGS) $(XCB_KEYSYMS_CFLAGS)
102 libxcb_window_plugin_la_LIBADD = $(XPROTO_LIBS) $(XCB_LIBS) $(XCB_KEYSYMS_LIBS)
103
104 libegl_x11_plugin_la_SOURCES = egl.c
105 libegl_x11_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) -DUSE_PLATFORM_X11=1
106 libegl_x11_plugin_la_CFLAGS = $(AM_CFLAGS) $(EGL_CFLAGS)
107 libegl_x11_plugin_la_LIBADD = $(EGL_LIBS) $(X_LIBS) $(X_PRE_LIBS) -lX11
108
109 libglx_plugin_la_SOURCES = glx.c
110 libglx_plugin_la_CFLAGS = $(AM_CFLAGS) $(GL_CFLAGS)
111 libglx_plugin_la_LIBADD = $(GL_LIBS) $(X_LIBS) $(X_PRE_LIBS) -lX11
112
113 if HAVE_XCB
114 noinst_LTLIBRARIES += libvlc_xcb_events.la
115 vout_LTLIBRARIES += libxcb_x11_plugin.la libxcb_window_plugin.la
116 if HAVE_XCB_KEYSYMS
117 libxcb_window_plugin_la_CFLAGS += -DHAVE_XCB_KEYSYMS
118 endif
119 if HAVE_XCB_XVIDEO
120 vout_LTLIBRARIES += libxcb_xv_plugin.la
121 endif
122 if HAVE_EGL
123 vout_LTLIBRARIES += libegl_x11_plugin.la
124 endif
125 if HAVE_GL
126 vout_LTLIBRARIES += libxcb_glx_plugin.la libglx_plugin.la
127 endif
128 endif
129
130
131 ### Wayland ###
132 libwl_shm_plugin_la_SOURCES = wl/shm.c
133 libwl_shm_plugin_la_CFLAGS = $(WAYLAND_CLIENT_CFLAGS)
134 libwl_shm_plugin_la_LIBADD = $(WAYLAND_CLIENT_LIBS)
135 if HAVE_WAYLAND
136 vout_LTLIBRARIES += libwl_shm_plugin.la
137 endif
138
139 libwl_shell_surface_plugin_la_SOURCES = wl/shell_surface.c
140 libwl_shell_surface_plugin_la_CFLAGS = $(WAYLAND_CLIENT_CFLAGS)
141 libwl_shell_surface_plugin_la_LIBADD = $(WAYLAND_CLIENT_LIBS) $(LIBPTHREAD)
142 if HAVE_WAYLAND
143 vout_LTLIBRARIES += libwl_shell_surface_plugin.la
144 endif
145
146
147 ### Win32 ###
148 libdirect2d_plugin_la_SOURCES = msw/direct2d.c \
149         msw/common.c msw/common.h msw/events.c msw/events.h \
150         msw/win32touch.c msw/win32touch.h
151 libdirect2d_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) \
152         -DMODULE_NAME_IS_direct2d
153 libdirect2d_plugin_la_LIBADD = -lgdi32 -lole32 -luuid
154 libdirect2d_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(voutdir)'
155 vout_LTLIBRARIES += $(LTLIBdirect2d)
156 EXTRA_LTLIBRARIES += libdirect2d_plugin.la
157
158 libdirect3d_plugin_la_SOURCES = msw/direct3d.c \
159         msw/common.c msw/common.h msw/events.c msw/events.h msw/builtin_shaders.h \
160         msw/win32touch.c msw/win32touch.h
161 libdirect3d_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) \
162         -DMODULE_NAME_IS_direct3d
163 libdirect3d_plugin_la_LIBADD = -lgdi32 -lole32 -luuid
164 libdirect3d_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(voutdir)'
165 vout_LTLIBRARIES += $(LTLIBdirect3d)
166 EXTRA_LTLIBRARIES += libdirect3d_plugin.la
167
168 libdirectdraw_plugin_la_SOURCES = msw/directx.c \
169         msw/common.c msw/common.h msw/events.c msw/events.h \
170         msw/win32touch.c msw/win32touch.h
171 libdirectdraw_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) \
172         -DMODULE_NAME_IS_directdraw
173 libdirectdraw_plugin_la_LIBADD = -luser32 -lgdi32 -lole32 -luuid
174 if HAVE_DIRECTX
175 vout_LTLIBRARIES += libdirectdraw_plugin.la
176 endif
177
178 libglwin32_plugin_la_SOURCES = msw/glwin32.c opengl.c opengl.h \
179         msw/common.c msw/common.h msw/events.c msw/events.h \
180         msw/win32touch.c msw/win32touch.h
181 libglwin32_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) \
182         -DMODULE_NAME_IS_glwin32
183 libglwin32_plugin_la_LIBADD = -lopengl32 -lgdi32 -lole32 -luuid
184 libglwin32_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(voutdir)'
185 vout_LTLIBRARIES += $(LTLIBglwin32)
186 EXTRA_LTLIBRARIES += libglwin32_plugin.la
187
188 libwingdi_plugin_la_SOURCES = msw/wingdi.c \
189         msw/common.c msw/common.h msw/events.c msw/events.h \
190         msw/win32touch.c msw/win32touch.h
191 libwingdi_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) \
192         -DMODULE_NAME_IS_wingdi
193 libwingdi_plugin_la_LIBADD = -lgdi32 -lole32 -luuid
194 if HAVE_WIN32
195 vout_LTLIBRARIES += libwingdi_plugin.la
196 endif
197
198 libegl_win32_plugin_la_SOURCES = egl.c
199 libegl_win32_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) -DUSE_PLATFORM_WIN32=1
200 libegl_win32_plugin_la_CFLAGS = $(AM_CFLAGS) $(EGL_CFLAGS)
201 libegl_win32_plugin_la_LIBADD = $(EGL_LIBS)
202 if HAVE_WIN32
203 if HAVE_EGL
204 vout_LTLIBRARIES += libegl_win32_plugin.la
205 endif
206 endif
207
208 libdrawable_plugin_la_SOURCES = drawable.c
209 if HAVE_WIN32
210 vout_LTLIBRARIES += libdrawable_plugin.la
211 endif
212
213 ### OS/2 ###
214 if HAVE_OS2
215 vout_LTLIBRARIES += libdrawable_plugin.la
216 endif
217
218 libkva_plugin_la_SOURCES = kva.c
219 libkva_plugin_la_LIBADD = $(KVA_LIBS)
220 if HAVE_KVA
221 vout_LTLIBRARIES += libkva_plugin.la
222 endif
223
224 ### Android ###
225
226 libegl_android_plugin_la_SOURCES = egl.c
227 libegl_android_plugin_la_CFLAGS = $(AM_CFLAGS) $(EGL_CFLAGS) -DUSE_PLATFORM_ANDROID=1
228 libegl_android_plugin_la_LIBADD = $(EGL_LIBS)
229
230 libandroid_native_window_plugin_la_SOURCES = android/nativewindow.c android/utils.c
231 libandroid_native_window_plugin_la_CFLAGS = $(AM_CFLAGS)
232 libandroid_native_window_plugin_la_LIBADD = -ldl
233
234 if HAVE_ANDROID
235 vout_LTLIBRARIES += libandroid_native_window_plugin.la
236 if HAVE_EGL
237 vout_LTLIBRARIES += libegl_android_plugin.la
238 endif
239 endif
240
241 ### Coloured ASCII art ###
242 libcaca_plugin_la_SOURCES = caca.c
243 libcaca_plugin_la_CFLAGS = $(AM_CFLAGS) $(CACA_CFLAGS)
244 libcaca_plugin_la_LIBADD = $(CACA_LIBS)
245 if !HAVE_WIN32
246 if !HAVE_DARWIN
247 libcaca_plugin_la_LIBADD += $(X_LIBS) $(X_PRE_LIBS) -lX11
248 endif
249 endif
250 libcaca_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(voutdir)'
251 EXTRA_LTLIBRARIES += libcaca_plugin.la
252 vout_LTLIBRARIES += $(LTLIBcaca)
253
254 ### MMAL ###
255 libmmal_vout_plugin_la_SOURCES = mmal.c
256 libmmal_vout_plugin_la_CFLAGS = $(AM_CFLAGS) $(CFLAGS_mmal_vout)
257 libmmal_vout_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(voutdir)' $(LDFLAGS_mmal_vout) -lm
258 libmmal_vout_plugin_la_LIBADD = $(LIBS_mmal_vout)
259 EXTRA_LTLIBRARIES += libmmal_vout_plugin.la
260 vout_LTLIBRARIES += $(LTLIBmmal_vout)
261
262 ### Common ###
263 libvdummy_plugin_la_SOURCES = vdummy.c
264
265 vout_LTLIBRARIES += \
266         libvdummy_plugin.la \
267         libvmem_plugin.la \
268         libyuv_plugin.la