All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] hyplnk-lld: Add new recipe for Hyperlink lld
@ 2014-10-08 16:23 Sam Nelson
  2014-10-08 18:41 ` Denys Dmytriyenko
  0 siblings, 1 reply; 7+ messages in thread
From: Sam Nelson @ 2014-10-08 16:23 UTC (permalink / raw)
  To: meta-ti

- Provides low level driver for Hyperlink module
- Test recipe is used to build tests and examples using
  the hyperlink library.
- Supports k2h, k2k & k2e

Signed-off-by: Sam Nelson <sam.nelson@ti.com>
---
 recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb |   25 +++++++++++++++++++++++++
 recipes-bsp/hyplnk-lld/hyplnk-lld.inc         |   24 ++++++++++++++++++++++++
 recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb      |   18 ++++++++++++++++++
 3 files changed, 67 insertions(+)
 create mode 100755 recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb
 create mode 100644 recipes-bsp/hyplnk-lld/hyplnk-lld.inc
 create mode 100755 recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb

diff --git a/recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb b/recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb
new file mode 100755
index 0000000..49d11f0
--- /dev/null
+++ b/recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb
@@ -0,0 +1,25 @@
+include hyplnk-lld.inc
+
+DEPENDS="common-csl-ip hyplnk-lld"
+
+CHOICELIST = " yes \
+               no  \
+"
+
+do_compile () {
+	make -f makefile_armv7 clean PDK_INSTALL_PATH=${STAGING_INCDIR} HYPLNK_SRC_DIR=${PWD}
+	for device in ${DEVICELIST}
+	do
+		for choice in ${CHOICELIST}
+		do
+			make -f makefile_armv7 tests examples PDK_INSTALL_PATH=${STAGING_INCDIR} DEVICE="${device}" HYPLNK_SRC_DIR=${S} USEDYNAMIC_LIB="${choice}"
+		done
+	done
+}
+
+do_install () {
+    for device in ${DEVICELIST}
+	do
+	    make -f makefile_armv7 installbin PDK_INSTALL_PATH=${STAGING_INCDIR} DEVICE="${device}" HYPLNK_SRC_DIR=${S} INSTALL_BIN_BASE_DIR=${D}/${bindir}
+	done
+}
diff --git a/recipes-bsp/hyplnk-lld/hyplnk-lld.inc b/recipes-bsp/hyplnk-lld/hyplnk-lld.inc
new file mode 100644
index 0000000..4c8bb32
--- /dev/null
+++ b/recipes-bsp/hyplnk-lld/hyplnk-lld.inc
@@ -0,0 +1,24 @@
+DESCRIPTION = "TI Hyperlink Low Level Driver"
+LICENSE = "BSD-3-Clause"
+
+COMPATIBLE_MACHINE = "keystone"
+
+LLDNAME="hyplnk"
+
+LIC_FILES_CHKSUM = "file://${WORKDIR}/git/ti/drv/${LLDNAME}/COPYING.txt;md5=623325cc19e613a4e770fbb749922592"
+
+BRANCH="master"
+SRC_URI = "git://git.ti.com/keystone-rtos/hyplnk-lld.git;destsuffix=git/ti/drv/${LLDNAME};protocol=git;branch=${BRANCH}"
+# Following commit corresponds to tag DEV.HYPLNK_LLD.02.01.00.01
+SRCREV = "6910da379501984ecf27f8d23ba6fc6310fe387e"
+
+PV = "2.1.0"
+PR = "r0"
+
+DEVICELIST = " k2h \
+               k2k \
+               k2e \
+"
+
+BASEDIR = "${WORKDIR}/git"
+S = "${BASEDIR}/ti/drv/${LLDNAME}"
diff --git a/recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb b/recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb
new file mode 100755
index 0000000..3b9bc8a
--- /dev/null
+++ b/recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb
@@ -0,0 +1,18 @@
+include hyplnk-lld.inc
+
+DEPENDS="common-csl-ip"
+
+CHOICELIST = " yes \
+               no  \
+"
+do_compile () {
+	make -f makefile_armv7 clean PDK_INSTALL_PATH=${STAGING_INCDIR} HYPLNK_SRC_DIR=${PWD}
+	for device in ${DEVICELIST}
+	do
+		make -f makefile_armv7 lib PDK_INSTALL_PATH=${STAGING_INCDIR}  DEVICE="${device}"
+	done
+}
+
+do_install () {
+	make -f makefile_armv7 install PDK_INSTALL_PATH=${STAGING_INCDIR} INSTALL_INC_BASE_DIR=${D}/${includedir} INSTALL_LIB_BASE_DIR=${D}${libdir}
+}
-- 
1.7.9.5



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] hyplnk-lld: Add new recipe for Hyperlink lld
  2014-10-08 16:23 [PATCH] hyplnk-lld: Add new recipe for Hyperlink lld Sam Nelson
@ 2014-10-08 18:41 ` Denys Dmytriyenko
  2014-10-09 11:07   ` Nelson, Sam
  2014-10-13 15:09   ` Nelson, Sam
  0 siblings, 2 replies; 7+ messages in thread
From: Denys Dmytriyenko @ 2014-10-08 18:41 UTC (permalink / raw)
  To: Sam Nelson; +Cc: meta-ti

Sam,

This patch is not as clean as it could have been...

First of all, I see it's split into 2 separate recipes - one to build a 
library and another to build a test/example app using that library. While 
there are some valid reasons for such split, like when one component builds 
both kernel and user-space parts, or when half of the component can be 
replaced by a different provider; it is probably not the best approach in this 
case. It would be better to have a single recipe that builds everything and 
then packages its components into separate binary packages. Again, unless you 
envision building a test/example app w/o building its library, due to a 
replacement option. Or, if test/example app takes very long to build and is 
an optional piece and not being built by default... Please provide some more 
details here.

Next, I understand that you have to work with the provided Makefiles as is, 
but usually for things like building the dynamic and static versions of the 
library one would use separate Makefile targets and not the variable. That way 
only dynamic, only static, or both can be done in one command, instead of 
calling the same command twice with the variable set to "yes" or "no" - not 
very effective.

Also, please try to follow OpenEmbedded coding guidelines, like using spaces 
around = sign. I.e. VAR = "VAL" instead of VAR="VAL". I understand it's a 
nitpick and not critical, but still.

And since I'm not commenting inline, please be specific when using Bitbake 
variables vs. shell variables. I.e. in for-loops below, it should be $device 
and $choice instead of ${device} and ${choice}. In this case those are shell 
variables and there is no reason to try to confuse Bitbake, although it would 
fail to resolve them and leave as is to pick by shell...

One more - HYPLNK_SRC_DIR is not being passed to all make targets and when 
it's passed, it's sometimes ${S}, but sometimes ${PWD}. Please check the code 
and clean it up.

BTW, what does PDK_INSTALL_PATH variable specify? Is there any other 
dependency besides common-csl-ip?

Thanks for your submission! Please work with me and we'll get it cleared 
quickly. Thanks.

-- 
Denys


On Wed, Oct 08, 2014 at 12:23:49PM -0400, Sam Nelson wrote:
> - Provides low level driver for Hyperlink module
> - Test recipe is used to build tests and examples using
>   the hyperlink library.
> - Supports k2h, k2k & k2e
> 
> Signed-off-by: Sam Nelson <sam.nelson@ti.com>
> ---
>  recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb |   25 +++++++++++++++++++++++++
>  recipes-bsp/hyplnk-lld/hyplnk-lld.inc         |   24 ++++++++++++++++++++++++
>  recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb      |   18 ++++++++++++++++++
>  3 files changed, 67 insertions(+)
>  create mode 100755 recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb
>  create mode 100644 recipes-bsp/hyplnk-lld/hyplnk-lld.inc
>  create mode 100755 recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb
> 
> diff --git a/recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb b/recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb
> new file mode 100755
> index 0000000..49d11f0
> --- /dev/null
> +++ b/recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb
> @@ -0,0 +1,25 @@
> +include hyplnk-lld.inc
> +
> +DEPENDS="common-csl-ip hyplnk-lld"
> +
> +CHOICELIST = " yes \
> +               no  \
> +"
> +
> +do_compile () {
> +	make -f makefile_armv7 clean PDK_INSTALL_PATH=${STAGING_INCDIR} HYPLNK_SRC_DIR=${PWD}
> +	for device in ${DEVICELIST}
> +	do
> +		for choice in ${CHOICELIST}
> +		do
> +			make -f makefile_armv7 tests examples PDK_INSTALL_PATH=${STAGING_INCDIR} DEVICE="${device}" HYPLNK_SRC_DIR=${S} USEDYNAMIC_LIB="${choice}"
> +		done
> +	done
> +}
> +
> +do_install () {
> +    for device in ${DEVICELIST}
> +	do
> +	    make -f makefile_armv7 installbin PDK_INSTALL_PATH=${STAGING_INCDIR} DEVICE="${device}" HYPLNK_SRC_DIR=${S} INSTALL_BIN_BASE_DIR=${D}/${bindir}
> +	done
> +}
> diff --git a/recipes-bsp/hyplnk-lld/hyplnk-lld.inc b/recipes-bsp/hyplnk-lld/hyplnk-lld.inc
> new file mode 100644
> index 0000000..4c8bb32
> --- /dev/null
> +++ b/recipes-bsp/hyplnk-lld/hyplnk-lld.inc
> @@ -0,0 +1,24 @@
> +DESCRIPTION = "TI Hyperlink Low Level Driver"
> +LICENSE = "BSD-3-Clause"
> +
> +COMPATIBLE_MACHINE = "keystone"
> +
> +LLDNAME="hyplnk"
> +
> +LIC_FILES_CHKSUM = "file://${WORKDIR}/git/ti/drv/${LLDNAME}/COPYING.txt;md5=623325cc19e613a4e770fbb749922592"
> +
> +BRANCH="master"
> +SRC_URI = "git://git.ti.com/keystone-rtos/hyplnk-lld.git;destsuffix=git/ti/drv/${LLDNAME};protocol=git;branch=${BRANCH}"
> +# Following commit corresponds to tag DEV.HYPLNK_LLD.02.01.00.01
> +SRCREV = "6910da379501984ecf27f8d23ba6fc6310fe387e"
> +
> +PV = "2.1.0"
> +PR = "r0"
> +
> +DEVICELIST = " k2h \
> +               k2k \
> +               k2e \
> +"
> +
> +BASEDIR = "${WORKDIR}/git"
> +S = "${BASEDIR}/ti/drv/${LLDNAME}"
> diff --git a/recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb b/recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb
> new file mode 100755
> index 0000000..3b9bc8a
> --- /dev/null
> +++ b/recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb
> @@ -0,0 +1,18 @@
> +include hyplnk-lld.inc
> +
> +DEPENDS="common-csl-ip"
> +
> +CHOICELIST = " yes \
> +               no  \
> +"
> +do_compile () {
> +	make -f makefile_armv7 clean PDK_INSTALL_PATH=${STAGING_INCDIR} HYPLNK_SRC_DIR=${PWD}
> +	for device in ${DEVICELIST}
> +	do
> +		make -f makefile_armv7 lib PDK_INSTALL_PATH=${STAGING_INCDIR}  DEVICE="${device}"
> +	done
> +}
> +
> +do_install () {
> +	make -f makefile_armv7 install PDK_INSTALL_PATH=${STAGING_INCDIR} INSTALL_INC_BASE_DIR=${D}/${includedir} INSTALL_LIB_BASE_DIR=${D}${libdir}
> +}
> -- 
> 1.7.9.5
> 
> -- 
> _______________________________________________
> meta-ti mailing list
> meta-ti@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-ti


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] hyplnk-lld: Add new recipe for Hyperlink lld
  2014-10-08 18:41 ` Denys Dmytriyenko
@ 2014-10-09 11:07   ` Nelson, Sam
  2014-10-27 17:00     ` Denys Dmytriyenko
  2014-10-13 15:09   ` Nelson, Sam
  1 sibling, 1 reply; 7+ messages in thread
From: Nelson, Sam @ 2014-10-09 11:07 UTC (permalink / raw)
  To: Dmytriyenko, Denys; +Cc: meta-ti@yoctoproject.org



> -----Original Message-----
> From: Dmytriyenko, Denys
> Sent: Wednesday, October 08, 2014 2:41 PM
> To: Nelson, Sam
> Cc: meta-ti@yoctoproject.org
> Subject: Re: [meta-ti] [PATCH] hyplnk-lld: Add new recipe for Hyperlink lld
> 
> Sam,
> 
> This patch is not as clean as it could have been...
> 
> First of all, I see it's split into 2 separate recipes - one to build a
> library and another to build a test/example app using that library. While
> there are some valid reasons for such split, like when one component builds
> both kernel and user-space parts, or when half of the component can be
> replaced by a different provider; it is probably not the best approach in this
> case. It would be better to have a single recipe that builds everything and
> then packages its components into separate binary packages. Again, unless
> you
> envision building a test/example app w/o building its library, due to a
> replacement option. Or, if test/example app takes very long to build and is
> an optional piece and not being built by default... Please provide some more
> details here.
[Sam] The main reason the recipes are split is this: The test code is written such that it depends on libraries in the staging directory.
This is done intentionally to make the test code independent of the library.

> 
> Next, I understand that you have to work with the provided Makefiles as is,
> but usually for things like building the dynamic and static versions of the
> library one would use separate Makefile targets and not the variable. That
> way
> only dynamic, only static, or both can be done in one command, instead of
> calling the same command twice with the variable set to "yes" or "no" - not
> very effective.
> 
[Sam]  This builds the test code : one binary is built to  test  with the static library and another with the dynamic library.
Not sure what you are suggesting.

> Also, please try to follow OpenEmbedded coding guidelines, like using
> spaces
> around = sign. I.e. VAR = "VAL" instead of VAR="VAL". I understand it's a
> nitpick and not critical, but still.
> 
[Sam] I will correct this.
> And since I'm not commenting inline, please be specific when using Bitbake
> variables vs. shell variables. I.e. in for-loops below, it should be $device
> and $choice instead of ${device} and ${choice}. In this case those are shell
> variables and there is no reason to try to confuse Bitbake, although it would
> fail to resolve them and leave as is to pick by shell...
[Sam] I will fix this.
> 
> One more - HYPLNK_SRC_DIR is not being passed to all make targets and
> when
> it's passed, it's sometimes ${S}, but sometimes ${PWD}. Please check the
> code
> and clean it up.
[Sam] I will clean this up and send updated patch.
> 
> BTW, what does PDK_INSTALL_PATH variable specify? Is there any other
> dependency besides common-csl-ip?
[Sam] For the library:  PDK install path is used to access common-csl-ip.
For the test code it is used to access common-csl-ip and the hyplnk-lld library.
> 
> Thanks for your submission! Please work with me and we'll get it cleared
> quickly. Thanks.
> 
> --
> Denys
> 
> 
> On Wed, Oct 08, 2014 at 12:23:49PM -0400, Sam Nelson wrote:
> > - Provides low level driver for Hyperlink module
> > - Test recipe is used to build tests and examples using
> >   the hyperlink library.
> > - Supports k2h, k2k & k2e
> >
> > Signed-off-by: Sam Nelson <sam.nelson@ti.com>
> > ---
> >  recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb |   25
> +++++++++++++++++++++++++
> >  recipes-bsp/hyplnk-lld/hyplnk-lld.inc         |   24
> ++++++++++++++++++++++++
> >  recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb      |   18 ++++++++++++++++++
> >  3 files changed, 67 insertions(+)
> >  create mode 100755 recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb
> >  create mode 100644 recipes-bsp/hyplnk-lld/hyplnk-lld.inc
> >  create mode 100755 recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb
> >
> > diff --git a/recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb b/recipes-
> bsp/hyplnk-lld/hyplnk-lld-test_git.bb
> > new file mode 100755
> > index 0000000..49d11f0
> > --- /dev/null
> > +++ b/recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb
> > @@ -0,0 +1,25 @@
> > +include hyplnk-lld.inc
> > +
> > +DEPENDS="common-csl-ip hyplnk-lld"
> > +
> > +CHOICELIST = " yes \
> > +               no  \
> > +"
> > +
> > +do_compile () {
> > +	make -f makefile_armv7 clean
> PDK_INSTALL_PATH=${STAGING_INCDIR} HYPLNK_SRC_DIR=${PWD}
> > +	for device in ${DEVICELIST}
> > +	do
> > +		for choice in ${CHOICELIST}
> > +		do
> > +			make -f makefile_armv7 tests examples
> PDK_INSTALL_PATH=${STAGING_INCDIR} DEVICE="${device}"
> HYPLNK_SRC_DIR=${S} USEDYNAMIC_LIB="${choice}"
> > +		done
> > +	done
> > +}
> > +
> > +do_install () {
> > +    for device in ${DEVICELIST}
> > +	do
> > +	    make -f makefile_armv7 installbin
> PDK_INSTALL_PATH=${STAGING_INCDIR} DEVICE="${device}"
> HYPLNK_SRC_DIR=${S} INSTALL_BIN_BASE_DIR=${D}/${bindir}
> > +	done
> > +}
> > diff --git a/recipes-bsp/hyplnk-lld/hyplnk-lld.inc b/recipes-bsp/hyplnk-
> lld/hyplnk-lld.inc
> > new file mode 100644
> > index 0000000..4c8bb32
> > --- /dev/null
> > +++ b/recipes-bsp/hyplnk-lld/hyplnk-lld.inc
> > @@ -0,0 +1,24 @@
> > +DESCRIPTION = "TI Hyperlink Low Level Driver"
> > +LICENSE = "BSD-3-Clause"
> > +
> > +COMPATIBLE_MACHINE = "keystone"
> > +
> > +LLDNAME="hyplnk"
> > +
> > +LIC_FILES_CHKSUM =
> "file://${WORKDIR}/git/ti/drv/${LLDNAME}/COPYING.txt;md5=623325cc19e
> 613a4e770fbb749922592"
> > +
> > +BRANCH="master"
> > +SRC_URI = "git://git.ti.com/keystone-rtos/hyplnk-
> lld.git;destsuffix=git/ti/drv/${LLDNAME};protocol=git;branch=${BRANCH}"
> > +# Following commit corresponds to tag DEV.HYPLNK_LLD.02.01.00.01
> > +SRCREV = "6910da379501984ecf27f8d23ba6fc6310fe387e"
> > +
> > +PV = "2.1.0"
> > +PR = "r0"
> > +
> > +DEVICELIST = " k2h \
> > +               k2k \
> > +               k2e \
> > +"
> > +
> > +BASEDIR = "${WORKDIR}/git"
> > +S = "${BASEDIR}/ti/drv/${LLDNAME}"
> > diff --git a/recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb b/recipes-bsp/hyplnk-
> lld/hyplnk-lld_git.bb
> > new file mode 100755
> > index 0000000..3b9bc8a
> > --- /dev/null
> > +++ b/recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb
> > @@ -0,0 +1,18 @@
> > +include hyplnk-lld.inc
> > +
> > +DEPENDS="common-csl-ip"
> > +
> > +CHOICELIST = " yes \
> > +               no  \
> > +"
> > +do_compile () {
> > +	make -f makefile_armv7 clean
> PDK_INSTALL_PATH=${STAGING_INCDIR} HYPLNK_SRC_DIR=${PWD}
> > +	for device in ${DEVICELIST}
> > +	do
> > +		make -f makefile_armv7 lib
> PDK_INSTALL_PATH=${STAGING_INCDIR}  DEVICE="${device}"
> > +	done
> > +}
> > +
> > +do_install () {
> > +	make -f makefile_armv7 install
> PDK_INSTALL_PATH=${STAGING_INCDIR}
> INSTALL_INC_BASE_DIR=${D}/${includedir}
> INSTALL_LIB_BASE_DIR=${D}${libdir}
> > +}
> > --
> > 1.7.9.5
> >
> > --
> > _______________________________________________
> > meta-ti mailing list
> > meta-ti@yoctoproject.org
> > https://lists.yoctoproject.org/listinfo/meta-ti


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] hyplnk-lld: Add new recipe for Hyperlink lld
  2014-10-08 18:41 ` Denys Dmytriyenko
  2014-10-09 11:07   ` Nelson, Sam
@ 2014-10-13 15:09   ` Nelson, Sam
  2014-10-27 16:44     ` Nelson, Sam
  1 sibling, 1 reply; 7+ messages in thread
From: Nelson, Sam @ 2014-10-13 15:09 UTC (permalink / raw)
  To: Dmytriyenko, Denys; +Cc: meta-ti@yoctoproject.org

Denys,
I was waiting for your response on this.
Otherwise, I can send an updated patch.
Please let me know.
With regards,
Sam

> -----Original Message-----
> From: Nelson, Sam
> Sent: Thursday, October 09, 2014 7:08 AM
> To: Dmytriyenko, Denys
> Cc: meta-ti@yoctoproject.org
> Subject: RE: [meta-ti] [PATCH] hyplnk-lld: Add new recipe for Hyperlink lld
> 
> 
> 
> > -----Original Message-----
> > From: Dmytriyenko, Denys
> > Sent: Wednesday, October 08, 2014 2:41 PM
> > To: Nelson, Sam
> > Cc: meta-ti@yoctoproject.org
> > Subject: Re: [meta-ti] [PATCH] hyplnk-lld: Add new recipe for Hyperlink lld
> >
> > Sam,
> >
> > This patch is not as clean as it could have been...
> >
> > First of all, I see it's split into 2 separate recipes - one to build a
> > library and another to build a test/example app using that library. While
> > there are some valid reasons for such split, like when one component
> builds
> > both kernel and user-space parts, or when half of the component can be
> > replaced by a different provider; it is probably not the best approach in
> this
> > case. It would be better to have a single recipe that builds everything and
> > then packages its components into separate binary packages. Again, unless
> > you
> > envision building a test/example app w/o building its library, due to a
> > replacement option. Or, if test/example app takes very long to build and is
> > an optional piece and not being built by default... Please provide some
> more
> > details here.
> [Sam] The main reason the recipes are split is this: The test code is written
> such that it depends on libraries in the staging directory.
> This is done intentionally to make the test code independent of the library.
> 
> >
> > Next, I understand that you have to work with the provided Makefiles as is,
> > but usually for things like building the dynamic and static versions of the
> > library one would use separate Makefile targets and not the variable. That
> > way
> > only dynamic, only static, or both can be done in one command, instead of
> > calling the same command twice with the variable set to "yes" or "no" -
> not
> > very effective.
> >
> [Sam]  This builds the test code : one binary is built to  test  with the static
> library and another with the dynamic library.
> Not sure what you are suggesting.
> 
> > Also, please try to follow OpenEmbedded coding guidelines, like using
> > spaces
> > around = sign. I.e. VAR = "VAL" instead of VAR="VAL". I understand it's a
> > nitpick and not critical, but still.
> >
> [Sam] I will correct this.
> > And since I'm not commenting inline, please be specific when using
> Bitbake
> > variables vs. shell variables. I.e. in for-loops below, it should be $device
> > and $choice instead of ${device} and ${choice}. In this case those are shell
> > variables and there is no reason to try to confuse Bitbake, although it
> would
> > fail to resolve them and leave as is to pick by shell...
> [Sam] I will fix this.
> >
> > One more - HYPLNK_SRC_DIR is not being passed to all make targets and
> > when
> > it's passed, it's sometimes ${S}, but sometimes ${PWD}. Please check the
> > code
> > and clean it up.
> [Sam] I will clean this up and send updated patch.
> >
> > BTW, what does PDK_INSTALL_PATH variable specify? Is there any other
> > dependency besides common-csl-ip?
> [Sam] For the library:  PDK install path is used to access common-csl-ip.
> For the test code it is used to access common-csl-ip and the hyplnk-lld
> library.
> >
> > Thanks for your submission! Please work with me and we'll get it cleared
> > quickly. Thanks.
> >
> > --
> > Denys
> >
> >
> > On Wed, Oct 08, 2014 at 12:23:49PM -0400, Sam Nelson wrote:
> > > - Provides low level driver for Hyperlink module
> > > - Test recipe is used to build tests and examples using
> > >   the hyperlink library.
> > > - Supports k2h, k2k & k2e
> > >
> > > Signed-off-by: Sam Nelson <sam.nelson@ti.com>
> > > ---
> > >  recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb |   25
> > +++++++++++++++++++++++++
> > >  recipes-bsp/hyplnk-lld/hyplnk-lld.inc         |   24
> > ++++++++++++++++++++++++
> > >  recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb      |   18 ++++++++++++++++++
> > >  3 files changed, 67 insertions(+)
> > >  create mode 100755 recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb
> > >  create mode 100644 recipes-bsp/hyplnk-lld/hyplnk-lld.inc
> > >  create mode 100755 recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb
> > >
> > > diff --git a/recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb b/recipes-
> > bsp/hyplnk-lld/hyplnk-lld-test_git.bb
> > > new file mode 100755
> > > index 0000000..49d11f0
> > > --- /dev/null
> > > +++ b/recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb
> > > @@ -0,0 +1,25 @@
> > > +include hyplnk-lld.inc
> > > +
> > > +DEPENDS="common-csl-ip hyplnk-lld"
> > > +
> > > +CHOICELIST = " yes \
> > > +               no  \
> > > +"
> > > +
> > > +do_compile () {
> > > +	make -f makefile_armv7 clean
> > PDK_INSTALL_PATH=${STAGING_INCDIR} HYPLNK_SRC_DIR=${PWD}
> > > +	for device in ${DEVICELIST}
> > > +	do
> > > +		for choice in ${CHOICELIST}
> > > +		do
> > > +			make -f makefile_armv7 tests examples
> > PDK_INSTALL_PATH=${STAGING_INCDIR} DEVICE="${device}"
> > HYPLNK_SRC_DIR=${S} USEDYNAMIC_LIB="${choice}"
> > > +		done
> > > +	done
> > > +}
> > > +
> > > +do_install () {
> > > +    for device in ${DEVICELIST}
> > > +	do
> > > +	    make -f makefile_armv7 installbin
> > PDK_INSTALL_PATH=${STAGING_INCDIR} DEVICE="${device}"
> > HYPLNK_SRC_DIR=${S} INSTALL_BIN_BASE_DIR=${D}/${bindir}
> > > +	done
> > > +}
> > > diff --git a/recipes-bsp/hyplnk-lld/hyplnk-lld.inc b/recipes-bsp/hyplnk-
> > lld/hyplnk-lld.inc
> > > new file mode 100644
> > > index 0000000..4c8bb32
> > > --- /dev/null
> > > +++ b/recipes-bsp/hyplnk-lld/hyplnk-lld.inc
> > > @@ -0,0 +1,24 @@
> > > +DESCRIPTION = "TI Hyperlink Low Level Driver"
> > > +LICENSE = "BSD-3-Clause"
> > > +
> > > +COMPATIBLE_MACHINE = "keystone"
> > > +
> > > +LLDNAME="hyplnk"
> > > +
> > > +LIC_FILES_CHKSUM =
> >
> "file://${WORKDIR}/git/ti/drv/${LLDNAME}/COPYING.txt;md5=623325cc19e
> > 613a4e770fbb749922592"
> > > +
> > > +BRANCH="master"
> > > +SRC_URI = "git://git.ti.com/keystone-rtos/hyplnk-
> > lld.git;destsuffix=git/ti/drv/${LLDNAME};protocol=git;branch=${BRANCH}"
> > > +# Following commit corresponds to tag DEV.HYPLNK_LLD.02.01.00.01
> > > +SRCREV = "6910da379501984ecf27f8d23ba6fc6310fe387e"
> > > +
> > > +PV = "2.1.0"
> > > +PR = "r0"
> > > +
> > > +DEVICELIST = " k2h \
> > > +               k2k \
> > > +               k2e \
> > > +"
> > > +
> > > +BASEDIR = "${WORKDIR}/git"
> > > +S = "${BASEDIR}/ti/drv/${LLDNAME}"
> > > diff --git a/recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb b/recipes-
> bsp/hyplnk-
> > lld/hyplnk-lld_git.bb
> > > new file mode 100755
> > > index 0000000..3b9bc8a
> > > --- /dev/null
> > > +++ b/recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb
> > > @@ -0,0 +1,18 @@
> > > +include hyplnk-lld.inc
> > > +
> > > +DEPENDS="common-csl-ip"
> > > +
> > > +CHOICELIST = " yes \
> > > +               no  \
> > > +"
> > > +do_compile () {
> > > +	make -f makefile_armv7 clean
> > PDK_INSTALL_PATH=${STAGING_INCDIR} HYPLNK_SRC_DIR=${PWD}
> > > +	for device in ${DEVICELIST}
> > > +	do
> > > +		make -f makefile_armv7 lib
> > PDK_INSTALL_PATH=${STAGING_INCDIR}  DEVICE="${device}"
> > > +	done
> > > +}
> > > +
> > > +do_install () {
> > > +	make -f makefile_armv7 install
> > PDK_INSTALL_PATH=${STAGING_INCDIR}
> > INSTALL_INC_BASE_DIR=${D}/${includedir}
> > INSTALL_LIB_BASE_DIR=${D}${libdir}
> > > +}
> > > --
> > > 1.7.9.5
> > >
> > > --
> > > _______________________________________________
> > > meta-ti mailing list
> > > meta-ti@yoctoproject.org
> > > https://lists.yoctoproject.org/listinfo/meta-ti


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] hyplnk-lld: Add new recipe for Hyperlink lld
  2014-10-13 15:09   ` Nelson, Sam
@ 2014-10-27 16:44     ` Nelson, Sam
  0 siblings, 0 replies; 7+ messages in thread
From: Nelson, Sam @ 2014-10-27 16:44 UTC (permalink / raw)
  To: Dmytriyenko, Denys; +Cc: meta-ti@yoctoproject.org

Ping.
> -----Original Message-----
> From: meta-ti-bounces@yoctoproject.org [mailto:meta-ti-
> bounces@yoctoproject.org] On Behalf Of Nelson, Sam
> Sent: Monday, October 13, 2014 11:10 AM
> To: Dmytriyenko, Denys
> Cc: meta-ti@yoctoproject.org
> Subject: Re: [meta-ti] [PATCH] hyplnk-lld: Add new recipe for Hyperlink lld
> 
> Denys,
> I was waiting for your response on this.
> Otherwise, I can send an updated patch.
> Please let me know.
> With regards,
> Sam
> 
> > -----Original Message-----
> > From: Nelson, Sam
> > Sent: Thursday, October 09, 2014 7:08 AM
> > To: Dmytriyenko, Denys
> > Cc: meta-ti@yoctoproject.org
> > Subject: RE: [meta-ti] [PATCH] hyplnk-lld: Add new recipe for Hyperlink lld
> >
> >
> >
> > > -----Original Message-----
> > > From: Dmytriyenko, Denys
> > > Sent: Wednesday, October 08, 2014 2:41 PM
> > > To: Nelson, Sam
> > > Cc: meta-ti@yoctoproject.org
> > > Subject: Re: [meta-ti] [PATCH] hyplnk-lld: Add new recipe for Hyperlink
> lld
> > >
> > > Sam,
> > >
> > > This patch is not as clean as it could have been...
> > >
> > > First of all, I see it's split into 2 separate recipes - one to build a
> > > library and another to build a test/example app using that library. While
> > > there are some valid reasons for such split, like when one component
> > builds
> > > both kernel and user-space parts, or when half of the component can be
> > > replaced by a different provider; it is probably not the best approach in
> > this
> > > case. It would be better to have a single recipe that builds everything and
> > > then packages its components into separate binary packages. Again,
> unless
> > > you
> > > envision building a test/example app w/o building its library, due to a
> > > replacement option. Or, if test/example app takes very long to build and
> is
> > > an optional piece and not being built by default... Please provide some
> > more
> > > details here.
> > [Sam] The main reason the recipes are split is this: The test code is written
> > such that it depends on libraries in the staging directory.
> > This is done intentionally to make the test code independent of the library.
> >
> > >
> > > Next, I understand that you have to work with the provided Makefiles as
> is,
> > > but usually for things like building the dynamic and static versions of the
> > > library one would use separate Makefile targets and not the variable.
> That
> > > way
> > > only dynamic, only static, or both can be done in one command, instead
> of
> > > calling the same command twice with the variable set to "yes" or "no" -
> > not
> > > very effective.
> > >
> > [Sam]  This builds the test code : one binary is built to  test  with the static
> > library and another with the dynamic library.
> > Not sure what you are suggesting.
> >
> > > Also, please try to follow OpenEmbedded coding guidelines, like using
> > > spaces
> > > around = sign. I.e. VAR = "VAL" instead of VAR="VAL". I understand it's a
> > > nitpick and not critical, but still.
> > >
> > [Sam] I will correct this.
> > > And since I'm not commenting inline, please be specific when using
> > Bitbake
> > > variables vs. shell variables. I.e. in for-loops below, it should be $device
> > > and $choice instead of ${device} and ${choice}. In this case those are
> shell
> > > variables and there is no reason to try to confuse Bitbake, although it
> > would
> > > fail to resolve them and leave as is to pick by shell...
> > [Sam] I will fix this.
> > >
> > > One more - HYPLNK_SRC_DIR is not being passed to all make targets and
> > > when
> > > it's passed, it's sometimes ${S}, but sometimes ${PWD}. Please check the
> > > code
> > > and clean it up.
> > [Sam] I will clean this up and send updated patch.
> > >
> > > BTW, what does PDK_INSTALL_PATH variable specify? Is there any other
> > > dependency besides common-csl-ip?
> > [Sam] For the library:  PDK install path is used to access common-csl-ip.
> > For the test code it is used to access common-csl-ip and the hyplnk-lld
> > library.
> > >
> > > Thanks for your submission! Please work with me and we'll get it cleared
> > > quickly. Thanks.
> > >
> > > --
> > > Denys
> > >
> > >
> > > On Wed, Oct 08, 2014 at 12:23:49PM -0400, Sam Nelson wrote:
> > > > - Provides low level driver for Hyperlink module
> > > > - Test recipe is used to build tests and examples using
> > > >   the hyperlink library.
> > > > - Supports k2h, k2k & k2e
> > > >
> > > > Signed-off-by: Sam Nelson <sam.nelson@ti.com>
> > > > ---
> > > >  recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb |   25
> > > +++++++++++++++++++++++++
> > > >  recipes-bsp/hyplnk-lld/hyplnk-lld.inc         |   24
> > > ++++++++++++++++++++++++
> > > >  recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb      |   18 ++++++++++++++++++
> > > >  3 files changed, 67 insertions(+)
> > > >  create mode 100755 recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb
> > > >  create mode 100644 recipes-bsp/hyplnk-lld/hyplnk-lld.inc
> > > >  create mode 100755 recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb
> > > >
> > > > diff --git a/recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb b/recipes-
> > > bsp/hyplnk-lld/hyplnk-lld-test_git.bb
> > > > new file mode 100755
> > > > index 0000000..49d11f0
> > > > --- /dev/null
> > > > +++ b/recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb
> > > > @@ -0,0 +1,25 @@
> > > > +include hyplnk-lld.inc
> > > > +
> > > > +DEPENDS="common-csl-ip hyplnk-lld"
> > > > +
> > > > +CHOICELIST = " yes \
> > > > +               no  \
> > > > +"
> > > > +
> > > > +do_compile () {
> > > > +	make -f makefile_armv7 clean
> > > PDK_INSTALL_PATH=${STAGING_INCDIR} HYPLNK_SRC_DIR=${PWD}
> > > > +	for device in ${DEVICELIST}
> > > > +	do
> > > > +		for choice in ${CHOICELIST}
> > > > +		do
> > > > +			make -f makefile_armv7 tests examples
> > > PDK_INSTALL_PATH=${STAGING_INCDIR} DEVICE="${device}"
> > > HYPLNK_SRC_DIR=${S} USEDYNAMIC_LIB="${choice}"
> > > > +		done
> > > > +	done
> > > > +}
> > > > +
> > > > +do_install () {
> > > > +    for device in ${DEVICELIST}
> > > > +	do
> > > > +	    make -f makefile_armv7 installbin
> > > PDK_INSTALL_PATH=${STAGING_INCDIR} DEVICE="${device}"
> > > HYPLNK_SRC_DIR=${S} INSTALL_BIN_BASE_DIR=${D}/${bindir}
> > > > +	done
> > > > +}
> > > > diff --git a/recipes-bsp/hyplnk-lld/hyplnk-lld.inc b/recipes-bsp/hyplnk-
> > > lld/hyplnk-lld.inc
> > > > new file mode 100644
> > > > index 0000000..4c8bb32
> > > > --- /dev/null
> > > > +++ b/recipes-bsp/hyplnk-lld/hyplnk-lld.inc
> > > > @@ -0,0 +1,24 @@
> > > > +DESCRIPTION = "TI Hyperlink Low Level Driver"
> > > > +LICENSE = "BSD-3-Clause"
> > > > +
> > > > +COMPATIBLE_MACHINE = "keystone"
> > > > +
> > > > +LLDNAME="hyplnk"
> > > > +
> > > > +LIC_FILES_CHKSUM =
> > >
> >
> "file://${WORKDIR}/git/ti/drv/${LLDNAME}/COPYING.txt;md5=623325cc19e
> > > 613a4e770fbb749922592"
> > > > +
> > > > +BRANCH="master"
> > > > +SRC_URI = "git://git.ti.com/keystone-rtos/hyplnk-
> > >
> lld.git;destsuffix=git/ti/drv/${LLDNAME};protocol=git;branch=${BRANCH}"
> > > > +# Following commit corresponds to tag DEV.HYPLNK_LLD.02.01.00.01
> > > > +SRCREV = "6910da379501984ecf27f8d23ba6fc6310fe387e"
> > > > +
> > > > +PV = "2.1.0"
> > > > +PR = "r0"
> > > > +
> > > > +DEVICELIST = " k2h \
> > > > +               k2k \
> > > > +               k2e \
> > > > +"
> > > > +
> > > > +BASEDIR = "${WORKDIR}/git"
> > > > +S = "${BASEDIR}/ti/drv/${LLDNAME}"
> > > > diff --git a/recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb b/recipes-
> > bsp/hyplnk-
> > > lld/hyplnk-lld_git.bb
> > > > new file mode 100755
> > > > index 0000000..3b9bc8a
> > > > --- /dev/null
> > > > +++ b/recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb
> > > > @@ -0,0 +1,18 @@
> > > > +include hyplnk-lld.inc
> > > > +
> > > > +DEPENDS="common-csl-ip"
> > > > +
> > > > +CHOICELIST = " yes \
> > > > +               no  \
> > > > +"
> > > > +do_compile () {
> > > > +	make -f makefile_armv7 clean
> > > PDK_INSTALL_PATH=${STAGING_INCDIR} HYPLNK_SRC_DIR=${PWD}
> > > > +	for device in ${DEVICELIST}
> > > > +	do
> > > > +		make -f makefile_armv7 lib
> > > PDK_INSTALL_PATH=${STAGING_INCDIR}  DEVICE="${device}"
> > > > +	done
> > > > +}
> > > > +
> > > > +do_install () {
> > > > +	make -f makefile_armv7 install
> > > PDK_INSTALL_PATH=${STAGING_INCDIR}
> > > INSTALL_INC_BASE_DIR=${D}/${includedir}
> > > INSTALL_LIB_BASE_DIR=${D}${libdir}
> > > > +}
> > > > --
> > > > 1.7.9.5
> > > >
> > > > --
> > > > _______________________________________________
> > > > meta-ti mailing list
> > > > meta-ti@yoctoproject.org
> > > > https://lists.yoctoproject.org/listinfo/meta-ti
> --
> _______________________________________________
> meta-ti mailing list
> meta-ti@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-ti


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] hyplnk-lld: Add new recipe for Hyperlink lld
  2014-10-09 11:07   ` Nelson, Sam
@ 2014-10-27 17:00     ` Denys Dmytriyenko
  2014-11-05 15:58       ` Nelson, Sam
  0 siblings, 1 reply; 7+ messages in thread
From: Denys Dmytriyenko @ 2014-10-27 17:00 UTC (permalink / raw)
  To: Nelson, Sam; +Cc: meta-ti@yoctoproject.org

On Thu, Oct 09, 2014 at 07:07:44AM -0400, Nelson, Sam wrote:
> > Sam,
> > 
> > This patch is not as clean as it could have been...
> > 
> > First of all, I see it's split into 2 separate recipes - one to build a
> > library and another to build a test/example app using that library. While
> > there are some valid reasons for such split, like when one component builds
> > both kernel and user-space parts, or when half of the component can be
> > replaced by a different provider; it is probably not the best approach in this
> > case. It would be better to have a single recipe that builds everything and
> > then packages its components into separate binary packages. Again, unless
> > you
> > envision building a test/example app w/o building its library, due to a
> > replacement option. Or, if test/example app takes very long to build and is
> > an optional piece and not being built by default... Please provide some more
> > details here.

> [Sam] The main reason the recipes are split is this: The test code is 
> written such that it depends on libraries in the staging directory.
> This is done intentionally to make the test code independent of the library.

Ok, I see. I guess we can do 2 separate recipes for now.


> > Next, I understand that you have to work with the provided Makefiles as is,
> > but usually for things like building the dynamic and static versions of the
> > library one would use separate Makefile targets and not the variable. That
> > way
> > only dynamic, only static, or both can be done in one command, instead of
> > calling the same command twice with the variable set to "yes" or "no" - not
> > very effective.

> [Sam] This builds the test code : one binary is built to test with the 
> static library and another with the dynamic library.
> Not sure what you are suggesting.

I was suggesting for whomever is responsible for the Makefile, to change the 
logic from using USEDYNAMIC_LIB="yes/no" variable to using the Makefile 
targets instead, such as tests_dynamic, tests_static, examples_dynamic and 
examples_static. This was it will be split by default as before, but you won't 
need to run a for-loop to call make twice, as you can call all the necessary 
targets in one go:
make tests_dynamic tests_static examples_dynamic examples_static VAR1 VAR2...


> > Also, please try to follow OpenEmbedded coding guidelines, like using
> > spaces
> > around = sign. I.e. VAR = "VAL" instead of VAR="VAL". I understand it's a
> > nitpick and not critical, but still.
> > 
> [Sam] I will correct this.
> > And since I'm not commenting inline, please be specific when using Bitbake
> > variables vs. shell variables. I.e. in for-loops below, it should be $device
> > and $choice instead of ${device} and ${choice}. In this case those are shell
> > variables and there is no reason to try to confuse Bitbake, although it would
> > fail to resolve them and leave as is to pick by shell...
> [Sam] I will fix this.
> > 
> > One more - HYPLNK_SRC_DIR is not being passed to all make targets and
> > when
> > it's passed, it's sometimes ${S}, but sometimes ${PWD}. Please check the
> > code
> > and clean it up.
> [Sam] I will clean this up and send updated patch.
> > 
> > BTW, what does PDK_INSTALL_PATH variable specify? Is there any other
> > dependency besides common-csl-ip?

> [Sam] For the library:  PDK install path is used to access common-csl-ip.
> For the test code it is used to access common-csl-ip and the hyplnk-lld 
> library.

And why is it pointing to the include path? Should it point to the base of 
staging dir, so both includes and libs are accesible?


> > Thanks for your submission! Please work with me and we'll get it cleared
> > quickly. Thanks.
> > 
> > --
> > Denys
> > 
> > 
> > On Wed, Oct 08, 2014 at 12:23:49PM -0400, Sam Nelson wrote:
> > > - Provides low level driver for Hyperlink module
> > > - Test recipe is used to build tests and examples using
> > >   the hyperlink library.
> > > - Supports k2h, k2k & k2e
> > >
> > > Signed-off-by: Sam Nelson <sam.nelson@ti.com>
> > > ---
> > >  recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb |   25
> > +++++++++++++++++++++++++
> > >  recipes-bsp/hyplnk-lld/hyplnk-lld.inc         |   24
> > ++++++++++++++++++++++++
> > >  recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb      |   18 ++++++++++++++++++
> > >  3 files changed, 67 insertions(+)
> > >  create mode 100755 recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb
> > >  create mode 100644 recipes-bsp/hyplnk-lld/hyplnk-lld.inc
> > >  create mode 100755 recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb
> > >
> > > diff --git a/recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb b/recipes-
> > bsp/hyplnk-lld/hyplnk-lld-test_git.bb
> > > new file mode 100755
> > > index 0000000..49d11f0
> > > --- /dev/null
> > > +++ b/recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb
> > > @@ -0,0 +1,25 @@
> > > +include hyplnk-lld.inc
> > > +
> > > +DEPENDS="common-csl-ip hyplnk-lld"
> > > +
> > > +CHOICELIST = " yes \
> > > +               no  \
> > > +"
> > > +
> > > +do_compile () {
> > > +	make -f makefile_armv7 clean
> > PDK_INSTALL_PATH=${STAGING_INCDIR} HYPLNK_SRC_DIR=${PWD}
> > > +	for device in ${DEVICELIST}
> > > +	do
> > > +		for choice in ${CHOICELIST}
> > > +		do
> > > +			make -f makefile_armv7 tests examples
> > PDK_INSTALL_PATH=${STAGING_INCDIR} DEVICE="${device}"
> > HYPLNK_SRC_DIR=${S} USEDYNAMIC_LIB="${choice}"
> > > +		done
> > > +	done
> > > +}
> > > +
> > > +do_install () {
> > > +    for device in ${DEVICELIST}
> > > +	do
> > > +	    make -f makefile_armv7 installbin
> > PDK_INSTALL_PATH=${STAGING_INCDIR} DEVICE="${device}"
> > HYPLNK_SRC_DIR=${S} INSTALL_BIN_BASE_DIR=${D}/${bindir}
> > > +	done
> > > +}
> > > diff --git a/recipes-bsp/hyplnk-lld/hyplnk-lld.inc b/recipes-bsp/hyplnk-
> > lld/hyplnk-lld.inc
> > > new file mode 100644
> > > index 0000000..4c8bb32
> > > --- /dev/null
> > > +++ b/recipes-bsp/hyplnk-lld/hyplnk-lld.inc
> > > @@ -0,0 +1,24 @@
> > > +DESCRIPTION = "TI Hyperlink Low Level Driver"
> > > +LICENSE = "BSD-3-Clause"
> > > +
> > > +COMPATIBLE_MACHINE = "keystone"
> > > +
> > > +LLDNAME="hyplnk"
> > > +
> > > +LIC_FILES_CHKSUM =
> > "file://${WORKDIR}/git/ti/drv/${LLDNAME}/COPYING.txt;md5=623325cc19e
> > 613a4e770fbb749922592"
> > > +
> > > +BRANCH="master"
> > > +SRC_URI = "git://git.ti.com/keystone-rtos/hyplnk-
> > lld.git;destsuffix=git/ti/drv/${LLDNAME};protocol=git;branch=${BRANCH}"
> > > +# Following commit corresponds to tag DEV.HYPLNK_LLD.02.01.00.01
> > > +SRCREV = "6910da379501984ecf27f8d23ba6fc6310fe387e"
> > > +
> > > +PV = "2.1.0"
> > > +PR = "r0"
> > > +
> > > +DEVICELIST = " k2h \
> > > +               k2k \
> > > +               k2e \
> > > +"
> > > +
> > > +BASEDIR = "${WORKDIR}/git"
> > > +S = "${BASEDIR}/ti/drv/${LLDNAME}"
> > > diff --git a/recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb b/recipes-bsp/hyplnk-
> > lld/hyplnk-lld_git.bb
> > > new file mode 100755
> > > index 0000000..3b9bc8a
> > > --- /dev/null
> > > +++ b/recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb
> > > @@ -0,0 +1,18 @@
> > > +include hyplnk-lld.inc
> > > +
> > > +DEPENDS="common-csl-ip"
> > > +
> > > +CHOICELIST = " yes \
> > > +               no  \
> > > +"
> > > +do_compile () {
> > > +	make -f makefile_armv7 clean
> > PDK_INSTALL_PATH=${STAGING_INCDIR} HYPLNK_SRC_DIR=${PWD}
> > > +	for device in ${DEVICELIST}
> > > +	do
> > > +		make -f makefile_armv7 lib
> > PDK_INSTALL_PATH=${STAGING_INCDIR}  DEVICE="${device}"
> > > +	done
> > > +}
> > > +
> > > +do_install () {
> > > +	make -f makefile_armv7 install
> > PDK_INSTALL_PATH=${STAGING_INCDIR}
> > INSTALL_INC_BASE_DIR=${D}/${includedir}
> > INSTALL_LIB_BASE_DIR=${D}${libdir}
> > > +}
> > > --
> > > 1.7.9.5
> > >
> > > --
> > > _______________________________________________
> > > meta-ti mailing list
> > > meta-ti@yoctoproject.org
> > > https://lists.yoctoproject.org/listinfo/meta-ti


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] hyplnk-lld: Add new recipe for Hyperlink lld
  2014-10-27 17:00     ` Denys Dmytriyenko
@ 2014-11-05 15:58       ` Nelson, Sam
  0 siblings, 0 replies; 7+ messages in thread
From: Nelson, Sam @ 2014-11-05 15:58 UTC (permalink / raw)
  To: Dmytriyenko, Denys; +Cc: meta-ti@yoctoproject.org

> -----Original Message-----
> From: Dmytriyenko, Denys
> Sent: Monday, October 27, 2014 1:00 PM
> To: Nelson, Sam
> Cc: meta-ti@yoctoproject.org
> Subject: Re: [meta-ti] [PATCH] hyplnk-lld: Add new recipe for Hyperlink lld
> 
> On Thu, Oct 09, 2014 at 07:07:44AM -0400, Nelson, Sam wrote:
> > > Sam,
> > >
> > > This patch is not as clean as it could have been...
> > >
> > > First of all, I see it's split into 2 separate recipes - one to build a
> > > library and another to build a test/example app using that library. While
> > > there are some valid reasons for such split, like when one component
> builds
> > > both kernel and user-space parts, or when half of the component can be
> > > replaced by a different provider; it is probably not the best approach in
> this
> > > case. It would be better to have a single recipe that builds everything and
> > > then packages its components into separate binary packages. Again,
> unless
> > > you
> > > envision building a test/example app w/o building its library, due to a
> > > replacement option. Or, if test/example app takes very long to build and
> is
> > > an optional piece and not being built by default... Please provide some
> more
> > > details here.
> 
> > [Sam] The main reason the recipes are split is this: The test code is
> > written such that it depends on libraries in the staging directory.
> > This is done intentionally to make the test code independent of the library.
> 
> Ok, I see. I guess we can do 2 separate recipes for now.
> 
> 
> > > Next, I understand that you have to work with the provided Makefiles as
> is,
> > > but usually for things like building the dynamic and static versions of the
> > > library one would use separate Makefile targets and not the variable.
> That
> > > way
> > > only dynamic, only static, or both can be done in one command, instead
> of
> > > calling the same command twice with the variable set to "yes" or "no" -
> not
> > > very effective.
> 
> > [Sam] This builds the test code : one binary is built to test with the
> > static library and another with the dynamic library.
> > Not sure what you are suggesting.
> 
> I was suggesting for whomever is responsible for the Makefile, to change the
> logic from using USEDYNAMIC_LIB="yes/no" variable to using the Makefile
> targets instead, such as tests_dynamic, tests_static, examples_dynamic and
> examples_static. This was it will be split by default as before, but you won't
> need to run a for-loop to call make twice, as you can call all the necessary
> targets in one go:
> make tests_dynamic tests_static examples_dynamic examples_static VAR1
> VAR2...
> 
> 
[Sam] Ok. Understand your recommendation. 
To modify it is going to take some time and I will follow up.
> > > Also, please try to follow OpenEmbedded coding guidelines, like using
> > > spaces
> > > around = sign. I.e. VAR = "VAL" instead of VAR="VAL". I understand it's a
> > > nitpick and not critical, but still.
> > >
> > [Sam] I will correct this.
> > > And since I'm not commenting inline, please be specific when using
> Bitbake
> > > variables vs. shell variables. I.e. in for-loops below, it should be $device
> > > and $choice instead of ${device} and ${choice}. In this case those are
> shell
> > > variables and there is no reason to try to confuse Bitbake, although it
> would
> > > fail to resolve them and leave as is to pick by shell...
> > [Sam] I will fix this.
> > >
> > > One more - HYPLNK_SRC_DIR is not being passed to all make targets and
> > > when
> > > it's passed, it's sometimes ${S}, but sometimes ${PWD}. Please check the
> > > code
> > > and clean it up.
> > [Sam] I will clean this up and send updated patch.
> > >
> > > BTW, what does PDK_INSTALL_PATH variable specify? Is there any other
> > > dependency besides common-csl-ip?
> 
> > [Sam] For the library:  PDK install path is used to access common-csl-ip.
> > For the test code it is used to access common-csl-ip and the hyplnk-lld
> > library.
> 
> And why is it pointing to the include path? Should it point to the base of
> staging dir, so both includes and libs are accesible?
> 
[Sam] The library is picked up directly using -lhyplnk, so only the include path is getting used right now.
Let me know if have any suggestions.
> 
> > > Thanks for your submission! Please work with me and we'll get it cleared
> > > quickly. Thanks.
> > >
> > > --
> > > Denys
> > >
> > >
> > > On Wed, Oct 08, 2014 at 12:23:49PM -0400, Sam Nelson wrote:
> > > > - Provides low level driver for Hyperlink module
> > > > - Test recipe is used to build tests and examples using
> > > >   the hyperlink library.
> > > > - Supports k2h, k2k & k2e
> > > >
> > > > Signed-off-by: Sam Nelson <sam.nelson@ti.com>
> > > > ---
> > > >  recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb |   25
> > > +++++++++++++++++++++++++
> > > >  recipes-bsp/hyplnk-lld/hyplnk-lld.inc         |   24
> > > ++++++++++++++++++++++++
> > > >  recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb      |   18 ++++++++++++++++++
> > > >  3 files changed, 67 insertions(+)
> > > >  create mode 100755 recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb
> > > >  create mode 100644 recipes-bsp/hyplnk-lld/hyplnk-lld.inc
> > > >  create mode 100755 recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb
> > > >
> > > > diff --git a/recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb b/recipes-
> > > bsp/hyplnk-lld/hyplnk-lld-test_git.bb
> > > > new file mode 100755
> > > > index 0000000..49d11f0
> > > > --- /dev/null
> > > > +++ b/recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb
> > > > @@ -0,0 +1,25 @@
> > > > +include hyplnk-lld.inc
> > > > +
> > > > +DEPENDS="common-csl-ip hyplnk-lld"
> > > > +
> > > > +CHOICELIST = " yes \
> > > > +               no  \
> > > > +"
> > > > +
> > > > +do_compile () {
> > > > +	make -f makefile_armv7 clean
> > > PDK_INSTALL_PATH=${STAGING_INCDIR} HYPLNK_SRC_DIR=${PWD}
> > > > +	for device in ${DEVICELIST}
> > > > +	do
> > > > +		for choice in ${CHOICELIST}
> > > > +		do
> > > > +			make -f makefile_armv7 tests examples
> > > PDK_INSTALL_PATH=${STAGING_INCDIR} DEVICE="${device}"
> > > HYPLNK_SRC_DIR=${S} USEDYNAMIC_LIB="${choice}"
> > > > +		done
> > > > +	done
> > > > +}
> > > > +
> > > > +do_install () {
> > > > +    for device in ${DEVICELIST}
> > > > +	do
> > > > +	    make -f makefile_armv7 installbin
> > > PDK_INSTALL_PATH=${STAGING_INCDIR} DEVICE="${device}"
> > > HYPLNK_SRC_DIR=${S} INSTALL_BIN_BASE_DIR=${D}/${bindir}
> > > > +	done
> > > > +}
> > > > diff --git a/recipes-bsp/hyplnk-lld/hyplnk-lld.inc b/recipes-bsp/hyplnk-
> > > lld/hyplnk-lld.inc
> > > > new file mode 100644
> > > > index 0000000..4c8bb32
> > > > --- /dev/null
> > > > +++ b/recipes-bsp/hyplnk-lld/hyplnk-lld.inc
> > > > @@ -0,0 +1,24 @@
> > > > +DESCRIPTION = "TI Hyperlink Low Level Driver"
> > > > +LICENSE = "BSD-3-Clause"
> > > > +
> > > > +COMPATIBLE_MACHINE = "keystone"
> > > > +
> > > > +LLDNAME="hyplnk"
> > > > +
> > > > +LIC_FILES_CHKSUM =
> > >
> "file://${WORKDIR}/git/ti/drv/${LLDNAME}/COPYING.txt;md5=623325cc19e
> > > 613a4e770fbb749922592"
> > > > +
> > > > +BRANCH="master"
> > > > +SRC_URI = "git://git.ti.com/keystone-rtos/hyplnk-
> > >
> lld.git;destsuffix=git/ti/drv/${LLDNAME};protocol=git;branch=${BRANCH}"
> > > > +# Following commit corresponds to tag DEV.HYPLNK_LLD.02.01.00.01
> > > > +SRCREV = "6910da379501984ecf27f8d23ba6fc6310fe387e"
> > > > +
> > > > +PV = "2.1.0"
> > > > +PR = "r0"
> > > > +
> > > > +DEVICELIST = " k2h \
> > > > +               k2k \
> > > > +               k2e \
> > > > +"
> > > > +
> > > > +BASEDIR = "${WORKDIR}/git"
> > > > +S = "${BASEDIR}/ti/drv/${LLDNAME}"
> > > > diff --git a/recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb b/recipes-
> bsp/hyplnk-
> > > lld/hyplnk-lld_git.bb
> > > > new file mode 100755
> > > > index 0000000..3b9bc8a
> > > > --- /dev/null
> > > > +++ b/recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb
> > > > @@ -0,0 +1,18 @@
> > > > +include hyplnk-lld.inc
> > > > +
> > > > +DEPENDS="common-csl-ip"
> > > > +
> > > > +CHOICELIST = " yes \
> > > > +               no  \
> > > > +"
> > > > +do_compile () {
> > > > +	make -f makefile_armv7 clean
> > > PDK_INSTALL_PATH=${STAGING_INCDIR} HYPLNK_SRC_DIR=${PWD}
> > > > +	for device in ${DEVICELIST}
> > > > +	do
> > > > +		make -f makefile_armv7 lib
> > > PDK_INSTALL_PATH=${STAGING_INCDIR}  DEVICE="${device}"
> > > > +	done
> > > > +}
> > > > +
> > > > +do_install () {
> > > > +	make -f makefile_armv7 install
> > > PDK_INSTALL_PATH=${STAGING_INCDIR}
> > > INSTALL_INC_BASE_DIR=${D}/${includedir}
> > > INSTALL_LIB_BASE_DIR=${D}${libdir}
> > > > +}
> > > > --
> > > > 1.7.9.5
> > > >
> > > > --
> > > > _______________________________________________
> > > > meta-ti mailing list
> > > > meta-ti@yoctoproject.org
> > > > https://lists.yoctoproject.org/listinfo/meta-ti


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2014-11-05 15:58 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-08 16:23 [PATCH] hyplnk-lld: Add new recipe for Hyperlink lld Sam Nelson
2014-10-08 18:41 ` Denys Dmytriyenko
2014-10-09 11:07   ` Nelson, Sam
2014-10-27 17:00     ` Denys Dmytriyenko
2014-11-05 15:58       ` Nelson, Sam
2014-10-13 15:09   ` Nelson, Sam
2014-10-27 16:44     ` Nelson, Sam

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.