Subject: [PATCH 1/3] autoconf: Add support for setting SHELL_PATH and PERL_PATH

From: Jakub Narebski <[email-masked]>
Date: Thu, 3 Aug 2006 00:38:11 +0200

This patch adds support for setting SHELL_PATH and PERL_PATH to
autoconf generated ./configure script via --with-shell=PATH and
--with-perl=PATH options.

Signed-off-by: Jakub Narebski <[email-masked]>
---
 configure.ac |   35 +++++++++++++++++++++++++++++++++--
 1 files changed, 33 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index c1f7751..4688e97 100644
--- a/configure.ac
+++ b/configure.ac
@@ -19,17 +19,47 @@ # --------------------------
 # Append LINE to file ${config_append}
 AC_DEFUN([GIT_CONF_APPEND_LINE],
 [echo "$1" >> "${config_append}"])# GIT_CONF_APPEND_LINE
+#
+# GIT_ARG_SET_PATH(PROGRAM)
+# -------------------------
+# Provide --with-PROGRAM=PATH option to set PATH to PROGRAM
+AC_DEFUN([GIT_ARG_SET_PATH],
+[AC_ARG_WITH([$1],
+ [AS_HELP_STRING([--with-$1=PATH],
+                 [provide PATH to $1])],
+ [GIT_CONF_APPEND_PATH($1)],[])
+])# GIT_ARG_SET_PATH
+#
+# GIT_CONF_APPEND_PATH(PROGRAM)
+# ------------------------------
+# Parse --with-PROGRAM=PATH option to set PROGRAM_PATH=PATH
+# Used by GIT_ARG_SET_PATH(PROGRAM)
+AC_DEFUN([GIT_CONF_APPEND_PATH],
+[PROGRAM=m4_toupper($1); \
+if test "$withval" = "no"; then \
+	AC_MSG_WARN([You cannot use git without $1]); \
+else \
+	if test "$withval" = "yes"; then \
+		AC_MSG_WARN([You should provide path for --with-$1=PATH]); \
+	else \
+		GIT_CONF_APPEND_LINE(${PROGRAM}_PATH=$withval); \
+	fi; \
+fi; \
+]) # GIT_CONF_APPEND_PATH

 ## Checks for programs.
 AC_MSG_NOTICE([CHECKS for programs])
 #
+GIT_ARG_SET_PATH(shell)
+GIT_ARG_SET_PATH(perl)
+#
+# Define NO_PYTHON if you want to lose all benefits of the recursive merge.
+# Define PYTHON_PATH to provide path to Python.
 AC_PROG_CC
 #AC_PROG_INSTALL		# needs install-sh or install.sh in sources
 AC_CHECK_TOOL(AR, ar, :)
 AC_CHECK_PROGS(TAR, [gtar tar])
-#
-# Define NO_PYTHON if you want to lose all benefits of the recursive merge.

 ## Checks for libraries.
@@ -127,6 +157,7 @@ # a missing newline at the end of the fi
 
 ## Site configuration
 ## --with-PACKAGE[=ARG] and --without-PACKAGE
+#
 # Define NO_SVN_TESTS if you want to skip time-consuming SVN interopability
 # tests.  These tests take up a significant amount of the total test time
 # but are not needed unless you plan to talk to SVN repos.
-- 
1.4.1.1