summaryrefslogtreecommitdiffstats
path: root/MESON_FUNCTIONS
diff options
context:
space:
mode:
authorVlad Glagolev2022-07-23 16:17:41 +0000
committerVlad Glagolev2022-07-23 16:17:41 +0000
commit981418e443b2f60bac56f0937ac1081b8ff9ec0f (patch)
treeb62b53bddfc15995515e255d35e97e8a8128c3a2 /MESON_FUNCTIONS
parentcec2a6ddf70e39928c8acd4e0c4f3f2082701a97 (diff)
MESON_DEPENDS, MESON_FUNCTIONS: add muon support
Diffstat (limited to 'MESON_FUNCTIONS')
-rwxr-xr-xMESON_FUNCTIONS68
1 files changed, 46 insertions, 22 deletions
diff --git a/MESON_FUNCTIONS b/MESON_FUNCTIONS
index 352ed83038..ba1da14569 100755
--- a/MESON_FUNCTIONS
+++ b/MESON_FUNCTIONS
@@ -1,34 +1,58 @@
-# special functions for projects shich use meson build system
-PREFIX=${PREFIX:-/usr}
+# special functions for projects which use meson build system
+
+local PREFIX=${PREFIX:-/usr}
+
meson_build () {
- MESON_BUILD_TYPE="${MESON_BUILD_TYPE:-release}"
-# export LANG=$LC_ALL
- cd $SOURCE_DIRECTORY
-# do not put / before PREFIX
- SCRIPT="meson --prefix ${INSTALL_ROOT}$PREFIX --buildtype ${MESON_BUILD_TYPE} \
- --default-library shared --libdir lib"
- for LL in $OPTS; do
- SCRIPT+=" -D$LL"
- done
- SCRIPT+=" . builddir/"
- $SCRIPT &&
-
- if is_depends_enabled "$SPELL" ninja-build-system; then
- local NINJA=ninja
+ local MESON_BUILD_TYPE="${MESON_BUILD_TYPE:-release}" &&
+
+ local MESON_BUILD &&
+ local MESON_OPTS &&
+ local BUILDER &&
+ local BUILDER_OPTS="-j ${MAKE_NJOBS} -C builddir/" &&
+
+ if [[ $(get_spell_provider ${SPELL} MESON-BUILD) == muon ]]; then
+ MESON_BUILD="muon setup" &&
+ MESON_OPTS="prefix=${INSTALL_ROOT}${PREFIX} buildtype=${MESON_BUILD_TYPE} default-library=shared libdir=lib"
+ else
+ MESON_BUILD="meson"
+ MESON_OPTS="--prefix ${INSTALL_ROOT}${PREFIX} --buildtype ${MESON_BUILD_TYPE} --default-library shared --libdir lib"
+ fi &&
+
+ if ! is_depends_enabled ${SPELL} $(get_spell_provider ${SPELL} NINJA-BUILD); then
+ BUILDER="muon samu"
+ elif [[ $(get_spell_provider ${SPELL} NINJA-BUILD) == samurai ]]; then
+ BUILDER="samu"
+ else
+ BUILDER="ninja"
fi &&
- ${NINJA:-samu} -j "$MAKE_NJOBS" -C builddir/
+
+ for MO in $OPTS; do
+ MESON_OPTS+=" -D${MO}"
+ done &&
+
+ cd "${SOURCE_DIRECTORY}" &&
+
+ ${MESON_BUILD} ${MESON_OPTS} builddir/ &&
+
+ ${BUILDER} ${BUILDER_OPTS}
}
meson_install () {
- cd $SOURCE_DIRECTORY
- if is_depends_enabled "$SPELL" ninja-build-system; then
- local NINJA=ninja
+ if ! is_depends_enabled ${SPELL} $(get_spell_provider ${SPELL} NINJA-BUILD); then
+ BUILDER="muon samu"
+ elif [[ $(get_spell_provider ${SPELL} NINJA-BUILD) == samurai ]]; then
+ BUILDER="samu"
+ else
+ BUILDER="ninja"
fi &&
- ${NINJA:-samu} -C builddir/ install
+
+ cd "${SOURCE_DIRECTORY}" &&
+
+ ${BUILDER} ${BUILDER_OPTS} install
}
default_build() {
- meson_build
+ meson_build
}
default_install() {