[v13,4/6] devtools: fix the missing ninja command error
Checks
Commit Message
On some linux distributions, eg: CentOS, the ninja executable has a
different name: ninja-build, this patch is to check and adapt to it
accordingly.
./devtools/test-meson-builds.sh: line 24: ninja: command not found
Fixes: a55277a788 ("devtools: add test script for meson builds")
Cc: stable@dpdk.org
Signed-off-by: Gavin Hu <gavin.hu@arm.com>
Reviewed-by: Phil Yang <phil.yang@arm.com>
Reviewed-by: Song Zhu <song.zhu@arm.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
devtools/test-meson-builds.sh | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
Comments
25/06/2018 04:49, Gavin Hu:
> On some linux distributions, eg: CentOS, the ninja executable has a
> different name: ninja-build, this patch is to check and adapt to it
> accordingly.
>
> ./devtools/test-meson-builds.sh: line 24: ninja: command not found
>
> Fixes: a55277a788 ("devtools: add test script for meson builds")
> Cc: stable@dpdk.org
>
> Signed-off-by: Gavin Hu <gavin.hu@arm.com>
> Reviewed-by: Phil Yang <phil.yang@arm.com>
> Reviewed-by: Song Zhu <song.zhu@arm.com>
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
> --- a/devtools/test-meson-builds.sh
> +++ b/devtools/test-meson-builds.sh
> +if command -v ninja >/dev/null 2>&1 ; then
> + ninja_cmd=ninja
> +elif command -v ninja-build >/dev/null 2>&1 ; then
> + ninja_cmd=ninja-build
> +else
> + echo "## ERROR: ninja is missing, please install..."
No need of double hash to get attention as it is the last printed line.
Matter of taste, but I prefer more simple (not interpreted) message like:
"ERROR: ninja is not found"
Or even simpler, no message at all and try with ninja_cmd=ninja as default:
if command -v ninja-build >/dev/null 2>&1 ; then
ninja_cmd=ninja-build
else
ninja_cmd=ninja
fi
Will still have the shell message in case of ninja not installed:
ninja: command not found
@@ -10,6 +10,15 @@
srcdir=$(dirname $(readlink -m $0))/..
MESON=${MESON:-meson}
+if command -v ninja >/dev/null 2>&1 ; then
+ ninja_cmd=ninja
+elif command -v ninja-build >/dev/null 2>&1 ; then
+ ninja_cmd=ninja-build
+else
+ echo "## ERROR: ninja is missing, please install..."
+ exit 1
+fi
+
build () # <directory> <meson options>
{
builddir=$1
@@ -20,8 +29,8 @@ build () # <directory> <meson options>
$MESON $options $srcdir $builddir
unset CC
fi
- echo "ninja -C $builddir"
- ninja -C $builddir
+ echo "$ninja_cmd -C $builddir"
+ $ninja_cmd -C $builddir
}
# shared and static linked builds with gcc and clang