blob: e9c0f35fab033905224f39e8e50fa730e3da40f5 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
# special functions for projects which use meson build system
meson_build () {
local PREFIX=${PREFIX:-/usr}
local MESON_BUILD_TYPE="${MESON_BUILD_TYPE:-release}" &&
local MESON_BUILD &&
local MESON_OPTS &&
local BUILDER &&
local BUILDER_OPTS="-j $((${#DISTCC_HOSTS[*]} * JOBS_PER_HOST + MAKE_NJOBS)) -C builddir/" &&
if [[ $(get_spell_provider ${SPELL} MESON-BUILD) == muon ]]; then
MESON_BUILD="muon setup" &&
OPTS="prefix=${INSTALL_ROOT}${PREFIX} buildtype=${MESON_BUILD_TYPE} default_library=shared libdir=lib ${OPTS}"
else
MESON_BUILD="meson setup"
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 &&
for MO in $OPTS; do
MESON_OPTS+=" -D${MO}"
done &&
cd "${SOURCE_DIRECTORY}" &&
${MESON_BUILD} ${MESON_OPTS} builddir/ &&
${BUILDER} ${BUILDER_OPTS}
}
meson_install () {
local MESON_INSTALL &&
local MESON_OPTS &&
local EXTRA_OPTS="${@}" &&
if [[ $(get_spell_provider ${SPELL} MESON-BUILD) == muon ]]; then
MESON_INSTALL="muon"
MESON_OPTS="-C builddir/ install ${EXTRA_OPTS}"
else
MESON_INSTALL="meson"
MESON_OPTS="install -C builddir/ --no-rebuild ${EXTRA_OPTS}"
fi &&
cd "${SOURCE_DIRECTORY}" &&
DESTDIR="${INSTALL_ROOT}/" ${MESON_INSTALL} ${MESON_OPTS}
}
default_build() {
meson_build
}
default_install() {
meson_install
}
|