From faded0b1394b3925f646d2b4905e49e0c130e37b Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 11 Jun 2014 10:51:27 -0700 Subject: [PATCH] Use a shell function in configure.ac to cut down on code duplication. * configure.ac (emacs_check_gnu_make): New shell function. Use it to avoid duplication when checking for GNU Make. It's OK for 'configure' to use shell functions these days, as long as we follow the advice in the 'Shell Functions' section of the Autoconf manual. --- ChangeLog | 9 +++++++++ configure.ac | 37 ++++++++++++++++++++----------------- 2 files changed, 29 insertions(+), 17 deletions(-) diff --git a/ChangeLog b/ChangeLog index a6b7a1b94d3..25de78e508a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2014-06-11 Paul Eggert + + Use a shell function in configure.ac to cut down on code duplication. + * configure.ac (emacs_check_gnu_make): New shell function. + Use it to avoid duplication when checking for GNU Make. + It's OK for 'configure' to use shell functions these days, + as long as we follow the advice in the 'Shell Functions' + section of the Autoconf manual. + 2014-06-11 Glenn Morris * configure.ac: Require at least version 3.81 of GNU make. diff --git a/configure.ac b/configure.ac index 07221b0e235..0f7d858bd60 100644 --- a/configure.ac +++ b/configure.ac @@ -93,32 +93,35 @@ AC_DEFUN([AC_PROG_MAKE_SET], AC_SUBST([SET_MAKE])]) dnl Check for GNU Make and possibly set MAKE before running AM_INIT_AUTOMAKE. +[emacs_check_gnu_make () +{ + emacs_makeout=`($1 --version) 2>/dev/null` && + case $emacs_makeout in + 'GNU Make '3.8[1-9]* | 'GNU Make '3.9[0-9]* | \ + 'GNU Make '3.[1-9][0-9][0-9]* | 'GNU Make '[4-9]* | 'GNU Make '[1-9][0-9]* ) + ac_path_MAKE_found=:;; + esac +}] AC_CACHE_CHECK([for GNU Make], [ac_cv_path_MAKE], [ac_path_MAKE_found=false if test -n "$MAKE"; then - emacs_makeout=`($MAKE --version) 2>/dev/null` && - case $emacs_makeout in - 'GNU Make '[[1-3]][[0-9]]* | 'GNU Make '[[4-9]]* | 'GNU Make '3.8[[1-9]]* | 'GNU Make '3.9*) - ac_path_MAKE_found=:;; - esac + emacs_check_gnu_make "$MAKE" ac_cv_path_MAKE=$MAKE else emacs_tried_make=false emacs_tried_gmake=false emacs_tried_gnumake=false AC_PATH_PROGS_FEATURE_CHECK([MAKE], [make gmake gnumake], - [[emacs_makeout=`($ac_path_MAKE --version) 2>/dev/null` && - case $emacs_makeout in - 'GNU Make '[1-3][0-9]* | 'GNU Make '[4-9]* | 'GNU Make '3.8[1-9]* | 'GNU Make '3.9*) - # Use the fully-qualified program name only if the basename - # would not resolve to it. - if eval \$emacs_tried_$ac_prog; then - ac_cv_path_MAKE=$ac_path_MAKE - else - ac_cv_path_MAKE=$ac_prog - fi - ac_path_MAKE_found=:;; - esac + [[emacs_check_gnu_make "$ac_path_MAKE" + if $ac_path_MAKE_found; then + # Use the fully-qualified program name only if the basename + # would not resolve to it. + if eval \$emacs_tried_$ac_prog; then + ac_cv_path_MAKE=$ac_path_MAKE + else + ac_cv_path_MAKE=$ac_prog + fi + fi eval emacs_tried_$ac_prog=:]]) fi]) $ac_path_MAKE_found || { -- 2.39.2