mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 13:46:49 +00:00
buildsystem: rework build script
This commit is contained in:
parent
3b9fcfc3b4
commit
3cd7be6023
@ -174,7 +174,7 @@ reset_pkg_vars() {
|
|||||||
PKG_REV="0"
|
PKG_REV="0"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="unknown"
|
PKG_LICENSE="unknown"
|
||||||
PKG_AUTORECONF="no"
|
PKG_TOOLCHAIN="auto"
|
||||||
PKG_IS_ADDON="no"
|
PKG_IS_ADDON="no"
|
||||||
PKG_PYTHON_VERSION="python2.7"
|
PKG_PYTHON_VERSION="python2.7"
|
||||||
}
|
}
|
||||||
@ -757,6 +757,7 @@ print_color() {
|
|||||||
CLR_APPLY_PATCH) clr_actual="boldgreen";;
|
CLR_APPLY_PATCH) clr_actual="boldgreen";;
|
||||||
CLR_AUTORECONF) clr_actual="boldmagenta";;
|
CLR_AUTORECONF) clr_actual="boldmagenta";;
|
||||||
CLR_BUILD) clr_actual="boldyellow";;
|
CLR_BUILD) clr_actual="boldyellow";;
|
||||||
|
CLR_TOOLCHAIN) clr_actual="boldmagenta";;
|
||||||
CLR_CLEAN) clr_actual="boldred";;
|
CLR_CLEAN) clr_actual="boldred";;
|
||||||
CLR_FIXCONFIG) clr_actual="boldyellow";;
|
CLR_FIXCONFIG) clr_actual="boldyellow";;
|
||||||
CLR_GET) clr_actual="boldcyan";;
|
CLR_GET) clr_actual="boldcyan";;
|
||||||
|
@ -33,7 +33,7 @@ PKG_DEPENDS_TARGET="toolchain curl" # dependencies that are neede
|
|||||||
PKG_SECTION="service" # service, tools, virtual, driver, driver.remote ...
|
PKG_SECTION="service" # service, tools, virtual, driver, driver.remote ...
|
||||||
PKG_SHORTDESC="Addon name: sort description" # Addon: is a program that does this and that
|
PKG_SHORTDESC="Addon name: sort description" # Addon: is a program that does this and that
|
||||||
PKG_LONGDESC="Addon name ($PKG_VERSION): detailed description"
|
PKG_LONGDESC="Addon name ($PKG_VERSION): detailed description"
|
||||||
PKG_TOOLCHAIN="auto" # auto, meson, cmake, cmake-make, configure, autotools, other
|
PKG_TOOLCHAIN="auto" # auto, meson, cmake, cmake-make, configure, make, ninja, autotools, manual
|
||||||
|
|
||||||
PKG_IS_ADDON="yes"
|
PKG_IS_ADDON="yes"
|
||||||
PKG_ADDON_NAME="Addon name" # proper name of the addon that is shown at the repo
|
PKG_ADDON_NAME="Addon name" # proper name of the addon that is shown at the repo
|
||||||
|
357
scripts/build
357
scripts/build
@ -121,7 +121,7 @@ if [ ! -f $STAMP ]; then
|
|||||||
unset -f makeinstall_bootstrap
|
unset -f makeinstall_bootstrap
|
||||||
unset -f post_makeinstall_bootstrap
|
unset -f post_makeinstall_bootstrap
|
||||||
|
|
||||||
# configure TARGET build defaults
|
# configure TARGET build defaults
|
||||||
TARGET_CONFIGURE_OPTS="--host=$TARGET_NAME \
|
TARGET_CONFIGURE_OPTS="--host=$TARGET_NAME \
|
||||||
--build=$HOST_NAME \
|
--build=$HOST_NAME \
|
||||||
--prefix=/usr \
|
--prefix=/usr \
|
||||||
@ -134,24 +134,21 @@ if [ ! -f $STAMP ]; then
|
|||||||
--disable-static \
|
--disable-static \
|
||||||
--enable-shared"
|
--enable-shared"
|
||||||
|
|
||||||
|
# cmake build defaults
|
||||||
if [ "$DEBUG" = "yes" ]; then
|
if [ "$DEBUG" = "yes" ]; then
|
||||||
CMAKE_BUILD_TYPE="Debug"
|
CMAKE_BUILD_TYPE="Debug"
|
||||||
else
|
else
|
||||||
CMAKE_BUILD_TYPE="MinSizeRel"
|
CMAKE_BUILD_TYPE="MinSizeRel"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$PKG_USE_NINJA" = "no" ]; then
|
CMAKE_GENERATOR_NINJA="-GNinja \
|
||||||
CMAKE_GENERATOR=""
|
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON"
|
||||||
else
|
|
||||||
CMAKE_GENERATOR="-GNinja \
|
|
||||||
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON"
|
|
||||||
fi
|
|
||||||
|
|
||||||
TARGET_CMAKE_OPTS="$CMAKE_GENERATOR \
|
TARGET_CMAKE_OPTS="-DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \
|
||||||
-DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \
|
|
||||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||||
-DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE"
|
-DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE"
|
||||||
|
|
||||||
|
# meson build defaults
|
||||||
if [ "$DEBUG" = "yes" ]; then
|
if [ "$DEBUG" = "yes" ]; then
|
||||||
MESON_BUILD_TYPE="debug"
|
MESON_BUILD_TYPE="debug"
|
||||||
else
|
else
|
||||||
@ -213,31 +210,33 @@ if [ ! -f $STAMP ]; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$TARGET" = "target" ]; then
|
# build dependencies
|
||||||
for p in $PKG_DEPENDS_TARGET; do
|
case "$TARGET" in
|
||||||
$SCRIPTS/build $p
|
"target")
|
||||||
done
|
for p in $PKG_DEPENDS_TARGET; do
|
||||||
elif [ "$TARGET" = "host" ]; then
|
$SCRIPTS/build $p
|
||||||
for p in $PKG_DEPENDS_HOST; do
|
done
|
||||||
$SCRIPTS/build $p
|
;;
|
||||||
done
|
"host")
|
||||||
elif [ "$TARGET" = "init" ]; then
|
for p in $PKG_DEPENDS_HOST; do
|
||||||
for p in $PKG_DEPENDS_INIT; do
|
$SCRIPTS/build $p
|
||||||
$SCRIPTS/build $p
|
done
|
||||||
done
|
;;
|
||||||
elif [ "$TARGET" = "bootstrap" ]; then
|
"init")
|
||||||
for p in $PKG_DEPENDS_BOOTSTRAP; do
|
for p in $PKG_DEPENDS_INIT; do
|
||||||
$SCRIPTS/build $p
|
$SCRIPTS/build $p
|
||||||
done
|
done
|
||||||
fi
|
;;
|
||||||
|
"bootstrap")
|
||||||
|
for p in $PKG_DEPENDS_BOOTSTRAP; do
|
||||||
|
$SCRIPTS/build $p
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
printf "%${BUILD_INDENT}c $(print_color CLR_BUILD "BUILD") $PACKAGE_NAME $(print_color CLR_TARGET "($TARGET)")\n" ' '>&$SILENT_OUT
|
printf "%${BUILD_INDENT}c $(print_color CLR_BUILD "BUILD") $PACKAGE_NAME $(print_color CLR_TARGET "($TARGET)")\n" ' '>&$SILENT_OUT
|
||||||
export BUILD_INDENT=$((${BUILD_INDENT:-1}+$BUILD_INDENT_SIZE))
|
export BUILD_INDENT=$((${BUILD_INDENT:-1}+$BUILD_INDENT_SIZE))
|
||||||
|
|
||||||
if [ "$PKG_AUTORECONF" = yes ]; then
|
|
||||||
$SCRIPTS/autoreconf $PACKAGE_NAME
|
|
||||||
fi
|
|
||||||
|
|
||||||
# virtual packages dont must be build, they only contains dependencies, so dont go further here
|
# virtual packages dont must be build, they only contains dependencies, so dont go further here
|
||||||
if [ ! "$PKG_SECTION" = "virtual" ]; then
|
if [ ! "$PKG_SECTION" = "virtual" ]; then
|
||||||
|
|
||||||
@ -269,6 +268,33 @@ if [ ! -f $STAMP ]; then
|
|||||||
PKG_MESON_SCRIPT="$PKG_BUILD/meson.build"
|
PKG_MESON_SCRIPT="$PKG_BUILD/meson.build"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# auto detect toolchain
|
||||||
|
_auto_toolchain=""
|
||||||
|
if [ -z "$PKG_TOOLCHAIN" -o "$PKG_TOOLCHAIN" = "auto" ]; then
|
||||||
|
if [ -f "$PKG_MESON_SCRIPT" ]; then
|
||||||
|
PKG_TOOLCHAIN="meson"
|
||||||
|
elif [ -f "$PKG_CMAKE_SCRIPT" -a ! "$PKG_USE_CMAKE" = "no" ]; then
|
||||||
|
PKG_TOOLCHAIN="cmake"
|
||||||
|
elif [ -f "$PKG_CONFIGURE_SCRIPT" ]; then
|
||||||
|
PKG_TOOLCHAIN="configure"
|
||||||
|
elif [ -f $PKG_BUILD/Makefile ]; then
|
||||||
|
PKG_TOOLCHAIN="make"
|
||||||
|
else
|
||||||
|
echo "Not possible to detect toolchain automatically. Add PKG_TOOLCHAIN= to package.mk"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
_auto_toolchain=" (auto-detect)"
|
||||||
|
fi
|
||||||
|
if ! listcontains "meson cmake cmake-make configure ninja make autotools manual" "$PKG_TOOLCHAIN"; then
|
||||||
|
printf "$(print_color bold-red "ERROR:") unknown toolchain $PKG_TOOLCHAIN"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
printf "%${BUILD_INDENT}c $(print_color CLR_TOOLCHAIN "TOOLCHAIN") $PKG_TOOLCHAIN${_auto_toolchain}\n" ' '>&$SILENT_OUT
|
||||||
|
|
||||||
|
if [ "$PKG_TOOLCHAIN" = "autotools" ]; then
|
||||||
|
$SCRIPTS/autoreconf $PACKAGE_NAME
|
||||||
|
fi
|
||||||
|
|
||||||
# include build template and build
|
# include build template and build
|
||||||
if [ "$(type -t pre_build_$TARGET)" = "function" ]; then
|
if [ "$(type -t pre_build_$TARGET)" = "function" ]; then
|
||||||
pre_build_$TARGET
|
pre_build_$TARGET
|
||||||
@ -281,26 +307,25 @@ if [ ! -f $STAMP ]; then
|
|||||||
|
|
||||||
cd $PKG_BUILD
|
cd $PKG_BUILD
|
||||||
|
|
||||||
if [ "$TARGET" = "target" ]; then
|
if [ -f "$PKG_CONFIGURE_SCRIPT" -o -f "$PKG_CMAKE_SCRIPT" -o -f "$PKG_MESON_SCRIPT" ]; then
|
||||||
if [ -f "$PKG_CONFIGURE_SCRIPT" -o -f "$PKG_CMAKE_SCRIPT" -o -f "$PKG_MESON_SCRIPT" ]; then
|
case "$TARGET" in
|
||||||
mkdir -p .$TARGET_NAME
|
"target")
|
||||||
cd .$TARGET_NAME
|
mkdir -p .$TARGET_NAME
|
||||||
fi
|
cd .$TARGET_NAME
|
||||||
elif [ "$TARGET" = "host" ]; then
|
;;
|
||||||
if [ -f "$PKG_CONFIGURE_SCRIPT" -o -f "$PKG_CMAKE_SCRIPT" -o -f "$PKG_MESON_SCRIPT" ]; then
|
"host")
|
||||||
mkdir -p .$HOST_NAME
|
mkdir -p .$HOST_NAME
|
||||||
cd .$HOST_NAME
|
cd .$HOST_NAME
|
||||||
fi
|
;;
|
||||||
elif [ "$TARGET" = "init" ]; then
|
"init")
|
||||||
if [ -f "$PKG_CONFIGURE_SCRIPT" -o -f "$PKG_CMAKE_SCRIPT" -o -f "$PKG_MESON_SCRIPT" ]; then
|
mkdir -p .$TARGET_NAME-$TARGET
|
||||||
mkdir -p .$TARGET_NAME-$TARGET
|
cd .$TARGET_NAME-$TARGET
|
||||||
cd .$TARGET_NAME-$TARGET
|
;;
|
||||||
fi
|
"bootstrap")
|
||||||
elif [ "$TARGET" = "bootstrap" ]; then
|
mkdir -p .$HOST_NAME-$TARGET
|
||||||
if [ -f "$PKG_CONFIGURE_SCRIPT" -o -f "$PKG_CMAKE_SCRIPT" -o -f "$PKG_MESON_SCRIPT" ]; then
|
cd .$HOST_NAME-$TARGET
|
||||||
mkdir -p .$HOST_NAME-$TARGET
|
;;
|
||||||
cd .$HOST_NAME-$TARGET
|
esac
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# configure
|
# configure
|
||||||
@ -309,48 +334,80 @@ if [ ! -f $STAMP ]; then
|
|||||||
fi
|
fi
|
||||||
if [ "$(type -t configure_$TARGET)" = "function" ]; then
|
if [ "$(type -t configure_$TARGET)" = "function" ]; then
|
||||||
configure_$TARGET
|
configure_$TARGET
|
||||||
elif [ -f "$PKG_MESON_SCRIPT" -a ! "$PKG_USE_MESON" = "no" ]; then
|
else
|
||||||
if [ "$TARGET" = "target" ]; then
|
case "$PKG_TOOLCHAIN:$TARGET" in
|
||||||
echo "Executing (target): meson $TARGET_MESON_OPTS $PKG_MESON_OPTS_TARGET $(dirname $PKG_MESON_SCRIPT)" | tr -s " "
|
# meson builds
|
||||||
meson $TARGET_MESON_OPTS $PKG_MESON_OPTS_TARGET $(dirname $PKG_MESON_SCRIPT)
|
"meson:target")
|
||||||
elif [ "$TARGET" = "host" ]; then
|
echo "Executing (target): meson $TARGET_MESON_OPTS $PKG_MESON_OPTS_TARGET $(dirname $PKG_MESON_SCRIPT)" | tr -s " "
|
||||||
echo "Executing (host): meson $HOST_MESON_OPTS $PKG_MESON_OPTS_HOST $(dirname $PKG_MESON_SCRIPT)" | tr -s " "
|
meson $TARGET_MESON_OPTS $PKG_MESON_OPTS_TARGET $(dirname $PKG_MESON_SCRIPT)
|
||||||
meson $HOST_MESON_OPTS $PKG_MESON_OPTS_HOST $(dirname $PKG_MESON_SCRIPT)
|
;;
|
||||||
elif [ "$TARGET" = "init" ]; then
|
"meson:host")
|
||||||
echo "Executing (init): meson $INIT_MESON_OPTS $PKG_MESON_OPTS_INIT $(dirname $PKG_MESON_SCRIPT)" | tr -s " "
|
echo "Executing (host): meson $HOST_MESON_OPTS $PKG_MESON_OPTS_HOST $(dirname $PKG_MESON_SCRIPT)" | tr -s " "
|
||||||
meson $INIT_MESON_OPTS $PKG_MESON_OPTS_INIT $(dirname $PKG_MESON_SCRIPT)
|
meson $HOST_MESON_OPTS $PKG_MESON_OPTS_HOST $(dirname $PKG_MESON_SCRIPT)
|
||||||
elif [ "$TARGET" = "bootstrap" ]; then
|
;;
|
||||||
echo "Executing (bootstrap): meson $BOOTSTRAP_MESON_OPTS $PKG_MESON_OPTS_BOOTSTRAP $(dirname $PKG_MESON_SCRIPT)" | tr -s " "
|
"meson:init")
|
||||||
meson $BOOTSTRAP_MESON_OPTS $PKG_MESON_OPTS_BOOTSTRAP $(dirname $PKG_MESON_SCRIPT)
|
echo "Executing (init): meson $INIT_MESON_OPTS $PKG_MESON_OPTS_INIT $(dirname $PKG_MESON_SCRIPT)" | tr -s " "
|
||||||
fi
|
meson $INIT_MESON_OPTS $PKG_MESON_OPTS_INIT $(dirname $PKG_MESON_SCRIPT)
|
||||||
elif [ -f "$PKG_CMAKE_SCRIPT" -a ! "$PKG_USE_CMAKE" = "no" ]; then
|
;;
|
||||||
if [ "$TARGET" = "target" ]; then
|
"meson:bootstrap")
|
||||||
echo "Executing (target): cmake $TARGET_CMAKE_OPTS $PKG_CMAKE_OPTS_TARGET $(dirname $PKG_CMAKE_SCRIPT)" | tr -s " "
|
echo "Executing (bootstrap): meson $BOOTSTRAP_MESON_OPTS $PKG_MESON_OPTS_BOOTSTRAP $(dirname $PKG_MESON_SCRIPT)" | tr -s " "
|
||||||
cmake $TARGET_CMAKE_OPTS $PKG_CMAKE_OPTS_TARGET $(dirname $PKG_CMAKE_SCRIPT)
|
meson $BOOTSTRAP_MESON_OPTS $PKG_MESON_OPTS_BOOTSTRAP $(dirname $PKG_MESON_SCRIPT)
|
||||||
elif [ "$TARGET" = "host" ]; then
|
;;
|
||||||
echo "Executing (host): cmake $HOST_CMAKE_OPTS $PKG_CMAKE_OPTS_HOST $(dirname $PKG_CMAKE_SCRIPT)" | tr -s " "
|
|
||||||
cmake $HOST_CMAKE_OPTS $PKG_CMAKE_OPTS_HOST $(dirname $PKG_CMAKE_SCRIPT)
|
# cmake builds with ninja
|
||||||
elif [ "$TARGET" = "init" ]; then
|
"cmake:target")
|
||||||
echo "Executing (init): cmake $INIT_CMAKE_OPTS $PKG_CMAKE_OPTS_INIT $(dirname $PKG_CMAKE_SCRIPT)" | tr -s " "
|
echo "Executing (target): cmake $CMAKE_GENERATOR_NINJA $TARGET_CMAKE_OPTS $PKG_CMAKE_OPTS_TARGET $(dirname $PKG_CMAKE_SCRIPT)" | tr -s " "
|
||||||
cmake $INIT_CMAKE_OPTS $PKG_CMAKE_OPTS_INIT $(dirname $PKG_CMAKE_SCRIPT)
|
cmake $CMAKE_GENERATOR_NINJA $TARGET_CMAKE_OPTS $PKG_CMAKE_OPTS_TARGET $(dirname $PKG_CMAKE_SCRIPT)
|
||||||
elif [ "$TARGET" = "bootstrap" ]; then
|
;;
|
||||||
echo "Executing (bootstrap): cmake $BOOTSTRAP_CMAKE_OPTS $PKG_CMAKE_OPTS_BOOTSTRAP $(dirname $PKG_CMAKE_SCRIPT)" | tr -s " "
|
"cmake:host")
|
||||||
cmake $BOOTSTRAP_CMAKE_OPTS $PKG_CMAKE_OPTS_BOOTSTRAP $(dirname $PKG_CMAKE_SCRIPT)
|
echo "Executing (host): cmake $CMAKE_GENERATOR_NINJA $HOST_CMAKE_OPTS $PKG_CMAKE_OPTS_HOST $(dirname $PKG_CMAKE_SCRIPT)" | tr -s " "
|
||||||
fi
|
cmake $CMAKE_GENERATOR_NINJA $HOST_CMAKE_OPTS $PKG_CMAKE_OPTS_HOST $(dirname $PKG_CMAKE_SCRIPT)
|
||||||
elif [ -f "$PKG_CONFIGURE_SCRIPT" ]; then
|
;;
|
||||||
if [ "$TARGET" = "target" ]; then
|
"cmake:init")
|
||||||
echo "Executing (target): $PKG_CONFIGURE_SCRIPT $TARGET_CONFIGURE_OPTS $PKG_CONFIGURE_OPTS_TARGET" | tr -s " "
|
echo "Executing (init): cmake $CMAKE_GENERATOR_NINJA $INIT_CMAKE_OPTS $PKG_CMAKE_OPTS_INIT $(dirname $PKG_CMAKE_SCRIPT)" | tr -s " "
|
||||||
$PKG_CONFIGURE_SCRIPT $TARGET_CONFIGURE_OPTS $PKG_CONFIGURE_OPTS_TARGET
|
cmake $CMAKE_GENERATOR_NINJA $INIT_CMAKE_OPTS $PKG_CMAKE_OPTS_INIT $(dirname $PKG_CMAKE_SCRIPT)
|
||||||
elif [ "$TARGET" = "host" ]; then
|
;;
|
||||||
echo "Executing (host): $PKG_CONFIGURE_SCRIPT $HOST_CONFIGURE_OPTS $PKG_CONFIGURE_OPTS_HOST" | tr -s " "
|
"cmake:bootstrap")
|
||||||
$PKG_CONFIGURE_SCRIPT $HOST_CONFIGURE_OPTS $PKG_CONFIGURE_OPTS_HOST
|
echo "Executing (bootstrap): cmake $CMAKE_GENERATOR_NINJA $BOOTSTRAP_CMAKE_OPTS $PKG_CMAKE_OPTS_BOOTSTRAP $(dirname $PKG_CMAKE_SCRIPT)" | tr -s " "
|
||||||
elif [ "$TARGET" = "init" ]; then
|
cmake $CMAKE_GENERATOR_NINJA $BOOTSTRAP_CMAKE_OPTS $PKG_CMAKE_OPTS_BOOTSTRAP $(dirname $PKG_CMAKE_SCRIPT)
|
||||||
echo "Executing (init): $PKG_CONFIGURE_SCRIPT $INIT_CONFIGURE_OPTS $PKG_CONFIGURE_OPTS_INIT" | tr -s " "
|
;;
|
||||||
$PKG_CONFIGURE_SCRIPT $INIT_CONFIGURE_OPTS $PKG_CONFIGURE_OPTS_INIT
|
|
||||||
elif [ "$TARGET" = "bootstrap" ]; then
|
# cmake builds with make
|
||||||
echo "Executing (bootstrap): $PKG_CONFIGURE_SCRIPT $BOOTSTRAP_CONFIGURE_OPTS $PKG_CONFIGURE_OPTS_BOOTSTRAP" | tr -s " "
|
"cmake-make:target")
|
||||||
$PKG_CONFIGURE_SCRIPT $BOOTSTRAP_CONFIGURE_OPTS $PKG_CONFIGURE_OPTS_BOOTSTRAP
|
echo "Executing (target): cmake $TARGET_CMAKE_OPTS $PKG_CMAKE_OPTS_TARGET $(dirname $PKG_CMAKE_SCRIPT)" | tr -s " "
|
||||||
fi
|
cmake $TARGET_CMAKE_OPTS $PKG_CMAKE_OPTS_TARGET $(dirname $PKG_CMAKE_SCRIPT)
|
||||||
|
;;
|
||||||
|
"cmake-make:host")
|
||||||
|
echo "Executing (host): cmake $HOST_CMAKE_OPTS $PKG_CMAKE_OPTS_HOST $(dirname $PKG_CMAKE_SCRIPT)" | tr -s " "
|
||||||
|
cmake $HOST_CMAKE_OPTS $PKG_CMAKE_OPTS_HOST $(dirname $PKG_CMAKE_SCRIPT)
|
||||||
|
;;
|
||||||
|
"cmake-make:init")
|
||||||
|
echo "Executing (init): cmake $INIT_CMAKE_OPTS $PKG_CMAKE_OPTS_INIT $(dirname $PKG_CMAKE_SCRIPT)" | tr -s " "
|
||||||
|
cmake $INIT_CMAKE_OPTS $PKG_CMAKE_OPTS_INIT $(dirname $PKG_CMAKE_SCRIPT)
|
||||||
|
;;
|
||||||
|
"cmake-make:bootstrap")
|
||||||
|
echo "Executing (bootstrap): cmake $BOOTSTRAP_CMAKE_OPTS $PKG_CMAKE_OPTS_BOOTSTRAP $(dirname $PKG_CMAKE_SCRIPT)" | tr -s " "
|
||||||
|
cmake $BOOTSTRAP_CMAKE_OPTS $PKG_CMAKE_OPTS_BOOTSTRAP $(dirname $PKG_CMAKE_SCRIPT)
|
||||||
|
;;
|
||||||
|
|
||||||
|
# configure builds
|
||||||
|
"configure:target"|"autotools:target")
|
||||||
|
echo "Executing (target): $PKG_CONFIGURE_SCRIPT $TARGET_CONFIGURE_OPTS $PKG_CONFIGURE_OPTS_TARGET" | tr -s " "
|
||||||
|
$PKG_CONFIGURE_SCRIPT $TARGET_CONFIGURE_OPTS $PKG_CONFIGURE_OPTS_TARGET
|
||||||
|
;;
|
||||||
|
"configure:host"|"autotools:host")
|
||||||
|
echo "Executing (host): $PKG_CONFIGURE_SCRIPT $HOST_CONFIGURE_OPTS $PKG_CONFIGURE_OPTS_HOST" | tr -s " "
|
||||||
|
$PKG_CONFIGURE_SCRIPT $HOST_CONFIGURE_OPTS $PKG_CONFIGURE_OPTS_HOST
|
||||||
|
;;
|
||||||
|
"configure:init"|"autotools:init")
|
||||||
|
echo "Executing (init): $PKG_CONFIGURE_SCRIPT $INIT_CONFIGURE_OPTS $PKG_CONFIGURE_OPTS_INIT" | tr -s " "
|
||||||
|
$PKG_CONFIGURE_SCRIPT $INIT_CONFIGURE_OPTS $PKG_CONFIGURE_OPTS_INIT
|
||||||
|
;;
|
||||||
|
"configure:bootstrap"|"autotools:bootstrap")
|
||||||
|
echo "Executing (bootstrap): $PKG_CONFIGURE_SCRIPT $BOOTSTRAP_CONFIGURE_OPTS $PKG_CONFIGURE_OPTS_BOOTSTRAP" | tr -s " "
|
||||||
|
$PKG_CONFIGURE_SCRIPT $BOOTSTRAP_CONFIGURE_OPTS $PKG_CONFIGURE_OPTS_BOOTSTRAP
|
||||||
|
;;
|
||||||
|
esac
|
||||||
fi
|
fi
|
||||||
if [ "$(type -t post_configure_$TARGET)" = "function" ]; then
|
if [ "$(type -t post_configure_$TARGET)" = "function" ]; then
|
||||||
post_configure_$TARGET
|
post_configure_$TARGET
|
||||||
@ -362,34 +419,44 @@ if [ ! -f $STAMP ]; then
|
|||||||
fi
|
fi
|
||||||
if [ "$(type -t make_$TARGET)" = "function" ]; then
|
if [ "$(type -t make_$TARGET)" = "function" ]; then
|
||||||
make_$TARGET
|
make_$TARGET
|
||||||
elif [ \( -f "$PKG_CMAKE_SCRIPT" -a ! "$PKG_USE_CMAKE" = "no" -a ! "$PKG_USE_NINJA" = "no" \) -o \( -f "$PKG_MESON_SCRIPT" -a ! "$PKG_USE_MESON" = "no" \) ]; then
|
|
||||||
if [ "$TARGET" = "target" ]; then
|
|
||||||
echo "Executing (target): ninja $PKG_MAKE_OPTS_TARGET" | tr -s " "
|
|
||||||
ninja $PKG_MAKE_OPTS_TARGET
|
|
||||||
elif [ "$TARGET" = "host" ]; then
|
|
||||||
echo "Executing (host): ninja $PKG_MAKE_OPTS_HOST" | tr -s " "
|
|
||||||
ninja $PKG_MAKE_OPTS_HOST
|
|
||||||
elif [ "$TARGET" = "init" ]; then
|
|
||||||
echo "Executing (init): ninja $PKG_MAKE_OPTS_INIT" | tr -s " "
|
|
||||||
ninja $PKG_MAKE_OPTS_INIT
|
|
||||||
elif [ "$TARGET" = "bootstrap" ]; then
|
|
||||||
echo "Executing (bootstrap): ninja $PKG_MAKE_OPTS_BOOTSTRAP" | tr -s " "
|
|
||||||
ninja $PKG_MAKE_OPTS_BOOTSTRAP
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
if [ "$TARGET" = "target" ]; then
|
case "$PKG_TOOLCHAIN:$TARGET" in
|
||||||
echo "Executing (target): make $PKG_MAKE_OPTS_TARGET" | tr -s " "
|
# ninja based builds
|
||||||
make $PKG_MAKE_OPTS_TARGET
|
"meson:target"|"cmake:target"|"ninja:target")
|
||||||
elif [ "$TARGET" = "host" ]; then
|
echo "Executing (target): ninja $PKG_MAKE_OPTS_TARGET" | tr -s " "
|
||||||
echo "Executing (host): make $PKG_MAKE_OPTS_HOST" | tr -s " "
|
ninja $PKG_MAKE_OPTS_TARGET
|
||||||
make $PKG_MAKE_OPTS_HOST
|
;;
|
||||||
elif [ "$TARGET" = "init" ]; then
|
"meson:host"|"cmake:host"|"ninja:host")
|
||||||
echo "Executing (init): make $PKG_MAKE_OPTS_INIT" | tr -s " "
|
echo "Executing (host): ninja $PKG_MAKE_OPTS_HOST" | tr -s " "
|
||||||
make $PKG_MAKE_OPTS_INIT
|
ninja $PKG_MAKE_OPTS_HOST
|
||||||
elif [ "$TARGET" = "bootstrap" ]; then
|
;;
|
||||||
echo "Executing (bootstrap): make $PKG_MAKE_OPTS_BOOTSTRAP" | tr -s " "
|
"meson:init"|"cmake:init"|"ninja:init")
|
||||||
make $PKG_MAKE_OPTS_BOOTSTRAP
|
echo "Executing (init): ninja $PKG_MAKE_OPTS_INIT" | tr -s " "
|
||||||
fi
|
ninja $PKG_MAKE_OPTS_INIT
|
||||||
|
;;
|
||||||
|
"meson:bootstrap"|"cmake:bootstrap"|"ninja:bootstrap")
|
||||||
|
echo "Executing (bootstrap): ninja $PKG_MAKE_OPTS_BOOTSTRAP" | tr -s " "
|
||||||
|
ninja $PKG_MAKE_OPTS_BOOTSTRAP
|
||||||
|
;;
|
||||||
|
|
||||||
|
# make based builds
|
||||||
|
"configure:target"|"cmake-make:target"|"autotools:target"|"make:target")
|
||||||
|
echo "Executing (target): make $PKG_MAKE_OPTS_TARGET" | tr -s " "
|
||||||
|
make $PKG_MAKE_OPTS_TARGET
|
||||||
|
;;
|
||||||
|
"configure:host"|"cmake-make:host"|"autotools:host"|"make:host")
|
||||||
|
echo "Executing (host): make $PKG_MAKE_OPTS_HOST" | tr -s " "
|
||||||
|
make $PKG_MAKE_OPTS_HOST
|
||||||
|
;;
|
||||||
|
"configure:init"|"cmake-make:init"|"autotools:init"|"make:init")
|
||||||
|
echo "Executing (init): make $PKG_MAKE_OPTS_INIT" | tr -s " "
|
||||||
|
make $PKG_MAKE_OPTS_INIT
|
||||||
|
;;
|
||||||
|
"configure:bootstrap"|"cmake-make:bootstrap"|"autotools:bootstrap"|"make:bootstrap")
|
||||||
|
echo "Executing (bootstrap): make $PKG_MAKE_OPTS_BOOTSTRAP" | tr -s " "
|
||||||
|
make $PKG_MAKE_OPTS_BOOTSTRAP
|
||||||
|
;;
|
||||||
|
esac
|
||||||
fi
|
fi
|
||||||
if [ "$(type -t post_make_$TARGET)" = "function" ]; then
|
if [ "$(type -t post_make_$TARGET)" = "function" ]; then
|
||||||
post_make_$TARGET
|
post_make_$TARGET
|
||||||
@ -401,28 +468,38 @@ if [ ! -f $STAMP ]; then
|
|||||||
fi
|
fi
|
||||||
if [ "$(type -t makeinstall_$TARGET)" = "function" ]; then
|
if [ "$(type -t makeinstall_$TARGET)" = "function" ]; then
|
||||||
makeinstall_$TARGET
|
makeinstall_$TARGET
|
||||||
elif [ \( -f "$PKG_CMAKE_SCRIPT" -a ! "$PKG_USE_CMAKE" = "no" -a ! "$PKG_USE_NINJA" = "no" \) -o \( -f "$PKG_MESON_SCRIPT" -a ! "$PKG_USE_MESON" = "no" \) ]; then
|
|
||||||
if [ "$TARGET" = "target" ]; then
|
|
||||||
DESTDIR=$SYSROOT_PREFIX ninja install $PKG_MAKEINSTALL_OPTS_TARGET
|
|
||||||
DESTDIR=$INSTALL ninja install $PKG_MAKEINSTALL_OPTS_TARGET
|
|
||||||
elif [ "$TARGET" = "host" ]; then
|
|
||||||
ninja install $PKG_MAKEINSTALL_OPTS_HOST
|
|
||||||
elif [ "$TARGET" = "init" ]; then
|
|
||||||
DESTDIR=$INSTALL ninja install $PKG_MAKEINSTALL_OPTS_INIT
|
|
||||||
elif [ "$TARGET" = "bootstrap" ]; then
|
|
||||||
ninja install $PKG_MAKEINSTALL_OPTS_BOOTSTRAP
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
if [ "$TARGET" = "target" ]; then
|
case "$PKG_TOOLCHAIN:$TARGET" in
|
||||||
$MAKEINSTALL $PKG_MAKEINSTALL_OPTS_TARGET
|
# ninja based builds
|
||||||
make install DESTDIR=$INSTALL $PKG_MAKEINSTALL_OPTS_TARGET
|
"meson:target"|"cmake:target")
|
||||||
elif [ "$TARGET" = "host" ]; then
|
DESTDIR=$SYSROOT_PREFIX ninja install $PKG_MAKEINSTALL_OPTS_TARGET
|
||||||
make install $PKG_MAKEINSTALL_OPTS_HOST
|
DESTDIR=$INSTALL ninja install $PKG_MAKEINSTALL_OPTS_TARGET
|
||||||
elif [ "$TARGET" = "init" ]; then
|
;;
|
||||||
make install DESTDIR=$INSTALL $PKG_MAKEINSTALL_OPTS_INIT
|
"meson:host"|"cmake:host")
|
||||||
elif [ "$TARGET" = "bootstrap" ]; then
|
ninja install $PKG_MAKEINSTALL_OPTS_HOST
|
||||||
make install $PKG_MAKEINSTALL_OPTS_BOOTSTRAP
|
;;
|
||||||
fi
|
"meson:init"|"cmake:init")
|
||||||
|
DESTDIR=$INSTALL ninja install $PKG_MAKEINSTALL_OPTS_INIT
|
||||||
|
;;
|
||||||
|
"meson:bootstrap"|"cmake:bootstrap")
|
||||||
|
ninja install $PKG_MAKEINSTALL_OPTS_BOOTSTRAP
|
||||||
|
;;
|
||||||
|
|
||||||
|
# make based builds
|
||||||
|
"configure:target"|"cmake-make:target"|"autotools:target"|"make:target")
|
||||||
|
$MAKEINSTALL $PKG_MAKEINSTALL_OPTS_TARGET
|
||||||
|
make install DESTDIR=$INSTALL $PKG_MAKEINSTALL_OPTS_TARGET
|
||||||
|
;;
|
||||||
|
"configure:host"|"cmake-make:host"|"autotools:host"|"make:host")
|
||||||
|
make install $PKG_MAKEINSTALL_OPTS_HOST
|
||||||
|
;;
|
||||||
|
"configure:init"|"cmake-make:init"|"autotools:init"|"make:init")
|
||||||
|
make install DESTDIR=$INSTALL $PKG_MAKEINSTALL_OPTS_INIT
|
||||||
|
;;
|
||||||
|
"configure:bootstrap"|"cmake-make:bootstrap"|"autotools:bootstrap"|"make:bootstrap")
|
||||||
|
make install $PKG_MAKEINSTALL_OPTS_BOOTSTRAP
|
||||||
|
;;
|
||||||
|
esac
|
||||||
fi
|
fi
|
||||||
if [ "$(type -t post_makeinstall_$TARGET)" = "function" ]; then
|
if [ "$(type -t post_makeinstall_$TARGET)" = "function" ]; then
|
||||||
post_makeinstall_$TARGET
|
post_makeinstall_$TARGET
|
||||||
|
Loading…
x
Reference in New Issue
Block a user