Blame view

buildroot/buildroot-2016.08.1/package/mplayer/mplayer.mk 9.69 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
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
  ################################################################################
  #
  # mplayer
  #
  ################################################################################
  
  MPLAYER_VERSION = 1.3.0
  MPLAYER_SOURCE = MPlayer-$(MPLAYER_VERSION).tar.xz
  MPLAYER_SITE = http://www.mplayerhq.hu/MPlayer/releases
  MPLAYER_DEPENDENCIES = host-pkgconf
  MPLAYER_LICENSE = GPLv2
  MPLAYER_LICENSE_FILES = LICENSE Copyright
  MPLAYER_CFLAGS = $(TARGET_CFLAGS)
  MPLAYER_LDFLAGS = $(TARGET_LDFLAGS)
  
  # Adding $(STAGING_DIR)/usr/include in the header path is normally not
  # needed. Except that mplayer's configure script has a completely
  # brain-damaged way of looking for X11/Xlib.h (it parses extra-cflags
  # for -I options).
  MPLAYER_CFLAGS += -I$(STAGING_DIR)/usr/include
  
  # mplayer needs pcm+mixer support, but configure fails to check for it
  ifeq ($(BR2_PACKAGE_ALSA_LIB)$(BR2_PACKAGE_ALSA_LIB_MIXER)$(BR2_PACKAGE_ALSA_LIB_PCM),yyy)
  MPLAYER_DEPENDENCIES += alsa-lib
  MPLAYER_CONF_OPTS += --enable-alsa
  else
  MPLAYER_CONF_OPTS += --disable-alsa
  endif
  
  ifeq ($(BR2_ENDIAN),"BIG")
  MPLAYER_CONF_OPTS += --enable-big-endian
  else
  MPLAYER_CONF_OPTS += --disable-big-endian
  endif
  
  ifeq ($(BR2_PACKAGE_ZLIB),y)
  MPLAYER_DEPENDENCIES += zlib
  MPLAYER_CONF_OPTS += \
  	--enable-decoder=apng \
  	--enable-encoder=apng \
  	--enable-decoder=tdsc
  else
  MPLAYER_CONF_OPTS += \
  	--disable-decoder=apng \
  	--disable-encoder=apng \
  	--disable-decoder=tdsc
  endif
  
  ifeq ($(BR2_PACKAGE_SDL),y)
  MPLAYER_CONF_OPTS += \
  	--enable-sdl \
  	--with-sdl-config=$(STAGING_DIR)/usr/bin/sdl-config
  MPLAYER_DEPENDENCIES += sdl
  else
  MPLAYER_CONF_OPTS += --disable-sdl
  endif
  
  ifeq ($(BR2_PACKAGE_FREETYPE),y)
  MPLAYER_CONF_OPTS +=  \
  	--enable-freetype \
  	--with-freetype-config=$(STAGING_DIR)/usr/bin/freetype-config
  MPLAYER_DEPENDENCIES += freetype
  else
  MPLAYER_CONF_OPTS += --disable-freetype
  endif
  
  # We intentionally don't pass --enable-fontconfig, to let the
  # autodetection find which library to link with.
  ifeq ($(BR2_PACKAGE_FONTCONFIG),y)
  MPLAYER_DEPENDENCIES += fontconfig
  else
  MPLAYER_CONF_OPTS += --disable-fontconfig
  endif
  
  ifeq ($(BR2_PACKAGE_LIBENCA),y)
  MPLAYER_CONF_OPTS += --enable-enca
  MPLAYER_DEPENDENCIES += libenca
  else
  MPLAYER_CONF_OPTS += --disable-enca
  endif
  
  # We intentionally don't pass --enable-fribidi, to let the
  # autodetection find which library to link with.
  ifeq ($(BR2_PACKAGE_LIBFRIBIDI),y)
  MPLAYER_DEPENDENCIES += libfribidi
  else
  MPLAYER_CONF_OPTS += --disable-fribidi
  endif
  
  # We intentionally don't pass --enable-libiconv, to let the
  # autodetection find which library to link with.
  ifeq ($(BR2_PACKAGE_LIBICONV),y)
  MPLAYER_DEPENDENCIES += libiconv
  else
  MPLAYER_CONF_OPTS += --disable-iconv
  endif
  
  # We intentionally don't pass --enable-termcap, in order to let the
  # autodetection find with which library to link with. Otherwise, we
  # would have to pass it manually.
  ifeq ($(BR2_PACKAGE_NCURSES),y)
  MPLAYER_DEPENDENCIES += ncurses
  else
  MPLAYER_CONF_OPTS += --disable-termcap
  endif
  
  # mplayer doesn't pick up libsmbclient cflags
  ifeq ($(BR2_PACKAGE_SAMBA4),y)
  MPLAYER_CFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags smbclient`
  MPLAYER_CONF_OPTS += --enable-smb
  MPLAYER_DEPENDENCIES += samba4
  else
  MPLAYER_CONF_OPTS += --disable-smb
  endif
  
  ifeq ($(BR2_PACKAGE_LIBBLURAY),y)
  MPLAYER_CONF_OPTS += --enable-bluray
  MPLAYER_DEPENDENCIES += libbluray
  else
  MPLAYER_CONF_OPTS += --disable-bluray
  endif
  
  # cdio support is broken in buildroot atm due to missing libcdio-paranoia
  # package and this patch
  # https://github.com/pld-linux/mplayer/blob/master/mplayer-libcdio.patch
  MPLAYER_CONF_OPTS += --disable-libcdio
  
  # We intentionally don't pass --enable-dvdread, to let the
  # autodetection find which library to link with.
  ifeq ($(BR2_PACKAGE_LIBDVDREAD),y)
  MPLAYER_CONF_OPTS +=  \
  	--with-dvdread-config="$(PKG_CONFIG_HOST_BINARY) dvdread"
  MPLAYER_DEPENDENCIES += libdvdread
  endif
  
  # We intentionally don't pass --enable-dvdnav to let the autodetection
  # find which library to link with.
  ifeq ($(BR2_PACKAGE_LIBDVDNAV),y)
  MPLAYER_CONF_OPTS +=  \
  	--with-dvdnav-config="$(PKG_CONFIG_HOST_BINARY) dvdnav"
  MPLAYER_DEPENDENCIES += libdvdnav
  endif
  
  ifeq ($(BR2_PACKAGE_MPLAYER_MPLAYER),y)
  MPLAYER_CONF_OPTS += --enable-mplayer
  else
  MPLAYER_CONF_OPTS += --disable-mplayer
  endif
  
  ifeq ($(BR2_PACKAGE_MPLAYER_MENCODER),y)
  MPLAYER_CONF_OPTS += --enable-mencoder
  else
  MPLAYER_CONF_OPTS += --disable-mencoder
  endif
  
  ifeq ($(BR2_PACKAGE_FAAD2),y)
  MPLAYER_DEPENDENCIES += faad2
  MPLAYER_CONF_OPTS += --enable-faad
  else
  MPLAYER_CONF_OPTS += --disable-faad
  endif
  
  ifeq ($(BR2_PACKAGE_LAME),y)
  MPLAYER_DEPENDENCIES += lame
  MPLAYER_CONF_OPTS += --enable-mp3lame
  else
  MPLAYER_CONF_OPTS += --disable-mp3lame
  endif
  
  # We intentionally don't pass --disable-ass-internal --enable-ass and
  # let autodetection find which library to link with.
  ifeq ($(BR2_PACKAGE_LIBASS),y)
  MPLAYER_DEPENDENCIES += libass
  endif
  
  # We intentionally don't pass --enable-libmpeg2 and let autodetection
  # find which library to link with.
  ifeq ($(BR2_PACKAGE_LIBMPEG2),y)
  MPLAYER_DEPENDENCIES += libmpeg2
  MPLAYER_CONF_OPTS += --disable-libmpeg2-internal
  endif
  
  # We intentionally don't pass --enable-mpg123, to let the
  # autodetection find which library to link with.
  ifeq ($(BR2_PACKAGE_MPG123),y)
  MPLAYER_DEPENDENCIES += mpg123
  else
  MPLAYER_CONF_OPTS += --disable-mpg123
  endif
  
  ifeq ($(BR2_PACKAGE_TREMOR),y)
  MPLAYER_DEPENDENCIES += tremor
  MPLAYER_CONF_OPTS += --enable-tremor
  endif
  
  # We intentionally don't pass --enable-libvorbis, to let the
  # autodetection find which library to link with.
  ifeq ($(BR2_PACKAGE_LIBVORBIS),y)
  MPLAYER_DEPENDENCIES += libvorbis
  endif
  
  ifeq ($(BR2_PACKAGE_LIBMAD),y)
  MPLAYER_DEPENDENCIES += libmad
  MPLAYER_CONF_OPTS += --enable-mad
  else
  MPLAYER_CONF_OPTS += --disable-mad
  endif
  
  ifeq ($(BR2_PACKAGE_LIVE555),y)
  MPLAYER_DEPENDENCIES += live555
  MPLAYER_CONF_OPTS += --enable-live
  MPLAYER_LIVE555 = liveMedia groupsock UsageEnvironment BasicUsageEnvironment
  MPLAYER_CFLAGS += \
  	$(addprefix -I$(STAGING_DIR)/usr/include/,$(MPLAYER_LIVE555))
  MPLAYER_LDFLAGS += $(addprefix -l,$(MPLAYER_LIVE555)) -lstdc++
  else
  MPLAYER_CONF_OPTS += --disable-live
  endif
  
  ifeq ($(BR2_PACKAGE_GIFLIB),y)
  MPLAYER_DEPENDENCIES += giflib
  MPLAYER_CONF_OPTS += --enable-gif
  else
  MPLAYER_CONF_OPTS += --disable-gif
  endif
  
  # We intentionally don't pass --enable-librtmp to let autodetection
  # find which library to link with.
  ifeq ($(BR2_PACKAGE_RTMPDUMP),y)
  MPLAYER_DEPENDENCIES += rtmpdump
  else
  MPLAYER_CONF_OPTS += --disable-librtmp
  endif
  
  ifeq ($(BR2_PACKAGE_SPEEX),y)
  MPLAYER_DEPENDENCIES += speex
  MPLAYER_CONF_OPTS += --enable-speex
  else
  MPLAYER_CONF_OPTS += --disable-speex
  endif
  
  ifeq ($(BR2_PACKAGE_LZO),y)
  MPLAYER_DEPENDENCIES += lzo
  MPLAYER_CONF_OPTS += --enable-liblzo
  else
  MPLAYER_CONF_OPTS += --disable-liblzo
  endif
  
  MPLAYER_DEPENDENCIES += $(if $(BR2_PACKAGE_BZIP2),bzip2)
  MPLAYER_DEPENDENCIES += $(if $(BR2_PACKAGE_HAS_LIBGL),libgl)
  MPLAYER_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBTHEORA),libtheora)
  MPLAYER_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBPNG),libpng)
  MPLAYER_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBVPX),libvpx)
  MPLAYER_DEPENDENCIES += $(if $(BR2_PACKAGE_JPEG),jpeg)
  MPLAYER_DEPENDENCIES += $(if $(BR2_PACKAGE_OPUS),opus)
  MPLAYER_DEPENDENCIES += $(if $(BR2_PACKAGE_XLIB_LIBX11),xlib_libX11)
  MPLAYER_DEPENDENCIES += $(if $(BR2_PACKAGE_XLIB_LIBXEXT),xlib_libXext)
  MPLAYER_DEPENDENCIES += $(if $(BR2_PACKAGE_XLIB_LIBXINERAMA),xlib_libXinerama)
  MPLAYER_DEPENDENCIES += $(if $(BR2_PACKAGE_XLIB_LIBXV),xlib_libXv)
  MPLAYER_DEPENDENCIES += $(if $(BR2_PACKAGE_XLIB_LIBXXF86VM),xlib_libXxf86vm)
  
  # ARM optimizations
  ifeq ($(BR2_ARM_CPU_ARMV5),y)
  MPLAYER_CONF_OPTS += --enable-armv5te
  endif
  
  ifeq ($(BR2_ARM_CPU_ARMV6)$(BR2_ARM_CPU_ARMV7A),y)
  MPLAYER_CONF_OPTS += --enable-armv6
  endif
  
  ifeq ($(BR2_aarch64),y)
  MPLAYER_CONF_OPTS += --enable-armv8
  endif
  
  ifeq ($(BR2_ARM_SOFT_FLOAT),)
  ifeq ($(BR2_ARM_CPU_HAS_NEON),y)
  MPLAYER_CONF_OPTS += --enable-neon
  MPLAYER_CFLAGS += -mfpu=neon
  endif
  endif
  
  ifeq ($(BR2_i386),y)
  # inline asm breaks with "can't find a register in class 'GENERAL_REGS'"
  # inless we free up ebp
  MPLAYER_CFLAGS += -fomit-frame-pointer
  endif
  
  ifeq ($(BR2_X86_CPU_HAS_MMX),y)
  MPLAYER_CONF_OPTS += \
  	--enable-mmx \
  	--yasm=$(HOST_DIR)/usr/bin/yasm
  MPLAYER_DEPENDENCIES += host-yasm
  else
  MPLAYER_CONF_OPTS += \
  	--disable-mmx \
  	--yasm=''
  endif
  
  ifeq ($(BR2_X86_CPU_HAS_SSE),y)
  MPLAYER_CONF_OPTS += --enable-sse
  else
  MPLAYER_CONF_OPTS += --disable-sse
  endif
  
  ifeq ($(BR2_X86_CPU_HAS_SSE2),y)
  MPLAYER_CONF_OPTS += --enable-sse2
  else
  MPLAYER_CONF_OPTS += --disable-sse2
  endif
  
  ifeq ($(BR2_X86_CPU_HAS_SSE3),y)
  MPLAYER_CONF_OPTS += --enable-sse3
  else
  MPLAYER_CONF_OPTS += --disable-sse3
  endif
  
  ifeq ($(BR2_X86_CPU_HAS_SSSE3),y)
  MPLAYER_CONF_OPTS += --enable-ssse3
  else
  MPLAYER_CONF_OPTS += --disable-ssse3
  endif
  
  ifeq ($(BR2_X86_CPU_HAS_SSE4),y)
  MPLAYER_CONF_OPTS += --enable-sse4
  else
  MPLAYER_CONF_OPTS += --disable-sse4
  endif
  
  ifeq ($(BR2_X86_CPU_HAS_SSE42),y)
  MPLAYER_CONF_OPTS += --enable-sse42
  else
  MPLAYER_CONF_OPTS += --disable-sse42
  endif
  
  ifeq ($(BR2_X86_CPU_HAS_AVX),y)
  MPLAYER_CONF_OPTS += --enable-avx
  else
  MPLAYER_CONF_OPTS += --disable-avx
  endif
  
  ifeq ($(BR2_X86_CPU_HAS_AVX2),y)
  MPLAYER_CONF_OPTS += --enable-avx2
  else
  MPLAYER_CONF_OPTS += --disable-avx2
  endif
  
  define MPLAYER_CONFIGURE_CMDS
  	(cd $(@D); rm -rf config.cache; \
  		$(TARGET_CONFIGURE_OPTS) \
  		$(TARGET_CONFIGURE_ARGS) \
  		./configure \
  		--prefix=/usr \
  		--confdir=/etc \
  		--target=$(GNU_TARGET_NAME) \
  		--host-cc="$(HOSTCC)" \
  		--cc="$(TARGET_CC)" \
  		--as="$(TARGET_AS)" \
  		--charset=UTF-8 \
  		--extra-cflags="$(MPLAYER_CFLAGS)" \
  		--extra-ldflags="$(MPLAYER_LDFLAGS)" \
  		--enable-fbdev \
  		$(MPLAYER_CONF_OPTS) \
  		--enable-cross-compile \
  		--disable-ivtv \
  		--enable-dynamic-plugins \
  		--enable-inet6 \
  	)
  endef
  
  define MPLAYER_BUILD_CMDS
  	$(MAKE) -C $(@D)
  endef
  
  define MPLAYER_INSTALL_TARGET_CMDS
  	$(MAKE) DESTDIR=$(TARGET_DIR) -C $(@D) install
  endef
  
  $(eval $(generic-package))