#############################################################
#
# Dash player
#
#############################################################

GOOGLE_DASHPLAYER_SITE=repo://vendor/google/dashplayer
GOOGLE_DASHPLAYER_DEPENDENCIES=\
	libcurl libxml2 google_pullreader host-ninja
HOST_GOOGLE_DASHPLAYER_DEPENDENCIES=\
	$(GOOGLE_DASHPLAYER_DEPENDENCIES) \
	host-libxml2 \
	host-google_pullreader

GOOGLE_DASHPLAYER_INSTALL_STAGING=YES
GOOGLE_DASHPLAYER_INSTALL_TARGET=YES

GOOGLE_DASHPLAYER_COMMON_MAKEARGS=\
	BR2_SOFT_FLOAT="${BR2_SOFT_FLOAT}" \
	BR2_USE_SOFT_FLOAT_ABI="${BR2_USE_SOFT_FLOAT_ABI}" \
	BUILD_DIR="$(BUILD_DIR)" \
	HOST_DIR="$(HOST_DIR)" \
	INSTALL="$(INSTALL)" \
	PATH="${HOST_DIR}/usr/bin:${PATH}" \
	PYTHONDONTOPTIMIZE="0" \
	SYSROOT="$(STAGING_DIR)" \
	TARGET_ARCH="$(BR2_ARCH)" \
	TARGET_CROSS="$(TARGET_CROSS)"

GOOGLE_DASHPLAYER_MAKE_CMD=\
	$(DASHPLAYER_MAKE_ENV) $(MAKE) -C $(@D)/build \
	$(GOOGLE_DASHPLAYER_COMMON_MAKEARGS)

define GOOGLE_DASHPLAYER_BUILD_CMDS
	$(GOOGLE_DASHPLAYER_MAKE_CMD) build
endef

define GOOGLE_DASHPLAYER_BUILD_TEST_CMDS
	$(GOOGLE_DASHPLAYER_MAKE_CMD) unittests
endef

define GOOGLE_DASHPLAYER_INSTALL_TARGET_CMDS
	$(GOOGLE_DASHPLAYER_MAKE_CMD) \
		TARGET_DIR="$(TARGET_DIR)" \
		install_target
endef

define GOOGLE_DASHPLAYER_INSTALL_STAGING_CMDS
	$(GOOGLE_DASHPLAYER_MAKE_CMD) \
		STAGING_DIR="$(STAGING_DIR)" \
		install_staging
endef

define HOST_GOOGLE_DASHPLAYER_BUILD_CMDS
	$(GOOGLE_DASHPLAYER_MAKE_CMD) \
		IS_HOST_BUILD=y \
		build
endef

define HOST_GOOGLE_DASHPLAYER_INSTALL_CMDS
	$(GOOGLE_DASHPLAYER_MAKE_CMD) \
		IS_HOST_BUILD=y \
		install_host
endef

define HOST_GOOGLE_DASHPLAYER_TEST_CMDS
	$(GOOGLE_DASHPLAYER_MAKE_CMD) \
		IS_HOST_BUILD=y \
		run_unittests
endef

define HOST_GOOGLE_DASHPLAYER_COVERAGE_CMDS
	$(GOOGLE_DASHPLAYER_MAKE_CMD) \
		IS_HOST_BUILD=y \
		run_coverage
endef

$(eval $(call GENTARGETS))
$(eval $(call GENTARGETS,host))
