diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-04-11 02:00:02 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-04-11 02:00:02 +0000 |
commit | bb96ab6fb6227b122a33cc8b56afb5c4198c9759 (patch) | |
tree | defdb943dd72591da70b3dafb6ca080a473144a1 | |
parent | 1b1a0bda677c2c0554d5a9651a948f78c23d5dcf (diff) |
mkmf.rb: methods to append flags
* lib/mkmf.rb (append_cppflags, append_cflags, append_ldflags):
utility methods to append compiler options.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ext/date/extconf.rb | 4 | ||||
-rw-r--r-- | lib/mkmf.rb | 30 |
3 files changed, 36 insertions, 3 deletions
@@ -1,3 +1,8 @@ +Sat Apr 11 10:59:58 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/mkmf.rb (append_cppflags, append_cflags, append_ldflags): + utility methods to append compiler options. + Sat Apr 11 08:22:24 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> * lib/rdoc/text.rb: removed duplicated code. diff --git a/ext/date/extconf.rb b/ext/date/extconf.rb index 6f479eaa26..a0c30fa948 100644 --- a/ext/date/extconf.rb +++ b/ext/date/extconf.rb @@ -1,5 +1,3 @@ require 'mkmf' -if try_cflags("-std=iso9899:1999") - $CFLAGS += " " << "-std=iso9899:1999" -end +append_cflags("-std=iso9899:1999") create_makefile('date_core') diff --git a/lib/mkmf.rb b/lib/mkmf.rb index 014e7ed53b..8a21666b76 100644 --- a/lib/mkmf.rb +++ b/lib/mkmf.rb @@ -613,6 +613,16 @@ MSG try_header(MAIN_DOES_NOTHING, flags, {:werror => true}.update(opts)) end + def append_cppflags(flags, *opts) + Array(flags).each do |flag| + if checking_for "whether #{flag} is accepted as CPPFLAGS" { + try_cppflags(flag, *opts) + } + $CPPFLAGS << " " << flag + end + end + end + def with_cflags(flags) cflags = $CFLAGS $CFLAGS = flags @@ -625,6 +635,16 @@ MSG try_compile(MAIN_DOES_NOTHING, flags, {:werror => true}.update(opts)) end + def append_cflags(flags, *opts) + Array(flags).each do |flag| + if checking_for "whether #{flag} is accepted as CFLAGS" { + try_cflags(flag, *opts) + } + $CFLAGS << " " << flag + end + end + end + def with_ldflags(flags) ldflags = $LDFLAGS $LDFLAGS = flags @@ -637,6 +657,16 @@ MSG try_link(MAIN_DOES_NOTHING, flags, {:werror => true}.update(opts)) end + def append_ldflags(flags, *opts) + Array(flags).each do |flag| + if checking_for "whether #{flag} is accepted as LDFLAGS" { + try_ldflags(flag, *opts) + } + $LDFLAGS << " " << flag + end + end + end + def try_static_assert(expr, headers = nil, opt = "", &b) headers = cpp_include(headers) try_compile(<<SRC, opt, &b) |