* [Buildroot] [PATCHv2 0/1] vlc: New package
@ 2012-03-05 4:50 Ismael Luceno
2012-03-05 4:50 ` [Buildroot] [PATCHv2 1/1] " Ismael Luceno
0 siblings, 1 reply; 5+ messages in thread
From: Ismael Luceno @ 2012-03-05 4:50 UTC (permalink / raw)
To: buildroot
Changes since v1:
* Added a description for the package
* Described and signed-off the patch
* Added configuration knobs for all available dependencies and other
build options.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCHv2 1/1] vlc: New package
2012-03-05 4:50 [Buildroot] [PATCHv2 0/1] vlc: New package Ismael Luceno
@ 2012-03-05 4:50 ` Ismael Luceno
2012-03-11 13:08 ` Arnout Vandecappelle
0 siblings, 1 reply; 5+ messages in thread
From: Ismael Luceno @ 2012-03-05 4:50 UTC (permalink / raw)
To: buildroot
Signed-off-by: Ismael Luceno <ismael.luceno@gmail.com>
---
package/multimedia/Config.in | 1 +
package/multimedia/vlc/Config.in | 286 +++++++++++++++++++
package/multimedia/vlc/vlc-uclibc-fixes.patch | 25 ++
package/multimedia/vlc/vlc.mk | 362 +++++++++++++++++++++++++
4 files changed, 674 insertions(+), 0 deletions(-)
create mode 100644 package/multimedia/vlc/Config.in
create mode 100644 package/multimedia/vlc/vlc-uclibc-fixes.patch
create mode 100644 package/multimedia/vlc/vlc.mk
diff --git a/package/multimedia/Config.in b/package/multimedia/Config.in
index a05d1d9..fc20d74 100644
--- a/package/multimedia/Config.in
+++ b/package/multimedia/Config.in
@@ -44,6 +44,7 @@ source "package/multimedia/speex/Config.in"
source "package/multimedia/tidsp-binaries/Config.in"
source "package/multimedia/taglib/Config.in"
source "package/multimedia/tremor/Config.in"
+source "package/multimedia/vlc/Config.in"
source "package/multimedia/vorbis-tools/Config.in"
source "package/multimedia/wavpack/Config.in"
endmenu
diff --git a/package/multimedia/vlc/Config.in b/package/multimedia/vlc/Config.in
new file mode 100644
index 0000000..d68982b
--- /dev/null
+++ b/package/multimedia/vlc/Config.in
@@ -0,0 +1,286 @@
+menuconfig BR2_PACKAGE_VLC
+ bool "VLC"
+ help
+ VLC is a free and open source cross-platform multimedia player and
+ framework that plays most multimedia files as well as DVD, Audio CD,
+ VCD, and various streaming protocols.
+
+ http://www.videolan.org/vlc/
+
+
+if BR2_PACKAGE_VLC
+
+config BR2_PACKAGE_VLC_LOWMEM
+ bool "Optimize memory usage over performance"
+
+config BR2_PACKAGE_VLC_SOUT
+ bool "Enable streaming output"
+
+config BR2_PACKAGE_VLC_HTTPD
+ bool "Enable built-in HTTP server"
+
+config BR2_PACKAGE_VLC_VLM
+ bool "Enable stream manager (VLM)"
+
+config BR2_PACKAGE_VLC_SCREEN
+ bool "Screen capture support"
+
+comment "Audio output"
+
+config BR2_PACKAGE_VLC_ALSA
+ bool "ALSA support"
+ select BR2_PACKAGE_ALSA_LIB
+
+config BR2_PACKAGE_VLC_OSS
+ bool "OSS support"
+
+config BR2_PACKAGE_VLC_PULSE
+ bool "PulseAudio support"
+ select BR2_PACKAGE_PULSEAUDIO
+
+config BR2_PACKAGE_VLC_SAMPLERATE
+ bool "Audio resampling support"
+ select BR2_PACKAGE_LIBSAMPLERATE
+
+comment "Video output"
+
+if BR2_PACKAGE_XORG7
+
+config BR2_PACKAGE_VLC_XCB
+ bool "XCB support"
+ select BR2_PACKAGE_LIBXCB
+ select BR2_PACKAGE_XCB_PROTO
+
+config BR2_PACKAGE_VLC_LIBX11
+ bool "Xlib support"
+ select BR2_PACKAGE_XLIB_LIBX11
+
+config BR2_PACKAGE_VLC_XV
+ bool "XVideo support (XCB)"
+ select BR2_PACKAGE_LIBXCB
+ select BR2_PACKAGE_XCB_PROTO
+ select BR2_PACKAGE_XPROTO_VIDEOPROTO
+
+config BR2_PACKAGE_VLC_GLX
+ bool "OpenGL (XCB GLX)"
+ select BR2_PACKAGE_LIBXCB
+ select BR2_PACKAGE_XCB_PROTO
+ select BR2_PACKAGE_XPROTO_GLPROTO
+
+endif # BR2_PACKAGE_XORG7
+
+config BR2_PACKAGE_VLC_DIRECTFB
+ bool "DirectFB support"
+ select BR2_PACKAGE_DIRECTFB
+
+config BR2_PACKAGE_VLC_SDL
+ bool "SDL support"
+ select BR2_PACKAGE_SDL
+
+config BR2_PACKAGE_VLC_SDL_IMAGE
+ bool "SDL-image support"
+ depends on BR2_PACKAGE_VLC_SDL
+ select BR2_PACKAGE_SDL_IMAGE
+
+config BR2_PACKAGE_VLC_FREETYPE
+ bool "FreeType support (for subtitles)"
+ select BR2_PACKAGE_FREETYPE
+
+config BR2_PACKAGE_VLC_FONTCONFIG
+ bool "fontconfig support"
+ depends on BR2_PACKAGE_VLC_FREETYPE
+ select BR2_PACKAGE_FONTCONFIG
+
+comment "CODECs"
+
+config BR2_PACKAGE_VLC_FAAD
+ bool "MPEG AAC"
+ select BR2_PACKAGE_FAAD2
+
+config BR2_PACKAGE_VLC_MAD
+ bool "MAD (Fixed-point, MPEG audio)"
+ select BR2_PACKAGE_LIBMAD
+
+config BR2_PACKAGE_VLC_TREMOR
+ bool "Tremor (Fixed-point, Vorbis)"
+ select BR2_PACKAGE_TREMOR
+
+config BR2_PACKAGE_VLC_AVCODEC
+ bool "FFmpeg (Many CODECs)"
+ select BR2_PACKAGE_FFMPEG
+ help
+ There is an awful lot of CODECs in libavcodec. You might want to avoid
+ duplication.
+
+if BR2_PACKAGE_VLC_AVCODEC
+
+config BR2_PACKAGE_VLC_POSTPROC
+ bool "Post-processing support"
+ select BR2_PACKAGE_FFMPEG_POSTPROC
+
+config BR2_PACKAGE_VLC_SWSCALE
+ bool "Software scaling support"
+ select BR2_PACKAGE_FFMPEG_SWSCALE
+
+endif # BR2_PACKAGE_VLC_AVCODEC
+
+config BR2_PACKAGE_VLC_LIBMPEG2
+ bool "MPEG-1/2 (libmpeg2)"
+ select BR2_PACKAGE_LIBMPEG2
+
+config BR2_PACKAGE_VLC_VORBIS
+ bool "Vorbis (Floating-point)"
+ select BR2_PACKAGE_LIBVORBIS
+
+config BR2_PACKAGE_VLC_THEORA
+ bool "Theora"
+ select BR2_PACKAGE_LIBTHEORA
+
+config BR2_PACKAGE_VLC_SPEEX
+ bool "Speex"
+ select BR2_PACKAGE_SPEEX
+
+config BR2_PACKAGE_VLC_FLAC
+ bool "FLAC"
+ select BR2_PACKAGE_FLAC
+
+config BR2_PACKAGE_VLC_PNG
+ bool "PNG support"
+ select BR2_PACKAGE_LIBPNG
+
+config BR2_PACKAGE_VLC_SVG
+ bool "SVG support"
+ select BR2_PACKAGE_LIBRSVG
+
+comment "Container formats"
+
+config BR2_PACKAGE_VLC_OGG
+ bool "Ogg"
+ select BR2_PACKAGE_LIBOGG
+
+config BR2_PACKAGE_VLC_MUX_OGG
+ bool "Ogg mux support"
+ depends on BR2_PACKAGE_VLC_OGG
+
+comment "Input devices"
+
+config BR2_PACKAGE_VLC_VCD
+ bool "Built-in VCD and CD-DA support"
+
+config BR2_PACKAGE_VLC_DVD
+ bool "DVD support"
+ select BR2_PACKAGE_LIBDVDREAD
+
+config BR2_PACKAGE_VLC_DVDNAV
+ bool "DVD Navigation support"
+ depends on BR2_PACKAGE_VLC_DVD
+ select BR2_PACKAGE_LIBDVDNAV
+
+config BR2_PACKAGE_VLC_OPENCV
+ bool "OpenCV (Computer Vision) support"
+ select BR2_PACKAGE_OPENCV
+
+comment "Transport protocols"
+
+config BR2_PACKAGE_VLC_GVFS
+ bool "Gnome VFS support"
+ select BR2_PACKAGE_GFVS
+
+config BR2_PACKAGE_VLC_V4L2
+ bool "Video4Linux 2 support"
+ select BR2_PACKAGE_LIBV4L
+
+config BR2_PACKAGE_VLC_PVR
+ bool "Support PVR Video4Linux 2 cards"
+ depends on BR2_PACKAGE_VLC_V4L2
+
+config BR2_PACKAGE_VLC_LIVE555
+ bool "Sreaming support (RTP/RTCP, RTSP, SIP)"
+ select BR2_PACKAGE_LIVE555
+
+config BR2_PACKAGE_VLC_SMB
+ bool "Samba support (SMB/CIFS)"
+ select BR2_PACKAGES_SAMBA
+
+comment "Video filters and Visualization"
+
+config BR2_PACKAGE_VLC_VISUAL
+ bool "Visualization plugin"
+
+config BR2_PACKAGE_VLC_ATMO
+ bool "AtmoLight (homemade Philips Ambilight clone)"
+
+comment "Misc. options"
+
+config BR2_PACKAGE_VLC_MEDIALIB
+ bool "VLC Media Library"
+
+config BR2_PACKAGE_VLC_TAGLIB
+ bool "TagLib support"
+ select BR2_PACKAGE_TAGLIB
+
+config BR2_PACKAGE_VLC_DBUS
+ bool "DBus support"
+ select BR2_PACKAGE_DBUS
+
+config BR2_PACKAGE_VLC_LIBGCRYPT
+ bool "libgcrypt support"
+ select BR2_PACKAGE_LIBGCRYPT
+
+config BR2_PACKAGE_VLC_GNUTLS
+ bool "TLS/SSL support (using GnuTLS)"
+ select BR2_PACKAGE_GNUTLS
+
+config BR2_PACKAGE_VLC_SQLITE
+ bool "SQLite support"
+ select BR2_PACKAGE_SQLITE
+
+config BR2_PACKAGE_VLC_LUA
+ bool "Lua scripting support"
+ select BR2_PACKAGE_LUA
+
+config BR2_PACKAGE_VLC_LIBXML2
+ bool "libxml2 support"
+ select BR2_PACKAGE_LIBXML2
+
+comment "Service discovery"
+
+config BR2_PACKAGE_VLC_BONJOUR
+ bool "Bonjour / Avahi support"
+ select BR2_PACKAGE_AVAHI
+
+config BR2_PACKAGE_VLC_UDEV
+ bool "Udev support"
+ select BR2_PACKAGE_UDEV
+
+config BR2_PACKAGE_VLC_UPNP
+ bool "Universal Plug and Play support (UPNP)"
+ select BR2_PACKAGE_LIBUPNP
+
+comment "Interface"
+
+config BR2_PACKAGE_VLC_FRONTEND
+ bool "Build and install frontend binary"
+ default y
+ help
+ This will install the video player.
+
+if BR2_PACKAGE_VLC_FRONTEND
+
+config BR2_PACKAGE_VLC_QT4
+ bool "QT4-based interface"
+ depends on BR2_PACKAGE_QT_GUI_X11
+
+config BR2_PACKAGE_VLC_NCURSES
+ bool "Ncurses text-based interface"
+ select BR2_PACKAGE_NCURSES
+
+config BR2_PACKAGE_VLC_XOSD
+ bool "X On Screen Display"
+ depends on BR2_PACKAGE_VLC_LIBX11
+
+config BR2_PACKAGE_VLC_FBOSD
+ bool "Framebuffer On Screen Display"
+
+endif # BR2_PACKAGE_VLC_FRONTEND
+endif # BR2_PACKAGE_VLC
diff --git a/package/multimedia/vlc/vlc-uclibc-fixes.patch b/package/multimedia/vlc/vlc-uclibc-fixes.patch
new file mode 100644
index 0000000..5471b08
--- /dev/null
+++ b/package/multimedia/vlc/vlc-uclibc-fixes.patch
@@ -0,0 +1,25 @@
+Fixes compilation with uClibc, which doesn't provide gnu/libc-version.h nor
+gnu_get_libc_version.
+
+Signed-off-by: Ismael Luceno <ismael.luceno@gmail.com>
+
+diff -u a/src/posix/linux_specific.c b/src/posix/linux_specific.c
+--- a/src/posix/linux_specific.c 2012-02-08 16:43:30.000000000 -0200
++++ b/src/posix/linux_specific.c 2012-02-09 03:51:20.925504594 -0200
+@@ -74,14 +74,14 @@
+ return (path != NULL) ? path : strdup (PKGLIBDIR);
+ }
+
+-#ifdef __GLIBC__
++#if defined(__GLIBC__) && !defined(__UCLIBC__)
+ # include <gnu/libc-version.h>
+ # include <stdlib.h>
+ #endif
+
+ void system_Init (void)
+ {
+-#ifdef __GLIBC__
++#if defined(__GLIBC__) && !defined(__UCLIBC__)
+ const char *glcv = gnu_get_libc_version ();
+
+ /* gettext in glibc 2.5-2.7 is not thread-safe. LibVLC keeps crashing,
diff --git a/package/multimedia/vlc/vlc.mk b/package/multimedia/vlc/vlc.mk
new file mode 100644
index 0000000..662b61d
--- /dev/null
+++ b/package/multimedia/vlc/vlc.mk
@@ -0,0 +1,362 @@
+#############################################################
+#
+# vlc
+#
+#############################################################
+VLC_VERSION = 2.0.0
+VLC_SOURCE= vlc-$(VLC_VERSION).tar.xz
+VLC_SITE = http://download.videolan.org/pub/videolan/vlc/$(VLC_VERSION)
+
+ifeq ($(BR2_PACKAGE_VLC_ALSA),y)
+VLC_DEPENDENCIES += alsa-lib
+VLC_CONF_OPTS += --enable-alsa
+else
+VLC_CONF_OPTS += --disable-alsa
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_DIRECTFB),y)
+VLC_CONF_OPTS += --enable-directfb
+VLC_DEPENDENCIES += directfb
+else
+VLC_CONF_OPTS += --disable-directfb
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_SDL),y)
+VLC_CONF_OPTS += --enable-sdl
+VLC_DEPENDENCIES += sdl
+else
+VLC_CONF_OPTS += --disable-sdl
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_SDL_IMAGE),y)
+VLC_CONF_OPTS += --enable-sdl-image
+VLC_DEPENDENCIES += sdl_image
+else
+VLC_CONF_OPTS += --disable-sdl-image
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_MAD),y)
+VLC_CONF_OPTS += --enable-mad
+VLC_DEPENDENCIES += libmad
+else
+VLC_CONF_OPTS += --disable-mad
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_TREMOR),y)
+VLC_DEPENDENCIES += tremor
+VLC_CONF_OPTS += --enable-tremor
+else
+VLC_CONF_OPTS += --disable-tremor
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_PNG),y)
+VLC_DEPENDENCIES += libpng
+VLC_CONF_OPTS += --enable-png
+else
+VLC_CONF_OPTS += --disable-png
+endif
+
+ifeq ($(BR2_PACKAGE_AVCODEC),y)
+VLC_DEPENDENCIES += ffmpeg
+VLC_CONF_OPTS += --enable-avcodec --enable-avformat \
+ --$(if $(BR2_PACKAGE_VLC_POSTPROC),en,dis)able-postproc \
+ --$(if $(BR2_PACKAGE_VLC_SWSCALE),en,dis)able-swscale
+else
+VLC_CONF_OPTS += --disable-avcodec --disable-avformat
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_DBUS),y)
+VLC_DEPENDENCIES += dbus
+VLC_CONF_OPTS += --enable-dbus
+else
+VLC_CONF_OPTS += --disable-dbus
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_LIBGCRYPT),y)
+VLC_DEPENDENCIES += libgcrypt
+VLC_CONF_OPTS += --enable-libgcrypt
+else
+VLC_CONF_OPTS += --disable-libgcrypt
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_V4L2),y)
+VLC_DEPENDENCIES += libv4l
+VLC_CONF_OPTS += --enable-libv4l2
+else
+VLC_CONF_OPTS += --disable-libv4l2
+endif
+
+ifeq ($(BR2_PACKAGE_LUA),y)
+VLC_DEPENDENCIES += lua
+VLC_CONF_OPTS += --enable-lua
+else
+VLC_CONF_OPTS += --disable-lua
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_XCB),y)
+VLC_DEPENDENCIES += libxcb
+VLC_CONF_OPTS += --enable-xcb
+else
+VLC_CONF_OPTS += --disable-xcb
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_LIVE555),y)
+VLC_DEPENDENCIES += live555
+VLC_CONF_OPTS += --enable-live555
+else
+VLC_CONF_OPTS += --disable-live555
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_LIBX11),y)
+VLC_DEPENDENCIES += xlib_libX11
+VLC_CONF_OPTS += --with-x
+else
+VLC_CONF_OPTS += --without-x
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_QT4),y)
+VLC_DEPENDENCIES += qt
+VLC_CONF_OPTS += --enable-qt4
+else
+VLC_CONF_OPTS += --disable-qt4
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_VORBIS),y)
+VLC_DEPENDENCIES += libvorbis
+VLC_CONF_OPTS += --enable-vorbis
+else
+VLC_CONF_OPTS += --disable-vorbis
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_THEORA),y)
+VLC_DEPENDENCIES += libtheora
+VLC_CONF_OPTS += --enable-theora
+else
+VLC_CONF_OPTS += --disable-theora
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_SPEEX),y)
+VLC_DEPENDENCIES += speex
+VLC_CONF_OPTS += --enable-speex
+else
+VLC_CONF_OPTS += --disable-speex
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_FLAC),y)
+VLC_DEPENDENCIES += flac
+VLC_CONF_OPTS += --enable-flac
+else
+VLC_CONF_OPTS += --disable-flac
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_XV),y)
+VLC_DEPENDENCIES += libxcb xcb-proto xproto_videoproto
+VLC_CONF_OPTS += --enable-xvideo
+else
+VLC_CONF_OPTS += --disable-xvideo
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_FREETYPE),y)
+VLC_DEPENDENCIES += freetype
+VLC_CONF_OPTS += --enable-freetype
+else
+VLC_CONF_OPTS += --disable-freetype
+endif
+
+VLC_CONF_OPTS += --disable-a52
+
+ifeq ($(BR2_PACKAGE_VLC_FAAD),y)
+VLC_DEPENDENCIES += faad2
+VLC_CONF_OPTS += --enable-faad
+else
+VLC_CONF_OPTS += --disable-faad
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_SVG),y)
+VLC_DEPENDENCIES += librsvg
+VLC_CONF_OPTS += --enable-svg
+else
+VLC_CONF_OPTS += --disable-svg
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_OGG),y)
+VLC_DEPENDENCIES += libogg
+VLC_CONF_OPTS += --enable-ogg
+else
+VLC_CONF_OPTS += --disable-ogg
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_MUX_OGG),y)
+VLC_CONF_OPTS += --enable-mux_ogg
+else
+VLC_CONF_OPTS += --disable-mux_ogg
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_GLX),y)
+VLC_DEPENDENCIES += libxcb xcb-proto xproto_glproto
+VLC_CONF_OPTS += --enable-glx
+else
+VLC_CONF_OPTS += --disable-glx
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_SQLITE),y)
+VLC_DEPENDENCIES += sqlite
+VLC_CONF_OPTS += --enable-sqlite
+else
+VLC_CONF_OPTS += --disable-sqlite
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_NCURSES),y)
+VLC_DEPENDENCIES += ncurses
+VLC_CONF_OPTS += --enable-ncurses
+else
+VLC_CONF_OPTS += --disable-ncurses
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_GVFS),y)
+VLC_DEPENDENCIES += gvfs
+VLC_CONF_OPTS += --enable-gnomevfs
+else
+VLC_CONF_OPTS += --disable-gnomevfs
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_DVD),y)
+VLC_DEPENDENCIES += libdvdread
+VLC_CONF_OPTS += --enable-dvdread
+else
+VLC_CONF_OPTS += --disable-dvdread
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_DVDNAV),y)
+VLC_DEPENDENCIES += libdvdnav
+VLC_CONF_OPTS += --enable-dvdnav
+else
+VLC_CONF_OPTS += --disable-dvdnav
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_GNUTLS),y)
+VLC_DEPENDENCIES += gnutls
+VLC_CONF_OPTS += --enable-gnutls
+else
+VLC_CONF_OPTS += --disable-gnutls
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_LIBMPEG2),y)
+VLC_DEPENDENCIES += libmpeg2
+VLC_CONF_OPTS += --enable-libmpeg2
+else
+VLC_CONF_OPTS += --disable-libmpeg2
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_LIBXML2),y)
+VLC_DEPENDENCIES += libxml2
+VLC_CONF_OPTS += --enable-libxml2
+else
+VLC_CONF_OPTS += --disable-libxml2
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_PULSE),y)
+VLC_DEPENDENCIES += pulseaudio
+VLC_CONF_OPTS += --enable-pulse
+else
+VLC_CONF_OPTS += --disable-pulse
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_SAMPLERATE),y)
+VLC_DEPENDENCIES += libsamplerate
+VLC_CONF_OPTS += --enable-samplerate
+else
+VLC_CONF_OPTS += --disable-samplerate
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_TAGLIB),y)
+VLC_DEPENDENCIES += taglib
+VLC_CONF_OPTS += --enable-taglib
+else
+VLC_CONF_OPTS += --disable-taglib
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_BONJOUR),y)
+VLC_DEPENDENCIES += avahi
+VLC_CONF_OPTS += --enable-bonjour
+else
+VLC_CONF_OPTS += --disable-bonjour
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_UDEV),y)
+VLC_DEPENDENCIES += udev
+VLC_CONF_OPTS += --enable-udev
+else
+VLC_CONF_OPTS += --disable-udev
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_UPNP),y)
+VLC_DEPENDENCIES += libupnp
+VLC_CONF_OPTS += --enable-upnp
+else
+VLC_CONF_OPTS += --disable-upnp
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_SMB),y)
+VLC_DEPENDENCIES += samba
+VLC_CONF_OPTS += --enable-smb
+else
+VLC_CONF_OPTS += --disable-smb
+endif
+
+ifeq ($(BR2_PACKAGE_VLC_OPENCV),y)
+VLC_DEPENDENCIES += opencv
+VLC_CONF_OPTS += --enable-opencv
+else
+VLC_CONF_OPTS += --disable-opencv
+endif
+
+VLC_CONF_OPTS += \
+ --$(if $(BR2_PACKAGE_VLC_LOWMEM),en,dis}able-optimize-memory \
+ --$(if $(BR2_PACKAGE_VLC_SOUT),en,dis)able-sout \
+ --$(if $(BR2_PACKAGE_VLC_HTTPD),en,dis)able-httpd \
+ --$(if $(BR2_PACKAGE_VLC_VLM),en,dis)able-vlm \
+ --$(if $(BR2_PACKAGE_VLC_SCREEN),en,dis)able-screen \
+ --$(if $(BR2_PACKAGE_VLC_VCD),en,dis)able-vcd \
+ --$(if $(BR2_PACKAGE_VLC_VISUAL),en,dis)able-visual \
+ --$(if $(BR2_PACKAGE_VLC_ATMO),en,dis)able-atmo \
+ --$(if $(BR2_PACKAGE_VLC_OSS),en,dis)able-oss \
+ --$(if $(BR2_PACKAGE_VLC_FRONTEND),en,dis)able-vlc \
+ --$(if $(BR2_PACKAGE_VLC_XOSD),en,dis)able-xosd \
+ --$(if $(BR2_PACKAGE_VLC_FBOSD),en,dis)able-fbosd \
+ --$(if $(BR2_PACKAGE_VLC_PVR),en,dis)able-pvr \
+ --$(if $(BR2_PACKAGE_VLC_MEDIALIB),en,dis)able-media-library
+
+ifeq ($(call qstrip,$(BR2_GCC_TARGET_ARCH)),armv7-a)
+VLC_CONF_OPTS += --enable-neon
+else
+VLC_CONF_OPTS += --disable-neon
+endif
+
+define VLC_CONFIGURE_CMDS
+ echo $(VLC_VERSION) > $(@D)/src/revision.txt
+ (cd $(@D); rm -rf config.cache; \
+ test -x configure || ./bootstrap; \
+ $(TARGET_CONFIGURE_OPTS) \
+ $(TARGET_CONFIGURE_ARGS) \
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --build=$(GNU_HOST_NAME) \
+ --host=$(GNU_TARGET_NAME) \
+ --disable-rpath \
+ --enable-run-as-root \
+ $(VLC_CONF_OPTS) \
+ CXXFLAGS="$(TARGET_CXXFLAGS)"; \
+ )
+ $(SED) '1i#define HAVE_VASPRINTF 1' $(@D)/config.h
+endef
+
+define VLC_INSTALL_TARGET_CMDS
+ find $(@D) -name '*.la' -exec $(SED) '/^relink_command=/d' '{}' +
+ touch $(@D)/modules/access/zip/libzip_plugin.la \
+ $(@D)/modules/misc/liblogger_plugin.la
+ $(MAKE) DESTDIR=$(TARGET_DIR) -C $(@D) install
+endef
+
+$(eval $(call AUTOTARGETS))
--
1.7.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Buildroot] [PATCHv2 1/1] vlc: New package
2012-03-05 4:50 ` [Buildroot] [PATCHv2 1/1] " Ismael Luceno
@ 2012-03-11 13:08 ` Arnout Vandecappelle
2012-03-12 19:15 ` Ismael Luceno
0 siblings, 1 reply; 5+ messages in thread
From: Arnout Vandecappelle @ 2012-03-11 13:08 UTC (permalink / raw)
To: buildroot
On Monday 05 March 2012 05:50:26 Ismael Luceno wrote:
> Signed-off-by: Ismael Luceno <ismael.luceno@gmail.com>
Impressive!
BTW, the changelog is normally put under the commit message and three
dashes, like this:
---
Changes since v1:
* Added a description for the package
* Described and signed-off the patch
* Added configuration knobs for all available dependencies and other
build options.
[snip]
> +comment "CODECs"
I wouldn't spell codecs in all caps. But that's a minor detail.
[snip]
> +VLC_CONF_OPTS += \
> + --$(if $(BR2_PACKAGE_VLC_LOWMEM),en,dis}able-optimize-memory \
> + --$(if $(BR2_PACKAGE_VLC_SOUT),en,dis)able-sout \
> + --$(if $(BR2_PACKAGE_VLC_HTTPD),en,dis)able-httpd \
> + --$(if $(BR2_PACKAGE_VLC_VLM),en,dis)able-vlm \
> + --$(if $(BR2_PACKAGE_VLC_SCREEN),en,dis)able-screen \
> + --$(if $(BR2_PACKAGE_VLC_VCD),en,dis)able-vcd \
> + --$(if $(BR2_PACKAGE_VLC_VISUAL),en,dis)able-visual \
> + --$(if $(BR2_PACKAGE_VLC_ATMO),en,dis)able-atmo \
> + --$(if $(BR2_PACKAGE_VLC_OSS),en,dis)able-oss \
> + --$(if $(BR2_PACKAGE_VLC_FRONTEND),en,dis)able-vlc \
> + --$(if $(BR2_PACKAGE_VLC_XOSD),en,dis)able-xosd \
> + --$(if $(BR2_PACKAGE_VLC_FBOSD),en,dis)able-fbosd \
> + --$(if $(BR2_PACKAGE_VLC_PVR),en,dis)able-pvr \
> + --$(if $(BR2_PACKAGE_VLC_MEDIALIB),en,dis)able-media-library
I would write this as
VLC_CONF_OPTS += --$(if $(BR2_PACKAGE_VLC_LOWMEM),en,dis}able-optimize-memory
VLC_CONF_OPTS += --$(if $(BR2_PACKAGE_VLC_SOUT),en,dis}able-sout
...
because it makes for cleaner patches.
> +
> +ifeq ($(call qstrip,$(BR2_GCC_TARGET_ARCH)),armv7-a)
> +VLC_CONF_OPTS += --enable-neon
Is armv7-a the only architecture with Neon support?
More generally, maybe we should have an architecture symbol for neon on
which this type of package can rely.
> +else
> +VLC_CONF_OPTS += --disable-neon
> +endif
> +
> +define VLC_CONFIGURE_CMDS
> + echo $(VLC_VERSION) > $(@D)/src/revision.txt
> + (cd $(@D); rm -rf config.cache; \
> + test -x configure || ./bootstrap; \
> + $(TARGET_CONFIGURE_OPTS) \
> + $(TARGET_CONFIGURE_ARGS) \
> + ./configure \
> + --prefix=/usr \
> + --sysconfdir=/etc \
> + --build=$(GNU_HOST_NAME) \
> + --host=$(GNU_TARGET_NAME) \
> + --disable-rpath \
> + --enable-run-as-root \
> + $(VLC_CONF_OPTS) \
> + CXXFLAGS="$(TARGET_CXXFLAGS)"; \
> + )
> + $(SED) '1i#define HAVE_VASPRINTF 1' $(@D)/config.h
> +endef
Why do the normal configure commands not work?
The revision.txt could be done in POST_PATCH_HOOKS.
The bootstrap can be done in PRE_CONFIGURE_HOOKS. However, isn't vlc
distributed with a configure script? So the bootstrap will never be
executed, right?
The configure arguments can be added to VLC_CONF_OPTS.
The vasprintf can be done in POST_CONFIGURE_HOOKS.
For all of these, there should be a comment explaining why it is needed.
This will help later for version bumpers to remove it again, when it is
no longer needed because of upstream updates.
> +
> +define VLC_INSTALL_TARGET_CMDS
> + find $(@D) -name '*.la' -exec $(SED) '/^relink_command=/d' '{}' +
> + touch $(@D)/modules/access/zip/libzip_plugin.la \
> + $(@D)/modules/misc/liblogger_plugin.la
Again, I would put these in the POST_BUILD_HOOKS and use the normal
install commands.
> + $(MAKE) DESTDIR=$(TARGET_DIR) -C $(@D) install
> +endef
> +
> +$(eval $(call AUTOTARGETS))
>
Regards,
Arnout
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286540
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCHv2 1/1] vlc: New package
2012-03-11 13:08 ` Arnout Vandecappelle
@ 2012-03-12 19:15 ` Ismael Luceno
2012-03-13 22:45 ` Arnout Vandecappelle
0 siblings, 1 reply; 5+ messages in thread
From: Ismael Luceno @ 2012-03-12 19:15 UTC (permalink / raw)
To: buildroot
On Sun, 11 Mar 2012 14:08:27 +0100
Arnout Vandecappelle <arnout@mind.be> wrote:
<...>
> Is armv7-a the only architecture with Neon support?
Good question... also, I think nVidia ones don't have :/.
> More generally, maybe we should have an architecture symbol for neon
> on which this type of package can rely.
+1
<...>
> Why do the normal configure commands not work?
>
> The revision.txt could be done in POST_PATCH_HOOKS.
>
> The bootstrap can be done in PRE_CONFIGURE_HOOKS. However, isn't vlc
> distributed with a configure script? So the bootstrap will never be
> executed, right?
It's for scm versions, which I use from time to time. It doesn't hurt
to have, that's why I left it.
<...>
> The configure arguments can be added to VLC_CONF_OPTS.
>
> The vasprintf can be done in POST_CONFIGURE_HOOKS.
>
> For all of these, there should be a comment explaining why it is
> needed. This will help later for version bumpers to remove it again,
> when it is no longer needed because of upstream updates.
Thanks for the comments! :D. I'll submit another version soon.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20120312/dc82713e/attachment.asc>
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCHv2 1/1] vlc: New package
2012-03-12 19:15 ` Ismael Luceno
@ 2012-03-13 22:45 ` Arnout Vandecappelle
0 siblings, 0 replies; 5+ messages in thread
From: Arnout Vandecappelle @ 2012-03-13 22:45 UTC (permalink / raw)
To: buildroot
On Monday 12 March 2012 20:15:15 Ismael Luceno wrote:
> > Why do the normal configure commands not work?
> >
> > The revision.txt could be done in POST_PATCH_HOOKS.
> >
> > The bootstrap can be done in PRE_CONFIGURE_HOOKS. However, isn't vlc
> > distributed with a configure script? So the bootstrap will never be
> > executed, right?
>
> It's for scm versions, which I use from time to time. It doesn't hurt
> to have, that's why I left it.
It seems a bit overkill to override the configure commands for these
rare occasions.
Anyway, if you use a n SCM (or any other) version from time to time,
it's probably better to use the _OVERRIDE_SRCDIR infrastructure. And
then you can run the bootstrap in your local checkout.
Regards,
Arnout
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286540
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-03-13 22:45 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-05 4:50 [Buildroot] [PATCHv2 0/1] vlc: New package Ismael Luceno
2012-03-05 4:50 ` [Buildroot] [PATCHv2 1/1] " Ismael Luceno
2012-03-11 13:08 ` Arnout Vandecappelle
2012-03-12 19:15 ` Ismael Luceno
2012-03-13 22:45 ` Arnout Vandecappelle
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox