depends on BR2_PACKAGE_XBMC_ARCH_SUPPORTS
depends on !BR2_INET_IPV6 || !BR2_INSTALL_LIBSTDCPP || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
+config BR2_PACKAGE_XBMC_EGL_GLES
+ bool
+ default y
+ depends on BR2_PACKAGE_HAS_LIBEGL
+ depends on BR2_PACKAGE_HAS_LIBGLES
+ depends on !BR2_PACKAGE_XBMC_GL # prefer GL if available
+
+config BR2_PACKAGE_XBMC_GL
+ bool
+ default y
+ depends on BR2_PACKAGE_HAS_LIBGL
+ depends on !BR2_arm # xbmc needs egl/gles on arm
+
+comment "xbmc needs an OpenGL or an openGL ES and EGL backend"
+ depends on BR2_i386 || BR2_x86_64
+ depends on !BR2_PACKAGE_XBMC_GL && !BR2_PACKAGE_XBMC_EGL_GLES
+
comment "xbmc requires an OpenGL ES and EGL backend"
- depends on BR2_PACKAGE_XBMC_ARCH_SUPPORTS
- depends on !BR2_PACKAGE_HAS_LIBEGL || !BR2_PACKAGE_HAS_LIBGLES
+ depends on BR2_arm
+ depends on !BR2_PACKAGE_XBMC_EGL_GLES
menuconfig BR2_PACKAGE_XBMC
bool "xbmc"
select BR2_PACKAGE_LIBCDIO
select BR2_PACKAGE_LIBCURL
select BR2_PACKAGE_LIBFRIBIDI
+ select BR2_PACKAGE_LIBGLEW if BR2_PACKAGE_XBMC_GL
+ select BR2_PACKAGE_LIBGLU if BR2_PACKAGE_XBMC_GL
select BR2_PACKAGE_LIBGCRYPT
select BR2_PACKAGE_LIBID3TAG
select BR2_PACKAGE_LIBMAD
select BR2_PACKAGE_PYTHON_UNICODEDATA
select BR2_PACKAGE_PYTHON_ZLIB
select BR2_PACKAGE_READLINE
+ select BR2_PACKAGE_SDL if BR2_PACKAGE_XBMC_GL
+ select BR2_PACKAGE_SDL_X11 if BR2_PACKAGE_XBMC_GL
+ select BR2_PACKAGE_SDL_IMAGE if BR2_PACKAGE_XBMC_GL
select BR2_PACKAGE_SQLITE
select BR2_PACKAGE_TAGLIB
select BR2_PACKAGE_TIFF
select BR2_PACKAGE_TINYXML
+ select BR2_PACKAGE_XLIB_XMU if BR2_PACKAGE_XBMC_GL # needed by rsxs screensaver
+ select BR2_PACKAGE_XLIB_XRANDR if BR2_PACKAGE_XBMC_GL
+ select BR2_PACKAGE_XLIB_XT if BR2_PACKAGE_XBMC_GL # needed by rsxs screensaver
select BR2_PACKAGE_YAJL
select BR2_PACKAGE_ZLIB
depends on BR2_INET_IPV6
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_LARGEFILE
depends on BR2_TOOLCHAIN_HAS_THREADS
- depends on BR2_PACKAGE_HAS_LIBEGL && BR2_PACKAGE_HAS_LIBGLES
+ depends on BR2_PACKAGE_XBMC_EGL_GLES || BR2_PACKAGE_XBMC_GL
depends on BR2_USE_MMU # python
depends on BR2_USE_WCHAR
depends on BR2_PACKAGE_XBMC_ARCH_SUPPORTS
# http://wiki.xbmc.org/index.php?title=TexturePacker
XBMC_DEPENDENCIES = host-gawk host-gettext host-gperf host-infozip host-lzo host-sdl_image host-swig
XBMC_DEPENDENCIES += boost bzip2 expat flac fontconfig freetype jasper jpeg \
- libass libcdio libcurl libegl libfribidi libgcrypt libgles libmad libmodplug libmpeg2 \
+ libass libcdio libcurl libfribidi libgcrypt libmad libmodplug libmpeg2 \
libogg libplist libpng libsamplerate libungif libvorbis libxml2 libxslt lzo ncurses \
openssl pcre python readline sqlite taglib tiff tinyxml yajl zlib
--disable-crystalhd \
--disable-debug \
--disable-dvdcss \
- --disable-gl \
--disable-hal \
--disable-joystick \
--disable-mysql \
--disable-optical-drive \
--disable-projectm \
--disable-pulse \
- --disable-sdl \
--disable-ssh \
--disable-vaapi \
--disable-vdpau \
--disable-vtbdecoder \
- --disable-x11 \
- --disable-xrandr \
- --enable-gles \
--enable-optimizations
ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
XBMC_CONF_OPT += --disable-libmp3lame
endif
+# quote from xbmc/configure.in: "GLES overwrites GL if both set to yes."
+# we choose the opposite because opengl offers more features, like libva support
+ifeq ($(BR2_PACKAGE_XBMC_GL),y)
+XBMC_DEPENDENCIES += libglew libglu libgl sdl_image xlib_libX11 xlib_libXext \
+ xlib_libXmu xlib_libXrandr xlib_libXt
+XBMC_CONF_OPT += --enable-gl --enable-sdl --enable-x11 --enable-xrandr --disable-gles
+# fix rsxs compile
+# make sure target libpng-config is used, options taken from rsxs-0.9/acinclude.m4
+XBMC_CONF_ENV += \
+ jm_cv_func_gettimeofday_clobber=no \
+ mac_cv_pkg_png=$(STAGING_DIR)/usr/bin/libpng-config \
+ mac_cv_pkg_cppflags="`$(STAGING_DIR)/usr/bin/libpng-config --I_opts --cppflags`" \
+ mac_cv_pkg_cxxflags="`$(STAGING_DIR)/usr/bin/libpng-config --ccopts`" \
+ mac_cv_pkg_ldflags="`$(STAGING_DIR)/usr/bin/libpng-config --L_opts --R_opts`" \
+ mac_cv_pkg_libs="`$(STAGING_DIR)/usr/bin/libpng-config --libs`"
+XBMC_CONF_OPT += --enable-rsxs
+else
+XBMC_CONF_OPT += --disable-gl --disable-rsxs --disable-sdl --disable-x11 --disable-xrandr
+ifeq ($(BR2_PACKAGE_XBMC_EGL_GLES),y)
+XBMC_DEPENDENCIES += libegl libgles
+XBMC_CONF_OPT += --enable-gles
+else
+XBMC_CONF_OPT += --disable-gles
+endif
+endif
+
ifeq ($(BR2_PACKAGE_XBMC_LIBUSB),y)
XBMC_DEPENDENCIES += libusb-compat
XBMC_CONF_OPT += --enable-libusb