xref: /OK3568_Linux_fs/buildroot/support/dependencies/check-host-python3.sh (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun#!/bin/sh
2*4882a593Smuzhiyun
3*4882a593Smuzhiyun# prevent shift error
4*4882a593Smuzhiyun[ $# -lt 2 ] && exit 1
5*4882a593Smuzhiyun
6*4882a593Smuzhiyunversion_min="$(echo ${1} | awk '{ split($1, v, "."); print v[1] v[2] }')"
7*4882a593Smuzhiyun
8*4882a593Smuzhiyunshift
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun# The host python interpreter is already checked by dependencies.sh but
11*4882a593Smuzhiyun# it only check if the version is at least 2.7.
12*4882a593Smuzhiyun# We want to check the version number of the python3 interpreter even
13*4882a593Smuzhiyun# if Buildroot is able to use any version but some packages may require
14*4882a593Smuzhiyun# a more recent version.
15*4882a593Smuzhiyun
16*4882a593Smuzhiyunfor candidate in "${@}" ; do
17*4882a593Smuzhiyun	python3=`which $candidate 2>/dev/null`
18*4882a593Smuzhiyun	if [ ! -x "$python3" ]; then
19*4882a593Smuzhiyun		continue
20*4882a593Smuzhiyun	fi
21*4882a593Smuzhiyun	version=`$python3 -V 2>&1 | awk '{ split($2, v, "."); print v[1] v[2] }'`
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun	if [ $version -lt $version_min ]; then
24*4882a593Smuzhiyun		# no suitable python3 found
25*4882a593Smuzhiyun		continue
26*4882a593Smuzhiyun	fi
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun	# suitable python3 found
29*4882a593Smuzhiyun	echo $python3
30*4882a593Smuzhiyun	break
31*4882a593Smuzhiyundone
32