Issue #9658 has been updated by Akinori MUSHA.

Status changed from Assigned to Closed
% Done changed from 0 to 100

Applied in changeset r45378.

----------
Fix a build problem with clang and --with-opt-dir.

* configure.in: Fix a build problem with clang and --with-opt-dir.
  If ruby is configured with --with-opt-dir=dir when using clang
  as compiler, a warning `clang: warning: argument unused during
  compilation: '-I dir'` is emitted almost every time clang
  compiles a file.  Unfortunately, RUBY_CHECK_PRINTF_PREFIX takes
  any output from the compiler as fatal error, and the check thus
  fails due to the warning.  This is an attempt to fix the problem
  by adding a flag -Qunused-arguments to CFLAGS locally in the
  function to suppress the warning. [ruby-dev:48062] [Bug #9658]
  [Fixes GH-571] https://github.com/ruby/ruby/pull/571

----------------------------------------
Bug #9658: configure --with-opt-dir=dir と clang の組合せでビルドに失敗する
https://bugs.ruby-lang.org/issues/9658#change-45890

* Author: Akinori MUSHA
* Status: Closed
* Priority: Normal
* Assignee: Akinori MUSHA
* Category: build
* Target version: current: 2.2.0
* ruby -v: 2.1.0 and later
* Backport: 2.0.0: UNKNOWN, 2.1: REQUIRED
----------------------------------------
ruby 2.1以降で configure に --with-opt-dir=/opt/local を指定すると、

* checking for printf prefix for long long... が、 clang の吐く clang: warning: argument unused during compilation: '-I /opt/local/include' のせいで失敗し、 config.h に PRI_LL_PREFIX の定義が入らない

* compiling .../ext/-test-/num2int/num2int.c がこけてビルド失敗

という流れです。

パッチを添付します。

cf.
https://twitter.com/knu/status/421181635455766529
https://gist.github.com/knu/8330662
https://github.com/ruby/ruby/pull/571


---Files--------------------------------
571.patch (2.65 KB)


-- 
https://bugs.ruby-lang.org/