[oe] [meta-handheld][PATCH] linux-handheld(-kexecboot)_4.4: upgrade to 4.4.131
Remove backported pxa_dma fix. Signed-off-by: Andrea Adami--- ...aengine-mmp-pdma-add-number-of-requestors.patch | 34 -- recipes-kernel/linux/linux-handheld_4.4.bb | 6 ++-- 2 files changed, 3 insertions(+), 37 deletions(-) delete mode 100644 recipes-kernel/linux/linux-handheld-4.4/dmaengine-mmp-pdma-add-number-of-requestors.patch diff --git a/recipes-kernel/linux/linux-handheld-4.4/dmaengine-mmp-pdma-add-number-of-requestors.patch b/recipes-kernel/linux/linux-handheld-4.4/dmaengine-mmp-pdma-add-number-of-requestors.patch deleted file mode 100644 index 02287a4..000 --- a/recipes-kernel/linux/linux-handheld-4.4/dmaengine-mmp-pdma-add-number-of-requestors.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 4ab014655ebad342c6e7beae427c5cc0f8141d2b Mon Sep 17 00:00:00 2001 -From: Robert Jarzmik -Date: Mon, 15 Feb 2016 21:57:46 +0100 -Subject: dmaengine: mmp-pdma: add number of requestors - -commit c283e41ef32442f41e7180f9bb1c5aedf9255bfe upstream. - -The DMA chip has a fixed number of requestor lines used for flow -control. This number is platform dependent. The pxa_dma dma driver will -use this value to activate or not the flow control. - -There won't be any impact on mmp_pdma driver. - -Signed-off-by: Robert Jarzmik -Signed-off-by: Greg Kroah-Hartman - include/linux/platform_data/mmp_dma.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/include/linux/platform_data/mmp_dma.h b/include/linux/platform_data/mmp_dma.h -index 2a330ec..d1397c8 100644 a/include/linux/platform_data/mmp_dma.h -+++ b/include/linux/platform_data/mmp_dma.h -@@ -14,6 +14,7 @@ - - struct mmp_dma_platdata { - int dma_channels; -+ int nb_requestors; - }; - - #endif /* MMP_DMA_H */ --- -cgit v0.12 - diff --git a/recipes-kernel/linux/linux-handheld_4.4.bb b/recipes-kernel/linux/linux-handheld_4.4.bb index 6403fc7..603073d 100644 --- a/recipes-kernel/linux/linux-handheld_4.4.bb +++ b/recipes-kernel/linux/linux-handheld_4.4.bb @@ -6,12 +6,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" COMPATIBLE_MACHINE = "akita|c7x0|collie|h3600|hx4700|poodle|spitz|tosa" SRC_URI = "${KERNELORG_MIRROR}/linux/kernel/v4.x/linux-${PV}.tar.xz;name=kernel \ - ${KERNELORG_MIRROR}/linux/kernel/v4.x/patch-${PV}.90.xz;apply=yes;name=stablepatch \ + ${KERNELORG_MIRROR}/linux/kernel/v4.x/patch-${PV}.131.xz;apply=yes;name=stablepatch \ " SRC_URI[kernel.md5sum] = "9a78fa2eb6c68ca5a40ed5af08142599" SRC_URI[kernel.sha256sum] = "401d7c8fef594999a460d10c72c5a94e9c2e1022f16795ec51746b0d165418b2" -SRC_URI[stablepatch.md5sum] = "8186b1fec7b797f341040ccd4ae45ce0" -SRC_URI[stablepatch.sha256sum] = "fe52e3ae90ea5cc2bc6da70efcb085cb80257cfb2dd058d09e5efcadcc7ed275" +SRC_URI[stablepatch.md5sum] = "e03be4613183558867bc1342e295485e" +SRC_URI[stablepatch.sha256sum] = "6d55f660482213c8fcd2ccd89592eccaa020d047976733909a457d9b0e56f3af" SRC_URI += "\ file://ASoC-pxa-fix-module-autoload-for-platform-drivers.patch \ -- 2.7.4 -- ___ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel
[oe] [meta-handheld][PATCH] linux-kexecboot_4.4: remove superseded 3200-mtd.patch
The real partitioning is detected by the kernel mtd parser sharpslpart. No confusion between 300, 3100 and 3200 mtdparts anymore. Signed-off-by: Andrea Adami--- .../linux/linux-kexecboot-4.4/spitz/3200-mtd.patch | 13 - recipes-kernel/linux/linux-kexecboot_4.4.bb | 3 --- 2 files changed, 16 deletions(-) delete mode 100644 recipes-kernel/linux/linux-kexecboot-4.4/spitz/3200-mtd.patch diff --git a/recipes-kernel/linux/linux-kexecboot-4.4/spitz/3200-mtd.patch b/recipes-kernel/linux/linux-kexecboot-4.4/spitz/3200-mtd.patch deleted file mode 100644 index 4b2a968..000 --- a/recipes-kernel/linux/linux-kexecboot-4.4/spitz/3200-mtd.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c -index 953a919..14e7736 100644 a/arch/arm/mach-pxa/spitz.c -+++ b/arch/arm/mach-pxa/spitz.c -@@ -802,7 +802,7 @@ static void __init spitz_nand_init(void) - spitz_nand_bbt.len = 1; - spitz_nand_pdata.ecc_layout = _oobinfo; - } else if (machine_is_borzoi()) { -- spitz_nand_partitions[1].size = 32 * 1024 * 1024; -+ spitz_nand_partitions[1].size = 43 * 1024 * 1024; - spitz_nand_bbt.len = 1; - spitz_nand_pdata.ecc_layout = _oobinfo; - } diff --git a/recipes-kernel/linux/linux-kexecboot_4.4.bb b/recipes-kernel/linux/linux-kexecboot_4.4.bb index cb3f544..576eea0 100644 --- a/recipes-kernel/linux/linux-kexecboot_4.4.bb +++ b/recipes-kernel/linux/linux-kexecboot_4.4.bb @@ -7,9 +7,6 @@ COMPATIBLE_MACHINE = "|akita|c7x0|collie|poodle|spitz|tosa" LOCOMO_PATCHES += "file://locomo/0091-locomokbd.c-invert-KEY_ENTER-and-KEY_KPENTER.patch" -# only for SL-C3200 (terrier) -# SRC_URI_append_spitz += "file://3200-mtd.patch" - # Zaurus machines need kernel size-check. KERNEL_IMAGE_MAXSIZE_akita = "1264" KERNEL_IMAGE_MAXSIZE_c7x0 = "1264" -- 2.7.4 -- ___ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel
[oe] OpenEmbedded Developer Meeting in Edinburgh Oct 21, 2018 (before ELCE)
Once again we will have a developer meeting in Edinburgh the Sunday before ELCE. Please go to https://www.openembedded.org/wiki/OEDEM_2018 and add yourself if you are attending and ideas for topics. Although it is called a developer meeting, we invite members of the larger community to attend. The core developers are always interested in hearing how OpenEmbedded is used, and what we can do to make it better for building the embedded devices of the future. Thanks, Philip -- ___ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel
Re: [oe] meson.bbclass broken on rocko
On 05/11/2018 04:52 PM, robert_jos...@selinc.com wrote: Martin Kellywrote on 05/09/2018 04:44:05 PM: From: Martin Kelly To: robert_jos...@selinc.com, openembedded-devel@lists.openembedded.org, Date: 05/09/2018 04:44 PM Subject: Re: [oe] meson.bbclass broken on rocko On 05/09/2018 02:04 PM, robert_jos...@selinc.com wrote: I have a build based on poky that makes use of meson.bbclass from meta-oe that is now broken after a recent update to OE-core. When using the latest rocko branches from poky and meta-oe, my meson builds end up with the wrong paths to ld and libc. For example, running ldd on one of my binaries: linux-vdso.so.1 (0x7fff4f9ee000) libc.so.6 => /home/robert/yocto/kiosk/poky/build/tmp/sysroots-uninative/x86_64- linux/lib/libc.so.6 (0x7f1136f8c000) /home/robert/yocto/kiosk/poky/build/tmp/sysroots-uninative/x86_64- linux/lib/ld-linux-x86-64.so.2 (0x7f113756) Those paths going into my home directory are obviously not correct. I bisected the issue, and commit cead3c4925d39f8adc328007d8a8c1b23cc72842 in openembedded-core is when the problem starts: https://urldefense.proofpoint.com/v2/url? u=http-3A__cgit.openembedded.org_openembedded-2Dcore_commit_-3Fh-3Drocko-26id-3Dcead3c4925d39f8adc328007d8a8c1b23cc72842=DwIBAg=zVFQZQ67ypsA9mYKSCqWmQHiVkCCaN- Gb60_N6TVnLk=FXexzueMZc3SeYPHXBmsGdHLENOHmHsvnD0cO1_Z0j2tHI6VqrQPNkHBCZO8dAdc=JSVZRc5Fq4IsIwtkdFHpTXsgF8aCQ0vP6j_F7dT5tYc=OutJG7fOSrT6ANwnnyxx12eHu6yepO- b2NWHJeP93x0= When using the tip of rocko, I can make the issue go away by removing this export from meson.bbclass: export LDFLAGS = "${BUILD_LDFLAGS}" I'm not really familiar with how this works, but it looks like the change to BUILD_LDFLAGS in uninative.bbclass is forcing the binaries to use the uninative ld, which isn't desired here. I assume meson.bbclass should not be setting LDFLAGS using ${BUILD_LDFLAGS}. I can send a patch removing this export, but it feels like all the exports in meson.bbclass are incorrect. The class has been reworked and moved to OE-core for sumo, so I can send a patch backporting the entire class if that is preferred. Does the issue go away with the oe-core version of meson? If so, I would be in favor of backporting the entire class. From my memory of the changes between meta-oe and oe-core, some of them are significant and it wouldn't surprise me if important bugs were fixed. Yes, the OE-core version of meson.bbclass works fine when I copy it to my rocko builds. I'll send a patch to backport the entire class. Sounds good to me; I would support such a patch, as in this case, I think the older version is likely just broken and thus using it is really the riskier thing to do. Thanks, Robert -- ___ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel
Re: [oe] [OE-core] [RFT] GCC 8.1
On Mon, May 14, 2018 at 10:33:41AM -0600, Dan McGregor wrote: > On 10 May 2018 at 12:53, Khem Rajwrote: > > Hi Dan, > > > > Thanks for testing > > > > On 5/10/18 7:34 AM, Dan McGregor wrote: > >> > >> On 4 May 2018 at 18:26, Khem Raj wrote: > >>> > >>> Hi All > >>> > >>> As you might have noticed that gcc 8.1 was released this week, I am > >>> calling out for some testing help on testing branch so we can weed out > >>> issues you might see in your setups. so if you have your > >>> builders idling over weekend, then you know what they can do this weekend > >>> :) > >>> > >> > >> Thanks for this. The only two issues I noticed are that the > >> Wandboard's kernel doesn't compile with gcc 8.1, > > > > > > > > what errors do you see ? > > I expect the standard "Linux 4.1" errors. A bunch of ignored > attributes and incompatible type aliases: > > tmp-glibc/work-shared/wandboard/kernel-source/include/linux/log2.h:22:1: > warning: ignoring attribute 'noreturn' because it conflicts with > attribute 'const' [-Wattributes] > int ilog2_NaN(void) Try backporting this change: https://github.com/torvalds/linux/commit/474c90156c8dcc2fa815e6716cc9394d7930cb9c > tmp-glibc/work-shared/wandboard/kernel-source/include/linux/syscalls.h:195:18: > warning: 'sys_clone' alias between functions of incompatible types > 'long int(long unsigned int, long unsigned int, int *, int, int *)' > and 'long int(long int, long int, long int, long int, long int)' > [-Wattribute-alias] > asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \ > > I can give you the full compile log if you'd like, but I think others > want it kept off the list. > > > > > and gcc-sanitizers > >> > >> now throws a packaging error on (at least) x86_64. > >> ${libdir}/liblsan_preinit.o is a new file that should go into > >> liblsan-dev. > > > > > > That seems to be the case, I wonder why my world build for qemux86_64 did > > not find this error. I would like to reproduce this and the fix is then > > simple. > > My x86_64 build was multilib enabled. I doubt that had anything to do > with it, but I suppose it's possible. > > > > > > >> > >>> Highlighted changes are > >>> > >>> https://gcc.gnu.org/gcc-8/changes.html > >>> > >>> and porting doc is > >>> > >>> https://gcc.gnu.org/gcc-8/porting_to.html > >>> > >>> The branch is here > >>> > >>> http://git.openembedded.org/openembedded-core-contrib/log/?h=kraj/gcc-8 > >>> > >>> Its uptodate on top of current master oe-core > >>> > >>> May fourth be with you !! > >>> > >>> Cheers! > >>> > >>> -Khem > >>> -- > >>> ___ > >>> Openembedded-core mailing list > >>> openembedded-c...@lists.openembedded.org > >>> http://lists.openembedded.org/mailman/listinfo/openembedded-core > -- > ___ > Openembedded-core mailing list > openembedded-c...@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core -- Martin 'JaMa' Jansa jabber: martin.ja...@gmail.com signature.asc Description: Digital signature -- ___ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel
Re: [oe] [OE-core] [RFT] GCC 8.1
On 10 May 2018 at 12:53, Khem Rajwrote: > Hi Dan, > > Thanks for testing > > On 5/10/18 7:34 AM, Dan McGregor wrote: >> >> On 4 May 2018 at 18:26, Khem Raj wrote: >>> >>> Hi All >>> >>> As you might have noticed that gcc 8.1 was released this week, I am >>> calling out for some testing help on testing branch so we can weed out >>> issues you might see in your setups. so if you have your >>> builders idling over weekend, then you know what they can do this weekend >>> :) >>> >> >> Thanks for this. The only two issues I noticed are that the >> Wandboard's kernel doesn't compile with gcc 8.1, > > > > what errors do you see ? I expect the standard "Linux 4.1" errors. A bunch of ignored attributes and incompatible type aliases: tmp-glibc/work-shared/wandboard/kernel-source/include/linux/log2.h:22:1: warning: ignoring attribute 'noreturn' because it conflicts with attribute 'const' [-Wattributes] int ilog2_NaN(void) tmp-glibc/work-shared/wandboard/kernel-source/include/linux/syscalls.h:195:18: warning: 'sys_clone' alias between functions of incompatible types 'long int(long unsigned int, long unsigned int, int *, int, int *)' and 'long int(long int, long int, long int, long int, long int)' [-Wattribute-alias] asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \ I can give you the full compile log if you'd like, but I think others want it kept off the list. > > and gcc-sanitizers >> >> now throws a packaging error on (at least) x86_64. >> ${libdir}/liblsan_preinit.o is a new file that should go into >> liblsan-dev. > > > That seems to be the case, I wonder why my world build for qemux86_64 did > not find this error. I would like to reproduce this and the fix is then > simple. My x86_64 build was multilib enabled. I doubt that had anything to do with it, but I suppose it's possible. > > >> >>> Highlighted changes are >>> >>> https://gcc.gnu.org/gcc-8/changes.html >>> >>> and porting doc is >>> >>> https://gcc.gnu.org/gcc-8/porting_to.html >>> >>> The branch is here >>> >>> http://git.openembedded.org/openembedded-core-contrib/log/?h=kraj/gcc-8 >>> >>> Its uptodate on top of current master oe-core >>> >>> May fourth be with you !! >>> >>> Cheers! >>> >>> -Khem >>> -- >>> ___ >>> Openembedded-core mailing list >>> openembedded-c...@lists.openembedded.org >>> http://lists.openembedded.org/mailman/listinfo/openembedded-core -- ___ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel
Re: [oe] [meta-oe][PATCH] poco: update to 1.9.0
On Mon, May 14, 2018 at 6:19 AM, Pascal Bachwrote: > Enable the new Encodings and Redis packages by default > > Signed-off-by: Pascal Bach > --- > meta-oe/recipes-support/poco/poco_1.9.0.bb | 108 > + > 1 file changed, 108 insertions(+) > create mode 100644 meta-oe/recipes-support/poco/poco_1.9.0.bb > We should remove the old recipe at the same time if there is no reason to keep it. > diff --git a/meta-oe/recipes-support/poco/poco_1.9.0.bb > b/meta-oe/recipes-support/poco/poco_1.9.0.bb > new file mode 100644 > index 0..1a804b1ae > --- /dev/null > +++ b/meta-oe/recipes-support/poco/poco_1.9.0.bb > @@ -0,0 +1,108 @@ > +SUMMARY = "Modern, powerful open source cross-platform C++ class libraries" > +DESCRIPTION = "Modern, powerful open source C++ class libraries and > frameworks for building network- and internet-based applications that run on > desktop, server, mobile and embedded systems." > +SECTION = "libs" > +HOMEPAGE = "http://pocoproject.org/; > +LICENSE = "BSL-1.0" > +LIC_FILES_CHKSUM = "file://LICENSE;md5=4267f48fc738f50380cbeeb76f95cebc" > + > +# These dependencies are required by Foundation > +DEPENDS = "libpcre zlib" > + > +inherit cmake ptest > + > +BBCLASSEXTEND = "native" > + > +SRCREV = "94966785a8f9ad0191dffd075ebd67826e6e4b6d" > +SRC_URI = " \ > +git://github.com/pocoproject/poco.git \ > +file://run-ptest \ > + " > + > +S = "${WORKDIR}/git" > + > +EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DPOCO_UNBUNDLED=ON \ > + -DZLIB_LIBRARY_RELEASE:STRING=z -DPCRE_LIBRARY:STRING=pcre > \ > + ${@bb.utils.contains('PTEST_ENABLED', '1', > '-DENABLE_TESTS=ON ', '', d)}" > + > +# For the native build we want to use the bundled version > +EXTRA_OECMAKE_append_class-native = " -DPOCO_UNBUNDLED=OFF" > + > +# do not use rpath > +EXTRA_OECMAKE_append = " -DCMAKE_SKIP_RPATH=ON" > + > +# By default the most commonly used poco components are built > +# Foundation is built anyway and doesn't need to be listed explicitly > +# these don't have dependencies outside oe-core > +PACKAGECONFIG ??= "XML JSON MongoDB PDF Util Net NetSSL Crypto Data > DataSQLite Zip Encodings Redis" > + > +PACKAGECONFIG[XML] = "-DENABLE_XML=ON > -DEXPAT_LIBRARY:STRING=expat,-DENABLE_XML=OFF,expat" > +PACKAGECONFIG[JSON] = "-DENABLE_JSON=ON,-DENABLE_JSON=OFF" > +PACKAGECONFIG[MongoDB] = "-DENABLE_MONGODB=ON,-DENABLE_MONGODB=OFF" > +PACKAGECONFIG[PDF] = "-DENABLE_PDF=ON,-DENABLE_PDF=OFF,zlib" > +PACKAGECONFIG[Util] = "-DENABLE_UTIL=ON,-DENABLE_UTIL=OFF" > +PACKAGECONFIG[Net] = "-DENABLE_NET=ON,-DENABLE_NET=OFF" > +PACKAGECONFIG[NetSSL] = "-DENABLE_NETSSL=ON -DOPENSSL_SSL_LIBRARY:STRING=ssl > -DOPENSSL_CRYPTO_LIBRARY:STRING=crypto,-DENABLE_NETSSL=OFF,openssl" > +PACKAGECONFIG[Crypto] = "-DENABLE_CRYPTO=ON -DOPENSSL_SSL_LIBRARY:STRING=ssl > -DOPENSSL_CRYPTO_LIBRARY:STRING=crypto,-DENABLE_CRYPTO=OFF,openssl" > +PACKAGECONFIG[Data] = "-DENABLE_DATA=ON,-DENABLE_DATA=OFF" > +PACKAGECONFIG[DataSQLite] = "-DENABLE_DATA_SQLITE=ON > -DSQLITE3_LIBRARY:STRING=sqlite3,-DENABLE_DATA_SQLITE=OFF,sqlite3" > +PACKAGECONFIG[Zip] = "-DENABLE_ZIP=ON,-DENABLE_ZIP=OFF" > +PACKAGECONFIG[Encodings] = "-DENABLE_ENCODINGS=ON,-DENABLE_ENCODINGS=OFF" > +PACKAGECONFIG[Redis] = "-DENABLE_REDIS=ON,-DENABLE_REDIS=OFF" > + > +# Additional components not build by default, > +# they might have dependencies not included in oe-core > +# or they don't work on all architectures > +PACKAGECONFIG[mod_poco] = > "-DENABLE_APACHECONNECTOR=ON,-DENABLE_APACHECONNECTOR=OFF,apr apache2" > +PACKAGECONFIG[CppParser] = "-DENABLE_CPPPARSER=ON,-DENABLE_CPPPARSER=OFF" > +PACKAGECONFIG[DataMySQL] = "-DENABLE_DATA_MYSQL=ON > -DMYSQL_LIB:STRING=mysqlclient_r,-DENABLE_DATA_MYSQL=OFF,mariadb" > +PACKAGECONFIG[DataODBC] = > "-DENABLE_DATA_ODBC=ON,-DENABLE_DATA_ODBC=OFF,libiodbc" > +PACKAGECONFIG[PageCompiler] = > "-DENABLE_PAGECOMPILER=ON,-DENABLE_PAGECOMPILER=OFF" > +PACKAGECONFIG[PageCompilerFile2Page] = > "-DENABLE_PAGECOMPILER_FILE2PAGE=ON,-DENABLE_PAGECOMPILER_FILE2PAGE=OFF" > +PACKAGECONFIG[SevenZip] = "-DENABLE_SEVENZIP=ON,-DENABLE_SEVENZIP=OFF" > + > +# Make a package for each library > +PACKAGES = "${PN}-dbg ${POCO_PACKAGES}" > +python __anonymous () { > +packages = [] > +testrunners = [] > +components = d.getVar("PACKAGECONFIG").split() > +components.append("Foundation") > +for lib in components: > +pkg = ("poco-%s" % lib.lower()).replace("_","") > +packages.append(pkg) > +if not d.getVar("FILES_%s" % pkg): > +d.setVar("FILES_%s" % pkg, "${libdir}/libPoco%s.so.*" % lib) > +testrunners.append("%s" % lib) > + > +d.setVar("POCO_PACKAGES", " ".join(packages)) > +d.setVar("POCO_TESTRUNNERS", "\n".join(testrunners)) > +} > + > +# "poco" is a metapackage which pulls in all Poco components > +PACKAGES += "${PN}" > +RRECOMMENDS_${PN} += "${POCO_PACKAGES}" >
[oe] [meta-oe][PATCH] poco: update to 1.9.0
Enable the new Encodings and Redis packages by default Signed-off-by: Pascal Bach--- meta-oe/recipes-support/poco/poco_1.9.0.bb | 108 + 1 file changed, 108 insertions(+) create mode 100644 meta-oe/recipes-support/poco/poco_1.9.0.bb diff --git a/meta-oe/recipes-support/poco/poco_1.9.0.bb b/meta-oe/recipes-support/poco/poco_1.9.0.bb new file mode 100644 index 0..1a804b1ae --- /dev/null +++ b/meta-oe/recipes-support/poco/poco_1.9.0.bb @@ -0,0 +1,108 @@ +SUMMARY = "Modern, powerful open source cross-platform C++ class libraries" +DESCRIPTION = "Modern, powerful open source C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems." +SECTION = "libs" +HOMEPAGE = "http://pocoproject.org/; +LICENSE = "BSL-1.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4267f48fc738f50380cbeeb76f95cebc" + +# These dependencies are required by Foundation +DEPENDS = "libpcre zlib" + +inherit cmake ptest + +BBCLASSEXTEND = "native" + +SRCREV = "94966785a8f9ad0191dffd075ebd67826e6e4b6d" +SRC_URI = " \ +git://github.com/pocoproject/poco.git \ +file://run-ptest \ + " + +S = "${WORKDIR}/git" + +EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DPOCO_UNBUNDLED=ON \ + -DZLIB_LIBRARY_RELEASE:STRING=z -DPCRE_LIBRARY:STRING=pcre \ + ${@bb.utils.contains('PTEST_ENABLED', '1', '-DENABLE_TESTS=ON ', '', d)}" + +# For the native build we want to use the bundled version +EXTRA_OECMAKE_append_class-native = " -DPOCO_UNBUNDLED=OFF" + +# do not use rpath +EXTRA_OECMAKE_append = " -DCMAKE_SKIP_RPATH=ON" + +# By default the most commonly used poco components are built +# Foundation is built anyway and doesn't need to be listed explicitly +# these don't have dependencies outside oe-core +PACKAGECONFIG ??= "XML JSON MongoDB PDF Util Net NetSSL Crypto Data DataSQLite Zip Encodings Redis" + +PACKAGECONFIG[XML] = "-DENABLE_XML=ON -DEXPAT_LIBRARY:STRING=expat,-DENABLE_XML=OFF,expat" +PACKAGECONFIG[JSON] = "-DENABLE_JSON=ON,-DENABLE_JSON=OFF" +PACKAGECONFIG[MongoDB] = "-DENABLE_MONGODB=ON,-DENABLE_MONGODB=OFF" +PACKAGECONFIG[PDF] = "-DENABLE_PDF=ON,-DENABLE_PDF=OFF,zlib" +PACKAGECONFIG[Util] = "-DENABLE_UTIL=ON,-DENABLE_UTIL=OFF" +PACKAGECONFIG[Net] = "-DENABLE_NET=ON,-DENABLE_NET=OFF" +PACKAGECONFIG[NetSSL] = "-DENABLE_NETSSL=ON -DOPENSSL_SSL_LIBRARY:STRING=ssl -DOPENSSL_CRYPTO_LIBRARY:STRING=crypto,-DENABLE_NETSSL=OFF,openssl" +PACKAGECONFIG[Crypto] = "-DENABLE_CRYPTO=ON -DOPENSSL_SSL_LIBRARY:STRING=ssl -DOPENSSL_CRYPTO_LIBRARY:STRING=crypto,-DENABLE_CRYPTO=OFF,openssl" +PACKAGECONFIG[Data] = "-DENABLE_DATA=ON,-DENABLE_DATA=OFF" +PACKAGECONFIG[DataSQLite] = "-DENABLE_DATA_SQLITE=ON -DSQLITE3_LIBRARY:STRING=sqlite3,-DENABLE_DATA_SQLITE=OFF,sqlite3" +PACKAGECONFIG[Zip] = "-DENABLE_ZIP=ON,-DENABLE_ZIP=OFF" +PACKAGECONFIG[Encodings] = "-DENABLE_ENCODINGS=ON,-DENABLE_ENCODINGS=OFF" +PACKAGECONFIG[Redis] = "-DENABLE_REDIS=ON,-DENABLE_REDIS=OFF" + +# Additional components not build by default, +# they might have dependencies not included in oe-core +# or they don't work on all architectures +PACKAGECONFIG[mod_poco] = "-DENABLE_APACHECONNECTOR=ON,-DENABLE_APACHECONNECTOR=OFF,apr apache2" +PACKAGECONFIG[CppParser] = "-DENABLE_CPPPARSER=ON,-DENABLE_CPPPARSER=OFF" +PACKAGECONFIG[DataMySQL] = "-DENABLE_DATA_MYSQL=ON -DMYSQL_LIB:STRING=mysqlclient_r,-DENABLE_DATA_MYSQL=OFF,mariadb" +PACKAGECONFIG[DataODBC] = "-DENABLE_DATA_ODBC=ON,-DENABLE_DATA_ODBC=OFF,libiodbc" +PACKAGECONFIG[PageCompiler] = "-DENABLE_PAGECOMPILER=ON,-DENABLE_PAGECOMPILER=OFF" +PACKAGECONFIG[PageCompilerFile2Page] = "-DENABLE_PAGECOMPILER_FILE2PAGE=ON,-DENABLE_PAGECOMPILER_FILE2PAGE=OFF" +PACKAGECONFIG[SevenZip] = "-DENABLE_SEVENZIP=ON,-DENABLE_SEVENZIP=OFF" + +# Make a package for each library +PACKAGES = "${PN}-dbg ${POCO_PACKAGES}" +python __anonymous () { +packages = [] +testrunners = [] +components = d.getVar("PACKAGECONFIG").split() +components.append("Foundation") +for lib in components: +pkg = ("poco-%s" % lib.lower()).replace("_","") +packages.append(pkg) +if not d.getVar("FILES_%s" % pkg): +d.setVar("FILES_%s" % pkg, "${libdir}/libPoco%s.so.*" % lib) +testrunners.append("%s" % lib) + +d.setVar("POCO_PACKAGES", " ".join(packages)) +d.setVar("POCO_TESTRUNNERS", "\n".join(testrunners)) +} + +# "poco" is a metapackage which pulls in all Poco components +PACKAGES += "${PN}" +RRECOMMENDS_${PN} += "${POCO_PACKAGES}" +RRECOMMENDS_${PN}_class-native = "" +ALLOW_EMPTY_${PN} = "1" + +# -dev last to pick up the remaining stuff +PACKAGES += "${PN}-dev ${PN}-staticdev" +FILES_${PN}-dev = "${includedir} ${libdir}/libPoco*.so ${libdir}/cmake" +FILES_${PN}-staticdev = "${libdir}/libPoco*.a" + +# ptest support +FILES_${PN}-dbg += "${PTEST_PATH}/bin/.debug" + +# cppunit is only built if tests are enabled +PACKAGES +=