1*4882a593Smuzhiyun################################################################################ 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# kodi 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun################################################################################ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun# When updating the version, please also update kodi-jsonschemabuilder 8*4882a593Smuzhiyun# and kodi-texturepacker 9*4882a593SmuzhiyunKODI_VERSION_MAJOR = 19.3 10*4882a593SmuzhiyunKODI_VERSION_NAME = Matrix 11*4882a593SmuzhiyunKODI_VERSION = $(KODI_VERSION_MAJOR)-$(KODI_VERSION_NAME) 12*4882a593SmuzhiyunKODI_SITE = $(call github,xbmc,xbmc,$(KODI_VERSION)) 13*4882a593SmuzhiyunKODI_LICENSE = GPL-2.0 14*4882a593SmuzhiyunKODI_LICENSE_FILES = LICENSE.md 15*4882a593SmuzhiyunKODI_CPE_ID_VENDOR = kodi 16*4882a593SmuzhiyunKODI_CPE_ID_VERSION = $(KODI_VERSION_MAJOR) 17*4882a593Smuzhiyun# needed for binary addons 18*4882a593SmuzhiyunKODI_INSTALL_STAGING = YES 19*4882a593Smuzhiyun# kodi recommends building out-of-source 20*4882a593SmuzhiyunKODI_SUPPORTS_IN_SOURCE_BUILD = NO 21*4882a593SmuzhiyunKODI_DEPENDENCIES = \ 22*4882a593Smuzhiyun ffmpeg \ 23*4882a593Smuzhiyun flatbuffers \ 24*4882a593Smuzhiyun fmt \ 25*4882a593Smuzhiyun fontconfig \ 26*4882a593Smuzhiyun freetype \ 27*4882a593Smuzhiyun fstrcmp \ 28*4882a593Smuzhiyun host-flatbuffers \ 29*4882a593Smuzhiyun host-gawk \ 30*4882a593Smuzhiyun host-gettext \ 31*4882a593Smuzhiyun host-gperf \ 32*4882a593Smuzhiyun host-kodi-jsonschemabuilder \ 33*4882a593Smuzhiyun host-kodi-texturepacker \ 34*4882a593Smuzhiyun host-nasm \ 35*4882a593Smuzhiyun host-swig \ 36*4882a593Smuzhiyun host-xmlstarlet \ 37*4882a593Smuzhiyun libass \ 38*4882a593Smuzhiyun libcdio \ 39*4882a593Smuzhiyun libcrossguid \ 40*4882a593Smuzhiyun libcurl \ 41*4882a593Smuzhiyun libdrm \ 42*4882a593Smuzhiyun libegl \ 43*4882a593Smuzhiyun libfribidi \ 44*4882a593Smuzhiyun libplist \ 45*4882a593Smuzhiyun lzo \ 46*4882a593Smuzhiyun openssl \ 47*4882a593Smuzhiyun pcre \ 48*4882a593Smuzhiyun python3 \ 49*4882a593Smuzhiyun rapidjson \ 50*4882a593Smuzhiyun spdlog \ 51*4882a593Smuzhiyun sqlite \ 52*4882a593Smuzhiyun taglib \ 53*4882a593Smuzhiyun tinyxml \ 54*4882a593Smuzhiyun zlib 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun# taken from tools/depends/target/*/*-VERSION 57*4882a593SmuzhiyunKODI_LIBDVDCSS_VERSION = 1.4.2-Leia-Beta-5 58*4882a593SmuzhiyunKODI_LIBDVDNAV_VERSION = 6.0.0-Leia-Alpha-3 59*4882a593SmuzhiyunKODI_LIBDVDREAD_VERSION = 6.0.0-Leia-Alpha-3 60*4882a593SmuzhiyunKODI_EXTRA_DOWNLOADS += \ 61*4882a593Smuzhiyun $(call github,xbmc,libdvdcss,$(KODI_LIBDVDCSS_VERSION))/kodi-libdvdcss-$(KODI_LIBDVDCSS_VERSION).tar.gz \ 62*4882a593Smuzhiyun $(call github,xbmc,libdvdnav,$(KODI_LIBDVDNAV_VERSION))/kodi-libdvdnav-$(KODI_LIBDVDNAV_VERSION).tar.gz \ 63*4882a593Smuzhiyun $(call github,xbmc,libdvdread,$(KODI_LIBDVDREAD_VERSION))/kodi-libdvdread-$(KODI_LIBDVDREAD_VERSION).tar.gz 64*4882a593Smuzhiyun 65*4882a593SmuzhiyunKODI_CONF_OPTS += \ 66*4882a593Smuzhiyun -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) $(KODI_C_FLAGS)" \ 67*4882a593Smuzhiyun -DENABLE_APP_AUTONAME=OFF \ 68*4882a593Smuzhiyun -DENABLE_CCACHE=OFF \ 69*4882a593Smuzhiyun -DENABLE_DVDCSS=ON \ 70*4882a593Smuzhiyun -DENABLE_INTERNAL_CROSSGUID=OFF \ 71*4882a593Smuzhiyun -DWITH_FFMPEG=$(STAGING_DIR)/usr \ 72*4882a593Smuzhiyun -DENABLE_INTERNAL_FLATBUFFERS=OFF \ 73*4882a593Smuzhiyun -DFLATBUFFERS_FLATC_EXECUTABLE=$(HOST_DIR)/bin/flatc \ 74*4882a593Smuzhiyun -DKODI_DEPENDSBUILD=OFF \ 75*4882a593Smuzhiyun -DENABLE_LDGOLD=OFF \ 76*4882a593Smuzhiyun -DNATIVEPREFIX=$(HOST_DIR) \ 77*4882a593Smuzhiyun -DDEPENDS_PATH=$(STAGING_DIR)/usr \ 78*4882a593Smuzhiyun -DENABLE_TESTING=OFF \ 79*4882a593Smuzhiyun -DWITH_JSONSCHEMABUILDER=$(HOST_DIR)/bin/JsonSchemaBuilder \ 80*4882a593Smuzhiyun -DWITH_TEXTUREPACKER=$(HOST_DIR)/bin/TexturePacker \ 81*4882a593Smuzhiyun -DLIBDVDCSS_URL=$(KODI_DL_DIR)/kodi-libdvdcss-$(KODI_LIBDVDCSS_VERSION).tar.gz \ 82*4882a593Smuzhiyun -DLIBDVDNAV_URL=$(KODI_DL_DIR)/kodi-libdvdnav-$(KODI_LIBDVDNAV_VERSION).tar.gz \ 83*4882a593Smuzhiyun -DLIBDVDREAD_URL=$(KODI_DL_DIR)/kodi-libdvdread-$(KODI_LIBDVDREAD_VERSION).tar.gz 84*4882a593Smuzhiyun 85*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_RENDER_SYSTEM_GL),y) 86*4882a593SmuzhiyunKODI_CONF_OPTS += -DAPP_RENDER_SYSTEM=gl 87*4882a593SmuzhiyunKODI_DEPENDENCIES += libgl libglu 88*4882a593Smuzhiyunelse ifeq ($(BR2_PACKAGE_KODI_RENDER_SYSTEM_GLES),y) 89*4882a593SmuzhiyunKODI_CONF_OPTS += -DAPP_RENDER_SYSTEM=gles 90*4882a593SmuzhiyunKODI_DEPENDENCIES += libgles 91*4882a593Smuzhiyunendif 92*4882a593Smuzhiyun 93*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_GBM),y) 94*4882a593SmuzhiyunKODI_CORE_PLATFORM_NAME += gbm 95*4882a593SmuzhiyunKODI_DEPENDENCIES += libinput libxkbcommon mesa3d 96*4882a593Smuzhiyunendif 97*4882a593Smuzhiyun 98*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_WAYLAND),y) 99*4882a593SmuzhiyunKODI_CONF_OPTS += \ 100*4882a593Smuzhiyun -DPC_WAYLANDPP_SCANNER=$(HOST_DIR)/bin/wayland-scanner \ 101*4882a593Smuzhiyun -DPC_WAYLANDPP_SCANNER_FOUND=ON 102*4882a593SmuzhiyunKODI_CORE_PLATFORM_NAME += wayland 103*4882a593SmuzhiyunKODI_DEPENDENCIES += libxkbcommon waylandpp 104*4882a593Smuzhiyunendif 105*4882a593Smuzhiyun 106*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_X11),y) 107*4882a593SmuzhiyunKODI_CORE_PLATFORM_NAME += x11 108*4882a593SmuzhiyunKODI_DEPENDENCIES += \ 109*4882a593Smuzhiyun xlib_libX11 \ 110*4882a593Smuzhiyun xlib_libXext \ 111*4882a593Smuzhiyun xlib_libXrandr 112*4882a593Smuzhiyunendif 113*4882a593Smuzhiyun 114*4882a593SmuzhiyunKODI_CONF_OPTS += -DCORE_PLATFORM_NAME="$(KODI_CORE_PLATFORM_NAME)" 115*4882a593Smuzhiyun 116*4882a593Smuzhiyunifeq ($(BR2_ENABLE_LOCALE),) 117*4882a593SmuzhiyunKODI_DEPENDENCIES += libiconv 118*4882a593Smuzhiyunendif 119*4882a593Smuzhiyun 120*4882a593Smuzhiyunifeq ($(BR2_arceb)$(BR2_arcle),y) 121*4882a593SmuzhiyunKODI_CONF_OPTS += -DWITH_ARCH=arc -DWITH_CPU=arc 122*4882a593Smuzhiyunelse ifeq ($(BR2_armeb),y) 123*4882a593SmuzhiyunKODI_CONF_OPTS += -DWITH_ARCH=arm -DWITH_CPU=arm 124*4882a593Smuzhiyunelse ifeq ($(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el),y) 125*4882a593SmuzhiyunKODI_CONF_OPTS += \ 126*4882a593Smuzhiyun -DWITH_ARCH=mips$(if $(BR2_ARCH_IS_64),64) \ 127*4882a593Smuzhiyun -DWITH_CPU=mips$(if $(BR2_ARCH_IS_64),64) 128*4882a593Smuzhiyunelse ifeq ($(BR2_powerpc)$(BR2_powerpc64le),y) 129*4882a593SmuzhiyunKODI_CONF_OPTS += \ 130*4882a593Smuzhiyun -DWITH_ARCH=powerpc$(if $(BR2_ARCH_IS_64),64) \ 131*4882a593Smuzhiyun -DWITH_CPU=powerpc$(if $(BR2_ARCH_IS_64),64) 132*4882a593Smuzhiyunelse ifeq ($(BR2_powerpc64)$(BR2_sparc64)$(BR2_sh4)$(BR2_xtensa),y) 133*4882a593SmuzhiyunKODI_CONF_OPTS += -DWITH_ARCH=$(BR2_ARCH) -DWITH_CPU=$(BR2_ARCH) 134*4882a593Smuzhiyunelse 135*4882a593Smuzhiyun# Kodi auto-detects ARCH, tested: arm, aarch64, i386, x86_64 136*4882a593Smuzhiyun# see project/cmake/scripts/linux/ArchSetup.cmake 137*4882a593SmuzhiyunKODI_CONF_OPTS += -DWITH_CPU=$(BR2_ARCH) 138*4882a593Smuzhiyunendif 139*4882a593Smuzhiyun 140*4882a593Smuzhiyunifeq ($(BR2_X86_CPU_HAS_SSE),y) 141*4882a593SmuzhiyunKODI_CONF_OPTS += -D_SSE_OK=ON -D_SSE_TRUE=ON 142*4882a593Smuzhiyunelse 143*4882a593SmuzhiyunKODI_CONF_OPTS += -D_SSE_OK=OFF -D_SSE_TRUE=OFF 144*4882a593Smuzhiyunendif 145*4882a593Smuzhiyun 146*4882a593Smuzhiyunifeq ($(BR2_X86_CPU_HAS_SSE2),y) 147*4882a593SmuzhiyunKODI_CONF_OPTS += -D_SSE2_OK=ON -D_SSE2_TRUE=ON 148*4882a593Smuzhiyunelse 149*4882a593SmuzhiyunKODI_CONF_OPTS += -D_SSE2_OK=OFF -D_SSE2_TRUE=OFF 150*4882a593Smuzhiyunendif 151*4882a593Smuzhiyun 152*4882a593Smuzhiyunifeq ($(BR2_X86_CPU_HAS_SSE3),y) 153*4882a593SmuzhiyunKODI_CONF_OPTS += -D_SSE3_OK=ON -D_SSE3_TRUE=ON 154*4882a593Smuzhiyunelse 155*4882a593SmuzhiyunKODI_CONF_OPTS += -D_SSE3_OK=OFF -D_SSE3_TRUE=OFF 156*4882a593Smuzhiyunendif 157*4882a593Smuzhiyun 158*4882a593Smuzhiyunifeq ($(BR2_X86_CPU_HAS_SSSE3),y) 159*4882a593SmuzhiyunKODI_CONF_OPTS += -D_SSSE3_OK=ON -D_SSSE3_TRUE=ON 160*4882a593Smuzhiyunelse 161*4882a593SmuzhiyunKODI_CONF_OPTS += -D_SSSE3_OK=OFF -D_SSSE3_TRUE=OFF 162*4882a593Smuzhiyunendif 163*4882a593Smuzhiyun 164*4882a593Smuzhiyunifeq ($(BR2_X86_CPU_HAS_SSE4),y) 165*4882a593SmuzhiyunKODI_CONF_OPTS += -D_SSE41_OK=ON -D_SSE41_TRUE=ON 166*4882a593Smuzhiyunelse 167*4882a593SmuzhiyunKODI_CONF_OPTS += -D_SSE41_OK=OFF -D_SSE41_TRUE=OFF 168*4882a593Smuzhiyunendif 169*4882a593Smuzhiyun 170*4882a593Smuzhiyunifeq ($(BR2_X86_CPU_HAS_SSE42),y) 171*4882a593SmuzhiyunKODI_CONF_OPTS += -D_SSE42_OK=ON -D_SSE42_TRUE=ON 172*4882a593Smuzhiyunelse 173*4882a593SmuzhiyunKODI_CONF_OPTS += -D_SSE42_OK=OFF -D_SSE42_TRUE=OFF 174*4882a593Smuzhiyunendif 175*4882a593Smuzhiyun 176*4882a593Smuzhiyunifeq ($(BR2_X86_CPU_HAS_AVX),y) 177*4882a593SmuzhiyunKODI_CONF_OPTS += -D_AVX_OK=ON -D_AVX_TRUE=ON 178*4882a593Smuzhiyunelse 179*4882a593SmuzhiyunKODI_CONF_OPTS += -D_AVX_OK=OFF -D_AVX_TRUE=OFF 180*4882a593Smuzhiyunendif 181*4882a593Smuzhiyun 182*4882a593Smuzhiyunifeq ($(BR2_X86_CPU_HAS_AVX2),y) 183*4882a593SmuzhiyunKODI_CONF_OPTS += -D_AVX2_OK=ON -D_AVX2_TRUE=ON 184*4882a593Smuzhiyunelse 185*4882a593SmuzhiyunKODI_CONF_OPTS += -D_AVX2_OK=OFF -D_AVX2_TRUE=OFF 186*4882a593Smuzhiyunendif 187*4882a593Smuzhiyun 188*4882a593Smuzhiyun# mips: uses __atomic_load_8 189*4882a593Smuzhiyunifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) 190*4882a593SmuzhiyunKODI_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic 191*4882a593Smuzhiyunendif 192*4882a593Smuzhiyun 193*4882a593Smuzhiyunifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_5),) 194*4882a593SmuzhiyunKODI_C_FLAGS += -std=gnu99 195*4882a593Smuzhiyunendif 196*4882a593Smuzhiyun 197*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_MYSQL),y) 198*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_MYSQLCLIENT=ON 199*4882a593SmuzhiyunKODI_DEPENDENCIES += mysql 200*4882a593Smuzhiyunelse 201*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_MYSQLCLIENT=OFF 202*4882a593Smuzhiyunendif 203*4882a593Smuzhiyun 204*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_HAS_UDEV),y) 205*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_UDEV=ON 206*4882a593SmuzhiyunKODI_DEPENDENCIES += udev 207*4882a593Smuzhiyunelse 208*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_UDEV=OFF 209*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_LIBUSB),y) 210*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_LIBUSB=ON 211*4882a593SmuzhiyunKODI_DEPENDENCIES += libusb-compat 212*4882a593Smuzhiyunelse 213*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_LIBUSB=OFF 214*4882a593Smuzhiyunendif 215*4882a593Smuzhiyunendif 216*4882a593Smuzhiyun 217*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBCAP),y) 218*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_CAP=ON 219*4882a593SmuzhiyunKODI_DEPENDENCIES += libcap 220*4882a593Smuzhiyunelse 221*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_CAP=OFF 222*4882a593Smuzhiyunendif 223*4882a593Smuzhiyun 224*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBXML2)$(BR2_PACKAGE_LIBXSLT),yy) 225*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_XSLT=ON 226*4882a593SmuzhiyunKODI_DEPENDENCIES += libxml2 libxslt 227*4882a593Smuzhiyunelse 228*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_XSLT=OFF 229*4882a593Smuzhiyunendif 230*4882a593Smuzhiyun 231*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_BLUEZ),y) 232*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_BLUETOOTH=ON 233*4882a593SmuzhiyunKODI_DEPENDENCIES += bluez5_utils 234*4882a593Smuzhiyunelse 235*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_BLUETOOTH=OFF 236*4882a593Smuzhiyunendif 237*4882a593Smuzhiyun 238*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_DBUS),y) 239*4882a593SmuzhiyunKODI_DEPENDENCIES += dbus 240*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_DBUS=ON 241*4882a593Smuzhiyunelse 242*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_DBUS=OFF 243*4882a593Smuzhiyunendif 244*4882a593Smuzhiyun 245*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_EVENTCLIENTS),y) 246*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_EVENTCLIENTS=ON 247*4882a593Smuzhiyunelse 248*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_EVENTCLIENTS=OFF 249*4882a593Smuzhiyunendif 250*4882a593Smuzhiyun 251*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_ALSA_LIB),y) 252*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_ALSA=ON 253*4882a593SmuzhiyunKODI_DEPENDENCIES += alsa-lib 254*4882a593Smuzhiyunelse 255*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_ALSA=OFF 256*4882a593Smuzhiyunendif 257*4882a593Smuzhiyun 258*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_LIBMICROHTTPD),y) 259*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_MICROHTTPD=ON 260*4882a593SmuzhiyunKODI_DEPENDENCIES += libmicrohttpd 261*4882a593Smuzhiyunelse 262*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_MICROHTTPD=OFF 263*4882a593Smuzhiyunendif 264*4882a593Smuzhiyun 265*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_LIBSMBCLIENT),y) 266*4882a593SmuzhiyunKODI_DEPENDENCIES += samba4 267*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_SMBCLIENT=ON 268*4882a593Smuzhiyunelse 269*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_SMBCLIENT=OFF 270*4882a593Smuzhiyunendif 271*4882a593Smuzhiyun 272*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_LIBNFS),y) 273*4882a593SmuzhiyunKODI_DEPENDENCIES += libnfs 274*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_NFS=ON 275*4882a593Smuzhiyunelse 276*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_NFS=OFF 277*4882a593Smuzhiyunendif 278*4882a593Smuzhiyun 279*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_LIBBLURAY),y) 280*4882a593SmuzhiyunKODI_DEPENDENCIES += libbluray 281*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_BLURAY=ON 282*4882a593Smuzhiyunelse 283*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_BLURAY=OFF 284*4882a593Smuzhiyunendif 285*4882a593Smuzhiyun 286*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_LIBSHAIRPLAY),y) 287*4882a593SmuzhiyunKODI_DEPENDENCIES += libshairplay 288*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_AIRTUNES=ON 289*4882a593Smuzhiyunelse 290*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_AIRTUNES=OFF 291*4882a593Smuzhiyunendif 292*4882a593Smuzhiyun 293*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_AVAHI),y) 294*4882a593SmuzhiyunKODI_DEPENDENCIES += avahi 295*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_AVAHI=ON 296*4882a593Smuzhiyunelse 297*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_AVAHI=OFF 298*4882a593Smuzhiyunendif 299*4882a593Smuzhiyun 300*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_LIBCEC),y) 301*4882a593SmuzhiyunKODI_DEPENDENCIES += libcec 302*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_CEC=ON 303*4882a593Smuzhiyunelse 304*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_CEC=OFF 305*4882a593Smuzhiyunendif 306*4882a593Smuzhiyun 307*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_LCMS2),y) 308*4882a593SmuzhiyunKODI_DEPENDENCIES += lcms2 309*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_LCMS2=ON 310*4882a593Smuzhiyunelse 311*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_LCMS2=OFF 312*4882a593Smuzhiyunendif 313*4882a593Smuzhiyun 314*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIRC_TOOLS),y) 315*4882a593SmuzhiyunKODI_DEPENDENCIES += lirc-tools 316*4882a593Smuzhiyunendif 317*4882a593Smuzhiyun 318*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBVA),y) 319*4882a593SmuzhiyunKODI_DEPENDENCIES += libva 320*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_VAAPI=ON 321*4882a593Smuzhiyunelse 322*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_VAAPI=OFF 323*4882a593Smuzhiyunendif 324*4882a593Smuzhiyun 325*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_LIBVDPAU),y) 326*4882a593SmuzhiyunKODI_DEPENDENCIES += libvdpau 327*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_VDPAU=ON 328*4882a593Smuzhiyunelse 329*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_VDPAU=OFF 330*4882a593Smuzhiyunendif 331*4882a593Smuzhiyun 332*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_UPNP),y) 333*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_UPNP=ON 334*4882a593Smuzhiyunelse 335*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_UPNP=OFF 336*4882a593Smuzhiyunendif 337*4882a593Smuzhiyun 338*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_OPTICALDRIVE),y) 339*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_OPTICAL=ON 340*4882a593Smuzhiyunelse 341*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_OPTICAL=OFF 342*4882a593Smuzhiyunendif 343*4882a593Smuzhiyun 344*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_PULSEAUDIO),y) 345*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_PULSEAUDIO=ON 346*4882a593SmuzhiyunKODI_DEPENDENCIES += pulseaudio 347*4882a593Smuzhiyunelse 348*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_PULSEAUDIO=OFF 349*4882a593Smuzhiyunendif 350*4882a593Smuzhiyun 351*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBUDFREAD),y) 352*4882a593SmuzhiyunKODI_DEPENDENCIES += libudfread 353*4882a593Smuzhiyunelse 354*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_INTERNAL_UDFREAD=OFF 355*4882a593Smuzhiyunendif 356*4882a593Smuzhiyun 357*4882a593Smuzhiyun# Remove versioncheck addon, updating Kodi is done by building a new 358*4882a593Smuzhiyun# buildroot image. 359*4882a593SmuzhiyunKODI_ADDON_MANIFEST = $(TARGET_DIR)/usr/share/kodi/system/addon-manifest.xml 360*4882a593Smuzhiyundefine KODI_CLEAN_UNUSED_ADDONS 361*4882a593Smuzhiyun rm -Rf $(TARGET_DIR)/usr/share/kodi/addons/service.xbmc.versioncheck 362*4882a593Smuzhiyun $(HOST_DIR)/bin/xml ed -L \ 363*4882a593Smuzhiyun -d "/addons/addon[text()='service.xbmc.versioncheck']" \ 364*4882a593Smuzhiyun $(KODI_ADDON_MANIFEST) 365*4882a593Smuzhiyunendef 366*4882a593SmuzhiyunKODI_POST_INSTALL_TARGET_HOOKS += KODI_CLEAN_UNUSED_ADDONS 367*4882a593Smuzhiyun 368*4882a593Smuzhiyundefine KODI_INSTALL_BR_WRAPPER 369*4882a593Smuzhiyun $(INSTALL) -D -m 0755 package/kodi/br-kodi \ 370*4882a593Smuzhiyun $(TARGET_DIR)/usr/bin/br-kodi 371*4882a593Smuzhiyunendef 372*4882a593SmuzhiyunKODI_POST_INSTALL_TARGET_HOOKS += KODI_INSTALL_BR_WRAPPER 373*4882a593Smuzhiyun 374*4882a593Smuzhiyun# When run from a startup script, Kodi has no $HOME where to store its 375*4882a593Smuzhiyun# configuration, so ends up storing it in /.kodi (yes, at the root of 376*4882a593Smuzhiyun# the rootfs). This is a problem for read-only filesystems. But we can't 377*4882a593Smuzhiyun# easily change that, so create /.kodi as a symlink where we want the 378*4882a593Smuzhiyun# config to eventually be. Add synlinks for the legacy XBMC name as well 379*4882a593Smuzhiyundefine KODI_INSTALL_CONFIG_DIR 380*4882a593Smuzhiyun $(INSTALL) -d -m 0755 $(TARGET_DIR)/var/kodi 381*4882a593Smuzhiyun ln -sf /var/kodi $(TARGET_DIR)/.kodi 382*4882a593Smuzhiyun ln -sf /var/kodi $(TARGET_DIR)/var/xbmc 383*4882a593Smuzhiyun ln -sf /var/kodi $(TARGET_DIR)/.xbmc 384*4882a593Smuzhiyunendef 385*4882a593SmuzhiyunKODI_POST_INSTALL_TARGET_HOOKS += KODI_INSTALL_CONFIG_DIR 386*4882a593Smuzhiyun 387*4882a593Smuzhiyundefine KODI_INSTALL_INIT_SYSV 388*4882a593Smuzhiyun $(INSTALL) -D -m 755 package/kodi/S50kodi \ 389*4882a593Smuzhiyun $(TARGET_DIR)/etc/init.d/S50kodi 390*4882a593Smuzhiyunendef 391*4882a593Smuzhiyun 392*4882a593Smuzhiyundefine KODI_INSTALL_INIT_SYSTEMD 393*4882a593Smuzhiyun $(INSTALL) -D -m 644 package/kodi/kodi.service \ 394*4882a593Smuzhiyun $(TARGET_DIR)/usr/lib/systemd/system/kodi.service 395*4882a593Smuzhiyunendef 396*4882a593Smuzhiyun 397*4882a593Smuzhiyun$(eval $(cmake-package)) 398