mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-07 12:15:51 +00:00
3fa39f0e02
Also, avoid removing --with-ccache from all subconfigure calls. Only remove it from NSPR's.
76 lines
2.4 KiB
Plaintext
76 lines
2.4 KiB
Plaintext
dnl This Source Code Form is subject to the terms of the Mozilla Public
|
|
dnl License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
dnl file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
dnl =======================================================================
|
|
dnl = Enable compiling with various compiler wrappers (distcc, ccache, etc)
|
|
dnl =======================================================================
|
|
AC_DEFUN([MOZ_CHECK_COMPILER_WRAPPER],
|
|
[
|
|
MOZ_ARG_WITH_STRING(compiler_wrapper,
|
|
[ --with-compiler-wrapper[=path/to/wrapper]
|
|
Enable compiling with wrappers such as distcc and ccache],
|
|
COMPILER_WRAPPER=$withval, COMPILER_WRAPPER="no")
|
|
|
|
MOZ_ARG_WITH_STRING(ccache,
|
|
[ --with-ccache[=path/to/ccache]
|
|
Enable compiling with ccache],
|
|
CCACHE=$withval, CCACHE="no")
|
|
|
|
if test "$CCACHE" != "no"; then
|
|
if test -z "$CCACHE" -o "$CCACHE" = "yes"; then
|
|
CCACHE=
|
|
else
|
|
if test ! -e "$CCACHE"; then
|
|
AC_MSG_ERROR([$CCACHE not found])
|
|
fi
|
|
fi
|
|
MOZ_PATH_PROGS(CCACHE, $CCACHE ccache)
|
|
if test -z "$CCACHE" -o "$CCACHE" = ":"; then
|
|
AC_MSG_ERROR([ccache not found])
|
|
elif test -x "$CCACHE"; then
|
|
if test "$COMPILER_WRAPPER" != "no"; then
|
|
COMPILER_WRAPPER="$CCACHE $COMPILER_WRAPPER"
|
|
else
|
|
COMPILER_WRAPPER="$CCACHE"
|
|
fi
|
|
MOZ_USING_CCACHE=1
|
|
else
|
|
AC_MSG_ERROR([$CCACHE is not executable])
|
|
fi
|
|
fi
|
|
|
|
AC_SUBST(MOZ_USING_CCACHE)
|
|
|
|
if test "$COMPILER_WRAPPER" != "no"; then
|
|
case "$target" in
|
|
*-mingw*)
|
|
dnl When giving a windows path with backslashes, js/src/configure
|
|
dnl fails because of double wrapping because the test further below
|
|
dnl doesn't work with backslashes. While fixing that test to work
|
|
dnl might seem better, a lot of the make build backend actually
|
|
dnl doesn't like backslashes, so normalize windows paths to use
|
|
dnl forward slashes.
|
|
COMPILER_WRAPPER=`echo "$COMPILER_WRAPPER" | tr '\\' '/'`
|
|
;;
|
|
esac
|
|
|
|
case "$CC" in
|
|
$COMPILER_WRAPPER\ *)
|
|
:
|
|
;;
|
|
*)
|
|
CC="$COMPILER_WRAPPER $CC"
|
|
CXX="$COMPILER_WRAPPER $CXX"
|
|
_SUBDIR_CC="$CC"
|
|
_SUBDIR_CXX="$CXX"
|
|
ac_cv_prog_CC="$CC"
|
|
ac_cv_prog_CXX="$CXX"
|
|
MOZ_USING_COMPILER_WRAPPER=1
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
AC_SUBST(MOZ_USING_COMPILER_WRAPPER)
|
|
])
|