diff --git a/Mk/Uses/meson.mk b/Mk/Uses/meson.mk index ed09a9cee806..d59956440ad6 100644 --- a/Mk/Uses/meson.mk +++ b/Mk/Uses/meson.mk @@ -1,85 +1,107 @@ # Provide support for Meson based projects # # Feature: meson # Usage: USES=meson +# Valid ARGS: muon +# +# muon use muon instead of meson, intended for bootstrapping +# dependencies that python uses # # The following files are bundled in source tar files. # meson.build - Instructions for meson like autoconf configure, # there is no changeable parts in the file. # meson_options.txt - All the options meson understands # # Variables for ports: # MESON_ARGS - Arguments passed to meson # format: -Denable_foo=true # MESON_BUILD_DIR - Path to the build directory relative to ${WRKSRC} # Default: _build # # MAINTAINER: desktop@FreeBSD.org .if !defined(_INCLUDE_USES_MESON_MK) _INCLUDE_USES_MESON_MK= yes +_valid_ARGS= muon + # Sanity check -. if !empty(meson_ARGS) -IGNORE= Incorrect 'USES+= meson:${meson_ARGS}'. meson takes no arguments +. for _arg in ${meson_ARGS} +. if empty(_valid_ARGS:M${_arg}) +IGNORE= 'USES+= meson:${meson_ARGS}' usage: argument [${_arg}] is not recognized +. endif +. endfor + +. if !empty(meson_ARGS:Mmuon) +BUILD_DEPENDS+= muon:devel/muon +. else +BUILD_DEPENDS+= meson:devel/meson . endif -BUILD_DEPENDS+= meson:devel/meson - # meson uses ninja .include "${USESDIR}/ninja.mk" # meson might have issues with non-unicode locales USE_LOCALE?= en_US.UTF-8 +# Enable muon's meson compatibility mode +. if !empty(meson_ARGS:Mmuon) +CONFIGURE_ARGS+= meson +. endif + CONFIGURE_ARGS+= --prefix ${PREFIX} \ --localstatedir /var \ --infodir ${INFO_PATH} # Enable all optional features to make builds deterministic. Consumers can # expose those as port OPTIONS_* or explicitly pass -D