* [PATCH 1/3] python3-native: Add python3-modules to RPROVIDES list @ 2016-12-01 16:23 linus.svensson 2016-12-01 16:23 ` [PATCH 2/3] meson: Add recipe for the meson build system linus.svensson 2016-12-01 16:23 ` [PATCH 3/3] meson.bbclass: Add meson.bbclass linus.svensson 0 siblings, 2 replies; 8+ messages in thread From: linus.svensson @ 2016-12-01 16:23 UTC (permalink / raw) To: openembedded-core From: Linus Svensson <linussn@axis.com> Signed-off-by: Linus Svensson <linussn@axis.com> --- meta/recipes-devtools/python/python3-native_3.5.2.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-devtools/python/python3-native_3.5.2.bb b/meta/recipes-devtools/python/python3-native_3.5.2.bb index 08802cd..7ac3942 100644 --- a/meta/recipes-devtools/python/python3-native_3.5.2.bb +++ b/meta/recipes-devtools/python/python3-native_3.5.2.bb @@ -54,6 +54,7 @@ RPROVIDES += " \ python3-json-native \ python3-lang-native \ python3-misc-native \ + python3-modules-native \ python3-netclient-native \ python3-netserver-native \ python3-numbers-native \ -- 2.1.4 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/3] meson: Add recipe for the meson build system 2016-12-01 16:23 [PATCH 1/3] python3-native: Add python3-modules to RPROVIDES list linus.svensson @ 2016-12-01 16:23 ` linus.svensson 2017-02-07 16:33 ` Burton, Ross 2016-12-01 16:23 ` [PATCH 3/3] meson.bbclass: Add meson.bbclass linus.svensson 1 sibling, 1 reply; 8+ messages in thread From: linus.svensson @ 2016-12-01 16:23 UTC (permalink / raw) To: openembedded-core From: Linus Svensson <linussn@axis.com> Meson is a build system designed to be fast and as user firendly as possible. Find out more about meson at mesonbuild.com. This patch is based on a prototype patch by Ross Burton <ross.burton@intel.com>. Signed-off-by: Linus Svensson <linussn@axis.com> --- meta/recipes-devtools/meson/meson_0.36.0.bb | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 meta/recipes-devtools/meson/meson_0.36.0.bb diff --git a/meta/recipes-devtools/meson/meson_0.36.0.bb b/meta/recipes-devtools/meson/meson_0.36.0.bb new file mode 100644 index 0000000..1ec7e3e --- /dev/null +++ b/meta/recipes-devtools/meson/meson_0.36.0.bb @@ -0,0 +1,15 @@ +HOMEPAGE = "http://mesonbuild.com" +SUMMARY = "A high performance build system" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/${BP}.tar.gz" +SRC_URI[md5sum] = "dfdd190c5f10a67bb40e6cf93944dd43" +SRC_URI[sha256sum] = "dc087ec40dacb5e256e6ee6467f2d004faf4ef284d3c1ce5e89faa1e16540950" + +inherit setuptools3 + +RDEPENDS_${PN} = "ninja python3-core python3-modules" + +BBCLASSEXTEND = "native" -- 2.1.4 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 2/3] meson: Add recipe for the meson build system 2016-12-01 16:23 ` [PATCH 2/3] meson: Add recipe for the meson build system linus.svensson @ 2017-02-07 16:33 ` Burton, Ross 2017-02-13 12:18 ` Ricardo Ribalda Delgado 0 siblings, 1 reply; 8+ messages in thread From: Burton, Ross @ 2017-02-07 16:33 UTC (permalink / raw) To: linus.svensson; +Cc: OE-core [-- Attachment #1: Type: text/plain, Size: 710 bytes --] On 1 December 2016 at 16:23, <linus.svensson@axis.com> wrote: > Meson is a build system designed to be fast and as user firendly as > possible. Find out more about meson at mesonbuild.com. > > This patch is based on a prototype patch by > Ross Burton <ross.burton@intel.com>. So the good news is that I just used this recipe and class to build the new libepoxy release with Meson instead of autotools, and it worked for all architectures. However this can't be considered for oe-core as it is, because it depends on ninja-native (and that on re2c-native) which are part of meta-oe. Until we have a need for Meson in oe-core, would you consider submitting it to meta-oe? Cheers, Ross [-- Attachment #2: Type: text/html, Size: 1389 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/3] meson: Add recipe for the meson build system 2017-02-07 16:33 ` Burton, Ross @ 2017-02-13 12:18 ` Ricardo Ribalda Delgado 2017-02-13 12:26 ` Burton, Ross 0 siblings, 1 reply; 8+ messages in thread From: Ricardo Ribalda Delgado @ 2017-02-13 12:18 UTC (permalink / raw) To: Burton, Ross; +Cc: OE-core [-- Attachment #1: Type: text/plain, Size: 1224 bytes --] Hi! What is the status on this? it just needs to be resend to meta-oe? We are considering meson for our next project and we need support in OE. Regards! On Tue, Feb 7, 2017 at 5:33 PM, Burton, Ross <ross.burton@intel.com> wrote: > > On 1 December 2016 at 16:23, <linus.svensson@axis.com> wrote: > >> Meson is a build system designed to be fast and as user firendly as >> possible. Find out more about meson at mesonbuild.com. >> >> This patch is based on a prototype patch by >> Ross Burton <ross.burton@intel.com>. > > > So the good news is that I just used this recipe and class to build the > new libepoxy release with Meson instead of autotools, and it worked for all > architectures. > > However this can't be considered for oe-core as it is, because it depends > on ninja-native (and that on re2c-native) which are part of meta-oe. > > Until we have a need for Meson in oe-core, would you consider submitting > it to meta-oe? > > Cheers, > Ross > > -- > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core > > -- Ricardo Ribalda [-- Attachment #2: Type: text/html, Size: 2588 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/3] meson: Add recipe for the meson build system 2017-02-13 12:18 ` Ricardo Ribalda Delgado @ 2017-02-13 12:26 ` Burton, Ross 2017-02-13 12:28 ` Ricardo Ribalda Delgado 0 siblings, 1 reply; 8+ messages in thread From: Burton, Ross @ 2017-02-13 12:26 UTC (permalink / raw) To: Ricardo Ribalda Delgado; +Cc: OE-core [-- Attachment #1: Type: text/plain, Size: 407 bytes --] On 13 February 2017 at 12:18, Ricardo Ribalda Delgado < ricardo.ribalda@gmail.com> wrote: > What is the status on this? it just needs to be resend to meta-oe? We are > considering meson for our next project and we need support in OE. > Yes. If the growth continues then we'll have to move it into oe-core, but for now meta-oe is the obvious holding place for the Meson class and recipe. Ross [-- Attachment #2: Type: text/html, Size: 781 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/3] meson: Add recipe for the meson build system 2017-02-13 12:26 ` Burton, Ross @ 2017-02-13 12:28 ` Ricardo Ribalda Delgado 2017-02-14 12:15 ` Linus Svensson 0 siblings, 1 reply; 8+ messages in thread From: Ricardo Ribalda Delgado @ 2017-02-13 12:28 UTC (permalink / raw) To: Burton, Ross; +Cc: OE-core Hi On Mon, Feb 13, 2017 at 1:26 PM, Burton, Ross <ross.burton@intel.com> wrote: > > > On 13 February 2017 at 12:18, Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> wrote: >> >> What is the status on this? it just needs to be resend to meta-oe? We are considering meson for our next project and we need support in OE. > > > Yes. If the growth continues then we'll have to move it into oe-core, but for now meta-oe is the obvious holding place for the Meson class and recipe. Thanks Linus, do you plan to resend? Can I help you? -- Ricardo Ribalda ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/3] meson: Add recipe for the meson build system 2017-02-13 12:28 ` Ricardo Ribalda Delgado @ 2017-02-14 12:15 ` Linus Svensson 0 siblings, 0 replies; 8+ messages in thread From: Linus Svensson @ 2017-02-14 12:15 UTC (permalink / raw) To: Ricardo Ribalda Delgado, Burton, Ross; +Cc: OE-core Hi. On 02/13/2017 01:28 PM, Ricardo Ribalda Delgado wrote: > Linus, do you plan to resend? Can I help you? I will resend it later today. meson is still under development, and more options for installation directories are still (I know at least one more that will come) added. That could, or perhaps should, be updated when the meson version is updated. Worth to put a comment somewhere regarding that? /Linus ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 3/3] meson.bbclass: Add meson.bbclass 2016-12-01 16:23 [PATCH 1/3] python3-native: Add python3-modules to RPROVIDES list linus.svensson 2016-12-01 16:23 ` [PATCH 2/3] meson: Add recipe for the meson build system linus.svensson @ 2016-12-01 16:23 ` linus.svensson 1 sibling, 0 replies; 8+ messages in thread From: linus.svensson @ 2016-12-01 16:23 UTC (permalink / raw) To: openembedded-core From: Linus Svensson <linussn@axis.com> Add a class for packages that uses the meson build system. Meson uses a cross-file that contain needed tools and information about the host and target system. Such a file will be created in {WORKDIR}. Meson only allows installation directories to be specified as relative to prefix, except for sysconfdir, which can be absolute. This patch is based on a prototype patch by Ross Burton <ross.burton@intel.com>. Signed-off-by: Linus Svensson <linussn@axis.com> --- meta/classes/meson.bbclass | 86 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 meta/classes/meson.bbclass diff --git a/meta/classes/meson.bbclass b/meta/classes/meson.bbclass new file mode 100644 index 0000000..5a04134 --- /dev/null +++ b/meta/classes/meson.bbclass @@ -0,0 +1,86 @@ +inherit python3native + +DEPENDS_append = " meson-native ninja-native" + +# As Meson enforces out-of-tree builds we can just use cleandirs +B = "${WORKDIR}/build" +do_configure[cleandirs] = "${B}" + +# Where the meson.build build configuration is +MESON_SOURCEPATH = "${S}" + +# These variables in the environment override the *native* tools not the cross, +# so they need to be unexported. +CC[unexport] = "1" + +def noprefix(var, d): + return d.getVar(var, True).replace(d.getVar('prefix', True) + '/', '', 1) + +MESONOPTS = " --prefix ${prefix} \ + --bindir ${@noprefix('bindir', d)} \ + --datadir ${@noprefix('datadir', d)} \ + --libdir ${@noprefix('libdir', d)} \ + --libexecdir ${@noprefix('libexecdir', d)} \ + --includedir ${@noprefix('includedir', d)} \ + --mandir ${@noprefix('mandir', d)} \ + --localedir ${@noprefix('localedir', d)} \ + --sysconfdir ${sysconfdir}" + +MESON_C_ARGS = "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" + +MESON_HOST_ENDIAN = "${@bb.utils.contains('SITEINFO_ENDIANNESS', 'be', 'big', 'little', d)}" +MESON_TARGET_ENDIAN = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', 'big', 'little', d)}" + +EXTRA_OEMESON += "${PACKAGECONFIG_CONFARGS}" + +def meson_array(var, d): + return "', '".join(d.getVar(var, True).split()).join(("'", "'")) + +addtask write_config before do_configure +do_write_config[vardeps] += "MESON_C_ARGS TOOLCHAIN_OPTIONS" +do_write_config() { + # This needs to be Py to split the args into single-element lists + cat >${WORKDIR}/meson.cross <<EOF +[binaries] +c = '${HOST_PREFIX}gcc' +cpp = '${HOST_PREFIX}gcc' +ar = '${HOST_PREFIX}ar' +ld = '${HOST_PREFIX}ld' +strip = '${HOST_PREFIX}strip' +readelf = '${HOST_PREFIX}readelf' +pkgconfig = 'pkg-config' + +[properties] +c_args = [${@meson_array('MESON_C_ARGS', d)}] +c_link_args = [${@meson_array('TOOLCHAIN_OPTIONS', d)}] + +[host_machine] +system = '${HOST_OS}' +cpu_family = '${HOST_ARCH}' +cpu = '${HOST_ARCH}' +endian = '${MESON_HOST_ENDIAN}' + +[target_machine] +system = '${TARGET_OS}' +cpu_family = '${TARGET_ARCH}' +cpu = '${TARGET_ARCH}' +endian = '${MESON_TARGET_ENDIAN}' +EOF +} + +meson_do_configure() { + if ! meson ${MESONOPTS} "${MESON_SOURCEPATH}" "${B}" --cross-file ${WORKDIR}/meson.cross ${EXTRA_OEMESON}; then + cat ${B}/meson-logs/meson-log.txt + bbfatal_log meson failed + fi +} + +meson_do_compile() { + ninja ${PARALLEL_MAKE} +} + +meson_do_install() { + DESTDIR='${D}' ninja ${PARALLEL_MAKEINST} install +} + +EXPORT_FUNCTIONS do_configure do_compile do_install -- 2.1.4 ^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2017-02-14 12:15 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-12-01 16:23 [PATCH 1/3] python3-native: Add python3-modules to RPROVIDES list linus.svensson 2016-12-01 16:23 ` [PATCH 2/3] meson: Add recipe for the meson build system linus.svensson 2017-02-07 16:33 ` Burton, Ross 2017-02-13 12:18 ` Ricardo Ribalda Delgado 2017-02-13 12:26 ` Burton, Ross 2017-02-13 12:28 ` Ricardo Ribalda Delgado 2017-02-14 12:15 ` Linus Svensson 2016-12-01 16:23 ` [PATCH 3/3] meson.bbclass: Add meson.bbclass linus.svensson
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox