changeset 5498:4edf49596bf0

Add build rule for meson (bug #58689). * src/build-meson.mk: New file to build meson. * dist-files.mk: Add new file to list. * index.html: Add new package to list.
author Markus Mützel <markus.muetzel@gmx.de>
date Thu, 02 Jul 2020 17:53:59 +0200
parents 455bb9c9a7eb
children be0a7ce498e6
files dist-files.mk index.html src/build-meson.mk
diffstat 3 files changed, 57 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/dist-files.mk	Thu Jul 02 17:31:59 2020 +0200
+++ b/dist-files.mk	Thu Jul 02 17:53:59 2020 +0200
@@ -37,6 +37,7 @@
   build-m4.mk \
   build-mako.mk \
   build-markupsafe.mk \
+  build-meson.mk \
   build-msvctools.mk \
   build-ninja.mk \
   build-perl.mk \
--- a/index.html	Thu Jul 02 17:31:59 2020 +0200
+++ b/index.html	Thu Jul 02 17:53:59 2020 +0200
@@ -1038,6 +1038,10 @@
         <td class="website"><a href="http://www.gnu.org/software/m4">m4</a></td>
     </tr>
     <tr>
+        <td class="package">build-meson</td>
+        <td class="website"><a href="https://mesonbuild.com/">build-meson</a></td>
+    </tr>
+    <tr>
         <td class="package">build-msvctools</td>
         <td class="website"></td>
     </tr>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/build-meson.mk	Thu Jul 02 17:53:59 2020 +0200
@@ -0,0 +1,52 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := build-meson
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.54.3
+$(PKG)_CHECKSUM := 741e42a3c8237abe74eb9f189cd8978897ef144d
+$(PKG)_SUBDIR   := meson-$($(PKG)_VERSION)
+$(PKG)_FILE     := meson-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := https://github.com/mesonbuild/meson/archive/$($(PKG)_VERSION).tar.gz
+$(PKG)_DEPS     := build-python3 build-ninja
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
+endef
+
+# FIXME: Should this be defined in the top-level Makefile?
+ifeq ($(MXE_NATIVE_BUILD),no)
+  MESON_TOOLCHAIN_FILE := $(HOST_PREFIX)/share/meson/cross/mxe-conf.ini
+else
+  MESON_TOOLCHAIN_FILE := $(HOST_PREFIX)/share/meson/native/mxe-conf.ini
+endif
+
+define $(PKG)_BUILD
+    cd '$(1)' && $(PYTHON3) setup.py install --prefix='$(BUILD_TOOLS_PREFIX)'
+    
+    # create file with compilation settings
+    rm -f $(MESON_TOOLCHAIN_FILE) && mkdir -p '$(dir $(MESON_TOOLCHAIN_FILE))'
+    (echo "[binaries]"; \
+    if [ x$(USE_SYSTEM_GCC) == xno ]; then \
+      echo "c = '$(shell echo $(MXE_CC) | $(SED) "s/'//g")'"; \
+      echo "cpp = '$(shell echo $(MXE_CXX) | $(SED) "s/'//g")'"; \
+      echo "fortran = '$(shell echo $(MXE_F77) | $(SED) "s/'//g")'"; \
+      echo "ar = '$(shell echo $(MXE_AR) | $(SED) "s/'//g")'"; \
+      echo "strip = '$(shell echo $(MXE_STRIP) | $(SED) "s/'//g")'"; \
+    fi; \
+    echo "pkgconfig = '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)pkg-config'"; \
+    echo "llvm-config = '$(HOST_BINDIR)/$(MXE_TOOL_PREFIX)llvm-config'";\
+    if [ x$(MXE_NATIVE_BUILD) = xno ]; then \
+      echo ""; \
+      echo "[host_machine]"; \
+      echo "system = 'windows'"; \
+      if [ x$(ENABLE_WINDOWS_64) = xyes ]; then \
+        echo "cpu_family = 'x86_64'"; \
+      else \
+        echo "cpu_family = 'x86'"; \
+      fi; \
+      echo "cpu = 'i686'"; \
+      echo "endian = 'little'"; \
+    fi) >> $(MESON_TOOLCHAIN_FILE)
+endef