# HG changeset patch # User Markus Mützel # Date 1593705239 -7200 # Node ID 4edf49596bf0c4ada8920a9df753d5952e93dbac # Parent 455bb9c9a7eb00a2485cd0018e71280bf6fefa51 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. diff -r 455bb9c9a7eb -r 4edf49596bf0 dist-files.mk --- 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 \ diff -r 455bb9c9a7eb -r 4edf49596bf0 index.html --- 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 @@ m4 + build-meson + build-meson + + build-msvctools diff -r 455bb9c9a7eb -r 4edf49596bf0 src/build-meson.mk --- /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