Re: [OE-core] [PATCH 1/9] meson: add a recipe and class from meta-oe

2017-12-15 Thread Linus Svensson

On 12/15/2017 04:29 PM, André Draszik wrote:

On Thu, 2017-12-07 at 11:27 -0800, Andre McCurdy wrote:

+MESON_TARGET_ENDIAN = "${@bb.utils.contains('TUNE_FEATURES',
'bigendian', 'big', 'little', d)}"

This won't work for all targets (e.g. PowerPC is big endian but
doesn't include "bigendian" in TUNE_FEATURES). To determine the
endianness of the target, use SITEINFO_ENDIANNESS instead.

${MESON_TARGET_ENDIAN} is used inside a [target_machine] statement, though.
Not sure about the naming and intention here...

meson define host,target and build the same way as autotools do.
meson will fetch information about the build machine from the environment
and host/target is specified in the cross-file. The intention with this
statement is to specify the endianness for the target system. Is that
information available in oe?

From mesonbuild.com:
target machine is the machine on which the compiled binary's output will run
(this is only meaningful for programs such as compilers that, when run,
produce object code for a different CPU than what the program is being 
run on)


/Linus
--
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 2/3] meson: Add recipe for the meson build system

2017-02-14 Thread Linus Svensson

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
--
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 3/3] meson.bbclass: Add meson.bbclass

2016-12-01 Thread linus . svensson
From: Linus Svensson <linu...@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.bur...@intel.com>.

Signed-off-by: Linus Svensson <linu...@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 000..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 <http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 2/3] meson: Add recipe for the meson build system

2016-12-01 Thread linus . svensson
From: Linus Svensson <linu...@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.bur...@intel.com>.

Signed-off-by: Linus Svensson <linu...@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 000..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

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 1/3] python3-native: Add python3-modules to RPROVIDES list

2016-12-01 Thread linus . svensson
From: Linus Svensson <linu...@axis.com>

Signed-off-by: Linus Svensson <linu...@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

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core