Blame view

buildroot/buildroot-2016.08.1/package/mpv/mpv.mk 5.81 KB
6b13f685e   김민수   BSP 최초 추가
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
  ################################################################################
  #
  # mpv
  #
  ################################################################################
  
  MPV_VERSION = 0.18.1
  MPV_WAF_VERSION = 1.8.12
  MPV_SITE = https://github.com/mpv-player/mpv/archive
  MPV_SOURCE = v$(MPV_VERSION).tar.gz
  MPV_EXTRA_DOWNLOADS = https://waf.io/waf-$(MPV_WAF_VERSION)
  MPV_DEPENDENCIES = \
  	host-pkgconf ffmpeg zlib \
  	$(if $(BR2_PACKAGE_LIBICONV),libiconv)
  MPV_LICENSE = GPLv2+
  MPV_LICENSE_FILES = LICENSE
  
  # Some of these options need testing and/or tweaks
  MPV_CONF_OPTS = \
  	--prefix=/usr \
  	--disable-android \
  	--disable-caca \
  	--disable-cdda \
  	--disable-cocoa \
  	--disable-coreaudio \
  	--disable-libguess \
  	--disable-libv4l2 \
  	--disable-opensles \
  	--disable-rpi \
  	--disable-rsound \
  	--disable-rubberband \
  	--disable-uchardet \
  	--disable-vapoursynth \
  	--disable-vapoursynth-lazy \
  	--disable-vdpau
  
  # ALSA support requires pcm+mixer
  ifeq ($(BR2_PACKAGE_ALSA_LIB_MIXER)$(BR2_PACKAGE_ALSA_LIB_PCM),yy)
  MPV_CONF_OPTS += --enable-alsa
  MPV_DEPENDENCIES += alsa-lib
  else
  MPV_CONF_OPTS += --disable-alsa
  endif
  
  # GBM support is provided by mesa3d when EGL=y
  ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y)
  MPV_CONF_OPTS += --enable-gbm
  MPV_DEPENDENIES += mesa3d
  else
  MPV_CONF_OPTS += --disable-gbm
  endif
  
  # jack support
  # It also requires 64-bit sync intrinsics
  ifeq ($(BR2_TOOLCHAIN_HAS_SYNC_8)$(BR2_PACKAGE_JACK2),yy)
  MPV_CONF_OPTS += --enable-jack
  MPV_DEPENDENCIES += jack2
  else
  MPV_CONF_OPTS += --disable-jack
  endif
  
  # jpeg support
  ifeq ($(BR2_PACKAGE_JPEG),y)
  MPV_CONF_OPTS += --enable-jpeg
  MPV_DEPENDENCIES += jpeg
  else
  MPV_CONF_OPTS += --disable-jpeg
  endif
  
  # lcms2 support
  ifeq ($(BR2_PACKAGE_LCMS2),y)
  MPV_CONF_OPTS += --enable-lcms2
  MPV_DEPENDENCIES += lcms2
  else
  MPV_CONF_OPTS += --disable-lcms2
  endif
  
  # libarchive support
  ifeq ($(BR2_PACKAGE_LIBARCHIVE),y)
  MPV_CONF_OPTS += --enable-libarchive
  MPV_DEPENDENCIES += libarchive
  else
  MPV_CONF_OPTS += --disable-libarchive
  endif
  
  # libass subtitle support
  ifeq ($(BR2_PACKAGE_LIBASS),y)
  MPV_CONF_OPTS += --enable-libass
  MPV_DEPENDENCIES += libass
  else
  MPV_CONF_OPTS += --disable-libass
  endif
  
  # bluray support
  ifeq ($(BR2_PACKAGE_LIBBLURAY),y)
  MPV_CONF_OPTS += --enable-libbluray
  MPV_DEPENDENCIES += libbluray
  else
  MPV_CONF_OPTS += --disable-libbluray
  endif
  
  # libdvdnav
  ifeq ($(BR2_PACKAGE_LIBDVDNAV),y)
  MPV_CONF_OPTS += --enable-dvdnav
  MPV_DEPENDENCIES += libdvdnav
  else
  MPV_CONF_OPTS += --disable-dvdnav
  endif
  
  # libdvdread
  ifeq ($(BR2_PACKAGE_LIBDVDREAD),y)
  MPV_CONF_OPTS += --enable-dvdread
  MPV_DEPENDENCIES += libdvdread
  else
  MPV_CONF_OPTS += --disable-dvdread
  endif
  
  # libdrm
  ifeq ($(BR2_PACKAGE_LIBDRM),y)
  MPV_CONF_OPTS += --enable-drm
  MPV_DEPENDENCIES += libdrm
  else
  MPV_CONF_OPTS += --disable-drm
  endif
  
  # libenca support
  ifeq ($(BR2_PACKAGE_LIBENCA),y)
  MPV_CONF_OPTS += --enable-enca
  MPV_DEPENDENCIES += libenca
  else
  MPV_CONF_OPTS += --disable-enca
  endif
  
  # LUA support, only for lua51/lua52/luajit
  # This enables the controller (OSD) together with libass
  ifeq ($(BR2_PACKAGE_LUA_5_1)$(BR2_PACKAGE_LUA_5_2)$(BR2_PACKAGE_LUAJIT),y)
  MPV_CONF_OPTS += --enable-lua
  MPV_DEPENDENCIES += luainterpreter
  else
  MPV_CONF_OPTS += --disable-lua
  endif
  
  # OpenGL support
  ifeq ($(BR2_PACKAGE_HAS_LIBGL),y)
  MPV_CONF_OPTS += --enable-gl --enable-standard-gl
  MPV_DEPENDENCIES += libgl
  else
  MPV_CONF_OPTS += --disable-gl --disable-standard-gl
  endif
  
  # pulseaudio support
  ifeq ($(BR2_PACKAGE_PULSEAUDIO),y)
  MPV_CONF_OPTS += --enable-pulse
  MPV_DEPENDENCIES += pulseaudio
  else
  MPV_CONF_OPTS += --disable-pulse
  endif
  
  # samba support
  ifeq ($(BR2_PACKAGE_SAMBA4),y)
  MPV_CONF_OPTS += --enable-libsmbclient
  MPV_DEPENDENCIES += samba4
  else
  MPV_CONF_OPTS += --disable-libsmbclient
  endif
  
  # SDL support
  # Both can't be used at the same time, prefer newer API
  # It also requires 64-bit sync intrinsics
  ifeq ($(BR2_TOOLCHAIN_HAS_SYNC_8)$(BR2_PACKAGE_SDL2),yy)
  MPV_CONF_OPTS += --enable-sdl2 --disable-sdl1
  MPV_DEPENDENCIES += sdl2
  else ifeq ($(BR2_TOOLCHAIN_HAS_SYNC_8)$(BR2_PACKAGE_SDL),yy)
  MPV_CONF_OPTS += --enable-sdl1 --disable-sdl2
  MPV_DEPENDENCIES += sdl
  else
  MPV_CONF_OPTS += --disable-sdl1 --disable-sdl2
  endif
  
  # va-api support
  # This requires one or more of the egl-drm, wayland, x11 backends
  # For now we support wayland and x11
  ifeq ($(BR2_PACKAGE_LIBVA),y)
  ifneq ($(BR2_PACKAGE_WAYLAND)$(BR2_PACKAGE_XLIB_LIBX11),)
  MPV_CONF_OPTS += --enable-vaapi
  MPV_DEPENDENCIES += libva
  else
  MPV_CONF_OPTS += --disable-vaapi
  endif
  else
  MPV_CONF_OPTS += --disable-vaapi
  endif
  
  # wayland support
  ifeq ($(BR2_PACKAGE_WAYLAND),y)
  MPV_CONF_OPTS += --enable-wayland
  MPV_DEPENDENCIES += libxkbcommon wayland
  else
  MPV_CONF_OPTS += --disable-wayland
  endif
  
  # Base X11 support
  ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y)
  MPV_CONF_OPTS += --enable-x11 --disable-xss
  MPV_DEPENDENCIES += xlib_libX11
  # xext
  ifeq ($(BR2_PACKAGE_XLIB_LIBXEXT),y)
  MPV_CONF_OPTS += --enable-xext
  MPV_DEPENDENCIES += xlib_libXext
  else
  MPV_CONF_OPTS += --disable-xext
  endif
  # xinerama
  ifeq ($(BR2_PACKAGE_XLIB_LIBXINERAMA),y)
  MPV_CONF_OPTS += --enable-xinerama
  MPV_DEPENDENCIES += xlib_libXinerama
  else
  MPV_CONF_OPTS += --disable-xinerama
  endif
  # xrandr
  ifeq ($(BR2_PACKAGE_XLIB_LIBXRANDR),y)
  MPV_CONF_OPTS += --enable-xrandr
  MPV_DEPENDENCIES += xlib_libXrandr
  else
  MPV_CONF_OPTS += --disable-xrandr
  endif
  # XVideo
  ifeq ($(BR2_PACKAGE_XLIB_LIBXV),y)
  MPV_CONF_OPTS += --enable-xv
  MPV_DEPENDENCIES += xlib_libXv
  else
  MPV_CONF_OPTS += --disable-xv
  endif
  else
  MPV_CONF_OPTS += --disable-x11
  endif
  
  define MPV_COPY_WAF
  	$(INSTALL) -m 0755 $(DL_DIR)/waf-$(MPV_WAF_VERSION) $(@D)/waf
  endef
  MPV_POST_EXTRACT_HOOKS += MPV_COPY_WAF
  
  define MPV_CONFIGURE_CMDS
  	cd $(@D); \
  		$(TARGET_CONFIGURE_OPTS) \
  		./waf configure $(MPV_CONF_OPTS)
  endef
  
  define MPV_BUILD_CMDS
  	cd $(@D); \
  		$(TARGET_MAKE_ENV) \
  		./waf build
  endef
  
  define MPV_INSTALL_TARGET_CMDS
  	cd $(@D); \
  		$(TARGET_MAKE_ENV) \
  		DESTDIR=$(TARGET_DIR) \
  		./waf install
  endef
  
  $(eval $(generic-package))