Есть ли способ для extconf.rb не использовать определенные флаги предупреждения? - PullRequest
3 голосов
/ 25 июня 2011

Я только что обновил gcc со стандартного 4.2.1 до 4.5.Но когда я запускаю ruby ​​extconf.rb, я получаю флаг предупреждения, который gcc не распознает.

cc1: error: unrecognized command line option "-Wshorten-64-to-32"

Есть ли способ отредактировать файл extconf.rb, чтобы он не использовал это предупреждение?флаг или есть способ заставить gcc распознать его?Вот моя версия GCC, если это полезно:

 $  gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/opt/local/libexec/gcc/x86_64-apple-darwin10/4.5.3/lto-wrapper
Target: x86_64-apple-darwin10
Configured with: ../gcc-4.5.3/configure --prefix=/opt/local --build=x86_64-apple-darwin10 --enable-languages=c,c++,objc,obj-c++,fortran,java --libdir=/opt/local/lib/gcc45 --includedir=/opt/local/include/gcc45 --infodir=/opt/local/share/info --mandir=/opt/local/share/man --datarootdir=/opt/local/share/gcc-4.5 --with-local-prefix=/opt/local --with-system-zlib --disable-nls --program-suffix=-mp-4.5 --with-gxx-include-dir=/opt/local/include/gcc45/c++/ --with-gmp=/opt/local --with-mpfr=/opt/local --with-mpc=/opt/local --enable-stage1-checking --disable-multilib --enable-fully-dynamic-string
Thread model: posix
gcc version 4.5.3 (GCC) 

1 Ответ

1 голос
/ 29 октября 2011

mkmf генерирует конфигурации make-файла, используя таблицу строк, определенную в CONFIG, а флаги предупреждения находятся в CONFIG['warnflags'], так что вы можете сделать что-то вроде

CONFIG['warnflags'].slice!(/ -Wshorten-64-to-32/)

до вызова create_makefileизбавиться от определенного флага предупреждения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...