diff --git a/meta-openeuler/recipes-openamp/libmetal/libmetal.inc b/meta-openeuler/recipes-openamp/libmetal/libmetal.inc new file mode 100644 index 0000000000000000000000000000000000000000..d6677028b3ae9c1c99b5694c9c51926818178e12 --- /dev/null +++ b/meta-openeuler/recipes-openamp/libmetal/libmetal.inc @@ -0,0 +1,59 @@ +### Descriptive metadata: SUMMARY,DESCRITPION, HOMEPAGE, AUTHOR, BUGTRACKER +SUMMARY = "Libmetal: Libmetal implements an abstraction layer across user-space Linux, baremetal, and RTOS environments" +DESCRITPION = "Libmetal provides common user APIs to access devices, handle device interrupts and request memory across \ + the following operating environments: \ + - Linux user space (based on UIO and VFIO support in the kernel) \ + - RTOS (with and without virtual memory) \ + - Bare-metal environments" +AUTHOR = "" +HOMEPAGE = "https://github.com/OpenAMP/libmetal/" +BUGTRACKER = "https://gitee.com/openeuler/yocto-meta-openeuler" +### Package manager metadata: SECTION, PRIOIRTY(only for deb, opkg) +SECTION = "libs" + +### License metadata +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=fe0b8a4beea8f0813b606d15a3df3d3c" + +### Inheritance and includes if needed +inherit cmake + +### Build metadata: SRC_URI, SRCDATA, S, B, FILESEXTRAPATHS.... +SRC_URI = "file://libmetal/${BPN}-${PV}.tar.gz" + +S = "${WORKDIR}/${BPN}-${PV}" + +# the software packages required in build +# if user want to enable hugetlbfs support, please +# add "DEPENDS_append_pn-libmetal = " libhugetlbfs "" to your local.conf +# udev/mdev(provided by busybox) is required, may need to add it into DEPENDS +DEPENDS = "sysfsutils" + +# alias package name +PROVIDES = "libmetal" + +# extra cmake options +EXTRA_OECMAKE = " \ + -DWITH_EXAMPLES=ON \ + -DWITH_DOC=OFF \ + " + +### Runtime metadata +#RDEPENDS_${PN} += "libudev" + +### Package metadata +FILES_${PN} = " \ + ${libdir}/*.so* \ + ${bindir}/test-* \ +" +### Tasks for package + +do_install_append () { + # Only install the shared lib binaries + rm -rf ${D}/${bindir}/*-static + + for f in `find ${D}/${bindir}/ -type f -regex ".*-shared*"`; do + newf="`echo ${f} | sed 's/-shared*$//g'`" + mv "${f}" "${newf}" + done +} diff --git a/meta-openeuler/recipes-openamp/libmetal/libmetal_2021.10.0.bb b/meta-openeuler/recipes-openamp/libmetal/libmetal_2021.10.0.bb new file mode 100644 index 0000000000000000000000000000000000000000..47cba270d4592d19cfce0ef1f0c73ff3965d6c71 --- /dev/null +++ b/meta-openeuler/recipes-openamp/libmetal/libmetal_2021.10.0.bb @@ -0,0 +1 @@ +require libmetal.inc \ No newline at end of file diff --git a/meta-openeuler/recipes-openamp/openamp/openamp.inc b/meta-openeuler/recipes-openamp/openamp/openamp.inc new file mode 100644 index 0000000000000000000000000000000000000000..fc12bbeb4edda1885627435e3d38588d011b321d --- /dev/null +++ b/meta-openeuler/recipes-openamp/openamp/openamp.inc @@ -0,0 +1,60 @@ +### Descriptive metadata: SUMMARY,DESCRITPION, HOMEPAGE, AUTHOR, BUGTRACKER +SUMMARY = "Open Asymmetric Multi Processing (OpenAMP) framework" +DESCRITPION = "The OpenAMP framework provides software components that enable \ + development of software applications for Asymmetric Multiprocessing \ + (AMP) systems" +AUTHOR = "" +HOMEPAGE = "https://github.com/OpenAMP/open-amp/" +BUGTRACKER = "https://gitee.com/openeuler/yocto-meta-openeuler" + +### Package manager metadata: SECTION, PRIOIRTY(only for deb, opkg) +SECTION = "libs" + +### License metadata +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=a8d8cf662ef6bf9936a1e1413585ecbf" + +### Inheritance and includes if needed +inherit cmake + +### Build metadata: SRC_URI, SRCDATA, S, B, FILESEXTRAPATHS.... +SRC_URI = "file://OpenAMP/${BPN}-${PV}.tar.gz" + +S = "${WORKDIR}/${BPN}-${PV}" + +# the software packages required in build +DEPENDS = "libmetal" + +# alias package name +PROVIDES = "openamp" + +# extra cmake options +EXTRA_OECMAKE = " \ + -DLIB_INSTALL_DIR=${libdir} \ + -DLIBEXEC_INSTALL_DIR=${libexecdir} \ + -DMACHINE=generic \ + -DWITH_PROXY=ON \ + -DWITH_APPS=ON \ + " + +### Runtime metadata + + +### Package metadata +ALLOW_EMPTY_${PN}-demos = "1" +PACKAGES_append += "${PN}-demos" + +FILES_${PN} = " \ + ${libdir}/*.so* \ +" + +FILES_${PN}-demos = " \ + ${bindir}/*-shared \ +" +### Tasks for package + +do_install_append () { + # Only install echo test client, matrix multiplication client, + # and proxy app server for ZynqMP + rm -rf ${D}/${bindir}/*-static +} diff --git a/meta-openeuler/recipes-openamp/openamp/openamp_2021.10.0.bb b/meta-openeuler/recipes-openamp/openamp/openamp_2021.10.0.bb new file mode 100644 index 0000000000000000000000000000000000000000..b531d8fd77e9fb9e2dec499f1bf1ed62640764ac --- /dev/null +++ b/meta-openeuler/recipes-openamp/openamp/openamp_2021.10.0.bb @@ -0,0 +1 @@ +require openamp.inc \ No newline at end of file