[meta-ti] [PATCH] mmap-lld; Add new recipe for mmap lld
Nelson, Sam
sam.nelson at ti.com
Thu Nov 20 09:42:14 PST 2014
> -----Original Message-----
> From: Maupin, Chase
> Sent: Wednesday, November 19, 2014 12:06 PM
> To: Nelson, Sam; meta-ti at yoctoproject.org
> Subject: RE: [meta-ti] [PATCH] mmap-lld; Add new recipe for mmap lld
>
>
> diff --git a/recipes-bsp/mmap-lld/mmap-lld-test_git.bb b/recipes-bsp/mmap-
> lld/mmap-lld-test_git.bb
> new file mode 100755
> index 0000000..41e46f7
> --- /dev/null
> +++ b/recipes-bsp/mmap-lld/mmap-lld-test_git.bb
> @@ -0,0 +1,40 @@
> +DESCRIPTION = "TI KEYSTONE MMAP driver test binaries "
> +include mmap-lld.inc
> +
> +DEPENDS="common-csl-ip mmap-lld"
> +RDEPENDS_${PN}="uio-module-drv"
> +
> +DEVICELIST = "k2h \
> + k2k \
> + k2e \
> +"
>
> I don't have a fundamental issue with a single recipe for all devices, but
> would it be easier to make this per device and then keep a generic binary
> name? i.e. a machine specific recipe that installs the binary build for that
> device into the file system?
>
[Sam] This was originally done to keep the same test root file system for multiple devices.
That said, right now there are some components still need separate target builds and binaries. So we currently do have multiple file systems. But our long term objective is still to have a single file system. I would prefer to leave it this way for now.
Also note that this is just for the test builds. Library itself is made device independent.
> +
> +CHOICELIST = " yes \
> + no \
> +"
> +
> +do_compile () {
> + for device in ${DEVICELIST}
> + do
> + make -f makefile_armv7 clean \
> + PDK_INSTALL_PATH="${STAGING_INCDIR}" \
> + DEVICE="$device" MPAX_SRC_DIR="${S}"
> + for choice in ${CHOICELIST}
> + do
> + make -f makefile_armv7 tests examples \
> + PDK_INSTALL_PATH=${STAGING_INCDIR} \
> + DEVICE="$device" MPAX_SRC_DIR="${S}" \
> + USEDYNAMIC_LIB="$choice"
> + done
>
> What is the purpose for both choice options? Are you expecting users to use
> both?
>
[Sam] Note, that these are test builds. We create both the test build s: one uses dynamic shared library and another test build which uses static library.
There is already suggestion on this to actually make it as a separate target instead of Build time option. ( That is in progress and will take time to get that in). With the current code this is needed for now. Will go away probably with makefile updates getting done in the driver later.
> + done
> +}
> +
> +do_install () {
> + for device in ${DEVICELIST}
> + do
> + make -f makefile_armv7 installbin \
> + PDK_INSTALL_PATH=${STAGING_INCDIR} \
> + DEVICE="$device" MPAX_SRC_DIR="${S}" \
> + INSTALL_BIN_BASE_DIR="${D}/${bindir}"
> + done
> +}
> diff --git a/recipes-bsp/mmap-lld/mmap-lld.inc b/recipes-bsp/mmap-
> lld/mmap-lld.inc
> new file mode 100644
> index 0000000..b8a5b32
> --- /dev/null
> +++ b/recipes-bsp/mmap-lld/mmap-lld.inc
> @@ -0,0 +1,16 @@
> +LICENSE = "BSD-3-Clause"
> +
> +COMPATIBLE_MACHINE = "keystone"
> +
> +LIC_FILES_CHKSUM =
> "file://COPYING.txt;md5=b3315b8190036fe1c6a8263d02e15606"
>
> Nit pick here but can this checksum go after the LICENSE setting?
>
[Sam] I will fix this.
> +
> +
> +BRANCH="master"
> +SRC_URI = "git://git.ti.com/keystone-rtos/mmap-
> lld.git;destsuffix=git/ti/runtime/mmap;protocol=git;branch=${BRANCH}"
> +# Commit correspond to DEV.MMAP.02.00.00.03 SRCREV =
> +"601f9284c392f67bb7f69ed1a5df5231a43c3137"
>
> I would put the SRCREV in the _git file, not in the .inc since you would expect
> the .inc to be common across all versions. I guess you are using the .inc to
> handle the different test vs driver recipes. Maybe a better idea would be a
> single recipe that builds both but package the driver as the default package
> and make a new PACKAGE for the test applications?
>
[Sam] Currently the .inc is just capturing the common parts of the recipe.
Currently we are not having different versions supported at the same time.
The separate recipe is done intentionally to make the test application independent of the library and depend on the Sysroot directory and not on anything local.
( See also discussion on hyplnk-lld recipe for discussion on this).
> +
> +PV="2.0.0"
> +PR = "r0"
> +
> +S = "${WORKDIR}/git/ti/runtime/mmap"
> \ No newline at end of file
> diff --git a/recipes-bsp/mmap-lld/mmap-lld_git.bb b/recipes-bsp/mmap-
> lld/mmap-lld_git.bb
> new file mode 100755
> index 0000000..3a56a62
> --- /dev/null
> +++ b/recipes-bsp/mmap-lld/mmap-lld_git.bb
> @@ -0,0 +1,12 @@
> +DESCRIPTION = "TI KEYSTONE mmap driver using Keystone MPAX
> Programming"
> +include mmap-lld.inc
> +
> +DEPENDS="common-csl-ip"
> +
> +do_compile () {
> + make -f makefile_armv7 clean lib
> PDK_INSTALL_PATH=${STAGING_INCDIR}
> +}
> +
> +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 at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-ti
More information about the meta-ti
mailing list