mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2024-12-21 05:43:09 +00:00
862c35457d
- Force building make as a companion tool if host make is older than 4.0 (CentOS 7 currently has 3.82) - Disable 2.29 as a choice if host python is older than 3.4 (CentOS 7 has 2.6 unless python from EPEL is installed) - Python2 emits its version information to STDERR. Ugh. While there, also use the detected host Python for GDB configuration. Signed-off-by: Alexey Neyman <stilor@att.net>
61 lines
2.9 KiB
Plaintext
61 lines
2.9 KiB
Plaintext
# Check if a given program is available with a particular version.
|
|
# CTNG_PROG_VERSION(VAR, HELP, PROG, SRCH, VERSION_CHECK[, CONFIG_OPT])
|
|
# Search for PROG under possible names of SRCH. Allow user overrides in variable
|
|
# VAR; display HELP message. Try to find a version that satisfies VERSION_CHECK
|
|
# regexp; if that is achieved, set CONFIG_OPT in the kconfig. Otherwise, settle
|
|
# for any version found.
|
|
# Sets ctng_version_VAR_ok to ':' if the version met the criterion, or false otherwise.
|
|
AC_DEFUN([CTNG_PROG_VERSION],
|
|
[AS_IF([test -z "$EGREP"],
|
|
[AC_MSG_ERROR([This macro can only be used after checking for EGREP])])
|
|
CTNG_WITH_DEPRECATED([$3], [$1])
|
|
AC_ARG_VAR([$1], [Specify the full path to $2])
|
|
ctng_version_$1_ok=false
|
|
# If a variable is already set, check if it an absolute path and convert if not.
|
|
# Autoconf's AC_PATH_PROGS* macros just blindly trust $1 to be correct - but
|
|
# AWK is set to just the command name by AC_INIT.
|
|
AS_IF([test -n "$$1"],
|
|
[ac_cv_path_$1="$$1"
|
|
CTNG_PATH_ABSNAME([ac_cv_path_$1])
|
|
CTNG_MSG_LOG_ENVVAR([ac_cv_path_$1])
|
|
ver=$(eval $ac_cv_path_$1 --version 2>&1)
|
|
CTNG_MSG_LOG([looking for '[$5]' regexp in])
|
|
CTNG_MSG_LOG_ENVVAR([ver], [version info for $ac_cv_path_$1])
|
|
ver=$(AS_ECHO(["$ver"]) | $EGREP '[$5]')
|
|
test -n "$ver" && ctng_version_$1_ok=:],
|
|
[AC_CACHE_CHECK([for $3], [ac_cv_path_$1],
|
|
[AC_PATH_PROGS_FEATURE_CHECK([$1], [$4],
|
|
[CTNG_MSG_LOG_ENVVAR([ac_path_$1], [checking $1 at])
|
|
ver=$($ac_path_$1 --version 2>&1)
|
|
CTNG_MSG_LOG([looking for '[$5]' regexp in])
|
|
CTNG_MSG_LOG_ENVVAR([ver], [version info])
|
|
ver=$(AS_ECHO(["$ver"]) | $EGREP '[$5]')
|
|
test -z "$ac_cv_path_$1" && ac_cv_path_$1=$ac_path_$1
|
|
test -n "$ver" && ac_cv_path_$1="$ac_path_$1" ac_path_$1_found=: ctng_version_$1_ok=:])])])
|
|
AC_MSG_CHECKING([for $2])
|
|
AS_IF([$ctng_version_$1_ok],
|
|
[AC_MSG_RESULT([yes])],
|
|
[AC_MSG_RESULT([no])])
|
|
AC_SUBST([$1], [$ac_cv_path_$1])
|
|
AS_IF([test -n "$6"],
|
|
[AS_IF([$ctng_version_$1_ok], [$6=y], [$6=])
|
|
CTNG_SET_KCONFIG_OPTION([$6])])
|
|
])
|
|
|
|
# Same as above, but make it a fatal error if the tool is not found at all
|
|
# (i.e. "require any version, prefer version X or newer")
|
|
AC_DEFUN([CTNG_PROG_VERSION_REQ_ANY],
|
|
[CTNG_PROG_VERSION([$1], [$2], [$3], [$4], [$5], [$6])
|
|
AS_IF([test -z "$$1"],
|
|
[AC_MSG_ERROR([Required tool not found: $3])])
|
|
])
|
|
|
|
# Same, but also require the version check to pass
|
|
# (i.e. "require version X or newer")
|
|
AC_DEFUN([CTNG_PROG_VERSION_REQ_STRICT],
|
|
[CTNG_PROG_VERSION([$1], [$2], [$3], [$4], [$5], [$6])
|
|
AS_IF([test -z "$$1" || ! $ctng_version_$1_ok],
|
|
[AC_MSG_ERROR([Required tool not found: $2])])
|
|
])
|
|
|