From: SATOH Fumiyasu Date: 2013-06-14T22:06:13+09:00 Subject: [ruby-dev:47433] Re: [ruby-trunk - Bug #8524] r40755以降 No rule to make target `.ext/include/sparc64-solaris2.10/ruby/config.h でビルドできない さとうふみやす @ OSSTech です。 At Fri, 14 Jun 2013 21:36:17 +0900, knu (Akinori MUSHA) wrote: > ${var:+val} がサポートされていないってのはちょっとした驚きでした。少なくともSUSv2/UNIX98では定義されているので。 Solaris 10 (それより古いのも含む) の /bin/sh は ${var:+val} は サポートしています。ただし、val 部分に空白文字を含めることができません。 空白等を含めるにはクォートする必要があります。 $ /bin/sh -c 'var=foo; echo ${var:+val val}' /bin/sh: 置換が正しくありません。 $ /bin/sh -c 'unset var; echo ${var:+val val}' /bin/sh: 置換が正しくありません。 $ /bin/sh -c 'var=foo; echo ${var:+"val val"}' val val $ /bin/sh -c 'var=foo; echo ${var:+"val" "val val"}' /bin/sh: 置換が正しくありません。 > r40755以降、Solarisでは、以下のように .ext/include/アーキテクチャ/ruby/config.h が作成されません。 > > 原因は、r40755にて以下の行が./tool/ifchange に追加されたためです。 > > @@ -30,6 +37,7 @@ > rm -f "$temp" > else > echo "$target updated" > + ${keepsuffix:+ mv -f "$target" "${target}${keepsuffix}" } > mv -f "$temp" "$target" > fi これは、 if [ -n "$keepsuffix" ]; then mv -f "$target" "${target}${keepsuffix}" fi とするか、 ${keepsuffix:+mv} ${keepsuffix:+-f} ${keepsuffix:+"$target"} ${keepsuffix:+"${target}${keepsuffix}"} とする必要があります。 -- -- Name: SATOH Fumiyasu @ OSS Technology Corp. (fumiyas @ osstech co jp) -- Business Home: http://www.OSSTech.co.jp/ -- GitHub Home: https://GitHub.com/fumiyas/ -- PGP Fingerprint: BBE1 A1C9 525A 292E 6729 CDEC ADC2 9DCA 5E1C CBCA