[v9,4/6] devtools: fix the missing ninja command error

Message ID 20180615092605.12043-5-gavin.hu@arm.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series Fix the cross compiling errors |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Gavin Hu June 15, 2018, 9:26 a.m. UTC
  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>
---
 devtools/test-meson-builds.sh | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)
  

Comments

Bruce Richardson June 15, 2018, 9:59 a.m. UTC | #1
On Fri, Jun 15, 2018 at 05:26:03PM +0800, Gavin Hu wrote:
> 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>
> ---
LGTM

Acked-by: Bruce Richardson <bruce.richardson@intel.com>
  

Patch

diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
index f2ad05f32..9bb5b93bd 100755
--- a/devtools/test-meson-builds.sh
+++ b/devtools/test-meson-builds.sh
@@ -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