hc
2023-05-26 a23f51ed7a39e452c1037343a84d7db1ca2c5bd7
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
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
################################################################################
#
# vlc
#
################################################################################
 
VLC_VERSION = 3.0.16
VLC_SITE = https://get.videolan.org/vlc/$(VLC_VERSION)
VLC_SOURCE = vlc-$(VLC_VERSION).tar.xz
VLC_LICENSE = GPL-2.0+, LGPL-2.1+
VLC_LICENSE_FILES = COPYING COPYING.LIB
VLC_CPE_ID_VENDOR = videolan
VLC_CPE_ID_PRODUCT = vlc_media_player
VLC_DEPENDENCIES = host-gettext host-pkgconf
VLC_AUTORECONF = YES
 
# Install vlc libraries in staging.
VLC_INSTALL_STAGING = YES
 
# gcc bug internal compiler error: in merge_overlapping_regs, at
# regrename.c:304. This bug is fixed since gcc 6.
ifeq ($(BR2_microblaze)$(BR2_or1k):$(BR2_TOOLCHAIN_GCC_AT_LEAST_6),y:)
VLC_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -O0"
VLC_CONF_OPTS += --disable-optimizations
endif
 
# configure check for -fstack-protector-strong is broken
VLC_CONF_ENV += \
   ax_cv_check_cflags___fstack_protector_strong=$(if $(BR2_TOOLCHAIN_HAS_SSP),yes,no)
 
# VLC defines two autoconf functions which are also defined by our own pkg.m4
# from pkgconf. Unfortunately, they are defined in a different way: VLC adds
# --enable- options, but pkg.m4 adds --with- options. To make sure we use
# VLC's definition, rename these two functions.
define VLC_OVERRIDE_PKG_M4
   $(SED) 's/PKG_WITH_MODULES/VLC_PKG_WITH_MODULES/g' \
       -e 's/PKG_HAVE_WITH_MODULES/VLC_PKG_HAVE_WITH_MODULES/g' \
       $(@D)/configure.ac $(@D)/m4/with_pkg.m4
endef
VLC_POST_PATCH_HOOKS += VLC_OVERRIDE_PKG_M4
 
VLC_CONF_OPTS += \
   --disable-a52 \
   --disable-addonmanagermodules \
   --disable-aom \
   --disable-aribb25 \
   --disable-aribsub \
   --disable-asdcp \
   --disable-bpg \
   --disable-caca \
   --disable-chromaprint \
   --disable-chromecast \
   --disable-crystalhd \
   --disable-dc1394 \
   --disable-dca \
   --disable-decklink \
   --disable-dsm \
   --disable-dv1394 \
   --disable-fluidlite \
   --disable-gme \
   --disable-goom \
   --disable-jack \
   --disable-jpeg \
   --disable-kai \
   --disable-kate \
   --disable-kva \
   --disable-libplacebo \
   --disable-linsys \
   --disable-mfx \
   --disable-microdns \
   --disable-mmal \
   --disable-mtp \
   --disable-notify \
   --disable-projectm \
   --disable-schroedinger \
   --disable-shine \
   --disable-shout \
   --disable-sndio \
   --disable-spatialaudio \
   --disable-srt \
   --disable-telx \
   --disable-tiger \
   --disable-twolame \
   --disable-vdpau \
   --disable-vsxu \
   --disable-wasapi \
   --disable-x262 \
   --disable-zvbi \
   --enable-run-as-root
 
# Uses __atomic_fetch_add_4
ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
VLC_CONF_ENV += LIBS="-latomic"
endif
 
# Building static and shared doesn't work, so force static off.
ifeq ($(BR2_STATIC_LIBS),)
VLC_CONF_OPTS += --disable-static
endif
 
ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y)
VLC_CONF_OPTS += --enable-altivec
else
VLC_CONF_OPTS += --disable-altivec
endif
 
ifeq ($(BR2_X86_CPU_HAS_SSE),y)
VLC_CONF_OPTS += --enable-sse
else
VLC_CONF_OPTS += --disable-sse
endif
 
ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
VLC_CONF_OPTS += --enable-alsa
VLC_DEPENDENCIES += alsa-lib
else
VLC_CONF_OPTS += --disable-alsa
endif
 
ifeq ($(BR2_PACKAGE_AVAHI_LIBAVAHI_CLIENT),y)
VLC_CONF_OPTS += --enable-avahi
VLC_DEPENDENCIES += avahi
else
VLC_CONF_OPTS += --disable-avahi
endif
 
ifeq ($(BR2_PACKAGE_DAV1D),y)
VLC_CONF_OPTS += --enable-dav1d
VLC_DEPENDENCIES += dav1d
else
VLC_CONF_OPTS += --disable-dav1d
endif
 
ifeq ($(BR2_PACKAGE_DBUS),y)
VLC_CONF_OPTS += --enable-dbus
VLC_DEPENDENCIES += dbus
else
VLC_CONF_OPTS += --disable-dbus
endif
 
ifeq ($(BR2_PACKAGE_FAAD2),y)
VLC_CONF_OPTS += --enable-faad
VLC_DEPENDENCIES += faad2
else
VLC_CONF_OPTS += --disable-faad
endif
 
ifeq ($(BR2_PACKAGE_FFMPEG),y)
VLC_CONF_OPTS += --enable-avcodec
VLC_DEPENDENCIES += ffmpeg
else
VLC_CONF_OPTS += --disable-avcodec
endif
 
ifeq ($(BR2_PACKAGE_FFMPEG_POSTPROC),y)
VLC_CONF_OPTS += --enable-postproc
else
VLC_CONF_OPTS += --disable-postproc
endif
 
ifeq ($(BR2_PACKAGE_FFMPEG_SWSCALE),y)
VLC_CONF_OPTS += --enable-swscale
else
VLC_CONF_OPTS += --disable-swscale
endif
 
ifeq ($(BR2_PACKAGE_FLAC),y)
VLC_CONF_OPTS += --enable-flac
VLC_DEPENDENCIES += flac
else
VLC_CONF_OPTS += --disable-flac
endif
 
ifeq ($(BR2_PACKAGE_FLUIDSYNTH),y)
VLC_CONF_OPTS += --enable-fluidsynth
VLC_DEPENDENCIES += fluidsynth
else
VLC_CONF_OPTS += --disable-fluidsynth
endif
 
ifeq ($(BR2_PACKAGE_FREERDP),y)
VLC_CONF_OPTS += --enable-freerdp
VLC_DEPENDENCIES += freerdp
else
VLC_CONF_OPTS += --disable-freerdp
endif
 
ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE),y)
VLC_CONF_OPTS += --enable-gst-decode
VLC_DEPENDENCIES += gst1-plugins-base
else
VLC_CONF_OPTS += --disable-gst-decode
endif
 
ifeq ($(BR2_PACKAGE_HAS_LIBGL),y)
VLC_DEPENDENCIES += libgl
endif
 
ifeq ($(BR2_PACKAGE_HARFBUZZ),y)
VLC_CONF_OPTS += --enable-harfbuzz
VLC_DEPENDENCIES += harfbuzz
else
VLC_CONF_OPTS += --disable-harfbuzz
endif
 
ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y)
VLC_CONF_OPTS += --enable-gles2
VLC_DEPENDENCIES += libgles
else
VLC_CONF_OPTS += --disable-gles2
endif
 
ifeq ($(BR2_PACKAGE_OPENCV3),y)
VLC_CONF_OPTS += --enable-opencv
VLC_DEPENDENCIES += opencv3
else
VLC_CONF_OPTS += --disable-opencv
endif
 
ifeq ($(BR2_PACKAGE_OPUS),y)
VLC_CONF_OPTS += --enable-opus
VLC_DEPENDENCIES += libvorbis opus
else
VLC_CONF_OPTS += --disable-opus
endif
 
ifeq ($(BR2_PACKAGE_LIBARCHIVE),y)
VLC_CONF_OPTS += --enable-archive
VLC_DEPENDENCIES += libarchive
else
VLC_CONF_OPTS += --disable-archive
endif
 
ifeq ($(BR2_PACKAGE_LIBASS),y)
VLC_CONF_OPTS += --enable-libass
VLC_DEPENDENCIES += libass
else
VLC_CONF_OPTS += --disable-libass
endif
 
ifeq ($(BR2_PACKAGE_LIBBLURAY),y)
VLC_CONF_OPTS += --enable-bluray
VLC_DEPENDENCIES += libbluray
else
VLC_CONF_OPTS += --disable-bluray
endif
 
ifeq ($(BR2_PACKAGE_LIBCDDB),y)
VLC_CONF_OPTS += --enable-libcddb
VLC_DEPENDENCIES += libcddb
else
VLC_CONF_OPTS += --disable-libcddb
endif
 
ifeq ($(BR2_PACKAGE_LIBDVBPSI),y)
VLC_CONF_OPTS += --enable-dvbpsi
VLC_DEPENDENCIES += libdvbpsi
else
VLC_CONF_OPTS += --disable-dvbpsi
endif
 
ifeq ($(BR2_PACKAGE_LIBDVDNAV),y)
VLC_CONF_OPTS += --enable-dvdnav
VLC_DEPENDENCIES += libdvdnav
else
VLC_CONF_OPTS += --disable-dvdnav
endif
 
ifeq ($(BR2_PACKAGE_LIBDVDREAD),y)
VLC_CONF_OPTS += --enable-dvdread
VLC_DEPENDENCIES += libdvdread
else
VLC_CONF_OPTS += --disable-dvdread
endif
 
ifeq ($(BR2_PACKAGE_LIBGCRYPT),y)
VLC_CONF_OPTS += --enable-libgcrypt
VLC_DEPENDENCIES += libgcrypt
VLC_CONF_ENV += \
   GCRYPT_CONFIG="$(STAGING_DIR)/usr/bin/libgcrypt-config"
else
VLC_CONF_OPTS += --disable-libgcrypt
endif
 
ifeq ($(BR2_PACKAGE_LIBIDN),y)
VLC_DEPENDENCIES += libidn
endif
 
ifeq ($(BR2_PACKAGE_LIBMAD),y)
VLC_CONF_OPTS += --enable-mad
VLC_DEPENDENCIES += libmad
else
VLC_CONF_OPTS += --disable-mad
endif
 
ifeq ($(BR2_PACKAGE_LIBMATROSKA),y)
VLC_CONF_OPTS += --enable-matroska
VLC_DEPENDENCIES += libmatroska
else
VLC_CONF_OPTS += --disable-matroska
endif
 
ifeq ($(BR2_PACKAGE_LIBMODPLUG),y)
VLC_CONF_OPTS += --enable-mod
VLC_DEPENDENCIES += libmodplug
else
VLC_CONF_OPTS += --disable-mod
endif
 
ifeq ($(BR2_PACKAGE_LIBMPEG2),y)
VLC_CONF_OPTS += --enable-libmpeg2
VLC_DEPENDENCIES += libmpeg2
else
VLC_CONF_OPTS += --disable-libmpeg2
endif
 
ifeq ($(BR2_PACKAGE_LIBNFS),y)
VLC_CONF_OPTS += --enable-nfs
VLC_DEPENDENCIES += libnfs
else
VLC_CONF_OPTS += --disable-nfs
endif
 
ifeq ($(BR2_PACKAGE_LIBPNG),y)
VLC_CONF_OPTS += --enable-png
VLC_DEPENDENCIES += libpng
else
VLC_CONF_OPTS += --disable-png
endif
 
ifeq ($(BR2_PACKAGE_LIBRSVG),y)
VLC_CONF_OPTS += --enable-svg --enable-svgdec
VLC_DEPENDENCIES += librsvg
else
VLC_CONF_OPTS += --disable-svg --disable-svgdec
endif
 
ifeq ($(BR2_PACKAGE_LIBSAMPLERATE),y)
VLC_CONF_OPTS += --enable-samplerate
VLC_DEPENDENCIES += libsamplerate
else
VLC_CONF_OPTS += --disable-samplerate
endif
 
ifeq ($(BR2_PACKAGE_LIBSECRET),y)
VLC_CONF_OPTS += --enable-secret
VLC_DEPENDENCIES += libsecret
else
VLC_CONF_OPTS += --disable-secret
endif
 
ifeq ($(BR2_PACKAGE_LIBSOXR),y)
VLC_CONF_OPTS += --enable-soxr
VLC_DEPENDENCIES += libsoxr
else
VLC_CONF_OPTS += --disable-soxr
endif
 
ifeq ($(BR2_PACKAGE_LIBSSH2),y)
VLC_CONF_OPTS += --enable-sftp
VLC_DEPENDENCIES += libssh2
else
VLC_CONF_OPTS += --disable-sftp
endif
 
ifeq ($(BR2_PACKAGE_LIBSIDPLAY2),y)
VLC_CONF_OPTS += --enable-sid
VLC_DEPENDENCIES += libsidplay2
else
VLC_CONF_OPTS += --disable-sid
endif
 
ifeq ($(BR2_PACKAGE_LIBTHEORA),y)
VLC_CONF_OPTS += --enable-theora
VLC_DEPENDENCIES += libtheora
else
VLC_CONF_OPTS += --disable-theora
endif
 
ifeq ($(BR2_PACKAGE_LIBUPNP),y)
VLC_CONF_OPTS += --enable-upnp
VLC_DEPENDENCIES += libupnp
else
VLC_CONF_OPTS += --disable-upnp
endif
 
# libva support depends on ffmpeg
ifeq ($(BR2_PACKAGE_FFMPEG)$(BR2_PACKAGE_LIBVA),yy)
VLC_CONF_OPTS += --enable-libva
VLC_DEPENDENCIES += libva
else
VLC_CONF_OPTS += --disable-libva
endif
 
ifeq ($(BR2_PACKAGE_LIBVNCSERVER),y)
VLC_CONF_OPTS += --enable-vnc
VLC_DEPENDENCIES += libvncserver
else
VLC_CONF_OPTS += --disable-vnc
endif
 
ifeq ($(BR2_PACKAGE_LIBVORBIS),y)
VLC_CONF_OPTS += --enable-vorbis
VLC_DEPENDENCIES += libvorbis
else
VLC_CONF_OPTS += --disable-vorbis
endif
 
ifeq ($(BR2_PACKAGE_LIBV4L),y)
VLC_CONF_OPTS += --enable-v4l2
VLC_DEPENDENCIES += libv4l
else
VLC_CONF_OPTS += --disable-v4l2
endif
 
ifeq ($(BR2_PACKAGE_LIBVPX),y)
VLC_CONF_OPTS += --enable-vpx
VLC_DEPENDENCIES += libvpx
else
VLC_CONF_OPTS += --disable-vpx
endif
 
ifeq ($(BR2_PACKAGE_LIBXCB),y)
VLC_CONF_OPTS += --enable-xcb
VLC_DEPENDENCIES += libxcb
else
VLC_CONF_OPTS += --disable-xcb
endif
 
ifeq ($(BR2_PACKAGE_LIBXML2),y)
VLC_CONF_OPTS += --enable-libxml2
VLC_DEPENDENCIES += libxml2
else
VLC_CONF_OPTS += --disable-libxml2
endif
 
ifeq ($(BR2_PACKAGE_LIVE555),y)
VLC_CONF_OPTS += --enable-live555
VLC_DEPENDENCIES += live555
ifneq ($(BR2_PACKAGE_OPENSSL),y)
VLC_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -DNO_OPENSSL"
endif
else
VLC_CONF_OPTS += --disable-live555
endif
 
ifeq ($(BR2_PACKAGE_LUA),y)
VLC_CONF_OPTS += --enable-lua
VLC_DEPENDENCIES += lua host-lua
else
VLC_CONF_OPTS += --disable-lua
endif
 
ifeq ($(BR2_PACKAGE_MINIZIP),y)
VLC_DEPENDENCIES += minizip
endif
 
ifeq ($(BR2_PACKAGE_MPG123),y)
VLC_CONF_OPTS += --enable-mpg123
VLC_DEPENDENCIES += mpg123
else
VLC_CONF_OPTS += --disable-mpg123
endif
 
ifeq ($(BR2_PACKAGE_MUSEPACK),y)
VLC_CONF_OPTS += --enable-mpc
VLC_DEPENDENCIES += musepack
else
VLC_CONF_OPTS += --disable-mpc
endif
 
ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y)
VLC_CONF_OPTS += --enable-ncurses
VLC_DEPENDENCIES += ncurses
else
VLC_CONF_OPTS += --disable-ncurses
endif
 
ifeq ($(BR2_PACKAGE_PULSEAUDIO),y)
VLC_CONF_OPTS += --enable-pulse
VLC_DEPENDENCIES += pulseaudio
else
VLC_CONF_OPTS += --disable-pulse
endif
 
ifeq ($(BR2_PACKAGE_QT5BASE_WIDGETS)$(BR2_PACKAGE_QT5SVG),yy)
VLC_CONF_OPTS += --enable-qt
VLC_DEPENDENCIES += qt5base qt5svg
ifeq ($(BR2_PACKAGE_XLIB_LIBXEXT)$(BR2_PACKAGE_XLIB_LIBXINERAMA)$(BR2_PACKAGE_XLIB_LIBXPM),yyy)
VLC_CONF_OPTS += --enable-skins2
VLC_DEPENDENCIES += xlib_libXext xlib_libXinerama xlib_libXpm
else
VLC_CONF_OPTS += --disable-skins2
endif
else
VLC_CONF_OPTS += --disable-qt --disable-skins2
endif
 
ifeq ($(BR2_PACKAGE_SDL_IMAGE),y)
VLC_CONF_OPTS += --enable-sdl-image
VLC_DEPENDENCIES += sdl_image
else
VLC_CONF_OPTS += --disable-sdl-image
endif
 
ifeq ($(BR2_PACKAGE_SAMBA4),y)
VLC_CONF_OPTS += --enable-smbclient
VLC_DEPENDENCIES += samba4
else
VLC_CONF_OPTS += --disable-smbclient
endif
 
ifeq ($(BR2_PACKAGE_SPEEX)$(BR2_PACKAGE_SPEEXDSP),yy)
VLC_CONF_OPTS += --enable-speex
VLC_DEPENDENCIES += speex speexdsp
else
VLC_CONF_OPTS += --disable-speex
endif
 
ifeq ($(BR2_PACKAGE_TAGLIB),y)
VLC_CONF_OPTS += --enable-taglib
VLC_DEPENDENCIES += taglib
else
VLC_CONF_OPTS += --disable-taglib
endif
 
ifeq ($(BR2_PACKAGE_TREMOR),y)
VLC_CONF_OPTS += --enable-tremor
VLC_DEPENDENCIES += tremor
else
VLC_CONF_OPTS += --disable-tremor
endif
 
ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
VLC_CONF_OPTS += --enable-udev
VLC_DEPENDENCIES += udev
else
VLC_CONF_OPTS += --disable-udev
endif
 
ifeq ($(BR2_PACKAGE_WAYLAND)$(BR2_PACKAGE_WAYLAND_PROTOCOLS),yy)
VLC_CONF_OPTS += --enable-wayland
VLC_DEPENDENCIES += wayland wayland-protocols
else
VLC_CONF_OPTS += --disable-wayland
endif
 
ifeq ($(BR2_PACKAGE_X264),y)
VLC_CONF_OPTS += --enable-x264
VLC_DEPENDENCIES += x264
else
VLC_CONF_OPTS += --disable-x264
endif
 
ifeq ($(BR2_PACKAGE_X265),y)
VLC_CONF_OPTS += --enable-x265
VLC_DEPENDENCIES += x265
else
VLC_CONF_OPTS += --disable-x265
endif
 
ifeq ($(BR2_PACKAGE_XCB_UTIL_KEYSYMS),y)
VLC_DEPENDENCIES += xcb-util-keysyms
endif
 
ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y)
VLC_CONF_OPTS += --with-x
VLC_DEPENDENCIES += xlib_libX11
else
VLC_CONF_OPTS += --without-x
endif
 
ifeq ($(BR2_PACKAGE_ZLIB),y)
VLC_DEPENDENCIES += zlib
endif
 
ifeq ($(BR2_PACKAGE_GNUTLS),y)
VLC_CONF_OPTS += --enable-gnutls
VLC_DEPENDENCIES += gnutls
else
VLC_CONF_OPTS += --disable-gnutls
endif
 
$(eval $(autotools-package))