diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2016-03-23 00:22:26 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2016-03-23 00:22:26 +0900 |
| commit | 7d0612528e564ac07bb0435004fe04c46af295a2 (patch) | |
| tree | eb75c035d0f4669ed5713cf8d1492607a614fbdc /tasks/toolchains/visualcpp.rake | |
| parent | 2b0baec32a6bfe72a18199cc864c43d07575b14b (diff) | |
| parent | 30b0100e6cffe12d09e497f609b174d819d04014 (diff) | |
| download | mruby-7d0612528e564ac07bb0435004fe04c46af295a2.tar.gz mruby-7d0612528e564ac07bb0435004fe04c46af295a2.zip | |
Merge pull request #3139 from cremno/fix-vs2010-build
deprecate and fix VS2010/2012 build
Diffstat (limited to 'tasks/toolchains/visualcpp.rake')
| -rw-r--r-- | tasks/toolchains/visualcpp.rake | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/tasks/toolchains/visualcpp.rake b/tasks/toolchains/visualcpp.rake index 978fe26ab..7a02eafe6 100644 --- a/tasks/toolchains/visualcpp.rake +++ b/tasks/toolchains/visualcpp.rake @@ -1,5 +1,5 @@ MRuby::Toolchain.new(:visualcpp) do |conf, _params| - [conf.cc].each do |cc| + conf.cc do |cc| cc.command = ENV['CC'] || 'cl.exe' # C4013: implicit function declaration cc.flags = [ENV['CFLAGS'] || %w(/c /nologo /W3 /we4013 /Zi /MD /O2 /D_CRT_SECURE_NO_WARNINGS)] @@ -9,7 +9,7 @@ MRuby::Toolchain.new(:visualcpp) do |conf, _params| cc.compile_options = "%{flags} /Fo%{outfile} %{infile}" end - [conf.cxx].each do |cxx| + conf.cxx do |cxx| cxx.command = ENV['CXX'] || 'cl.exe' cxx.flags = [ENV['CXXFLAGS'] || ENV['CFLAGS'] || %w(/c /nologo /W3 /Zi /MD /O2 /EHs /D_CRT_SECURE_NO_WARNINGS)] cxx.defines = %w(DISABLE_GEMS MRB_STACK_EXTEND_DOUBLING) @@ -50,4 +50,15 @@ MRuby::Toolchain.new(:visualcpp) do |conf, _params| end conf.file_separator = '\\' + + if require 'open3' + Open3.popen3 conf.cc.command do |_, _, e, _| + if /Version (?<v>\d{2}\.\d{2}\.\d{5})/ =~ e.gets && v.to_i <= 17 + m = "# VS2010/2012 support will be dropped after the next release! #" + h = "#" * m.length + puts h, m, h + end + end + end + end |
