* [Buildroot] [PATCH v2 1/3] package/kodi: broken with sunxi mali package
@ 2017-07-05 16:32 Bernd Kuhls
2017-07-05 16:32 ` [Buildroot] [PATCH v2 2/3] package/kodi: remove -DCMAKE_C_FLAGS needed for sunxi-mali Bernd Kuhls
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Bernd Kuhls @ 2017-07-05 16:32 UTC (permalink / raw)
To: buildroot
Building this defconfig
BR2_arm=y
BR2_cortex_a8=y
BR2_ARM_INSTRUCTIONS_THUMB2=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_PACKAGE_KODI=y
BR2_PACKAGE_SUNXI_MALI=y
BR2_PACKAGE_PYTHON=y
BR2_PACKAGE_PYTHON_PY_ONLY=y
ends up with this build error:
[ 98%] Building CXX object build/windowing/egl/CMakeFiles/windowing_egl.dir/EGLWrapper.cpp.o
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp: In function ?bool {anonymous}::CorrectGuess(CEGLNativeType*, const string&)?:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:63:13: error: invalid use of incomplete type ?class CEGLNativeType?
if(guess->CheckCompatibility())
^~
In file included from /home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:40:0:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.h:28:7: note: forward declaration of ?class CEGLNativeType?
class CEGLNativeType;
^~~~~~~~~~~~~~
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:65:34: error: invalid use of incomplete type ?class CEGLNativeType?
if (implementation == guess->GetNativeName() ||
^~
In file included from /home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:40:0:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.h:28:7: note: forward declaration of ?class CEGLNativeType?
class CEGLNativeType;
^~~~~~~~~~~~~~
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp: In member function ?bool CEGLWrapper::Initialize(const string&)?:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:105:7: error: expected primary-expression before ?)? token
)
^
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:109:18: error: invalid use of incomplete type ?class CEGLNativeType?
m_nativeTypes->Initialize();
^~
In file included from /home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:40:0:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.h:28:7: note: forward declaration of ?class CEGLNativeType?
class CEGLNativeType;
^~~~~~~~~~~~~~
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp: In member function ?bool CEGLWrapper::Destroy()?:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:121:16: error: invalid use of incomplete type ?class CEGLNativeType?
m_nativeTypes->Destroy();
^~
In file included from /home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:40:0:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.h:28:7: note: forward declaration of ?class CEGLNativeType?
class CEGLNativeType;
^~~~~~~~~~~~~~
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:123:10: warning: possible problem detected in invocation of delete operator: [-Wdelete-incomplete]
delete m_nativeTypes;
^~~~~~~~~~~~~
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:123:10: warning: invalid use of incomplete type ?class CEGLNativeType?
In file included from /home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:40:0:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.h:28:7: note: forward declaration of ?class CEGLNativeType?
class CEGLNativeType;
^~~~~~~~~~~~~~
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:123:10: note: neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined
delete m_nativeTypes;
^~~~~~~~~~~~~
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp: In member function ?std::__cxx11::string CEGLWrapper::GetNativeName()?:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:131:25: error: invalid use of incomplete type ?class CEGLNativeType?
return m_nativeTypes->GetNativeName();
^~
In file included from /home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:40:0:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.h:28:7: note: forward declaration of ?class CEGLNativeType?
class CEGLNativeType;
^~~~~~~~~~~~~~
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp: In member function ?bool CEGLWrapper::CreateNativeDisplay()?:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:140:23: error: invalid use of incomplete type ?class CEGLNativeType?
return m_nativeTypes->CreateNativeDisplay();
^~
In file included from /home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:40:0:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.h:28:7: note: forward declaration of ?class CEGLNativeType?
class CEGLNativeType;
^~~~~~~~~~~~~~
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp: In member function ?bool CEGLWrapper::CreateNativeWindow()?:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:148:23: error: invalid use of incomplete type ?class CEGLNativeType?
return m_nativeTypes->CreateNativeWindow();
^~
In file included from /home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:40:0:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.h:28:7: note: forward declaration of ?class CEGLNativeType?
class CEGLNativeType;
^~~~~~~~~~~~~~
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp: In member function ?void CEGLWrapper::DestroyNativeDisplay()?:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:154:18: error: invalid use of incomplete type ?class CEGLNativeType?
m_nativeTypes->DestroyNativeDisplay();
^~
In file included from /home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:40:0:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.h:28:7: note: forward declaration of ?class CEGLNativeType?
class CEGLNativeType;
^~~~~~~~~~~~~~
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp: In member function ?void CEGLWrapper::DestroyNativeWindow()?:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:160:18: error: invalid use of incomplete type ?class CEGLNativeType?
m_nativeTypes->DestroyNativeWindow();
^~
In file included from /home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:40:0:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.h:28:7: note: forward declaration of ?class CEGLNativeType?
class CEGLNativeType;
^~~~~~~~~~~~~~
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp: In member function ?bool CEGLWrapper::SetNativeResolution(RESOLUTION_INFO&)?:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:167:23: error: invalid use of incomplete type ?class CEGLNativeType?
return m_nativeTypes->SetNativeResolution(res);
^~
In file included from /home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:40:0:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.h:28:7: note: forward declaration of ?class CEGLNativeType?
class CEGLNativeType;
^~~~~~~~~~~~~~
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp: In member function ?bool CEGLWrapper::ProbeResolutions(std::vector<RESOLUTION_INFO>&)?:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:174:23: error: invalid use of incomplete type ?class CEGLNativeType?
return m_nativeTypes->ProbeResolutions(resolutions);
^~
In file included from /home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:40:0:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.h:28:7: note: forward declaration of ?class CEGLNativeType?
class CEGLNativeType;
^~~~~~~~~~~~~~
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp: In member function ?bool CEGLWrapper::GetPreferredResolution(RESOLUTION_INFO*)?:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:182:23: error: invalid use of incomplete type ?class CEGLNativeType?
return m_nativeTypes->GetPreferredResolution(res);
^~
In file included from /home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:40:0:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.h:28:7: note: forward declaration of ?class CEGLNativeType?
class CEGLNativeType;
^~~~~~~~~~~~~~
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp: In member function ?bool CEGLWrapper::GetNativeResolution(RESOLUTION_INFO*)?:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:190:23: error: invalid use of incomplete type ?class CEGLNativeType?
return m_nativeTypes->GetNativeResolution(res);
^~
In file included from /home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:40:0:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.h:28:7: note: forward declaration of ?class CEGLNativeType?
class CEGLNativeType;
^~~~~~~~~~~~~~
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp: In member function ?bool CEGLWrapper::ShowWindow(bool)?:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:198:23: error: invalid use of incomplete type ?class CEGLNativeType?
return m_nativeTypes->ShowWindow(show);
^~
In file included from /home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:40:0:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.h:28:7: note: forward declaration of ?class CEGLNativeType?
class CEGLNativeType;
^~~~~~~~~~~~~~
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp: In member function ?bool CEGLWrapper::GetQuirks(int*)?:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:205:26: error: invalid use of incomplete type ?class CEGLNativeType?
*quirks = m_nativeTypes->GetQuirks();
^~
In file included from /home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:40:0:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.h:28:7: note: forward declaration of ?class CEGLNativeType?
class CEGLNativeType;
^~~~~~~~~~~~~~
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp: In member function ?bool CEGLWrapper::InitDisplay(void**)?:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:217:21: error: invalid use of incomplete type ?class CEGLNativeType?
if (!m_nativeTypes->GetNativeDisplay((XBNativeDisplayType**)&nativeDisplay))
^~
In file included from /home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:40:0:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.h:28:7: note: forward declaration of ?class CEGLNativeType?
class CEGLNativeType;
^~~~~~~~~~~~~~
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:217:41: error: ?XBNativeDisplayType? was not declared in this scope
if (!m_nativeTypes->GetNativeDisplay((XBNativeDisplayType**)&nativeDisplay))
^~~~~~~~~~~~~~~~~~~
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:217:62: error: expected primary-expression before ?)? token
if (!m_nativeTypes->GetNativeDisplay((XBNativeDisplayType**)&nativeDisplay))
^
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp: In member function ?bool CEGLWrapper::CreateSurface(EGLDisplay, EGLConfig, void**)?:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:288:21: error: invalid use of incomplete type ?class CEGLNativeType?
if (!m_nativeTypes->GetNativeWindow((XBNativeWindowType**)&nativeWindow))
^~
In file included from /home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:40:0:
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.h:28:7: note: forward declaration of ?class CEGLNativeType?
class CEGLNativeType;
^~~~~~~~~~~~~~
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:288:40: error: ?XBNativeWindowType? was not declared in this scope
if (!m_nativeTypes->GetNativeWindow((XBNativeWindowType**)&nativeWindow))
^~~~~~~~~~~~~~~~~~
/home/buildroot/output/build/kodi-17.3-Krypton/xbmc/windowing/egl/EGLWrapper.cpp:288:60: error: expected primary-expression before ?)? token
if (!m_nativeTypes->GetNativeWindow((XBNativeWindowType**)&nativeWindow))
^
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
v2: no changes
package/kodi/Config.in | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/package/kodi/Config.in b/package/kodi/Config.in
index 658670139..00e4fbaef 100644
--- a/package/kodi/Config.in
+++ b/package/kodi/Config.in
@@ -22,16 +22,21 @@ config BR2_PACKAGE_KODI_EGL_GLES
depends on BR2_PACKAGE_HAS_LIBEGL
depends on BR2_PACKAGE_HAS_LIBGLES
depends on !BR2_PACKAGE_KODI_GL_EGL # prefer GL if available
+ depends on !BR2_PACKAGE_SUNXI_MALI
config BR2_PACKAGE_KODI_GL_EGL
bool
default y
depends on BR2_PACKAGE_HAS_LIBEGL
depends on BR2_PACKAGE_HAS_LIBGL
+ depends on !BR2_PACKAGE_SUNXI_MALI
comment "kodi needs an OpenGL EGL with either an openGL or an OpenGL ES backend"
depends on !BR2_PACKAGE_KODI_GL_EGL && !BR2_PACKAGE_KODI_EGL_GLES
+comment "kodi does not support the sunxi mali driver"
+ depends on BR2_PACKAGE_SUNXI_MALI
+
menuconfig BR2_PACKAGE_KODI
bool "kodi"
depends on BR2_ENABLE_LOCALE
--
2.11.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v2 2/3] package/kodi: remove -DCMAKE_C_FLAGS needed for sunxi-mali
2017-07-05 16:32 [Buildroot] [PATCH v2 1/3] package/kodi: broken with sunxi mali package Bernd Kuhls
@ 2017-07-05 16:32 ` Bernd Kuhls
2017-07-05 16:32 ` [Buildroot] [PATCH v2 3/3] package/kodi: Add support for more archs Bernd Kuhls
2017-07-05 20:19 ` [Buildroot] [PATCH v2 1/3] package/kodi: broken with sunxi mali package Thomas Petazzoni
2 siblings, 0 replies; 6+ messages in thread
From: Bernd Kuhls @ 2017-07-05 16:32 UTC (permalink / raw)
To: buildroot
https://git.buildroot.net/buildroot/commit/package/kodi/kodi.mk?id=23c3919c5e5b4fa69af9d16ce6a9286869740fd3
added CFLAGS "because configure uses gcc to detect egl support".
This was needed for the autoconf build system and is not needed for the
cmake build system anymore, tested using this defconfig
BR2_arm=y
BR2_cortex_a8=y
BR2_ARM_INSTRUCTIONS_THUMB2=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_PACKAGE_KODI=y
BR2_PACKAGE_RPI_USERLAND=y
BR2_PACKAGE_PYTHON=y
BR2_PACKAGE_PYTHON_PY_ONLY=y
$ grep -i gles .config
BR2_PACKAGE_KODI_EGL_GLES=y
BR2_PACKAGE_PROVIDES_LIBGLES="rpi-userland"
BR2_PACKAGE_HAS_LIBGLES=y
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
v2: no changes
package/kodi/kodi.mk | 1 -
1 file changed, 1 deletion(-)
diff --git a/package/kodi/kodi.mk b/package/kodi/kodi.mk
index 309d0d3af..3d6c70bee 100644
--- a/package/kodi/kodi.mk
+++ b/package/kodi/kodi.mk
@@ -231,7 +231,6 @@ ifeq ($(BR2_PACKAGE_KODI_EGL_GLES),y)
KODI_DEPENDENCIES += libegl libgles
KODI_CONF_OPTS += \
-DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) `$(PKG_CONFIG_HOST_BINARY) --cflags --libs egl`" \
- -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) `$(PKG_CONFIG_HOST_BINARY) --cflags --libs egl`" \
-DENABLE_OPENGLES=ON
else
KODI_CONF_OPTS += -DENABLE_OPENGLES=OFF
--
2.11.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v2 3/3] package/kodi: Add support for more archs
2017-07-05 16:32 [Buildroot] [PATCH v2 1/3] package/kodi: broken with sunxi mali package Bernd Kuhls
2017-07-05 16:32 ` [Buildroot] [PATCH v2 2/3] package/kodi: remove -DCMAKE_C_FLAGS needed for sunxi-mali Bernd Kuhls
@ 2017-07-05 16:32 ` Bernd Kuhls
2017-07-05 20:26 ` Samuel Martin
2017-07-05 20:19 ` [Buildroot] [PATCH v2 1/3] package/kodi: broken with sunxi mali package Thomas Petazzoni
2 siblings, 1 reply; 6+ messages in thread
From: Bernd Kuhls @ 2017-07-05 16:32 UTC (permalink / raw)
To: buildroot
For the autoconf-based build system it was necessary to allow each
supported architecture separatly:
https://github.com/xbmc/xbmc/blob/Krypton/m4/xbmc_arch.m4
For the CMake build system this is not necessary anymore so we only
blacklist archs in Config.in known to be broken.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
v2: rebased
package/kodi/Config.in | 6 +++---
package/kodi/kodi.mk | 45 +++++++++++++++++++++++++++++++++++----------
2 files changed, 38 insertions(+), 13 deletions(-)
diff --git a/package/kodi/Config.in b/package/kodi/Config.in
index 00e4fbaef..e0c16fac3 100644
--- a/package/kodi/Config.in
+++ b/package/kodi/Config.in
@@ -1,9 +1,9 @@
config BR2_PACKAGE_KODI_ARCH_SUPPORTS
bool
- default y if (BR2_arm || (BR2_mipsel && BR2_TOOLCHAIN_USES_GLIBC) || BR2_i386 || BR2_x86_64) \
- && BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS \
- && BR2_TOOLCHAIN_HAS_SYNC_8
depends on BR2_USE_MMU # libcdio, and others
+# i386: needs sse (see upstream PR 10351)
+ default y if BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS \
+ && !(BR2_i386 && !BR2_X86_CPU_HAS_SSE)
comment "kodi needs python w/ .py modules, a uClibc or glibc toolchain w/ C++, locale, threads, wchar, dynamic library, gcc >= 4.8, host gcc >= 4.6"
depends on BR2_PACKAGE_KODI_ARCH_SUPPORTS
diff --git a/package/kodi/kodi.mk b/package/kodi/kodi.mk
index 3d6c70bee..e6fe5a6fa 100644
--- a/package/kodi/kodi.mk
+++ b/package/kodi/kodi.mk
@@ -57,6 +57,7 @@ KODI_EXTRA_DOWNLOADS = \
https://github.com/xbmc/libdvdread/archive/$(KODI_LIBDVDREAD_VERSION).tar.gz
KODI_CONF_OPTS += \
+ -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) $(KODI_CXX_FLAGS)" \
-DENABLE_CCACHE=OFF \
-DENABLE_DVDCSS=ON \
-DENABLE_INTERNAL_CROSSGUID=OFF \
@@ -70,14 +71,34 @@ KODI_CONF_OPTS += \
-DLIBDVDNAV_URL=$(DL_DIR)/$(KODI_LIBDVDNAV_VERSION).tar.gz \
-DLIBDVDREAD_URL=$(DL_DIR)/$(KODI_LIBDVDREAD_VERSION).tar.gz
-ifeq ($(BR2_arm),y)
+ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
+KODI_CONF_OPTS += -DCORE_SYSTEM_NAME=rbpi
+KODI_DEPENDENCIES += rpi-userland
+# These CPU-specific options are only used on rbpi:
+# https://github.com/xbmc/xbmc/blob/Krypton/project/cmake/scripts/rbpi/ArchSetup.cmake#L13
+ifeq ($(BR2_arm1176jzf_s)$(BR2_cortex_a7)$(BR2_cortex_a53),y)
+KODI_CONF_OPTS += -DWITH_CPU=$(BR2_GCC_TARGET_CPU)
+endif
+else
+ifeq ($(BR2_arceb)$(BR2_arcle),y)
+KODI_CONF_OPTS += -DWITH_ARCH=arc -DWITH_CPU=arc
+else ifeq ($(BR2_armeb),y)
KODI_CONF_OPTS += -DWITH_ARCH=arm -DWITH_CPU=arm
-else ifeq ($(BR2_mips),y)
-KODI_CONF_OPTS += -DWITH_ARCH=mips -DWITH_CPU=mips
-else ifeq ($(BR2_i386),y)
-KODI_CONF_OPTS += -DWITH_ARCH=i486-linux -DWITH_CPU=$(BR2_GCC_TARGET_ARCH)
-else ifeq ($(BR2_x86_64),y)
-KODI_CONF_OPTS += -DWITH_ARCH=x86_64-linux -DWITH_CPU=x86_64
+else ifeq ($(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el),y)
+KODI_CONF_OPTS += \
+ -DWITH_ARCH=mips$(if $(BR2_ARCH_IS_64),64) \
+ -DWITH_CPU=mips$(if $(BR2_ARCH_IS_64),64)
+else ifeq ($(BR2_powerpc)$(BR2_powerpc64le),y)
+KODI_CONF_OPTS += \
+ -DWITH_ARCH=powerpc$(if $(BR2_ARCH_IS_64),64) \
+ -DWITH_CPU=powerpc$(if $(BR2_ARCH_IS_64),64)
+else ifeq ($(BR2_powerpc64)$(BR2_sparc64)$(BR2_sh4)$(BR2_xtensa),y)
+KODI_CONF_OPTS += -DWITH_ARCH=$(BR2_ARCH) -DWITH_CPU=$(BR2_ARCH)
+else
+# Kodi auto-detects ARCH, tested: arm, aarch64, i386, x86_64
+# see project/cmake/scripts/linux/ArchSetup.cmake
+KODI_CONF_OPTS += -DWITH_CPU=$(BR2_ARCH)
+endif
endif
ifeq ($(BR2_X86_CPU_HAS_SSE),y)
@@ -128,6 +149,11 @@ else
KODI_CONF_OPTS += -D_AVX2_OK=OFF -D_AVX2_TRUE=OFF
endif
+# mips: uses __atomic_load_8
+ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
+KODI_CXX_FLAGS += -latomic
+endif
+
ifeq ($(BR2_PACKAGE_KODI_MYSQL),y)
KODI_CONF_OPTS += -DENABLE_MYSQLCLIENT=ON
KODI_DEPENDENCIES += mysql
@@ -229,9 +255,8 @@ endif
ifeq ($(BR2_PACKAGE_KODI_EGL_GLES),y)
KODI_DEPENDENCIES += libegl libgles
-KODI_CONF_OPTS += \
- -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) `$(PKG_CONFIG_HOST_BINARY) --cflags --libs egl`" \
- -DENABLE_OPENGLES=ON
+KODI_CONF_OPTS += -DENABLE_OPENGLES=ON
+KODI_CXX_FLAGS = `$(PKG_CONFIG_HOST_BINARY) --cflags --libs egl`
else
KODI_CONF_OPTS += -DENABLE_OPENGLES=OFF
endif
--
2.11.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v2 1/3] package/kodi: broken with sunxi mali package
2017-07-05 16:32 [Buildroot] [PATCH v2 1/3] package/kodi: broken with sunxi mali package Bernd Kuhls
2017-07-05 16:32 ` [Buildroot] [PATCH v2 2/3] package/kodi: remove -DCMAKE_C_FLAGS needed for sunxi-mali Bernd Kuhls
2017-07-05 16:32 ` [Buildroot] [PATCH v2 3/3] package/kodi: Add support for more archs Bernd Kuhls
@ 2017-07-05 20:19 ` Thomas Petazzoni
2017-07-15 15:50 ` Bernd Kuhls
2 siblings, 1 reply; 6+ messages in thread
From: Thomas Petazzoni @ 2017-07-05 20:19 UTC (permalink / raw)
To: buildroot
Hello,
On Wed, 5 Jul 2017 18:32:52 +0200, Bernd Kuhls wrote:
> diff --git a/package/kodi/Config.in b/package/kodi/Config.in
> index 658670139..00e4fbaef 100644
> --- a/package/kodi/Config.in
> +++ b/package/kodi/Config.in
> @@ -22,16 +22,21 @@ config BR2_PACKAGE_KODI_EGL_GLES
> depends on BR2_PACKAGE_HAS_LIBEGL
> depends on BR2_PACKAGE_HAS_LIBGLES
> depends on !BR2_PACKAGE_KODI_GL_EGL # prefer GL if available
> + depends on !BR2_PACKAGE_SUNXI_MALI
I'm not super happy with this solution. A quick Google search for
"invalid use of incomplete type ?class CEGLNativeType?" shows up a
bunch of results, and not with sunxi-mali.
According to https://github.com/ValveSoftware/steamlink-sdk/issues/93,
it seemed to be a pkg-config issue.
Perhaps some more investigation would be useful here?
Thanks,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v2 3/3] package/kodi: Add support for more archs
2017-07-05 16:32 ` [Buildroot] [PATCH v2 3/3] package/kodi: Add support for more archs Bernd Kuhls
@ 2017-07-05 20:26 ` Samuel Martin
0 siblings, 0 replies; 6+ messages in thread
From: Samuel Martin @ 2017-07-05 20:26 UTC (permalink / raw)
To: buildroot
Hi Bernd,
On Wed, Jul 5, 2017 at 6:32 PM, Bernd Kuhls <bernd.kuhls@t-online.de> wrote:
> For the autoconf-based build system it was necessary to allow each
> supported architecture separatly:
> https://github.com/xbmc/xbmc/blob/Krypton/m4/xbmc_arch.m4
>
> For the CMake build system this is not necessary anymore so we only
> blacklist archs in Config.in known to be broken.
>
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
> v2: rebased
>
> package/kodi/Config.in | 6 +++---
> package/kodi/kodi.mk | 45 +++++++++++++++++++++++++++++++++++----------
> 2 files changed, 38 insertions(+), 13 deletions(-)
>
> diff --git a/package/kodi/Config.in b/package/kodi/Config.in
> index 00e4fbaef..e0c16fac3 100644
> --- a/package/kodi/Config.in
> +++ b/package/kodi/Config.in
> @@ -1,9 +1,9 @@
> config BR2_PACKAGE_KODI_ARCH_SUPPORTS
> bool
> - default y if (BR2_arm || (BR2_mipsel && BR2_TOOLCHAIN_USES_GLIBC) || BR2_i386 || BR2_x86_64) \
> - && BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS \
> - && BR2_TOOLCHAIN_HAS_SYNC_8
> depends on BR2_USE_MMU # libcdio, and others
> +# i386: needs sse (see upstream PR 10351)
> + default y if BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS \
> + && !(BR2_i386 && !BR2_X86_CPU_HAS_SSE)
>
> comment "kodi needs python w/ .py modules, a uClibc or glibc toolchain w/ C++, locale, threads, wchar, dynamic library, gcc >= 4.8, host gcc >= 4.6"
> depends on BR2_PACKAGE_KODI_ARCH_SUPPORTS
> diff --git a/package/kodi/kodi.mk b/package/kodi/kodi.mk
> index 3d6c70bee..e6fe5a6fa 100644
> --- a/package/kodi/kodi.mk
> +++ b/package/kodi/kodi.mk
> @@ -57,6 +57,7 @@ KODI_EXTRA_DOWNLOADS = \
> https://github.com/xbmc/libdvdread/archive/$(KODI_LIBDVDREAD_VERSION).tar.gz
>
> KODI_CONF_OPTS += \
> + -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) $(KODI_CXX_FLAGS)" \
> -DENABLE_CCACHE=OFF \
> -DENABLE_DVDCSS=ON \
> -DENABLE_INTERNAL_CROSSGUID=OFF \
> @@ -70,14 +71,34 @@ KODI_CONF_OPTS += \
> -DLIBDVDNAV_URL=$(DL_DIR)/$(KODI_LIBDVDNAV_VERSION).tar.gz \
> -DLIBDVDREAD_URL=$(DL_DIR)/$(KODI_LIBDVDREAD_VERSION).tar.gz
>
> -ifeq ($(BR2_arm),y)
> +ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
> +KODI_CONF_OPTS += -DCORE_SYSTEM_NAME=rbpi
> +KODI_DEPENDENCIES += rpi-userland
> +# These CPU-specific options are only used on rbpi:
> +# https://github.com/xbmc/xbmc/blob/Krypton/project/cmake/scripts/rbpi/ArchSetup.cmake#L13
> +ifeq ($(BR2_arm1176jzf_s)$(BR2_cortex_a7)$(BR2_cortex_a53),y)
> +KODI_CONF_OPTS += -DWITH_CPU=$(BR2_GCC_TARGET_CPU)
> +endif
> +else
> +ifeq ($(BR2_arceb)$(BR2_arcle),y)
> +KODI_CONF_OPTS += -DWITH_ARCH=arc -DWITH_CPU=arc
> +else ifeq ($(BR2_armeb),y)
> KODI_CONF_OPTS += -DWITH_ARCH=arm -DWITH_CPU=arm
> -else ifeq ($(BR2_mips),y)
> -KODI_CONF_OPTS += -DWITH_ARCH=mips -DWITH_CPU=mips
> -else ifeq ($(BR2_i386),y)
> -KODI_CONF_OPTS += -DWITH_ARCH=i486-linux -DWITH_CPU=$(BR2_GCC_TARGET_ARCH)
> -else ifeq ($(BR2_x86_64),y)
> -KODI_CONF_OPTS += -DWITH_ARCH=x86_64-linux -DWITH_CPU=x86_64
> +else ifeq ($(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el),y)
> +KODI_CONF_OPTS += \
> + -DWITH_ARCH=mips$(if $(BR2_ARCH_IS_64),64) \
> + -DWITH_CPU=mips$(if $(BR2_ARCH_IS_64),64)
> +else ifeq ($(BR2_powerpc)$(BR2_powerpc64le),y)
> +KODI_CONF_OPTS += \
> + -DWITH_ARCH=powerpc$(if $(BR2_ARCH_IS_64),64) \
> + -DWITH_CPU=powerpc$(if $(BR2_ARCH_IS_64),64)
> +else ifeq ($(BR2_powerpc64)$(BR2_sparc64)$(BR2_sh4)$(BR2_xtensa),y)
> +KODI_CONF_OPTS += -DWITH_ARCH=$(BR2_ARCH) -DWITH_CPU=$(BR2_ARCH)
> +else
> +# Kodi auto-detects ARCH, tested: arm, aarch64, i386, x86_64
> +# see project/cmake/scripts/linux/ArchSetup.cmake
> +KODI_CONF_OPTS += -DWITH_CPU=$(BR2_ARCH)
> +endif
> endif
>
> ifeq ($(BR2_X86_CPU_HAS_SSE),y)
> @@ -128,6 +149,11 @@ else
> KODI_CONF_OPTS += -D_AVX2_OK=OFF -D_AVX2_TRUE=OFF
> endif
>
> +# mips: uses __atomic_load_8
> +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
> +KODI_CXX_FLAGS += -latomic
> +endif
> +
> ifeq ($(BR2_PACKAGE_KODI_MYSQL),y)
> KODI_CONF_OPTS += -DENABLE_MYSQLCLIENT=ON
> KODI_DEPENDENCIES += mysql
> @@ -229,9 +255,8 @@ endif
>
> ifeq ($(BR2_PACKAGE_KODI_EGL_GLES),y)
> KODI_DEPENDENCIES += libegl libgles
> -KODI_CONF_OPTS += \
> - -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) `$(PKG_CONFIG_HOST_BINARY) --cflags --libs egl`" \
> - -DENABLE_OPENGLES=ON
> +KODI_CONF_OPTS += -DENABLE_OPENGLES=ON
> +KODI_CXX_FLAGS = `$(PKG_CONFIG_HOST_BINARY) --cflags --libs egl`
s/=/+=/ otherwise you may override "-latomic" set just above.
> else
> KODI_CONF_OPTS += -DENABLE_OPENGLES=OFF
> endif
> --
> 2.11.0
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Regards,
--
Samuel
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v2 1/3] package/kodi: broken with sunxi mali package
2017-07-05 20:19 ` [Buildroot] [PATCH v2 1/3] package/kodi: broken with sunxi mali package Thomas Petazzoni
@ 2017-07-15 15:50 ` Bernd Kuhls
0 siblings, 0 replies; 6+ messages in thread
From: Bernd Kuhls @ 2017-07-15 15:50 UTC (permalink / raw)
To: buildroot
Hi Thomas,
Am Wed, 05 Jul 2017 22:19:24 +0200 schrieb Thomas Petazzoni:
> Hello,
>
> On Wed, 5 Jul 2017 18:32:52 +0200, Bernd Kuhls wrote:
>
>> diff --git a/package/kodi/Config.in b/package/kodi/Config.in index
>> 658670139..00e4fbaef 100644 --- a/package/kodi/Config.in +++
>> b/package/kodi/Config.in @@ -22,16 +22,21 @@ config
>> BR2_PACKAGE_KODI_EGL_GLES
>> depends on BR2_PACKAGE_HAS_LIBEGL depends on
BR2_PACKAGE_HAS_LIBGLES
>> depends on !BR2_PACKAGE_KODI_GL_EGL # prefer GL if available
>> + depends on !BR2_PACKAGE_SUNXI_MALI
>
> I'm not super happy with this solution. A quick Google search for
> "invalid use of incomplete type ?class CEGLNativeType?" shows up a bunch
> of results, and not with sunxi-mali.
>
> According to https://github.com/ValveSoftware/steamlink-sdk/issues/93,
> it seemed to be a pkg-config issue.
this issue happened with the autoconf-based build system in combination
with sdl2 support, it is unrelated to sunxi.
> Perhaps some more investigation would be useful here?
According to http://linux-sunxi.org/Kodi#Support_for_sunxi_in_Kodi the
Kodi project does not support sunxi hardware.
The egl code of Kodi contains platform specific files for aml, imx and
rbpi: https://github.com/xbmc/xbmc/tree/master/xbmc/windowing/egl
No code seems to be provided by upstream to support the sunxi platform
which is the reason for the build error I fixed with my patch.
There are some patches floating around to add sunxi support to Kodi
however, a quick search found this discussion about them:
http://www.orangepi.org/orangepibbsen///forum.php?
mod=viewthread&tid=2266&page=3
But at the end the fact remains that Kodi does not directly support sunxi
so we should disable the usage of a broken defconfig. Adding sunxi
support would be a feature patch to the Kodi package which, if possible
at all, is afair not the policy of the buildroot project.
Regards, Bernd
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2017-07-15 15:50 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-05 16:32 [Buildroot] [PATCH v2 1/3] package/kodi: broken with sunxi mali package Bernd Kuhls
2017-07-05 16:32 ` [Buildroot] [PATCH v2 2/3] package/kodi: remove -DCMAKE_C_FLAGS needed for sunxi-mali Bernd Kuhls
2017-07-05 16:32 ` [Buildroot] [PATCH v2 3/3] package/kodi: Add support for more archs Bernd Kuhls
2017-07-05 20:26 ` Samuel Martin
2017-07-05 20:19 ` [Buildroot] [PATCH v2 1/3] package/kodi: broken with sunxi mali package Thomas Petazzoni
2017-07-15 15:50 ` Bernd Kuhls
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox