#
################################################################################
-FREESCALE_IMX_VERSION = 1.1.0
-
-# No official download site from freescale, just this mirror
-FREESCALE_IMX_SITE = http://download.ossystems.com.br/bsp/freescale/source
+FREESCALE_IMX_VERSION = 3.5.7-1.0.0
+FREESCALE_IMX_SITE = http://www.freescale.com/lgfiles/NMG/MAD/YOCTO/
include $(sort $(wildcard package/freescale-imx/*/*.mk))
#
################################################################################
-GPU_VIV_BIN_MX6Q_VERSION = $(FREESCALE_IMX_VERSION)
+ifeq ($(BR2_ARM_EABIHF),y)
+GPU_VIV_BIN_MX6Q_VERSION = $(FREESCALE_IMX_VERSION)-hfp
+else
+GPU_VIV_BIN_MX6Q_VERSION = $(FREESCALE_IMX_VERSION)-sfp
+endif
GPU_VIV_BIN_MX6Q_SITE = $(FREESCALE_IMX_SITE)
GPU_VIV_BIN_MX6Q_SOURCE = gpu-viv-bin-mx6q-$(GPU_VIV_BIN_MX6Q_VERSION).bin
IMX_LIB_VERSION = $(FREESCALE_IMX_VERSION)
IMX_LIB_SITE = $(FREESCALE_IMX_SITE)
-IMX_LIB_LICENSE = LGPLv2.1+
-# No license file included
+IMX_LIB_LICENSE = Freescale License (vpu), LGPLv2.1+ (the rest)
+IMX_LIB_LICENSE_FILES = EULA
+IMX_LIB_SOURCE = imx-lib-$(IMX_LIB_VERSION).bin
IMX_LIB_INSTALL_STAGING = YES
PLATFORM=$(BR2_PACKAGE_IMX_LIB_PLATFORM) \
INCLUDE="$(IMX_LIB_INCLUDE)"
+# The archive is a shell-self-extractor of a bzipped tar. It happens
+# to extract in the correct directory (imx-lib-x.y.z)
+# The --force makes sure it doesn't fail if the source dir already exists.
+# The --auto-accept skips the license check - not needed for us
+# because we have legal-info
+# Since there's a EULA in the bin file, extract it to imx-lib-x.y.z/EULA
+#
+define IMX_LIB_EXTRACT_CMDS
+ awk 'BEGIN { start=0; } \
+ /^EOEULA/ { start = 0; } \
+ { if (start) print; } \
+ /<<EOEULA/ { start=1; }'\
+ $(DL_DIR)/$(IMX_LIB_SOURCE) > $(@D)/EULA
+ cd $(BUILD_DIR); \
+ sh $(DL_DIR)/$(IMX_LIB_SOURCE) --force --auto-accept
+endef
+
define IMX_LIB_BUILD_CMDS
$(IMX_LIB_MAKE_ENV) $(MAKE1) -C $(@D)
endef
#
################################################################################
-GST_FSL_PLUGINS_VERSION = 3.0.1
+GST_FSL_PLUGINS_VERSION = $(FREESCALE_IMX_VERSION)
GST_FSL_PLUGINS_SITE = $(FREESCALE_IMX_SITE)
# Most is LGPLv2+, but some sources are copied from upstream and are
#
################################################################################
-LIBFSLCODEC_VERSION = 3.0.1
+LIBFSLCODEC_VERSION = $(FREESCALE_IMX_VERSION)
LIBFSLCODEC_SITE = $(FREESCALE_IMX_SITE)
LIBFSLCODEC_SOURCE = libfslcodec-$(LIBFSLCODEC_VERSION).bin
LIBFSLCODEC_LICENSE = Freescale Semiconductor Software License Agreement, BSD-3c (flac, ogg headers)
#
################################################################################
-LIBFSLPARSER_VERSION = 3.0.1
+LIBFSLPARSER_VERSION = $(FREESCALE_IMX_VERSION)
LIBFSLPARSER_SITE = $(FREESCALE_IMX_SITE)
LIBFSLPARSER_SOURCE = libfslparser-$(LIBFSLPARSER_VERSION).bin
LIBFSLPARSER_LICENSE = Freescale Semiconductor Software License Agreement
# The Makefile installs several versions of the libraries, but we only
# need one of them, depending on the platform.
+# without AUTORECONF, configure fails to find install-sh.
+LIBFSLPARSER_AUTORECONF = YES
+
$(eval $(autotools-package))
#
################################################################################
-LIBFSLVPUWRAP_VERSION = 1.0.17
+LIBFSLVPUWRAP_VERSION = $(FREESCALE_IMX_VERSION)
LIBFSLVPUWRAP_SITE = $(FREESCALE_IMX_SITE)
+LIBFSLVPUWRAP_SOURCE = libfslvpuwrap-$(LIBFSLVPUWRAP_VERSION).bin
LIBFSLVPUWRAP_LICENSE = Freescale Semiconductor Software License Agreement
-LIBFSLVPUWRAP_LICENSE_FILES = EULA.txt
+# N.B.: the content of the two license files is different
+LIBFSLVPUWRAP_LICENSE_FILES = EULA EULA.txt
LIBFSLVPUWRAP_REDISTRIBUTE = NO
LIBFSLVPUWRAP_INSTALL_STAGING = YES
LIBFSLVPUWRAP_DEPENDENCIES += imx-lib
+# The archive is a shell-self-extractor of a bzipped tar. It happens
+# to extract in the correct directory (libfslvpuwrap-x.y.z)
+# The --force makes sure it doesn't fail if the source dir already exists.
+# The --auto-accept skips the license check - not needed for us
+# because we have legal-info
+# Since the EULA in the bin file differs from the one in the tar file,
+# extract the one from the bin file as well.
+define LIBFSLVPUWRAP_EXTRACT_CMDS
+ awk 'BEGIN { start=0; } \
+ /^EOEULA/ { start = 0; } \
+ { if (start) print; } \
+ /<<EOEULA/ { start=1; }'\
+ $(DL_DIR)/$(LIBFSLVPUWRAP_SOURCE) > $(@D)/EULA
+ cd $(BUILD_DIR); \
+ sh $(DL_DIR)/$(LIBFSLVPUWRAP_SOURCE) --force --auto-accept
+endef
+
$(eval $(autotools-package))