configure: allow user to prevent $PATH "sanitization" on Solaris

On a Solaris 10 system with Solaris make installed as '/usr/xpg4/bin/make', GNU make installed as '/usr/local/bin/make', and with '/usr/local/bin' appearing in $PATH *before* '/usr/xpg4/bin', I was seeing errors like this upon invoking "make all": Usage : make [ -f makefile ][ -K statefile ]... make: Fatal error: Unknown option `-C' This happenes because the Git's Makefile, when running on Solaris, automatically "sanitizes" $PATH by prepending '/usr/xpg6/bin' and '/usr/xpg4/bin' to it in order to avoid using non-POSIX /bin/sh from being used. In the setup described above, however, this has an unintended consequence of forcing the use of Solaris make in recursive make invocations -- even if the $(MAKE) macro is being correctly used in them! When building without using the autoconf machinery, this can be solved by overriding $(SANE_TOOL_PATH). Teach the autoconf machinery to also allow users of ./configure to override it from the command line with a new --with-sane-tool-path option. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Stefano Lattarini committed Mar 9, 2012 at 13:43 UTC 213639494e897502b73648aebbf274e4ae0cb27e
1 file changed +17
configure.ac
+17
@@ -137,6 +137,23 @@ if test -n "$1"; then
137 fi
138 ])
139
140 +# Directories holding "saner" versions of common or POSIX binaries.
141 +AC_ARG_WITH([sane-tool-path],
142 + [AS_HELP_STRING(
143 + [--with-sane-tool-path=DIR-1[[:DIR-2...:DIR-n]]],
144 + [Directories to prepend to PATH in build system and generated scripts])],
145 + [if test "$withval" = "no"; then
146 + withval=''
147 + else
148 + AC_MSG_NOTICE([Setting SANE_TOOL_PATH to '$withval'])
149 + fi
150 + GIT_CONF_APPEND_LINE([SANE_TOOL_PATH=$withval])],
151 + [# If the "--with-sane-tool-path" option was not given, don't touch
152 + # SANE_TOOL_PATH here, but let defaults in Makefile take care of it.
153 + # This should minimize spurious differences in the behaviour of the
154 + # Git build system when configure is used w.r.t. when it is not.
155 + :])
156 +
157 ## Site configuration related to programs (before tests)
158 ## --with-PACKAGE[=ARG] and --without-PACKAGE
159 #