Permalink
Browse files

Merge pull request #1282 from huceke/raspberrypi

RaspberryPI support
  • Loading branch information...
2 parents d9d303f + 494cb5e commit 45fe6fce168e99e34cd7ffd437d482eabb2bd3da @huceke huceke committed Sep 4, 2012
Showing with 19,695 additions and 148 deletions.
  1. +1 −0 .gitignore
  2. +4 −0 Makefile.in
  3. +4 −0 Makefile.include.in
  4. +98 −9 configure.in
  5. +35 −0 docs/README.raspberrypi
  6. +1 −1 lib/libcec/Makefile
  7. +2 −7 lib/libsquish/Makefile.in
  8. +10 −0 lib/libsquish/config.h
  9. +1 −1 project/BuildDependencies/scripts/libcec_d.txt
  10. +20 −0 system/peripherals.xml
  11. +2 −3 system/playercorefactory.xml
  12. +1 −1 tools/android/depends/xbmc/Makefile
  13. +1 −1 tools/darwin/depends/libcec/Makefile
  14. +37 −0 tools/rbp/depends/Makefile
  15. +1 −0 tools/rbp/depends/autoconf/.gitignore
  16. +41 −0 tools/rbp/depends/autoconf/Makefile
  17. +1 −0 tools/rbp/depends/automake/.gitignore
  18. +41 −0 tools/rbp/depends/automake/Makefile
  19. +1 −0 tools/rbp/depends/cmake/.gitignore
  20. +41 −0 tools/rbp/depends/cmake/Makefile
  21. +55 −0 tools/rbp/depends/depends.mk
  22. +1 −0 tools/rbp/depends/help2man/.gitignore
  23. +40 −0 tools/rbp/depends/help2man/Makefile
  24. +1 −0 tools/rbp/depends/jasper/.gitignore
  25. +43 −0 tools/rbp/depends/jasper/Makefile
  26. +1 −0 tools/rbp/depends/liblzo2/.gitignore
  27. +41 −0 tools/rbp/depends/liblzo2/Makefile
  28. +1 −0 tools/rbp/depends/libnfs/.gitignore
  29. +41 −0 tools/rbp/depends/libnfs/Makefile
  30. +11 −0 tools/rbp/depends/libplist/0001-dontbuildswig.patch
  31. +45 −0 tools/rbp/depends/libplist/Makefile
  32. +1 −0 tools/rbp/depends/libshairport/.gitignore
  33. +270 −0 tools/rbp/depends/libshairport/001_add_ao.patch
  34. +12 −0 tools/rbp/depends/libshairport/002_fix_install_header.patch
  35. +10 −0 tools/rbp/depends/libshairport/003_fix_deadlock.patch
  36. +22 −0 tools/rbp/depends/libshairport/004_fix_bad_access.patch
  37. +10 −0 tools/rbp/depends/libshairport/005_fix_shutdown.patch
  38. +843 −0 tools/rbp/depends/libshairport/006_no_printf.patch
  39. +24 −0 tools/rbp/depends/libshairport/007_fix_syslog_defines.patch
  40. +21 −0 tools/rbp/depends/libshairport/008-add-missing-libs.patch
  41. +22 −0 tools/rbp/depends/libshairport/009_fix_ipv6.patch
  42. +154 −0 tools/rbp/depends/libshairport/010_handle_metadata.patch
  43. +50 −0 tools/rbp/depends/libshairport/Makefile
  44. +1 −0 tools/rbp/depends/libtool/.gitignore
  45. +41 −0 tools/rbp/depends/libtool/Makefile
  46. +1 −0 tools/rbp/depends/patchelf/.gitignore
  47. +41 −0 tools/rbp/depends/patchelf/Makefile
  48. +1 −0 tools/rbp/depends/pkg-config/.gitignore
  49. +42 −0 tools/rbp/depends/pkg-config/Makefile
  50. +1 −0 tools/rbp/depends/tiff/.gitignore
  51. +41 −0 tools/rbp/depends/tiff/Makefile
  52. +1 −0 tools/rbp/depends/tinyxml/.gitignore
  53. +49 −0 tools/rbp/depends/tinyxml/Makefile
  54. +20 −0 tools/rbp/depends/tinyxml/disable_xmltest.patch
  55. +18 −0 tools/rbp/depends/tinyxml/enforce-use-stl.patch
  56. +64 −0 tools/rbp/depends/tinyxml/entity.patch
  57. +11 −0 tools/rbp/depends/tinyxml/makefix.patch
  58. +27 −0 tools/rbp/depends/xbmc/Makefile
  59. +1 −0 tools/rbp/depends/yasm/.gitignore
  60. +41 −0 tools/rbp/depends/yasm/Makefile
  61. +41 −0 tools/rbp/setup-sdk.sh
  62. +9 −1 xbmc/Application.cpp
  63. +8 −0 xbmc/SystemGlobals.cpp
  64. +4 −0 xbmc/cores/AudioEngine/AEFactory.cpp
  65. +2 −2 xbmc/cores/AudioEngine/Utils/AEConvert.cpp
  66. +75 −11 xbmc/cores/VideoRenderers/BaseRenderer.cpp
  67. +3 −0 xbmc/cores/VideoRenderers/BaseRenderer.h
  68. +0 −1 xbmc/cores/VideoRenderers/LinuxRendererGLES.h
  69. +4 −0 xbmc/cores/VideoRenderers/RenderFlags.h
  70. +2 −0 xbmc/cores/dvdplayer/DVDMessageQueue.cpp
  71. +861 −0 xbmc/cores/omxplayer/BitstreamConverter.cpp
  72. +170 −0 xbmc/cores/omxplayer/BitstreamConverter.h
  73. +123 −0 xbmc/cores/omxplayer/DllOMX.h
  74. +20 −0 xbmc/cores/omxplayer/Makefile.in
  75. +1,482 −0 xbmc/cores/omxplayer/OMXAudio.cpp
  76. +152 −0 xbmc/cores/omxplayer/OMXAudio.h
  77. +119 −0 xbmc/cores/omxplayer/OMXAudioCodec.h
  78. +383 −0 xbmc/cores/omxplayer/OMXAudioCodecOMX.cpp
  79. +77 −0 xbmc/cores/omxplayer/OMXAudioCodecOMX.h
  80. +1,096 −0 xbmc/cores/omxplayer/OMXImage.cpp
  81. +108 −0 xbmc/cores/omxplayer/OMXImage.h
  82. +3,822 −0 xbmc/cores/omxplayer/OMXPlayer.cpp
  83. +458 −0 xbmc/cores/omxplayer/OMXPlayer.h
  84. +823 −0 xbmc/cores/omxplayer/OMXPlayerAudio.cpp
  85. +129 −0 xbmc/cores/omxplayer/OMXPlayerAudio.h
  86. +819 −0 xbmc/cores/omxplayer/OMXPlayerVideo.cpp
  87. +135 −0 xbmc/cores/omxplayer/OMXPlayerVideo.h
  88. +961 −0 xbmc/cores/omxplayer/OMXVideo.cpp
  89. +98 −0 xbmc/cores/omxplayer/OMXVideo.h
  90. +240 −0 xbmc/cores/omxplayer/OMXVideoCodec.h
  91. +10 −0 xbmc/cores/omxplayer/omxplayer_advancedsettings.xml
  92. +18 −0 xbmc/cores/playercorefactory/PlayerCoreConfig.h
  93. +7 −0 xbmc/cores/playercorefactory/PlayerCoreFactory.cpp
  94. +8 −2 xbmc/cores/playercorefactory/PlayerCoreFactory.h
  95. +1 −1 xbmc/guilib/GUIFontTTFGL.cpp
  96. +3 −0 xbmc/guilib/GUITexture.cpp
  97. +1 −1 xbmc/guilib/GUITextureGLES.cpp
  98. +48 −0 xbmc/guilib/GraphicContext.cpp
  99. +17 −13 xbmc/guilib/Resolution.h
  100. +55 −0 xbmc/guilib/Texture.cpp
  101. +5 −3 xbmc/guilib/gui3d.h
  102. +1 −0 xbmc/input/linux/LinuxInputDevices.h
  103. +4 −0 xbmc/interfaces/Builtins.cpp
  104. +227 −0 xbmc/linux/DllBCM.h
  105. +122 −0 xbmc/linux/DllOMX.h
  106. +3 −0 xbmc/linux/Makefile.in
  107. +1,068 −0 xbmc/linux/OMXClock.cpp
  108. +158 −0 xbmc/linux/OMXClock.h
  109. +1,711 −0 xbmc/linux/OMXCore.cpp
  110. +222 −0 xbmc/linux/OMXCore.h
  111. +77 −0 xbmc/linux/RBP.cpp
  112. +60 −0 xbmc/linux/RBP.h
  113. +6 −1 xbmc/peripherals/PeripheralTypes.h
  114. +10 −4 xbmc/peripherals/Peripherals.cpp
  115. +4 −0 xbmc/peripherals/bus/Makefile.in
  116. +69 −0 xbmc/peripherals/bus/linux/PeripheralBusRPi.cpp
  117. +41 −0 xbmc/peripherals/bus/linux/PeripheralBusRPi.h
  118. +3 −1 xbmc/peripherals/devices/PeripheralCecAdapter.cpp
  119. +15 −1 xbmc/pictures/Picture.cpp
  120. +4 −0 xbmc/rendering/gles/RenderSystemGLES.cpp
  121. +10 −0 xbmc/settings/AdvancedSettings.cpp
  122. +3 −0 xbmc/settings/AdvancedSettings.h
  123. +18 −4 xbmc/settings/GUISettings.cpp
  124. +2 −0 xbmc/system.h
  125. +4 −2 xbmc/utils/MathUtils.h
  126. +4 −0 xbmc/video/dialogs/GUIDialogVideoSettings.cpp
  127. +3 −0 xbmc/video/windows/GUIWindowFullScreen.cpp
  128. +1 −0 xbmc/windowing/WinSystem.cpp
  129. +1 −0 xbmc/windowing/WinSystem.h
  130. +1 −0 xbmc/windowing/egl/Makefile
  131. +6 −2 xbmc/windowing/egl/WinEGLPlatform.h
  132. +6 −0 xbmc/windowing/egl/WinEGLPlatformAndroid.cpp
  133. +43 −7 xbmc/windowing/egl/WinEGLPlatformGeneric.cpp
  134. +11 −2 xbmc/windowing/egl/WinEGLPlatformGeneric.h
  135. +713 −0 xbmc/windowing/egl/WinEGLPlatformRaspberryPI.cpp
  136. +98 −0 xbmc/windowing/egl/WinEGLPlatformRaspberryPI.h
  137. +89 −66 xbmc/windowing/egl/WinSystemGLES.cpp
  138. +1 −0 xbmc/windowing/egl/WinSystemGLES.h
  139. +16 −0 xbmc/xbmc.cpp
View
@@ -561,6 +561,7 @@ lib/cmyth/Makefile
/xbmc/cores/dvdplayer/Makefile
/xbmc/cores/amlplayer/Makefile
+/xbmc/cores/omxplayer/Makefile
# /lib/ffmpeg/
/lib/ffmpeg/config.h
View
@@ -151,6 +151,10 @@ ifeq (@USE_AMLPLAYER@,1)
DIRECTORY_ARCHIVES += xbmc/cores/amlplayer/amlplayer.a
endif
+ifeq (@USE_OMXPLAYER@,1)
+DIRECTORY_ARCHIVES += xbmc/cores/omxplayer/omxplayer.a
+endif
+
PAPCODECS_DIRS= \
lib/xbadpcm \
lib/nosefart \
View
@@ -40,6 +40,10 @@ ifneq (@USE_EXTERNAL_FFMPEG@,1)
endif
INCLUDES+=-I@abs_top_srcdir@/xbmc/linux
INCLUDES+=-I@abs_top_srcdir@/xbmc/cores/dvdplayer
+ifeq (@USE_OMXPLAYER@,1)
+INCLUDES+=-I@abs_top_srcdir@/xbmc/cores/AudioEngine
+INCLUDES+=-I@abs_top_srcdir@/xbmc/cores/AudioEngine/Utils
+endif
DEFINES+= \
@ARCH_DEFINES@ \
-D_FILE_DEFINED \
View
@@ -154,7 +154,8 @@ libusb_disabled="== libusb disabled. Plug and play USB device support will not b
libusb_disabled_udev_found="== libusb disabled. =="
libcec_enabled="== libcec enabled. =="
libcec_disabled="== libcec disabled. CEC adapter support will not be available. =="
-libcec_disabled_missing_libs="== libcec disabled because both libudev and libusb are not available. CEC adapter support will not be available. =="
+libcec_disabled_missing_libs="== libcec disabled because it either needs libudev, or libusb a compatible version of the RPi API. CEC adapter support will not be available. =="
+cec_rpi_api_missing="== no compatible RPi API found =="
# External library message strings
external_libraries_enabled="== Use of all supported external libraries enabled. =="
@@ -184,6 +185,12 @@ AC_ARG_WITH([arch],
[use_arch=$withval],
[use_arch=no])
+AC_ARG_WITH([platform],
+ [AS_HELP_STRING([--with-platform],
+ [use a pre-configured config for common arm boards])],
+ [use_platform=$withval],
+ [use_platform=none])
+
AC_ARG_WITH([cpu],
[AS_HELP_STRING([--with-cpu],
[build with given cpu passing to ffmpeg (default is no)])],
@@ -475,7 +482,7 @@ AC_ARG_ENABLE([libcap],
AC_ARG_ENABLE([player],
[AS_HELP_STRING([--enable-player],
- [enable additional players from a list of comma separated names, (default is none, choices are amlplayer)])],
+ [enable additional players from a list of comma separated names, (default is none, choices are amlplayer, omxplayer)])],
[add_players=$enableval],
[add_players=no])
@@ -639,11 +646,37 @@ if test "$target_platform" = "target_android" ; then
AC_DEFINE(HAS_EGLGLES, [1], [Define if supporting EGL based GLES Framebuffer])
fi
+case $use_platform in
+ raspberry-pi)
+ target_platform=target_raspberry_pi
+ use_neon=no
+ use_texturepacker=yes
+ use_texturepacker_native=yes
+ use_arch="arm"
+ use_cpu=arm1176jzf-s
+ use_armv5te="yes"
+ use_armv6t2="no"
+ use_armv6="yes"
+ use_armvfp="yes"
+ use_hardcoded_tables="yes"
+ use_alsa="no"
+ USE_TEXTUREPACKER_NATIVE_ROOT="$TEXTUREPACKER_NATIVE_ROOT"
+ ARCH="arm"
+ AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX -D_ARMEL -DTARGET_RASPBERRY_PI")
+ AC_DEFINE(HAS_EGLGLES, [1], [Define if supporting EGL based GLES Framebuffer])
+ USE_OMXLIB=1; AC_DEFINE([HAVE_OMXLIB],[1],["Define to 1 if OMX libs is enabled"])
+ CFLAGS="$CFLAGS"
+ CXXFLAGS="$CXXFLAGS"
+ ffmpeg_target_os=linux
+ ;;
+esac
+
if test "$build_shared_lib" = "yes"; then
final_message="$final_message\n Shared lib\tYes"
AC_SUBST(USE_LIBXBMC,1)
fi
+
# platform debug flags
if test "$use_debug" = "yes"; then
final_message="$final_message\n Debugging:\tYes"
@@ -670,8 +703,13 @@ CXXFLAGS="$CXXFLAGS $DEBUG_FLAGS"
if test "$use_optimizations" = "yes"; then
final_message="$final_message\n Optimization:\tYes"
- CXXFLAGS="$CXXFLAGS -O2"
- CFLAGS="$CFLAGS -O2"
+ if test "$target_platform" = "target_raspberry_pi"; then
+ CXXFLAGS="$CXXFLAGS"
+ CFLAGS="$CFLAGS"
+ else
+ CXXFLAGS="$CXXFLAGS -O2"
+ CFLAGS="$CFLAGS -O2"
+ fi
else
final_message="$final_message\n Optimization:\tNo"
fi
@@ -703,6 +741,9 @@ if test "$host_vendor" = "apple" ; then
LIBS="$LIBS -framework QuartzCore"
fi
USE_EXTERNAL_FFMPEG=1
+elif test "$target_platform" = "target_raspberry_pi"; then
+ ARCH="arm"
+ use_arch="arm"
elif test "$use_arch" = "arm"; then
CFLAGS="$CFLAGS -mno-apcs-stack-check"
CXXFLAGS="$CXXFLAGS -mno-apcs-stack-check"
@@ -792,8 +833,15 @@ if test "$use_gles" = "yes"; then
AC_DEFINE([HAVE_LIBGLESV2],[1],["Define to 1 if you have the `GLESv2' library (-lGLESv2)."])
AC_MSG_RESULT(== WARNING: OpenGLES support is assumed.)
else
- AC_CHECK_LIB([EGL], [main],, AC_MSG_ERROR($missing_library))
- AC_CHECK_LIB([GLESv2],[main],, AC_MSG_ERROR($missing_library))
+ if test "$target_platform" = "target_raspberry_pi"; then
+ AC_DEFINE([HAVE_LIBEGL],[1],["Define to 1 if you have the `EGL' library (-lEGL)."])
+ AC_DEFINE([HAVE_LIBGLESV2],[1],["Define to 1 if you have the `GLESv2' library (-lGLESv2)."])
+ AC_MSG_RESULT(== WARNING: OpenGLES support is assumed.)
+ LIBS="$LIBS -lEGL -lGLESv2 -lbcm_host -lvcos -lvchiq_arm"
+ else
+ AC_CHECK_LIB([EGL], [main],, AC_MSG_ERROR($missing_library))
+ AC_CHECK_LIB([GLESv2],[main],, AC_MSG_ERROR($missing_library))
+ fi
fi
else
if test "$use_gl" = "yes"; then
@@ -1353,9 +1401,22 @@ fi
# libcec
USE_LIBCEC=0
+USE_CEC_RPI_API=0
+use_rpi_cec_api="auto"
if test "x$use_libcec" != "xno"; then
- # libcec needs libudev or libusb under linux, or the device will never be detected.
- if test "$host_vendor" != "apple" && test "$use_libusb" = "no" && test "$use_libudev" = "no"; then
+ case "${host_cpu}" in
+ arm*)
+ echo "will check for RPi support"
+ AC_CHECK_HEADER(interface/vmcs_host/vc_cec.h,,use_rpi_cec_api="no")
+ ;;
+ *)
+ echo "will not check for RPi support (unsupported cpu: ${host_cpu})"
+ use_rpi_cec_api="no"
+ ;;
+ esac
+
+ # libcec needs libudev, libusb or the RPi API under linux, or the device will never be detected.
+ if test "$host_vendor" != "apple" && test "$use_libusb" = "no" && test "$use_libudev" = "no" && test "$use_rpi_cec_api" = "no"; then
if test "x$use_libcec" != "xauto"; then
AC_MSG_ERROR($libcec_disabled_missing_libs)
else
@@ -1366,11 +1427,20 @@ if test "x$use_libcec" != "xno"; then
# libcec is dyloaded, so we need to check for its headers and link any depends.
if test "x$use_libcec" != "xno"; then
- PKG_CHECK_MODULES([CEC],[libcec >= 1.7.0],,[use_libcec="no";AC_MSG_RESULT($libcec_disabled)])
+ if test "x$use_libcec" != "xauto"; then
+ PKG_CHECK_MODULES([CEC],[libcec >= 1.8.0],,[use_libcec="no";AC_MSG_ERROR($libcec_disabled)])
+ else
+ PKG_CHECK_MODULES([CEC],[libcec >= 1.8.0],,[use_libcec="no";AC_MSG_RESULT($libcec_disabled)])
+ fi
if test "x$use_libcec" != "xno"; then
INCLUDES="$INCLUDES $CEC_CFLAGS"
USE_LIBCEC=1;AC_DEFINE([HAVE_LIBCEC],[1],["Define to 1 if libcec is installed"])
+ if test "x$use_rpi_cec_api" != "xno"; then
+ LIBS+=" -lvcos -lvchiq_arm"
+ AC_DEFINE([HAVE_CEC_RPI_API],[1],["Define to 1 if the CEC RPi API is installed"])
+ USE_CEC_RPI_API=1
+ fi
XB_FIND_SONAME([LIBCEC],[cec],[use_libcec])
AC_MSG_NOTICE($libcec_enabled)
else
@@ -1629,6 +1699,10 @@ if test "$host_vendor" = "apple" ; then
use_openmax="no"
USE_OPENMAX=0
AC_MSG_NOTICE($openmax_disabled)
+elif test "$target_platform" = "target_raspberry_pi"; then
+ use_openmax="no"
+ USE_OPENMAX=0
+ AC_MSG_NOTICE($openmax_disabled)
else
if test "$use_gles" = "yes" && test "$use_openmax" = "auto"; then
PKG_CHECK_MODULES([OPENMAX], [libomxil-bellagio],
@@ -1656,6 +1730,9 @@ case $add_players in
AC_CHECK_HEADER([amlplayer/amports/amstream.h],, AC_MSG_ERROR($missing_headers))
XB_ADD_PLAYER([AMLPLAYER], [amlplayer])
;;
+ *omxplayer*)
+ XB_ADD_PLAYER([OMXPLAYER], [omxplayer])
+ ;;
esac
# platform specific bin utilities
@@ -2055,6 +2132,11 @@ fi
if test "x$use_libcec" != "xno"; then
final_message="$final_message\n libcec support:\tYes"
+ if test "x$use_rpi_cec_api" != "xno"; then
+ final_message="$final_message\n libcec RPi support:\tYes"
+ else
+ final_message="$final_message\n libcec RPi support:\tNo"
+ fi
else
final_message="$final_message\n libcec support:\tNo"
fi
@@ -2125,6 +2207,7 @@ OUTPUT_FILES="Makefile \
xbmc/cores/AudioEngine/Makefile \
xbmc/cores/paplayer/Makefile \
xbmc/cores/amlplayer/Makefile \
+ xbmc/cores/omxplayer/Makefile \
lib/timidity/Makefile \
lib/xbadpcm/Makefile \
lib/asap/Makefile \
@@ -2233,6 +2316,7 @@ AC_SUBST(USE_AIRTUNES)
AC_SUBST(USE_LIBUDEV)
AC_SUBST(USE_LIBUSB)
AC_SUBST(USE_LIBCEC)
+AC_SUBST(USE_CEC_RPI_API)
AC_SUBST(USE_MYSQL)
AC_SUBST(USE_WEB_SERVER)
AC_SUBST(USE_ANDROID)
@@ -2373,6 +2457,10 @@ XB_CONFIG_MODULE([lib/ffmpeg], [
`if test "$use_arch" != "no"; then echo --arch=$use_arch; fi`\
`if test "$use_cpu" != "no"; then echo --cpu=$use_cpu; fi`\
`if test "$use_neon" = "yes"; then echo --enable-neon; else echo --disable-neon; fi`\
+ `if test "$use_armv5te" = "yes"; then echo --enable-armv5te; else echo --disable-armv5te; fi`\
+ `if test "$use_armv6t2" = "yes"; then echo --enable-armv6t2; else echo --disable-armv6t2; fi`\
+ `if test "$use_armv6" = "yes"; then echo --enable-armv6; else echo --disable-armv6; fi`\
+ `if test "$use_armvfp" = "yes"; then echo --enable-armvfp; else echo --disable-armvfp; fi`\
--target-os=$ffmpeg_target_os \
--disable-muxers \
--enable-muxer=spdif \
@@ -2398,6 +2486,7 @@ XB_CONFIG_MODULE([lib/ffmpeg], [
--enable-protocol=http \
--enable-pthreads \
--enable-runtime-cpudetect \
+ `if test "$use_hardcoded_tables" = "yes"; then echo --enable-hardcoded-tables; else echo --disable-hardcoded-tables; fi`\
`if test "$target_platform" = "target_android" && test "$host_cpu" = "i686"; then echo --disable-mmx; fi #workaround for gcc 4.6 bug` \
`if test "$target_platform" = "target_android"; then echo "--custom-libname-with-major=\\$(SLIBPREF)\\$(FULLNAME)-\\$(LIBMAJOR)-${ARCH}\\$(SLIBSUF)"; \
else echo "--custom-libname-with-major=\\$(FULLNAME)-\\$(LIBMAJOR)-${ARCH}\\$(SLIBSUF)"; fi` \
View
@@ -0,0 +1,35 @@
+TOC
+1. Introduction
+2. Installing and setting up the buildroot environment
+
+-----------------------------------------------------------------------------
+1. Introduction
+-----------------------------------------------------------------------------
+
+For developemnt you can use a customized buildroot to produce a small
+raspberrypi system image which is used to boot the raspberrypi and as
+crosscompile environment.
+
+-----------------------------------------------------------------------------
+2. Installing and setting up the buildroot environment
+-----------------------------------------------------------------------------
+
+Create a top level directory where you checkout xbmc and buildroot.
+
+For example :
+
+mkdir /opt/xbmc-raspberrypi
+cd /opt/xbmc-raspberrypi
+
+Checkout xbmc :
+
+git clone https://github.com/xbmc/xbmc.git
+
+Checkout buildroot :
+
+git clone https://github.com/huceke/buildroot-rbp.git
+
+cd /opt/xbmc-raspberrypi/buildroot-rbp
+
+Follow the instroctions in README.rbp how to build the system and xbmc.
+
View
@@ -7,7 +7,7 @@
# lib name, version
LIBNAME=libcec
-VERSION=1.7.1
+VERSION=1.8.1
SOURCE=$(LIBNAME)-$(VERSION)
# download location and format
@@ -12,11 +12,6 @@ SRCS= \
squish.cpp
CXXFLAGS+=-I.
-ifeq ($(findstring powerpc,$(ARCH)),powerpc)
- CXXFLAGS+=-DSQUISH_USE_ALTIVEC=1 -maltivec
-else ifeq ($(findstring x86,$(ARCH)), x86)
- CXXFLAGS+=-DSQUISH_USE_SSE=2 -msse2
-endif
LIB=libsquish.a
@@ -32,9 +27,9 @@ all: $(LIB) $(NATIVE_LIB)
# TexturePacker links to libsquish and needs to run on build system, so make a native flavor.
$(NATIVE_LIB): $(SRCS)
ifeq ($(findstring Darwin,$(shell uname -s)),Darwin)
- g++ $(NATIVE_ARCH) -DSQUISH_USE_SSE=2 -msse2 -I. $(SRCS) -dynamiclib -install_name `pwd`/libsquish-native.so -o $@
+ g++ $(NATIVE_ARCH) -I. $(SRCS) -dynamiclib -install_name `pwd`/libsquish-native.so -o $@
else
- g++ -DSQUISH_USE_SSE=2 -msse2 -I. $(SRCS) -shared -fPIC -Wl,-soname,`pwd`/libsquish-native.so -o $@
+ g++ -I. $(SRCS) -shared -fPIC -Wl,-soname,`pwd`/libsquish-native.so -o $@
endif
endif
View
@@ -28,13 +28,23 @@
// Set to 1 when building squish to use Altivec instructions.
#ifndef SQUISH_USE_ALTIVEC
+#if defined(__ALTIVEC__)
+#define SQUISH_USE_ALTIVEC 1
+#else
#define SQUISH_USE_ALTIVEC 0
#endif
+#endif
// Set to 1 or 2 when building squish to use SSE or SSE2 instructions.
#ifndef SQUISH_USE_SSE
+#if defined(__SSE2__)
+#define SQUISH_USE_SSE 2
+#elif defined(__SSE__)
+#define SQUISH_USE_SSE 1
+#else
#define SQUISH_USE_SSE 0
#endif
+#endif
// Internally set SQUISH_USE_SIMD when either Altivec or SSE is available.
#if SQUISH_USE_ALTIVEC && SQUISH_USE_SSE
@@ -1,3 +1,3 @@
; filename source of the file
-libcec-1.7.1.zip http://mirrors.xbmc.org/build-deps/win32/
+libcec-1.8.1.zip http://mirrors.xbmc.org/build-deps/win32/
View
@@ -9,6 +9,26 @@
<setting key="key_power" value="XBMC.ShutDown()" label="13015" order="6" />
</peripheral>
+ <peripheral vendor_product="2708:1001" bus="rpi" name="Raspberry Pi CEC Adapter" mapTo="cec">
+ <setting key="enabled" type="bool" value="1" label="305" order="1" />
+ <setting key="activate_source" type="bool" value="1" label="36020" order="2" />
+ <setting key="wake_devices" type="string" value="0" label="36007" order="3" />
+ <setting key="standby_devices" type="string" value="0" label="36008" order="4" />
+ <setting key="cec_standby_screensaver" type="bool" value="1" label="36009" order="5" />
+ <setting key="standby_pc_on_tv_standby" type="enum" value="13011" label="36029" order="6" lvalues="36028|13005|13011" />
+ <setting key="standby_tv_on_pc_standby" type="bool" value="1" label="36026" order="7" />
+ <setting key="send_inactive_source" type="bool" value="1" label="36025" order="8" />
+ <setting key="use_tv_menu_language" type="bool" value="1" label="36018" order="9" />
+
+ <setting key="tv_vendor" type="int" value="0" configurable="0" />
+ <setting key="device_name" type="string" value="XBMC" configurable="0" />
+ <setting key="device_type" type="int" value="1" configurable="0" />
+ <setting key="physical_address" type="string" label="36021" value="0" configurable="0" />
+ <setting key="cec_hdmi_port" type="int" value="1" label="36015" configurable="0" />
+ <setting key="connected_device" type="int" label="36019" value="0" configurable="0" />
+ <setting key="port" type="string" value="" label="36022" configurable="0" />
+ </peripheral>
+
<peripheral vendor_product="2548:1001" bus="usb" name="Pulse-Eight CEC Adapter" mapTo="cec">
<setting key="enabled" type="bool" value="1" label="305" order="1" />
<setting key="activate_source" type="bool" value="1" label="36020" order="2" />
Oops, something went wrong.

0 comments on commit 45fe6fc

Please sign in to comment.