]> git.eshelyaron.com Git - emacs.git/commitdiff
Use a shell function in configure.ac to cut down on code duplication.
authorPaul Eggert <eggert@cs.ucla.edu>
Wed, 11 Jun 2014 17:51:27 +0000 (10:51 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Wed, 11 Jun 2014 17:51:27 +0000 (10:51 -0700)
* 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
configure.ac

index a6b7a1b94d31a0376f9cebb635b3ac26fae6b6a6..25de78e508a394375a3982b5e052798fa5ee8487 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2014-06-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       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  <rgm@gnu.org>
 
        * configure.ac: Require at least version 3.81 of GNU make.
index 07221b0e235d19f1a2d1f921782b690a5a539b6e..0f7d858bd60631594a628a57c08140648c1647a6 100644 (file)
@@ -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 || {