* [Buildroot] [PATCH RFC 1/6] imx-lib: new package
2012-12-19 23:37 [Buildroot] [PATCH RFC 0/6] Freescale i.MX multimedia libraries Arnout Vandecappelle
@ 2012-12-19 23:37 ` Arnout Vandecappelle
2012-12-19 23:37 ` [Buildroot] [PATCH RFC 2/6] libfslvpuwrap: " Arnout Vandecappelle
` (5 subsequent siblings)
6 siblings, 0 replies; 14+ messages in thread
From: Arnout Vandecappelle @ 2012-12-19 23:37 UTC (permalink / raw)
To: buildroot
From: "Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
package/Config.in | 1 +
package/imx-lib/Config.in | 53 ++++++++++++++++++++++++++++++++++++++++++++
package/imx-lib/imx-lib.mk | 41 ++++++++++++++++++++++++++++++++++
3 files changed, 95 insertions(+)
create mode 100644 package/imx-lib/Config.in
create mode 100644 package/imx-lib/imx-lib.mk
diff --git a/package/Config.in b/package/Config.in
index 66445ff..def4b20 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -421,6 +421,7 @@ endmenu
menu "Hardware handling"
source "package/ccid/Config.in"
+source "package/imx-lib/Config.in"
source "package/lcdapi/Config.in"
source "package/libaio/Config.in"
source "package/libraw1394/Config.in"
diff --git a/package/imx-lib/Config.in b/package/imx-lib/Config.in
new file mode 100644
index 0000000..1617009
--- /dev/null
+++ b/package/imx-lib/Config.in
@@ -0,0 +1,53 @@
+comment "imx-lib needs an imx-specific kernel to be built"
+ depends on BR2_arm && !BR2_LINUX_KERNEL
+
+config BR2_PACKAGE_IMX_LIB
+ bool "imx-lib"
+ depends on BR2_LINUX_KERNEL
+ depends on BR2_arm # Only relevant for i.MX
+ help
+ Library of userspace helpers specific for the Freescale i.MX
+ platform. It wraps the kernel interfaces for some i.MX platform
+ specific drivers. It requires a kernel that includes the i.MX
+ specific headers to be built.
+
+ This library is provided by Freescale as-is and doesn't have
+ an upstream.
+
+if BR2_PACKAGE_IMX_LIB
+choice
+ prompt "i.MX platform"
+
+config BR2_PACKAGE_IMX_LIB_PLATFORM_IMX25_3STACK
+ bool "imx25-3stack"
+
+config BR2_PACKAGE_IMX_LIB_PLATFORM_IMX27ADS
+ bool "imx27ads"
+
+config BR2_PACKAGE_IMX_LIB_PLATFORM_IMX37_3STACK
+ bool "imx37-3stack"
+
+config BR2_PACKAGE_IMX_LIB_PLATFORM_IMX50
+ bool "imx50"
+
+config BR2_PACKAGE_IMX_LIB_PLATFORM_IMX51
+ bool "imx51"
+
+config BR2_PACKAGE_IMX_LIB_PLATFORM_IMX53
+ bool "imx53"
+
+config BR2_PACKAGE_IMX_LIB_PLATFORM_IMX6Q
+ bool "imx6q"
+
+endchoice
+
+config BR2_PACKAGE_IMX_LIB_PLATFORM
+ string
+ default "IMX25_3STACK" if BR2_PACKAGE_IMX_LIB_PLATFORM_IMX25_3STACK
+ default "IMX27ADS" if BR2_PACKAGE_IMX_LIB_PLATFORM_IMX27ADS
+ default "IMX37_3STACK" if BR2_PACKAGE_IMX_LIB_PLATFORM_IMX37_3STACK
+ default "IMX50" if BR2_PACKAGE_IMX_LIB_PLATFORM_IMX50
+ default "IMX51" if BR2_PACKAGE_IMX_LIB_PLATFORM_IMX51
+ default "IMX53" if BR2_PACKAGE_IMX_LIB_PLATFORM_IMX53
+ default "IMX6Q" if BR2_PACKAGE_IMX_LIB_PLATFORM_IMX6Q
+endif
diff --git a/package/imx-lib/imx-lib.mk b/package/imx-lib/imx-lib.mk
new file mode 100644
index 0000000..c168c80
--- /dev/null
+++ b/package/imx-lib/imx-lib.mk
@@ -0,0 +1,41 @@
+#############################################################
+#
+# imx-lib
+#
+#############################################################
+
+IMX_LIB_VERSION = 12.09.01
+# No official download site from freescale, just this mirror
+IMX_LIB_SITE = http://download.ossystems.com.br/bsp/freescale/source
+IMX_LIB_LICENSE = LGPLv2.1+
+# No license file included
+
+IMX_LIB_INSTALL_STAGING = YES
+
+# imx-lib needs access to imx-specific kernel headers
+IMX_LIB_DEPENDENCIES += linux
+IMX_LIB_INCLUDE = \
+ -I$(LINUX_DIR)/drivers/mxc/security/rng/include \
+ -I$(LINUX_DIR)/drivers/mxc/security/sahara2/include \
+ -idirafter $(LINUX_DIR)/include
+
+IMX_LIB_MAKE_ENV = \
+ $(TARGET_MAKE_ENV) \
+ $(TARGET_CONFIGURE_OPTS) \
+ CROSS_COMPILE="$(CCACHE) $(TARGET_CROSS)" \
+ PLATFORM=$(BR2_PACKAGE_IMX_LIB_PLATFORM) \
+ INCLUDE="$(IMX_LIB_INCLUDE)"
+
+define IMX_LIB_BUILD_CMDS
+ $(IMX_LIB_MAKE_ENV) $(MAKE1) -C $(@D)
+endef
+
+define IMX_LIB_INSTALL_STAGING_CMDS
+ $(IMX_LIB_MAKE_ENV) $(MAKE1) -C $(@D) DEST_DIR=$(STAGING_DIR) install
+endef
+
+define IMX_LIB_INSTALL_TARGET_CMDS
+ $(IMX_LIB_MAKE_ENV) $(MAKE1) -C $(@D) DEST_DIR=$(TARGET_DIR) install
+endef
+
+$(eval $(generic-package))
--
1.7.10.4
^ permalink raw reply related [flat|nested] 14+ messages in thread* [Buildroot] [PATCH RFC 2/6] libfslvpuwrap: new package
2012-12-19 23:37 [Buildroot] [PATCH RFC 0/6] Freescale i.MX multimedia libraries Arnout Vandecappelle
2012-12-19 23:37 ` [Buildroot] [PATCH RFC 1/6] imx-lib: new package Arnout Vandecappelle
@ 2012-12-19 23:37 ` Arnout Vandecappelle
2012-12-19 23:37 ` [Buildroot] [PATCH RFC 3/6] firmware-imx: " Arnout Vandecappelle
` (4 subsequent siblings)
6 siblings, 0 replies; 14+ messages in thread
From: Arnout Vandecappelle @ 2012-12-19 23:37 UTC (permalink / raw)
To: buildroot
From: "Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
package/Config.in | 1 +
package/libfslvpuwrap/Config.in | 13 +++++++++++++
package/libfslvpuwrap/libfslvpuwrap.mk | 18 ++++++++++++++++++
3 files changed, 32 insertions(+)
create mode 100644 package/libfslvpuwrap/Config.in
create mode 100644 package/libfslvpuwrap/libfslvpuwrap.mk
diff --git a/package/Config.in b/package/Config.in
index def4b20..ac2488e 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -453,6 +453,7 @@ menu "Multimedia"
source "package/libdvdread/Config.in"
source "package/libdvdnav/Config.in"
source "package/libebml/Config.in"
+source "package/libfslvpuwrap/Config.in"
source "package/libmatroska/Config.in"
source "package/libmms/Config.in"
source "package/libmpeg2/Config.in"
diff --git a/package/libfslvpuwrap/Config.in b/package/libfslvpuwrap/Config.in
new file mode 100644
index 0000000..57b8a02
--- /dev/null
+++ b/package/libfslvpuwrap/Config.in
@@ -0,0 +1,13 @@
+comment "libfslvpuwrap needs an imx-specific kernel to be built"
+ depends on BR2_arm && !BR2_LINUX_KERNEL
+
+config BR2_PACKAGE_LIBFSLVPUWRAP
+ bool "libfslvpuwrap"
+ depends on BR2_LINUX_KERNEL
+ depends on BR2_arm # Only relevant for i.MX
+ select BR2_PACKAGE_IMX_LIB
+ help
+ Wrapper library for the vpu library, giving it a different API.
+
+ This library is provided by Freescale as-is and doesn't have
+ an upstream.
diff --git a/package/libfslvpuwrap/libfslvpuwrap.mk b/package/libfslvpuwrap/libfslvpuwrap.mk
new file mode 100644
index 0000000..3ad33f9
--- /dev/null
+++ b/package/libfslvpuwrap/libfslvpuwrap.mk
@@ -0,0 +1,18 @@
+#############################################################
+#
+# buildroot makefile for libfslvpuwrap
+#
+#############################################################
+
+LIBFSLVPUWRAP_VERSION = 1.0.17
+# No official download site from freescale, just this mirror
+LIBFSLVPUWRAP_SITE = http://download.ossystems.com.br/bsp/freescale/source
+LIBFSLVPUWRAP_LICENSE = Freescale Semiconductor Software License Agreement
+LIBFSLVPUWRAP_LICENSE_FILES = EULA.txt
+LIBFSLVPUWRAP_REDISTRIBUTE = NO
+
+LIBFSLVPUWRAP_INSTALL_STAGING = YES
+
+LIBFSLVPUWRAP_DEPENDENCIES += imx-lib
+
+$(eval $(autotools-package))
--
1.7.10.4
^ permalink raw reply related [flat|nested] 14+ messages in thread* [Buildroot] [PATCH RFC 3/6] firmware-imx: new package
2012-12-19 23:37 [Buildroot] [PATCH RFC 0/6] Freescale i.MX multimedia libraries Arnout Vandecappelle
2012-12-19 23:37 ` [Buildroot] [PATCH RFC 1/6] imx-lib: new package Arnout Vandecappelle
2012-12-19 23:37 ` [Buildroot] [PATCH RFC 2/6] libfslvpuwrap: " Arnout Vandecappelle
@ 2012-12-19 23:37 ` Arnout Vandecappelle
2013-01-14 15:24 ` Peter Korsgaard
2012-12-19 23:37 ` [Buildroot] [PATCH RFC 4/6] libfslparser: " Arnout Vandecappelle
` (3 subsequent siblings)
6 siblings, 1 reply; 14+ messages in thread
From: Arnout Vandecappelle @ 2012-12-19 23:37 UTC (permalink / raw)
To: buildroot
From: "Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
package/Config.in | 1 +
package/firmware-imx/Config.in | 13 ++++++++++++
package/firmware-imx/firmware-imx.mk | 38 ++++++++++++++++++++++++++++++++++
3 files changed, 52 insertions(+)
create mode 100644 package/firmware-imx/Config.in
create mode 100644 package/firmware-imx/firmware-imx.mk
diff --git a/package/Config.in b/package/Config.in
index ac2488e..52bb408 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -213,6 +213,7 @@ source "package/eeprog/Config.in"
source "package/evtest/Config.in"
source "package/flashrom/Config.in"
source "package/fconfig/Config.in"
+source "package/firmware-imx/Config.in"
source "package/fis/Config.in"
source "package/fmtools/Config.in"
source "package/fxload/Config.in"
diff --git a/package/firmware-imx/Config.in b/package/firmware-imx/Config.in
new file mode 100644
index 0000000..dd96d88
--- /dev/null
+++ b/package/firmware-imx/Config.in
@@ -0,0 +1,13 @@
+config BR2_PACKAGE_FIRMWARE_IMX
+ bool "firmware-imx"
+ depends on BR2_arm # Only relevant for i.MX
+ help
+ Firmware blobs for the Freescale i.MX SoCs.
+
+ It contains blobs for Atheros AR6003, SDMA and VPU.
+
+ Note: it also contains a blob for ar3k/30101 but upstream
+ linux-firmware has that as well.
+
+ This library is provided by Freescale as-is and doesn't have
+ an upstream.
diff --git a/package/firmware-imx/firmware-imx.mk b/package/firmware-imx/firmware-imx.mk
new file mode 100644
index 0000000..5072288
--- /dev/null
+++ b/package/firmware-imx/firmware-imx.mk
@@ -0,0 +1,38 @@
+#############################################################
+#
+# buildroot makefile for firmware-imx
+#
+#############################################################
+
+FIRMWARE_IMX_VERSION = 12.09.01
+# No official download site from freescale, just this mirror
+FIRMWARE_IMX_SITE = http://download.ossystems.com.br/bsp/freescale/source
+FIRMWARE_IMX_SOURCE = firmware-imx-$(FIRMWARE_IMX_VERSION).bin
+FIRMWARE_IMX_LICENSE = Freescale Semiconductor Software License Agreement, \
+ Atheros license (ath6k)
+FIRMWARE_IMX_LICENSE_FILES = licenses/vpu/EULA licenses/ath6k/AR6102/License.txt
+# This is a legal minefield: the EULA specifies that
+# the Board Support Package includes software and hardware (sic!)
+# for which a separate license is needed...
+FIRMWARE_IMX_REDISTRIBUTE = NO
+
+FIRMWARE_IMX_BLOBS = ath6k sdma vpu
+
+# The archive is a shell-self-extractor of a bzipped tar. It happens
+# to extract in the correct directory (firmware-imx-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.
+define FIRMWARE_IMX_EXTRACT_CMDS
+ cd $(BUILD_DIR); \
+ sh $(DL_DIR)/$(FIRMWARE_IMX_SOURCE) --force --auto-accept
+endef
+
+
+define FIRMWARE_IMX_INSTALL_TARGET_CMDS
+ for blobdir in $(FIRMWARE_IMX_BLOBS); do \
+ cp -r $(@D)/firmware/$${blobdir} $(TARGET_DIR)/lib/firmware; \
+ done
+endef
+
+$(eval $(generic-package))
--
1.7.10.4
^ permalink raw reply related [flat|nested] 14+ messages in thread* [Buildroot] [PATCH RFC 3/6] firmware-imx: new package
2012-12-19 23:37 ` [Buildroot] [PATCH RFC 3/6] firmware-imx: " Arnout Vandecappelle
@ 2013-01-14 15:24 ` Peter Korsgaard
0 siblings, 0 replies; 14+ messages in thread
From: Peter Korsgaard @ 2013-01-14 15:24 UTC (permalink / raw)
To: buildroot
>>>>> "Arnout" == Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> writes:
Arnout> From: "Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be>
Arnout> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Arnout> ---
Arnout> package/Config.in | 1 +
Arnout> package/firmware-imx/Config.in | 13 ++++++++++++
Arnout> package/firmware-imx/firmware-imx.mk | 38 ++++++++++++++++++++++++++++++++++
Arnout> 3 files changed, 52 insertions(+)
Arnout> create mode 100644 package/firmware-imx/Config.in
Arnout> create mode 100644 package/firmware-imx/firmware-imx.mk
Arnout> diff --git a/package/Config.in b/package/Config.in
Arnout> index ac2488e..52bb408 100644
Arnout> --- a/package/Config.in
Arnout> +++ b/package/Config.in
Arnout> @@ -213,6 +213,7 @@ source "package/eeprog/Config.in"
Arnout> source "package/evtest/Config.in"
Arnout> source "package/flashrom/Config.in"
Arnout> source "package/fconfig/Config.in"
Arnout> +source "package/firmware-imx/Config.in"
I moved this under the new Misc devices firmware menu.
Arnout> +define FIRMWARE_IMX_INSTALL_TARGET_CMDS
Arnout> + for blobdir in $(FIRMWARE_IMX_BLOBS); do \
Arnout> + cp -r $(@D)/firmware/$${blobdir} $(TARGET_DIR)/lib/firmware; \
Arnout> + done
Arnout> +endef
And stuck a mkdir -p $(TARGET_DIR)/lib/firmware here to ensure it's
available.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH RFC 4/6] libfslparser: new package
2012-12-19 23:37 [Buildroot] [PATCH RFC 0/6] Freescale i.MX multimedia libraries Arnout Vandecappelle
` (2 preceding siblings ...)
2012-12-19 23:37 ` [Buildroot] [PATCH RFC 3/6] firmware-imx: " Arnout Vandecappelle
@ 2012-12-19 23:37 ` Arnout Vandecappelle
2012-12-19 23:37 ` [Buildroot] [PATCH RFC 5/6] libfslcodec: " Arnout Vandecappelle
` (2 subsequent siblings)
6 siblings, 0 replies; 14+ messages in thread
From: Arnout Vandecappelle @ 2012-12-19 23:37 UTC (permalink / raw)
To: buildroot
From: "Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
package/Config.in | 1 +
package/libfslparser/Config.in | 8 +++++++
package/libfslparser/libfslparser.mk | 40 ++++++++++++++++++++++++++++++++++
3 files changed, 49 insertions(+)
create mode 100644 package/libfslparser/Config.in
create mode 100644 package/libfslparser/libfslparser.mk
diff --git a/package/Config.in b/package/Config.in
index 52bb408..171d936 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -454,6 +454,7 @@ menu "Multimedia"
source "package/libdvdread/Config.in"
source "package/libdvdnav/Config.in"
source "package/libebml/Config.in"
+source "package/libfslparser/Config.in"
source "package/libfslvpuwrap/Config.in"
source "package/libmatroska/Config.in"
source "package/libmms/Config.in"
diff --git a/package/libfslparser/Config.in b/package/libfslparser/Config.in
new file mode 100644
index 0000000..e3ab980
--- /dev/null
+++ b/package/libfslparser/Config.in
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_LIBFSLPARSER
+ bool "libfslparser"
+ depends on BR2_arm # Only relevant for i.MX
+ help
+ Binary parser libraries for the Freescale i.MX SoCs.
+
+ This library is provided by Freescale as-is and doesn't have
+ an upstream.
diff --git a/package/libfslparser/libfslparser.mk b/package/libfslparser/libfslparser.mk
new file mode 100644
index 0000000..66f48cc
--- /dev/null
+++ b/package/libfslparser/libfslparser.mk
@@ -0,0 +1,40 @@
+#############################################################
+#
+# buildroot makefile for libfslparser
+#
+#############################################################
+
+LIBFSLPARSER_VERSION = 3.0.1
+# No official download site from freescale, just this mirror
+LIBFSLPARSER_SITE = http://download.ossystems.com.br/bsp/freescale/source
+LIBFSLPARSER_SOURCE = libfslparser-$(LIBFSLPARSER_VERSION).bin
+LIBFSLPARSER_LICENSE = Freescale Semiconductor Software License Agreement
+LIBFSLPARSER_LICENSE_FILES = EULA EULA.txt
+# This is a legal minefield: the EULA in the bin file specifies that
+# the Board Support Package includes software and hardware (sic!)
+# for which a separate license is needed...
+LIBFSLPARSER_REDISTRIBUTE = NO
+
+LIBFSLPARSER_INSTALL_STAGING = YES
+
+# The archive is a shell-self-extractor of a bzipped tar. It happens
+# to extract in the correct directory (libfslparser-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 LIBFSLPARSER_EXTRACT_CMDS
+ awk 'BEGIN { start=0; } \
+ /^EOEULA/ { start = 0; } \
+ { if (start) print; } \
+ /<<EOEULA/ { start=1; }'\
+ $(DL_DIR)/$(LIBFSLPARSER_SOURCE) > $(@D)/EULA
+ cd $(BUILD_DIR); \
+ sh $(DL_DIR)/$(LIBFSLPARSER_SOURCE) --force --auto-accept
+endef
+
+# The Makefile installs several versions of the libraries, but we only
+# need one of them, depending on the platform.
+
+$(eval $(autotools-package))
--
1.7.10.4
^ permalink raw reply related [flat|nested] 14+ messages in thread* [Buildroot] [PATCH RFC 5/6] libfslcodec: new package
2012-12-19 23:37 [Buildroot] [PATCH RFC 0/6] Freescale i.MX multimedia libraries Arnout Vandecappelle
` (3 preceding siblings ...)
2012-12-19 23:37 ` [Buildroot] [PATCH RFC 4/6] libfslparser: " Arnout Vandecappelle
@ 2012-12-19 23:37 ` Arnout Vandecappelle
2012-12-20 1:06 ` Benoît Thébaudeau
2012-12-19 23:37 ` [Buildroot] [PATCH RFC 6/6] gst-fsl-plugins: " Arnout Vandecappelle
2013-01-14 15:22 ` [Buildroot] [PATCH RFC 0/6] Freescale i.MX multimedia libraries Peter Korsgaard
6 siblings, 1 reply; 14+ messages in thread
From: Arnout Vandecappelle @ 2012-12-19 23:37 UTC (permalink / raw)
To: buildroot
From: "Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
package/Config.in | 1 +
package/libfslcodec/Config.in | 8 ++++++++
package/libfslcodec/libfslcodec.mk | 40 ++++++++++++++++++++++++++++++++++++
3 files changed, 49 insertions(+)
create mode 100644 package/libfslcodec/Config.in
create mode 100644 package/libfslcodec/libfslcodec.mk
diff --git a/package/Config.in b/package/Config.in
index 171d936..a2bded6 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -454,6 +454,7 @@ menu "Multimedia"
source "package/libdvdread/Config.in"
source "package/libdvdnav/Config.in"
source "package/libebml/Config.in"
+source "package/libfslcodec/Config.in"
source "package/libfslparser/Config.in"
source "package/libfslvpuwrap/Config.in"
source "package/libmatroska/Config.in"
diff --git a/package/libfslcodec/Config.in b/package/libfslcodec/Config.in
new file mode 100644
index 0000000..7b31b7a
--- /dev/null
+++ b/package/libfslcodec/Config.in
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_LIBFSLCODEC
+ bool "libfslcodec"
+ depends on BR2_arm # Only relevant for i.MX
+ help
+ Binary codec libraries for the Freescale i.MX SoCs.
+
+ This library is provided by Freescale as-is and doesn't have
+ an upstream.
diff --git a/package/libfslcodec/libfslcodec.mk b/package/libfslcodec/libfslcodec.mk
new file mode 100644
index 0000000..a2b57b8
--- /dev/null
+++ b/package/libfslcodec/libfslcodec.mk
@@ -0,0 +1,40 @@
+#############################################################
+#
+# buildroot makefile for libfslcodec
+#
+#############################################################
+
+LIBFSLCODEC_VERSION = 3.0.1
+# No official download site from freescale, just this mirror
+LIBFSLCODEC_SITE = http://download.ossystems.com.br/bsp/freescale/source
+LIBFSLCODEC_SOURCE = libfslcodec-$(LIBFSLCODEC_VERSION).bin
+LIBFSLCODEC_LICENSE = Freescale Semiconductor Software License Agreement, BSD-3c (flac, ogg headers)
+LIBFSLCODEC_LICENSE_FILES = EULA EULA.txt
+# This is a legal minefield: the EULA in the bin file specifies that
+# the Board Support Package includes software and hardware (sic!)
+# for which a separate license is needed...
+LIBFSLCODEC_REDISTRIBUTE = NO
+
+LIBFSLCODEC_INSTALL_STAGING = YES
+
+# The archive is a shell-self-extractor of a bzipped tar. It happens
+# to extract in the correct directory (libfslcodec-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 LIBFSLCODEC_EXTRACT_CMDS
+ awk 'BEGIN { start=0; } \
+ /^EOEULA/ { start = 0; } \
+ { if (start) print; } \
+ /<<EOEULA/ { start=1; }'\
+ $(DL_DIR)/$(LIBFSLCODEC_SOURCE) > $(@D)/EULA
+ cd $(BUILD_DIR); \
+ sh $(DL_DIR)/$(LIBFSLCODEC_SOURCE) --force --auto-accept
+endef
+
+# FIXME The Makefile installs both the arm9 and arm11 versions of the
+# libraries, but we only need one of them.
+
+$(eval $(autotools-package))
--
1.7.10.4
^ permalink raw reply related [flat|nested] 14+ messages in thread* [Buildroot] [PATCH RFC 5/6] libfslcodec: new package
2012-12-19 23:37 ` [Buildroot] [PATCH RFC 5/6] libfslcodec: " Arnout Vandecappelle
@ 2012-12-20 1:06 ` Benoît Thébaudeau
2012-12-20 8:19 ` Arnout Vandecappelle
0 siblings, 1 reply; 14+ messages in thread
From: Benoît Thébaudeau @ 2012-12-20 1:06 UTC (permalink / raw)
To: buildroot
Dear Arnout Vandecappelle,
On Thursday, December 20, 2012 12:37:35 AM, Arnout Vandecappelle wrote:
> From: "Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be>
>
> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
> ---
> package/Config.in | 1 +
> package/libfslcodec/Config.in | 8 ++++++++
> package/libfslcodec/libfslcodec.mk | 40
> ++++++++++++++++++++++++++++++++++++
> 3 files changed, 49 insertions(+)
> create mode 100644 package/libfslcodec/Config.in
> create mode 100644 package/libfslcodec/libfslcodec.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 171d936..a2bded6 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -454,6 +454,7 @@ menu "Multimedia"
> source "package/libdvdread/Config.in"
> source "package/libdvdnav/Config.in"
> source "package/libebml/Config.in"
> +source "package/libfslcodec/Config.in"
> source "package/libfslparser/Config.in"
> source "package/libfslvpuwrap/Config.in"
> source "package/libmatroska/Config.in"
> diff --git a/package/libfslcodec/Config.in
> b/package/libfslcodec/Config.in
> new file mode 100644
> index 0000000..7b31b7a
> --- /dev/null
> +++ b/package/libfslcodec/Config.in
> @@ -0,0 +1,8 @@
> +config BR2_PACKAGE_LIBFSLCODEC
> + bool "libfslcodec"
> + depends on BR2_arm # Only relevant for i.MX
> + help
> + Binary codec libraries for the Freescale i.MX SoCs.
> +
> + This library is provided by Freescale as-is and doesn't have
> + an upstream.
> diff --git a/package/libfslcodec/libfslcodec.mk
> b/package/libfslcodec/libfslcodec.mk
> new file mode 100644
> index 0000000..a2b57b8
> --- /dev/null
> +++ b/package/libfslcodec/libfslcodec.mk
> @@ -0,0 +1,40 @@
> +#############################################################
> +#
> +# buildroot makefile for libfslcodec
> +#
> +#############################################################
> +
> +LIBFSLCODEC_VERSION = 3.0.1
> +# No official download site from freescale, just this mirror
> +LIBFSLCODEC_SITE =
> http://download.ossystems.com.br/bsp/freescale/source
> +LIBFSLCODEC_SOURCE = libfslcodec-$(LIBFSLCODEC_VERSION).bin
> +LIBFSLCODEC_LICENSE = Freescale Semiconductor Software License
> Agreement, BSD-3c (flac, ogg headers)
> +LIBFSLCODEC_LICENSE_FILES = EULA EULA.txt
> +# This is a legal minefield: the EULA in the bin file specifies that
> +# the Board Support Package includes software and hardware (sic!)
> +# for which a separate license is needed...
> +LIBFSLCODEC_REDISTRIBUTE = NO
> +
> +LIBFSLCODEC_INSTALL_STAGING = YES
> +
> +# The archive is a shell-self-extractor of a bzipped tar. It happens
> +# to extract in the correct directory (libfslcodec-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 LIBFSLCODEC_EXTRACT_CMDS
> + awk 'BEGIN { start=0; } \
> + /^EOEULA/ { start = 0; } \
> + { if (start) print; } \
> + /<<EOEULA/ { start=1; }'\
> + $(DL_DIR)/$(LIBFSLCODEC_SOURCE) > $(@D)/EULA
> + cd $(BUILD_DIR); \
> + sh $(DL_DIR)/$(LIBFSLCODEC_SOURCE) --force --auto-accept
> +endef
> +
> +# FIXME The Makefile installs both the arm9 and arm11 versions of
> the
> +# libraries, but we only need one of them.
> +
> +$(eval $(autotools-package))
For packages like this one that install pre-built libraries, it would be good to
document somewhere or to auto-check (e.g. with toolchain kconfig options vs.
package kconfig options) the ABI compatibility to make sure that there won't be
any issue with the toolchain used.
Best regards,
Beno?t
^ permalink raw reply [flat|nested] 14+ messages in thread* [Buildroot] [PATCH RFC 5/6] libfslcodec: new package
2012-12-20 1:06 ` Benoît Thébaudeau
@ 2012-12-20 8:19 ` Arnout Vandecappelle
2012-12-20 9:08 ` Peter Korsgaard
0 siblings, 1 reply; 14+ messages in thread
From: Arnout Vandecappelle @ 2012-12-20 8:19 UTC (permalink / raw)
To: buildroot
On 20/12/12 02:06, Beno?t Th?baudeau wrote:
>> > +# FIXME The Makefile installs both the arm9 and arm11 versions of
>> > the
>> > +# libraries, but we only need one of them.
>> > +
>> > +$(eval $(autotools-package))
> For packages like this one that install pre-built libraries, it would be good to
> document somewhere or to auto-check (e.g. with toolchain kconfig options vs.
> package kconfig options) the ABI compatibility to make sure that there won't be
> any issue with the toolchain used.
I agree, but how?
Regards,
Arnout
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286540
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH RFC 5/6] libfslcodec: new package
2012-12-20 8:19 ` Arnout Vandecappelle
@ 2012-12-20 9:08 ` Peter Korsgaard
2012-12-20 10:34 ` Arnout Vandecappelle
0 siblings, 1 reply; 14+ messages in thread
From: Peter Korsgaard @ 2012-12-20 9:08 UTC (permalink / raw)
To: buildroot
>>>>> "Arnout" == Arnout Vandecappelle <arnout@mind.be> writes:
Hi,
>> For packages like this one that install pre-built libraries, it
>> would be good to document somewhere or to auto-check (e.g. with
>> toolchain kconfig options vs. package kconfig options) the ABI
>> compatibility to make sure that there won't be any issue with the
>> toolchain used.
Arnout> I agree, but how?
I don't know the specifics of this package, but presumably it only works
with glibc and a specific soft/softfp/hard floating point mode? If so,
we could atleast catch some of these dependencies in Config.in.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH RFC 5/6] libfslcodec: new package
2012-12-20 9:08 ` Peter Korsgaard
@ 2012-12-20 10:34 ` Arnout Vandecappelle
2012-12-20 10:50 ` Peter Korsgaard
0 siblings, 1 reply; 14+ messages in thread
From: Arnout Vandecappelle @ 2012-12-20 10:34 UTC (permalink / raw)
To: buildroot
On 20/12/12 10:08, Peter Korsgaard wrote:
>>>>>> "Arnout" == Arnout Vandecappelle<arnout@mind.be> writes:
>
> Hi,
>
> >> For packages like this one that install pre-built libraries, it
> >> would be good to document somewhere or to auto-check (e.g. with
> >> toolchain kconfig options vs. package kconfig options) the ABI
> >> compatibility to make sure that there won't be any issue with the
> >> toolchain used.
>
> Arnout> I agree, but how?
>
> I don't know the specifics of this package, but presumably it only works
> with glibc and a specific soft/softfp/hard floating point mode? If so,
> we could atleast catch some of these dependencies in Config.in.
Yes, but how to know what the dependencies are (except by run-testing
with all the different toolchains on all the different SoCs)?
I'd also like to find a way to decide which of the _arm9, _arm11 or
_arm12 libraries to use (they all have the same ABI flags...).
Regards,
Arnout
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286540
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH RFC 5/6] libfslcodec: new package
2012-12-20 10:34 ` Arnout Vandecappelle
@ 2012-12-20 10:50 ` Peter Korsgaard
0 siblings, 0 replies; 14+ messages in thread
From: Peter Korsgaard @ 2012-12-20 10:50 UTC (permalink / raw)
To: buildroot
>>>>> "Arnout" == Arnout Vandecappelle <arnout@mind.be> writes:
Hi,
>> I don't know the specifics of this package, but presumably it only
>> works with glibc and a specific soft/softfp/hard floating point
>> mode? If so, we could atleast catch some of these dependencies in
>> Config.in.
Arnout> Yes, but how to know what the dependencies are (except by
Arnout> run-testing with all the different toolchains on all the
Arnout> different SoCs)?
Doesn't Freescale document this anyware, or atleast mention what
toolchain they have used to build it?
Arnout> I'd also like to find a way to decide which of the _arm9,
Arnout> _arm11 or _arm12 libraries to use (they all have the same ABI
Arnout> flags...).
Can't you decide based on the selected ARM subarchitecture? If we need
to do this in a bunch of places we could centralize it by adding some
BR2_ARM_Vx symbols and select the correct one from the subarch choice.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH RFC 6/6] gst-fsl-plugins: new package
2012-12-19 23:37 [Buildroot] [PATCH RFC 0/6] Freescale i.MX multimedia libraries Arnout Vandecappelle
` (4 preceding siblings ...)
2012-12-19 23:37 ` [Buildroot] [PATCH RFC 5/6] libfslcodec: " Arnout Vandecappelle
@ 2012-12-19 23:37 ` Arnout Vandecappelle
2013-01-14 15:22 ` [Buildroot] [PATCH RFC 0/6] Freescale i.MX multimedia libraries Peter Korsgaard
6 siblings, 0 replies; 14+ messages in thread
From: Arnout Vandecappelle @ 2012-12-19 23:37 UTC (permalink / raw)
To: buildroot
From: "Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
package/multimedia/Config.in | 1 +
package/multimedia/gst-fsl-plugins/Config.in | 92 ++++++++++++++++++++
...sl-plugins-0001-gplay-add-missing-include.patch | 23 +++++
...gins-0002-Fix-bashism-in-configure-script.patch | 65 ++++++++++++++
.../gst-fsl-plugins-0003-Use-proper-objdump.patch | 36 ++++++++
.../multimedia/gst-fsl-plugins/gst-fsl-plugins.mk | 42 +++++++++
6 files changed, 259 insertions(+)
create mode 100644 package/multimedia/gst-fsl-plugins/Config.in
create mode 100644 package/multimedia/gst-fsl-plugins/gst-fsl-plugins-0001-gplay-add-missing-include.patch
create mode 100644 package/multimedia/gst-fsl-plugins/gst-fsl-plugins-0002-Fix-bashism-in-configure-script.patch
create mode 100644 package/multimedia/gst-fsl-plugins/gst-fsl-plugins-0003-Use-proper-objdump.patch
create mode 100644 package/multimedia/gst-fsl-plugins/gst-fsl-plugins.mk
diff --git a/package/multimedia/Config.in b/package/multimedia/Config.in
index 273d9bc..e50eda9 100644
--- a/package/multimedia/Config.in
+++ b/package/multimedia/Config.in
@@ -8,6 +8,7 @@ source "package/multimedia/ffmpeg/Config.in"
source "package/multimedia/gstreamer/Config.in"
source "package/multimedia/gst-ffmpeg/Config.in"
source "package/multimedia/gst-dsp/Config.in"
+source "package/multimedia/gst-fsl-plugins/Config.in"
source "package/multimedia/gst-omapfb/Config.in"
source "package/multimedia/gst-plugins-base/Config.in"
source "package/multimedia/gst-plugins-good/Config.in"
diff --git a/package/multimedia/gst-fsl-plugins/Config.in b/package/multimedia/gst-fsl-plugins/Config.in
new file mode 100644
index 0000000..4246734
--- /dev/null
+++ b/package/multimedia/gst-fsl-plugins/Config.in
@@ -0,0 +1,92 @@
+comment "gst-fsl-plugins requires an imx-specific kernel to be built"
+ depends on BR2_arm && BR2_PACKAGE_GSTREAMER && !BR2_LINUX_KERNEL
+
+config BR2_PACKAGE_GST_FSL_PLUGINS
+ bool "gst-fsl-plugins"
+ depends on BR2_LINUX_KERNEL
+ depends on BR2_arm # Only relevant for i.MX
+ depends on BR2_PACKAGE_GSTREAMER
+ select BR2_PACKAGE_GST_PLUGINS_BASE
+ select BR2_PACKAGE_LIBFSLVPUWRAP
+ select BR2_PACKAGE_IMX_LIB
+ select BR2_PACKAGE_LIBFSLPARSER
+ select BR2_PACKAGE_LIBFSLCODEC
+ help
+ GStreamer plugins for hardware-accelerated audio and video
+ parsers and codecs on i.MX platforms. It requires a kernel that
+ includes the i.MX specific headers to be built.
+
+ To use the VPU, its firmware blob must be installed as well. This
+ can be found in the firmware-imx package in the "Hardware handling"
+ menu.
+
+ This library is provided by Freescale as-is and doesn't have
+ an upstream. Pengutronix maintains gst-fsl-plugins at
+ git://git.pengutronix.de/git/imx/gst-plugins-fsl-vpu.git
+ but it diverges heavily from Freescale's original implementation.
+
+if BR2_PACKAGE_GST_FSL_PLUGINS
+choice
+ prompt "i.MX platform"
+
+config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX233
+ bool "imx233"
+
+config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX25
+ select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX25_3STACK
+ bool "imx25"
+
+config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX27
+ select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX27ADS
+ bool "imx27"
+
+config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX28
+ bool "imx28"
+
+config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX31
+ bool "imx31"
+
+config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX35
+ bool "imx35"
+
+config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX37
+ select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX37_3STACK
+ bool "imx37"
+
+config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX50
+ select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX50
+ bool "imx50"
+
+config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX51
+ select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX51
+ bool "imx51"
+
+config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX53
+ select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX53
+ bool "imx53"
+
+config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX5X
+ select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX5X
+ bool "imx5X"
+
+config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX6
+ select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX6Q
+ bool "imx6"
+
+endchoice
+
+config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM
+ string
+ default "MX233" if BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX233
+ default "MX25" if BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX25
+ default "MX27" if BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX27
+ default "MX28" if BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX28
+ default "MX31" if BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX31
+ default "MX35" if BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX35
+ default "MX37" if BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX37
+ default "MX50" if BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX50
+ default "MX51" if BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX51
+ default "MX53" if BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX53
+ default "MX5X" if BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX5X
+ default "MX6" if BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX6
+endif
diff --git a/package/multimedia/gst-fsl-plugins/gst-fsl-plugins-0001-gplay-add-missing-include.patch b/package/multimedia/gst-fsl-plugins/gst-fsl-plugins-0001-gplay-add-missing-include.patch
new file mode 100644
index 0000000..19753bc
--- /dev/null
+++ b/package/multimedia/gst-fsl-plugins/gst-fsl-plugins-0001-gplay-add-missing-include.patch
@@ -0,0 +1,23 @@
+From ed649ccb8ddc724546172d329fca39b23c49b804 Mon Sep 17 00:00:00 2001
+From: "Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be>
+Date: Mon, 17 Dec 2012 17:58:28 +0100
+Subject: [PATCH] gplay: add missing include
+
+Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
+---
+ tools/gplay/gst_snapshot.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tools/gplay/gst_snapshot.c b/tools/gplay/gst_snapshot.c
+index 40dbb6f..596f399 100755
+--- a/tools/gplay/gst_snapshot.c
++++ b/tools/gplay/gst_snapshot.c
+@@ -22,6 +22,7 @@
+
+ #include <gst/gst.h>
+ #include <string.h>
++#include <stdio.h>
+ #include "gst_snapshot.h"
+
+ static void
+--
diff --git a/package/multimedia/gst-fsl-plugins/gst-fsl-plugins-0002-Fix-bashism-in-configure-script.patch b/package/multimedia/gst-fsl-plugins/gst-fsl-plugins-0002-Fix-bashism-in-configure-script.patch
new file mode 100644
index 0000000..8af3644
--- /dev/null
+++ b/package/multimedia/gst-fsl-plugins/gst-fsl-plugins-0002-Fix-bashism-in-configure-script.patch
@@ -0,0 +1,65 @@
+From 83b4f84b1c490b9bb816e1ecbc743d80d48cc06d Mon Sep 17 00:00:00 2001
+From: "Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be>
+Date: Tue, 18 Dec 2012 12:05:22 +0100
+Subject: [PATCH] Fix bashism in configure script.
+
+The configure script uses +=, which is not POSIX. Debians that
+have the default dash as /bin/sh define a variable ending with
++ instead of appending to it.
+
+Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
+---
+ configure.ac | 22 +++++++++++-----------
+ 1 file changed, 11 insertions(+), 11 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 5968eb6..1a31a06 100755
+--- a/configure.ac
++++ b/configure.ac
+@@ -60,10 +60,10 @@ AC_DEFUN([CHECK_DISABLE_FEATURE],
+ [use_[$1]=yes])
+ if test "$use_[$1]" = "yes"; then
+ SAVE_CPPFLAGS="$CPPFLAGS"
+- CPPFLAGS=`$PKG_CONFIG --cflags libfslaudiocodec`
+- CPPFLAGS+=`$PKG_CONFIG --cflags libfslvideocodec`
+- CPPFLAGS+=`$PKG_CONFIG --cflags libfslparser`
+- CPPFLAGS+=`$PKG_CONFIG --cflags libfslvpuwrap`
++ CPPFLAGS="$CPPFLAGS `$PKG_CONFIG --cflags libfslaudiocodec`"
++ CPPFLAGS="$CPPFLAGS `$PKG_CONFIG --cflags libfslvideocodec`"
++ CPPFLAGS="$CPPFLAGS `$PKG_CONFIG --cflags libfslparser`"
++ CPPFLAGS="$CPPFLAGS `$PKG_CONFIG --cflags libfslvpuwrap`"
+ AC_CHECK_HEADERS([$4], HAVE_[$3]=yes, HAVE_[$3]=no && break)
+ CPPFLAGS="$SAVE_CPPFLAGS"
+ if test "x$HAVE_[$3]" = "xyes"; then
+@@ -157,7 +157,7 @@ AC_SUBST(GST_PLUGINS_BASE_LIBS)
+ AC_CHECK_HEADERS([vpu_lib.h], [HAVE_VPU_LIB=yes], [HAVE_VPU_LIB=no])
+ if test "x$HAVE_VPU_LIB" = "xyes"; then
+ VPU_LIBS=`$PKG_CONFIG --libs libfslvpuwrap 2>/dev/null`
+- VPU_LIBS+=" -lvpu"
++ VPU_LIBS="$VPU_LIBS -lvpu"
+ fi
+ AC_SUBST(VPU_LIBS)
+
+@@ -173,15 +173,15 @@ AC_SUBST(IPU_CFLAGS)
+ AC_SUBST(IPU_LIBS)
+
+ FSL_MM_CORE_CFLAGS=`$PKG_CONFIG --cflags libfslaudiocodec 2>/dev/null`
+-FSL_MM_CORE_CFLAGS+=`$PKG_CONFIG --cflags libfslvideocodec 2>/dev/null`
+-FSL_MM_CORE_CFLAGS+=`$PKG_CONFIG --cflags libfslparser 2>/dev/null`
+-FSL_MM_CORE_CFLAGS+=`$PKG_CONFIG --cflags libfslvpuwrap 2>/dev/null`
++FSL_MM_CORE_CFLAGS="$FSL_MM_CORE_CFLAGS `$PKG_CONFIG --cflags libfslvideocodec 2>/dev/null`"
++FSL_MM_CORE_CFLAGS="$FSL_MM_CORE_CFLAGS `$PKG_CONFIG --cflags libfslparser 2>/dev/null`"
++FSL_MM_CORE_CFLAGS="$FSL_MM_CORE_CFLAGS `$PKG_CONFIG --cflags libfslvpuwrap 2>/dev/null`"
+ AC_SUBST(FSL_MM_CORE_CFLAGS)
+
+ FSL_MM_CORE_LIBS=`$PKG_CONFIG --libs libfslaudiocodec 2>/dev/null`
+-FSL_MM_CORE_LIBS+=`$PKG_CONFIG --libs libfslvideocodec 2>/dev/null`
+-FSL_MM_CORE_LIBS+=`$PKG_CONFIG --libs libfslparser 2>/dev/null`
+-FSL_MM_CORE_LIBS+=`$PKG_CONFIG --libs libfslvpuwrap 2>/dev/null`
++FSL_MM_CORE_LIBS="$FSL_MM_CORE_LIBS `$PKG_CONFIG --libs libfslvideocodec 2>/dev/null`"
++FSL_MM_CORE_LIBS="$FSL_MM_CORE_LIBS `$PKG_CONFIG --libs libfslparser 2>/dev/null`"
++FSL_MM_CORE_LIBS="$FSL_MM_CORE_LIBS `$PKG_CONFIG --libs libfslvpuwrap 2>/dev/null`"
+ AC_SUBST(FSL_MM_CORE_LIBS)
+
+ EXTRAPLATFORMCFLAGS="-DARM -D_GNUC_"
+--
diff --git a/package/multimedia/gst-fsl-plugins/gst-fsl-plugins-0003-Use-proper-objdump.patch b/package/multimedia/gst-fsl-plugins/gst-fsl-plugins-0003-Use-proper-objdump.patch
new file mode 100644
index 0000000..8fce239
--- /dev/null
+++ b/package/multimedia/gst-fsl-plugins/gst-fsl-plugins-0003-Use-proper-objdump.patch
@@ -0,0 +1,36 @@
+From c58b658a93b1b6d6e94ba0306d58de845012cef6 Mon Sep 17 00:00:00 2001
+From: "Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be>
+Date: Tue, 18 Dec 2012 12:22:52 +0100
+Subject: [PATCH] Use proper objdump
+
+If the OBJDUMP environment variable is set, that should be used rather
+than the objdump in PATH.
+
+Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 1a31a06..cc7557d 100755
+--- a/configure.ac
++++ b/configure.ac
+@@ -17,7 +17,7 @@ AC_DEFUN([FIND_PARSER_SONAME],
+ AC_MSG_CHECKING([for lib_$1_parser_$2_elinux.3.0.so soname])
+ path=`$PKG_CONFIG --variable=libdir libfslparser`
+ SONAME=$( $CC -print-file-name=$path/lib_$1_parser_$2_elinux.so | \
+- while read output; do objdump -p $output | \
++ while read output; do $OBJDUMP -p $output | \
+ grep "SONAME" | \
+ sed -e 's/ \+SONAME \+//'; done 2> /dev/null )
+ if [[ -z "$SONAME" ]]; then
+@@ -37,7 +37,7 @@ AC_DEFUN([FIND_ACODEC_SONAME],
+ AC_MSG_CHECKING([for lib_$1_wrap_$2_elinux.so soname])
+ path=`$PKG_CONFIG --variable=libdir libfslaudiocodec`
+ SONAME=$( $CC -print-file-name=$path/wrap/lib_$1_wrap_$2_elinux.so | \
+- while read output; do objdump -p $output | \
++ while read output; do $OBJDUMP -p $output | \
+ grep "SONAME" | \
+ sed -e 's/ \+SONAME \+//'; done 2> /dev/null )
+ if [[ -z "$SONAME" ]]; then
+--
diff --git a/package/multimedia/gst-fsl-plugins/gst-fsl-plugins.mk b/package/multimedia/gst-fsl-plugins/gst-fsl-plugins.mk
new file mode 100644
index 0000000..639fd52
--- /dev/null
+++ b/package/multimedia/gst-fsl-plugins/gst-fsl-plugins.mk
@@ -0,0 +1,42 @@
+#############################################################
+#
+# buildroot makefile for gst-fsl-plugins
+#
+#############################################################
+
+GST_FSL_PLUGINS_VERSION = 3.0.1
+# No official download site from freescale, just this mirror
+GST_FSL_PLUGINS_SITE = http://download.ossystems.com.br/bsp/freescale/source
+
+# Most is LGPLv2+, but some sources are copied from upstream and are
+# LGPLv2.1+, which essentially makes it LGPLv2.1+
+GST_FSL_PLUGINS_LICENSE = LGPLv2+, LGPLv2.1+, PROPRIETARY (asf.h)
+GST_FSL_PLUGINS_LICENSE_FILES = COPYING-LGPL-2.1 COPYING-LGPL-2
+
+GST_FSL_PLUGINS_INSTALL_STAGING = YES
+GST_FSL_PLUGINS_AUTORECONF = YES
+
+GST_FSL_PLUGINS_DEPENDENCIES += host-pkgconf gstreamer gst-plugins-base \
+ libfslvpuwrap imx-lib libfslparser libfslcodec
+
+GST_FSL_PLUGINS_CONF_ENV = PLATFORM=$(BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM)
+
+# needs access to imx-specific kernel headers
+GST_FSL_PLUGINS_DEPENDENCIES += linux
+GST_FSL_PLUGINS_CONF_ENV += CPPFLAGS="$(TARGET_CPPFLAGS) -idirafter $(LINUX_DIR)/include"
+
+ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y)
+GST_FSL_PLUGINS_DEPENDENCIES += xlib_libX11
+GST_FSL_PLUGINS_CONF_OPT += --enable-x11
+else
+GST_FSL_PLUGINS_CONF_OPT += --disable-x11
+endif
+
+# Autoreconf requires an m4 directory to exist
+define GST_FSL_PLUGINS_PATCH_M4
+ mkdir -p $(@D)/m4
+endef
+
+GST_FSL_PLUGINS_POST_PATCH_HOOKS += GST_FSL_PLUGINS_PATCH_M4
+
+$(eval $(autotools-package))
--
1.7.10.4
^ permalink raw reply related [flat|nested] 14+ messages in thread* [Buildroot] [PATCH RFC 0/6] Freescale i.MX multimedia libraries
2012-12-19 23:37 [Buildroot] [PATCH RFC 0/6] Freescale i.MX multimedia libraries Arnout Vandecappelle
` (5 preceding siblings ...)
2012-12-19 23:37 ` [Buildroot] [PATCH RFC 6/6] gst-fsl-plugins: " Arnout Vandecappelle
@ 2013-01-14 15:22 ` Peter Korsgaard
6 siblings, 0 replies; 14+ messages in thread
From: Peter Korsgaard @ 2013-01-14 15:22 UTC (permalink / raw)
To: buildroot
>>>>> "Arnout" == Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> writes:
Arnout> This patch series adds Freescale's proprietary multimedia libraries for
Arnout> the i.MX platform.
Arnout> I only tested it on mx6q (SabreLite). I'm sending it now even
Arnout> though there are still a few major shortcomings, so Peter (and
Arnout> others) have the chance to test it on different platforms while
Arnout> I'm on vacation.
Thanks. Nobody commented on these patches, and it's obviously useful for
some people even if it isn't perfect, so I've committed them, thanks.
I haven't gotten to runtime test it yet, just done a tets build based on
nitrogen6x_defconfig.
I will try to find time to runtime test stuff as well soonish.
Arnout> These are the things I'd like to see improved - feedback is
Arnout> very welcome!
Arnout> * The platform stuff. A separate choice in imx-lib and
Arnout> gst-fsl-plugins really doesn't work, because they are not kept
Arnout> consistent (the 'select' doesn't always work).
Agreed. My build first failed because I had just enabled gst-fsl-plugins
but forgotten to track down the imx-lib option to build for mx6.
I wonder where we should put such a "global" option though. Together
with the arch settings?
Arnout> * All the binary libraries are installed, even though they are
Arnout> for other platforms. The whole thing is about 10MB.
Yeah, that could presumably be trimmed fairly easily if we had a global
imx variant setting.
Arnout> * I couldn't find an official upstream download site, so I used
Arnout> a mirror, but it risks disappearing unexpectedly.
Yeah :/ It should get mirrored on sources.buildroot.net soon
though. It's not completely clear to me if we are strictly allowed to
mirror these though.
Arnout> For the platform stuff, one idea I had was to create a new menu for
Arnout> platform-specific packages. In that menu, you'd have a menuconfig per
Arnout> platform, and this menu could give a SoC choice. The platform-specific
Arnout> menus can collect all the platform-specific packages which are now
Arnout> "polluting" the rest of the menus. For example:
Arnout> menu "Platform-specific packages"
Arnout> menuconfig "Freescale i.MX"
Arnout> choice "i.MX SoC"
Arnout> config "i.MX 51"
Arnout> config "i.MX 6"
Arnout> endchoice
Arnout> menuconfig "Freescale QorIQ"
Arnout> menuconfig "Raspberry Pi"
Arnout> menuconfig "Snowball"
Arnout> source "package/snowball-hdmiservice"
Arnout> source "package/snowball-init"
Arnout> menuconfig "TI Davinci"
Yes, I guess that's what we need to move towards. It gets complicated
when things either don't fit nicely within a single family though.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 14+ messages in thread