All of lore.kernel.org
 help / color / mirror / Atom feed
* [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

* [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

* 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

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 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.