diff options
| author | Eric Le Bihan <eric.le.bihan.dev@free.fr> | 2017-10-29 14:10:51 +0100 |
|---|---|---|
| committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2017-12-28 23:09:37 +0100 |
| commit | 5cd8afbdfc2d55545aa8d1c4026688c2edaac642 (patch) | |
| tree | 6ddfcacabff2d91ad5b52d4d7f114a9a65ac8cb1 /package/meson | |
| parent | 2493638ff74911d187396ed9ce6137d8357c90cb (diff) | |
| download | buildroot-5cd8afbdfc2d55545aa8d1c4026688c2edaac642.tar.gz buildroot-5cd8afbdfc2d55545aa8d1c4026688c2edaac642.zip | |
meson: new package
This new package provides the host variant of the Meson Build System, an
open source build system meant to be both extremely fast, and as user
friendly as possible.
More precisely, Meson creates configuration files for the Ninja build
system.
Besides building Meson, it generates a configuration file
("$(HOST_DIR)/etc/meson/cross-compilation.conf") to be used when
cross-compiling a Meson-based project.
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Tested-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/meson')
| -rw-r--r-- | package/meson/cross-compilation.conf.in | 23 | ||||
| -rw-r--r-- | package/meson/meson.hash | 3 | ||||
| -rw-r--r-- | package/meson/meson.mk | 35 |
3 files changed, 61 insertions, 0 deletions
diff --git a/package/meson/cross-compilation.conf.in b/package/meson/cross-compilation.conf.in new file mode 100644 index 0000000000..0eec74087b --- /dev/null +++ b/package/meson/cross-compilation.conf.in @@ -0,0 +1,23 @@ +# Note: Buildroot's and Meson's terminologies differ about the meaning +# of 'build', 'host' and 'target': +# - Buildroot's 'host' is Meson's 'build' +# - Buildroot's 'target' is Meson's 'host' + +[binaries] +c = '@TARGET_CROSS@gcc' +cpp = '@TARGET_CROSS@g++' +ar = '@TARGET_CROSS@ar' +strip = '@TARGET_CROSS@strip' +pkgconfig = '@HOST_DIR@/usr/bin/pkg-config' + +[properties] +c_args = [@TARGET_CFLAGS@] +c_link_args = [@TARGET_LDFLAGS@] +cpp_args = [@TARGET_CXXFLAGS@] +cpp_link_args = [@TARGET_LDFLAGS@] + +[host_machine] +system = 'linux' +cpu_family ='@TARGET_ARCH@' +cpu = '@TARGET_CPU@' +endian = '@TARGET_ENDIAN@' diff --git a/package/meson/meson.hash b/package/meson/meson.hash new file mode 100644 index 0000000000..412c10eb2f --- /dev/null +++ b/package/meson/meson.hash @@ -0,0 +1,3 @@ +# Locally calculated after checking pgp signature +# https://github.com/mesonbuild/meson/releases/download/0.43.0/meson-0.43.0.tar.gz.asc +sha256 c513eca90e0d70bf14cd1eaafea2fa91cf40a73326a7ff61f08a005048057340 meson-0.43.0.tar.gz diff --git a/package/meson/meson.mk b/package/meson/meson.mk new file mode 100644 index 0000000000..55ce84da07 --- /dev/null +++ b/package/meson/meson.mk @@ -0,0 +1,35 @@ +################################################################################ +# +# meson +# +################################################################################ + +MESON_VERSION = 0.43.0 +MESON_SITE = https://github.com/mesonbuild/meson/releases/download/$(MESON_VERSION) +MESON_LICENSE = Apache-2.0 +MESON_LICENSE_FILES = COPYING +MESON_SETUP_TYPE = setuptools + +HOST_MESON_DEPENDENCIES = host-ninja +HOST_MESON_NEEDS_HOST_PYTHON = python3 + +HOST_MESON_TARGET_ENDIAN = $(call LOWERCASE,$(BR2_ENDIAN)) +HOST_MESON_TARGET_CPU = $(call qstrip,$(BR2_GCC_TARGET_CPU)) + +define HOST_MESON_INSTALL_CROSS_CONF + mkdir -p $(HOST_DIR)/etc/meson + sed -e "s%@TARGET_CROSS@%$(TARGET_CROSS)%g" \ + -e "s%@TARGET_ARCH@%$(ARCH)%g" \ + -e "s%@TARGET_CPU@%$(HOST_MESON_TARGET_CPU)%g" \ + -e "s%@TARGET_ENDIAN@%$(HOST_MESON_TARGET_ENDIAN)%g" \ + -e "s%@TARGET_CFLAGS@%`printf '"%s", ' $(TARGET_CFLAGS)`%g" \ + -e "s%@TARGET_LDFLAGS@%`printf '"%s", ' $(TARGET_LDFLAGS)`%g" \ + -e "s%@TARGET_CXXFLAGS@%`printf '"%s", ' $(TARGET_CXXFLAGS)`%g" \ + -e "s%@HOST_DIR@%$(HOST_DIR)%g" \ + $(HOST_MESON_PKGDIR)/cross-compilation.conf.in \ + > $(HOST_DIR)/etc/meson/cross-compilation.conf +endef + +HOST_MESON_POST_INSTALL_HOOKS += HOST_MESON_INSTALL_CROSS_CONF + +$(eval $(host-python-package)) |

