[ruby-trunk - Bug #9658] [Closed] configure --with-opt-dir=dir と clang の組合せで

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] Fix a build problem with clang and --with-opt-dir. by knu · Pull Request #571 · ruby/ruby · GitHub

Bug #9658: configure --with-opt-dir=dir と clang の組合せでビルドに失敗する

  • 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

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