ruby-changes:59605
From: Koichi <ko1@a...>
Date: Fri, 3 Jan 2020 02:07:43 +0900 (JST)
Subject: [ruby-changes:59605] 27fae1d4ad (master): disable ccache if $CC is in /usr/lib/ccache/$CC.
https://git.ruby-lang.org/ruby.git/commit/?id=27fae1d4ad From 27fae1d4adfef26d30d43f2d0d6653e99aaaba3d Mon Sep 17 00:00:00 2001 From: Koichi Sasada <ko1@a...> Date: Fri, 3 Jan 2020 02:00:58 +0900 Subject: disable ccache if $CC is in /usr/lib/ccache/$CC. MJIT with ccache has a problem on docker environment, so we need to use original CC (/usr/bin/gcc, for example). Ubuntu system provides /usr/lib/ccache/gcc and so on to use gcc with ccache. It is easy to setup ccache by adding /usr/lib/ccache to $PATH. However we need to use /usr/bin/gcc (and so on) for MJIT_CC. We can specify MJIT_CC option at configure, but specifying them is troublesome. This patch choose original $CC (/usr/bin/gcc, for example) if $CC is /usr/lib/ccache/$CC. diff --git a/configure.ac b/configure.ac index e8d9aa6..98bc488 100644 --- a/configure.ac +++ b/configure.ac @@ -274,6 +274,11 @@ AC_SUBST(CSRCFLAG) https://github.com/ruby/ruby/blob/trunk/configure.ac#L274 : ${MJIT_CC=$CC} AS_IF([test "x$cross_compiling" = xno], [ AC_PATH_PROG([MJIT_CC], ${MJIT_CC}) + + # if $CC is in /usr/lib/ccache/$CC, search original $CC (disable ccache) + AS_IF([echo $MJIT_CC | grep ^/usr/lib/ccache > /dev/null], [ + PATH=`echo $PATH | sed "s/\/usr\/lib\/ccache://"` MJIT_CC=`which $CC`]) + AS_CASE([$target_os], [*mingw*], [command -v cygpath > /dev/null && MJIT_CC=`cygpath -ma $MJIT_CC`]) shift 2 -- cgit v0.10.2 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/