diff mbox

gst1-imx: make kernel dependency optional

Message ID 97bf649b600a5548cfd3c53575747a057f24e07e.1460973919.git.baruch@tkos.co.il
State Accepted
Headers show

Commit Message

Baruch Siach April 18, 2016, 10:05 a.m. UTC
The i.MX specific kernel headers are not a hard dependency. Quoting README.md:

  Without [--kernel-headers], the [ipu.h] header is not found, and elements
  using the IPU will not be built.

Cc: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
---
 package/gstreamer1/gst1-imx/Config.in   | 10 +++-------
 package/gstreamer1/gst1-imx/gst1-imx.mk |  9 ++++++---
 2 files changed, 9 insertions(+), 10 deletions(-)

Comments

Gary Bisson April 18, 2016, 10:18 a.m. UTC | #1
Baruch, All,

On Mon, Apr 18, 2016 at 12:05 PM, Baruch Siach <baruch@tkos.co.il> wrote:
> The i.MX specific kernel headers are not a hard dependency. Quoting README.md:
>
>   Without [--kernel-headers], the [ipu.h] header is not found, and elements
>   using the IPU will not be built.

That is true, it isn't a hard dependency, the reason I left it like
that is because if the headers aren't found and none of the other
configurations (plugins-bad, imx-gpu-viv or libimxvpuapi) are set, no
actual plugin will be built which could be confusing.

Although this patch is correct and legit, I'd rather go ahead and
rework the entire package since Carlos worked on being able to
select/disable each and individual plugin since version 0.12.1:
https://github.com/Freescale/meta-fsl-arm/commit/cec4c47e

Let me know your thoughts.

Regards,
Gary
Baruch Siach April 18, 2016, 10:28 a.m. UTC | #2
Hi Gary,

On Mon, Apr 18, 2016 at 12:18:28PM +0200, Gary Bisson wrote:
> On Mon, Apr 18, 2016 at 12:05 PM, Baruch Siach <baruch@tkos.co.il> wrote:
> > The i.MX specific kernel headers are not a hard dependency. Quoting README.md:
> >
> >   Without [--kernel-headers], the [ipu.h] header is not found, and elements
> >   using the IPU will not be built.
> 
> That is true, it isn't a hard dependency, the reason I left it like
> that is because if the headers aren't found and none of the other
> configurations (plugins-bad, imx-gpu-viv or libimxvpuapi) are set, no
> actual plugin will be built which could be confusing.
> 
> Although this patch is correct and legit, I'd rather go ahead and
> rework the entire package since Carlos worked on being able to
> select/disable each and individual plugin since version 0.12.1:
> https://github.com/Freescale/meta-fsl-arm/commit/cec4c47e

This is event better. Do you have something ready to test?

baruch
Gary Bisson April 18, 2016, 10:31 a.m. UTC | #3
Baruch, All,

On Mon, Apr 18, 2016 at 12:28 PM, Baruch Siach <baruch@tkos.co.il> wrote:
> Hi Gary,
>
> On Mon, Apr 18, 2016 at 12:18:28PM +0200, Gary Bisson wrote:
>> On Mon, Apr 18, 2016 at 12:05 PM, Baruch Siach <baruch@tkos.co.il> wrote:
>> > The i.MX specific kernel headers are not a hard dependency. Quoting README.md:
>> >
>> >   Without [--kernel-headers], the [ipu.h] header is not found, and elements
>> >   using the IPU will not be built.
>>
>> That is true, it isn't a hard dependency, the reason I left it like
>> that is because if the headers aren't found and none of the other
>> configurations (plugins-bad, imx-gpu-viv or libimxvpuapi) are set, no
>> actual plugin will be built which could be confusing.
>>
>> Although this patch is correct and legit, I'd rather go ahead and
>> rework the entire package since Carlos worked on being able to
>> select/disable each and individual plugin since version 0.12.1:
>> https://github.com/Freescale/meta-fsl-arm/commit/cec4c47e
>
> This is event better. Do you have something ready to test?

No unfortunately I'm swamped right now, didn't have time to prepare a
patch yet, not sure I will have any time until next week.

If you need the modification and have the time to do it, please go
ahead and I will test/review it.

Regards,
Gary
Thomas Petazzoni April 18, 2016, 7:23 p.m. UTC | #4
Hello,

On Mon, 18 Apr 2016 12:18:28 +0200, Gary Bisson wrote:

> That is true, it isn't a hard dependency, the reason I left it like
> that is because if the headers aren't found and none of the other
> configurations (plugins-bad, imx-gpu-viv or libimxvpuapi) are set, no
> actual plugin will be built which could be confusing.
> 
> Although this patch is correct and legit, I'd rather go ahead and
> rework the entire package since Carlos worked on being able to
> select/disable each and individual plugin since version 0.12.1:
> https://github.com/Freescale/meta-fsl-arm/commit/cec4c47e

But isn't Baruch patch as-is already a step in the right direction?
I.e, should we merge it as-is, or wait for the entire rework to be done?

Thanks!

Thomas
Gary Bisson April 19, 2016, 8:12 a.m. UTC | #5
Thomas, All,

On Mon, Apr 18, 2016 at 9:23 PM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Hello,
>
> On Mon, 18 Apr 2016 12:18:28 +0200, Gary Bisson wrote:
>
>> That is true, it isn't a hard dependency, the reason I left it like
>> that is because if the headers aren't found and none of the other
>> configurations (plugins-bad, imx-gpu-viv or libimxvpuapi) are set, no
>> actual plugin will be built which could be confusing.
>>
>> Although this patch is correct and legit, I'd rather go ahead and
>> rework the entire package since Carlos worked on being able to
>> select/disable each and individual plugin since version 0.12.1:
>> https://github.com/Freescale/meta-fsl-arm/commit/cec4c47e
>
> But isn't Baruch patch as-is already a step in the right direction?
> I.e, should we merge it as-is, or wait for the entire rework to be done?

Yes it is going in the right direction. Thinking about it now, yes it
might make sense to merge it as-is since we don't know when the full
rework will be done.

Regards,
Gary
Thomas Petazzoni June 12, 2016, 8:39 p.m. UTC | #6
Hello,

On Mon, 18 Apr 2016 13:05:19 +0300, Baruch Siach wrote:
> The i.MX specific kernel headers are not a hard dependency. Quoting README.md:
> 
>   Without [--kernel-headers], the [ipu.h] header is not found, and elements
>   using the IPU will not be built.
> 
> Cc: Gary Bisson <gary.bisson@boundarydevices.com>
> Signed-off-by: Baruch Siach <baruch@tkos.co.il>
> ---
>  package/gstreamer1/gst1-imx/Config.in   | 10 +++-------
>  package/gstreamer1/gst1-imx/gst1-imx.mk |  9 ++++++---
>  2 files changed, 9 insertions(+), 10 deletions(-)

Since Gary said the patch was OK (even though he didn't gave explicitly
his Acked-by or Reviewed-by), I applied Baruch's patch.

Thanks a lot!

Thomas
diff mbox

Patch

diff --git a/package/gstreamer1/gst1-imx/Config.in b/package/gstreamer1/gst1-imx/Config.in
index 0084483d1ec6..df0fcf3072d3 100644
--- a/package/gstreamer1/gst1-imx/Config.in
+++ b/package/gstreamer1/gst1-imx/Config.in
@@ -1,19 +1,15 @@ 
-comment "gst1-imx needs an imx-specific Linux kernel to be built"
-	depends on BR2_arm && !BR2_LINUX_KERNEL
-
 config BR2_PACKAGE_GST1_IMX
 	bool "gst1-imx"
-	depends on BR2_LINUX_KERNEL
 	depends on BR2_arm # Only relevant for i.MX
 	select BR2_PACKAGE_GST1_PLUGINS_BASE
 	help
 	  This is a set of GStreamer 1.0 plugins for plugins for Freescale's
 	  i.MX platforms, which make use of the i.MX multimedia capabilities.
 
-	  This software supports only the i.MX6 SoC family and requires a
-	  kernel that includes the i.MX6 specific headers to be built.
+	  This software supports only the i.MX6 SoC family.
 
-	  The IPU and PXP plugins are always built.
+	  The IPU and PXP plugins are built when an imx-specific kernel is
+	  enabled.
 	  The V4L2 plugin is built when BR2_PACKAGE_GST1_PLUGINS_BAD is enabled.
 	  The VPU plugin is built when BR2_PACKAGE_LIBIMXVPUAPI is enabled.
 	  The EGL plugin is built when BR2_PACKAGE_IMX_GPU_VIV is enabled.
diff --git a/package/gstreamer1/gst1-imx/gst1-imx.mk b/package/gstreamer1/gst1-imx/gst1-imx.mk
index 650e097592a0..86922eddb657 100644
--- a/package/gstreamer1/gst1-imx/gst1-imx.mk
+++ b/package/gstreamer1/gst1-imx/gst1-imx.mk
@@ -18,10 +18,13 @@  GST1_IMX_DEPENDENCIES += \
 	gstreamer1 \
 	gst1-plugins-base
 
-# needs access to imx-specific kernel headers
+GST1_IMX_CONF_OPTS = --prefix="/usr"
+
+ifeq ($(BR2_LINUX_KERNEL),y)
+# IPU and PXP need access to imx-specific kernel headers
 GST1_IMX_DEPENDENCIES += linux
-GST1_IMX_CONF_OPTS += --prefix="/usr" \
-	--kernel-headers="$(LINUX_DIR)/include"
+GST1_IMX_CONF_OPTS += --kernel-headers="$(LINUX_DIR)/include"
+endif
 
 ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD),y)
 GST1_IMX_DEPENDENCIES += gst1-plugins-bad