[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]