Unverified Commit 068b16a3 authored by Yukihiro "Matz" Matsumoto's avatar Yukihiro "Matz" Matsumoto Committed by GitHub

Merge pull request #4959 from dsisnero/master

build when directories and files have spaces
parents 226fcb4f c7ab4cf6
...@@ -30,9 +30,9 @@ MRuby::Build.new do |conf| ...@@ -30,9 +30,9 @@ MRuby::Build.new do |conf|
# cc.flags = [ENV['CFLAGS'] || %w()] # cc.flags = [ENV['CFLAGS'] || %w()]
# cc.include_paths = ["#{root}/include"] # cc.include_paths = ["#{root}/include"]
# cc.defines = %w() # cc.defines = %w()
# cc.option_include_path = '-I%s' # cc.option_include_path = %q[-I"%s"]
# cc.option_define = '-D%s' # cc.option_define = '-D%s'
# cc.compile_options = "%{flags} -MMD -o %{outfile} -c %{infile}" # cc.compile_options = %Q[%{flags} -MMD -o "%{outfile}" -c "%{infile}"]
# end # end
# mrbc settings # mrbc settings
...@@ -50,25 +50,25 @@ MRuby::Build.new do |conf| ...@@ -50,25 +50,25 @@ MRuby::Build.new do |conf|
# linker.library_paths = [] # linker.library_paths = []
# linker.option_library = '-l%s' # linker.option_library = '-l%s'
# linker.option_library_path = '-L%s' # linker.option_library_path = '-L%s'
# linker.link_options = "%{flags} -o %{outfile} %{objs} %{libs}" # linker.link_options = "%{flags} -o "%{outfile}" %{objs} %{libs}"
# end # end
# Archiver settings # Archiver settings
# conf.archiver do |archiver| # conf.archiver do |archiver|
# archiver.command = ENV['AR'] || 'ar' # archiver.command = ENV['AR'] || 'ar'
# archiver.archive_options = 'rs %{outfile} %{objs}' # archiver.archive_options = 'rs "%{outfile}" %{objs}'
# end # end
# Parser generator settings # Parser generator settings
# conf.yacc do |yacc| # conf.yacc do |yacc|
# yacc.command = ENV['YACC'] || 'bison' # yacc.command = ENV['YACC'] || 'bison'
# yacc.compile_options = '-o %{outfile} %{infile}' # yacc.compile_options = %q[-o "%{outfile}" "%{infile}"]
# end # end
# gperf settings # gperf settings
# conf.gperf do |gperf| # conf.gperf do |gperf|
# gperf.command = 'gperf' # gperf.command = 'gperf'
# gperf.compile_options = '-L ANSI-C -C -p -j1 -i 1 -g -o -t -N mrb_reserved_word -k"1,3,$" %{infile} > %{outfile}' # gperf.compile_options = %q[-L ANSI-C -C -p -j1 -i 1 -g -o -t -N mrb_reserved_word -k"1,3,$" "%{infile}" > "%{outfile}"]
# end # end
# file extensions # file extensions
......
...@@ -42,7 +42,7 @@ MRuby::CrossBuild.new("ArduinoDue") do |conf| ...@@ -42,7 +42,7 @@ MRuby::CrossBuild.new("ArduinoDue") do |conf|
cc.flags = %w(-g -Os -w -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 cc.flags = %w(-g -Os -w -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500
-Dprintf=iprintf -mcpu=cortex-m3 -DF_CPU=84000000L -DARDUINO=156 -DARDUINO_SAM_DUE -DARDUINO_ARCH_SAM -Dprintf=iprintf -mcpu=cortex-m3 -DF_CPU=84000000L -DARDUINO=156 -DARDUINO_SAM_DUE -DARDUINO_ARCH_SAM
-D__SAM3X8E__ -mthumb -DUSB_PID=0x003e -DUSB_VID=0x2341 -DUSBCON -DUSB_MANUFACTURER="Unknown" -DUSB_PRODUCT="Arduino Due") -D__SAM3X8E__ -mthumb -DUSB_PID=0x003e -DUSB_VID=0x2341 -DUSBCON -DUSB_MANUFACTURER="Unknown" -DUSB_PRODUCT="Arduino Due")
cc.compile_options = "%{flags} -o %{outfile} -c %{infile}" cc.compile_options = %Q[%{flags} -o "%{outfile}" -c "%{infile}"]
#configuration for low memory environment #configuration for low memory environment
cc.defines << %w(MRB_HEAP_PAGE_SIZE=64) cc.defines << %w(MRB_HEAP_PAGE_SIZE=64)
...@@ -64,7 +64,7 @@ MRuby::CrossBuild.new("ArduinoDue") do |conf| ...@@ -64,7 +64,7 @@ MRuby::CrossBuild.new("ArduinoDue") do |conf|
conf.archiver do |archiver| conf.archiver do |archiver|
archiver.command = "#{BIN_PATH}/arm-none-eabi-ar" archiver.command = "#{BIN_PATH}/arm-none-eabi-ar"
archiver.archive_options = 'rcs %{outfile} %{objs}' archiver.archive_options = 'rcs "%{outfile}" %{objs}'
end end
#no executables #no executables
......
...@@ -32,7 +32,7 @@ MRuby::CrossBuild.new('core2-32-poky-linux') do |conf| ...@@ -32,7 +32,7 @@ MRuby::CrossBuild.new('core2-32-poky-linux') do |conf|
cc.flags = %w(-m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -mstackrealign -fno-omit-frame-pointer) cc.flags = %w(-m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -mstackrealign -fno-omit-frame-pointer)
cc.flags << %w(-O2 -pipe -g -feliminate-unused-debug-types) cc.flags << %w(-O2 -pipe -g -feliminate-unused-debug-types)
cc.flags << "--sysroot=#{POKY_EDISON_SYSROOT}" cc.flags << "--sysroot=#{POKY_EDISON_SYSROOT}"
cc.compile_options = "%{flags} -o %{outfile} -c %{infile}" cc.compile_options = %Q[%{flags} -o "%{outfile}" -c "%{infile}"]
cc.defines = %w(ENABLE_READLINE) cc.defines = %w(ENABLE_READLINE)
end end
...@@ -47,7 +47,7 @@ MRuby::CrossBuild.new('core2-32-poky-linux') do |conf| ...@@ -47,7 +47,7 @@ MRuby::CrossBuild.new('core2-32-poky-linux') do |conf|
conf.archiver do |archiver| conf.archiver do |archiver|
archiver.command = "#{POKY_EDISON_BIN_PATH}/i586-poky-linux-ar" archiver.command = "#{POKY_EDISON_BIN_PATH}/i586-poky-linux-ar"
archiver.archive_options = 'rcs %{outfile} %{objs}' archiver.archive_options = 'rcs "%{outfile}" %{objs}'
end end
conf.linker do |linker| conf.linker do |linker|
......
...@@ -39,7 +39,7 @@ MRuby::CrossBuild.new("Galileo") do |conf| ...@@ -39,7 +39,7 @@ MRuby::CrossBuild.new("Galileo") do |conf|
cc.flags = %w(-m32 -march=i586 -c -g -Os -w cc.flags = %w(-m32 -march=i586 -c -g -Os -w
-ffunction-sections -fdata-sections -MMD -DARDUINO=153) -ffunction-sections -fdata-sections -MMD -DARDUINO=153)
cc.flags << "--sysroot=#{GALILEO_SYSROOT}" cc.flags << "--sysroot=#{GALILEO_SYSROOT}"
cc.compile_options = "%{flags} -o %{outfile} -c %{infile}" cc.compile_options = %Q[%{flags} -o "%{outfile}" -c "%{infile}"]
end end
conf.cxx do |cxx| conf.cxx do |cxx|
...@@ -54,7 +54,7 @@ MRuby::CrossBuild.new("Galileo") do |conf| ...@@ -54,7 +54,7 @@ MRuby::CrossBuild.new("Galileo") do |conf|
conf.archiver do |archiver| conf.archiver do |archiver|
archiver.command = "#{GALILEO_BIN_PATH}/i586-poky-linux-uclibc-ar" archiver.command = "#{GALILEO_BIN_PATH}/i586-poky-linux-uclibc-ar"
archiver.archive_options = 'rcs %{outfile} %{objs}' archiver.archive_options = 'rcs "%{outfile}" %{objs}'
end end
conf.linker do |linker| conf.linker do |linker|
......
...@@ -27,7 +27,7 @@ MRuby::CrossBuild.new("RX630") do |conf| ...@@ -27,7 +27,7 @@ MRuby::CrossBuild.new("RX630") do |conf|
conf.cc do |cc| conf.cc do |cc|
cc.command = "#{BIN_PATH}/rx-elf-gcc" cc.command = "#{BIN_PATH}/rx-elf-gcc"
cc.flags = "-Wall -g -O2 -flto -mcpu=rx600 -m64bit-doubles" cc.flags = "-Wall -g -O2 -flto -mcpu=rx600 -m64bit-doubles"
cc.compile_options = "%{flags} -o %{outfile} -c %{infile}" cc.compile_options = %Q[%{flags} -o "%{outfile}" -c "%{infile}"]
#configuration for low memory environment #configuration for low memory environment
cc.defines << %w(MRB_USE_FLOAT) cc.defines << %w(MRB_USE_FLOAT)
...@@ -53,7 +53,7 @@ MRuby::CrossBuild.new("RX630") do |conf| ...@@ -53,7 +53,7 @@ MRuby::CrossBuild.new("RX630") do |conf|
conf.archiver do |archiver| conf.archiver do |archiver|
archiver.command = "#{BIN_PATH}/rx-elf-ar" archiver.command = "#{BIN_PATH}/rx-elf-ar"
archiver.archive_options = 'rcs %{outfile} %{objs}' archiver.archive_options = 'rcs "%{outfile}" %{objs}'
end end
#no executables #no executables
......
...@@ -39,7 +39,7 @@ MRuby::CrossBuild.new("chipKITMax32") do |conf| ...@@ -39,7 +39,7 @@ MRuby::CrossBuild.new("chipKITMax32") do |conf|
cc.flags = %w(-O2 -mno-smart-io -w -ffunction-sections -fdata-sections -g -mdebugger -Wcast-align cc.flags = %w(-O2 -mno-smart-io -w -ffunction-sections -fdata-sections -g -mdebugger -Wcast-align
-fno-short-double -mprocessor=32MX795F512L -DF_CPU=80000000L -DARDUINO=23 -D_BOARD_MEGA_ -fno-short-double -mprocessor=32MX795F512L -DF_CPU=80000000L -DARDUINO=23 -D_BOARD_MEGA_
-DMPIDEVER=0x01000202 -DMPIDE=23) -DMPIDEVER=0x01000202 -DMPIDE=23)
cc.compile_options = "%{flags} -o %{outfile} -c %{infile}" cc.compile_options = %Q[%{flags} -o "%{outfile}" -c "%{infile}"]
#configuration for low memory environment #configuration for low memory environment
cc.defines << %w(MRB_HEAP_PAGE_SIZE=64) cc.defines << %w(MRB_HEAP_PAGE_SIZE=64)
...@@ -60,7 +60,7 @@ MRuby::CrossBuild.new("chipKITMax32") do |conf| ...@@ -60,7 +60,7 @@ MRuby::CrossBuild.new("chipKITMax32") do |conf|
conf.archiver do |archiver| conf.archiver do |archiver|
archiver.command = "#{PIC32_PATH}/compiler/pic32-tools/bin/pic32-ar" archiver.command = "#{PIC32_PATH}/compiler/pic32-tools/bin/pic32-ar"
archiver.archive_options = 'rcs %{outfile} %{objs}' archiver.archive_options = 'rcs "%{outfile}" %{objs}'
end end
#no executables #no executables
......
...@@ -37,7 +37,7 @@ MRuby::CrossBuild.new("dreamcast") do |conf| ...@@ -37,7 +37,7 @@ MRuby::CrossBuild.new("dreamcast") do |conf|
cc.command = "#{BIN_PATH}/sh-elf-gcc" cc.command = "#{BIN_PATH}/sh-elf-gcc"
cc.include_paths << ["#{KOS_PATH}/include", "#{KOS_PATH}/kernel/arch/dreamcast/include", "#{KOS_PATH}/addons/include", "#{KOS_PATH}/../kos-ports/include"] cc.include_paths << ["#{KOS_PATH}/include", "#{KOS_PATH}/kernel/arch/dreamcast/include", "#{KOS_PATH}/addons/include", "#{KOS_PATH}/../kos-ports/include"]
cc.flags << ["-O2", "-fomit-frame-pointer", "-ml", "-m4-single-only", "-ffunction-sections", "-fdata-sections", "-Wall", "-g", "-fno-builtin", "-ml", "-m4-single-only", "-Wl,-Ttext=0x8c010000", "-Wl,--gc-sections", "-T#{KOS_PATH}/utils/ldscripts/shlelf.xc", "-nodefaultlibs"] cc.flags << ["-O2", "-fomit-frame-pointer", "-ml", "-m4-single-only", "-ffunction-sections", "-fdata-sections", "-Wall", "-g", "-fno-builtin", "-ml", "-m4-single-only", "-Wl,-Ttext=0x8c010000", "-Wl,--gc-sections", "-T#{KOS_PATH}/utils/ldscripts/shlelf.xc", "-nodefaultlibs"]
cc.compile_options = "%{flags} -o %{outfile} -c %{infile}" cc.compile_options = %Q[%{flags} -o "%{outfile}" -c "%{infile}"]
cc.defines << %w(_arch_dreamcast) cc.defines << %w(_arch_dreamcast)
cc.defines << %w(_arch_sub_pristine) cc.defines << %w(_arch_sub_pristine)
end end
...@@ -65,7 +65,7 @@ MRuby::CrossBuild.new("dreamcast") do |conf| ...@@ -65,7 +65,7 @@ MRuby::CrossBuild.new("dreamcast") do |conf|
# Archiver # Archiver
conf.archiver do |archiver| conf.archiver do |archiver|
archiver.command = "#{BIN_PATH}/sh-elf-ar" archiver.command = "#{BIN_PATH}/sh-elf-ar"
archiver.archive_options = 'rcs %{outfile} %{objs}' archiver.archive_options = 'rcs "%{outfile}" %{objs}'
end end
# No executables # No executables
......
...@@ -36,9 +36,14 @@ module MRuby ...@@ -36,9 +36,14 @@ module MRuby
private private
def _run(options, params={}) def _run(options, params={})
return sh command + ' ' + ( options % params ) if NotFoundCommands.key? @command
cmd_string = if NotFoundCommands.key?(@command)
command + ' ' + ( options % params )
else
build.filename(command) + ' ' + ( options % params )
end
begin begin
sh build.filename(command) + ' ' + ( options % params ) sh cmd_string
rescue RuntimeError rescue RuntimeError
NotFoundCommands[@command] = true NotFoundCommands[@command] = true
_run options, params _run options, params
...@@ -58,9 +63,9 @@ module MRuby ...@@ -58,9 +63,9 @@ module MRuby
@source_exts = source_exts @source_exts = source_exts
@include_paths = ["#{MRUBY_ROOT}/include"] @include_paths = ["#{MRUBY_ROOT}/include"]
@defines = %w() @defines = %w()
@option_include_path = '-I%s' @option_include_path = %q[-I"%s"]
@option_define = '-D%s' @option_define = %q[-D"%s"]
@compile_options = '%{flags} -o %{outfile} -c %{infile}' @compile_options = %q[%{flags} -o "%{outfile}" -c "%{infile}"]
@cxx_invalid_flags = [] @cxx_invalid_flags = []
end end
...@@ -184,9 +189,9 @@ module MRuby ...@@ -184,9 +189,9 @@ module MRuby
@flags_before_libraries, @flags_after_libraries = [], [] @flags_before_libraries, @flags_after_libraries = [], []
@libraries = [] @libraries = []
@library_paths = [] @library_paths = []
@option_library = '-l%s' @option_library = %q[-l"%s"]
@option_library_path = '-L%s' @option_library_path = %q[-L"%s"]
@link_options = "%{flags} -o %{outfile} %{objs} %{flags_before_libraries} %{libs} %{flags_after_libraries}" @link_options = %Q[%{flags} -o "%{outfile}" %{objs} %{flags_before_libraries} %{libs} %{flags_after_libraries}]
end end
def all_flags(_library_paths=[], _flags=[]) def all_flags(_library_paths=[], _flags=[])
...@@ -217,7 +222,7 @@ module MRuby ...@@ -217,7 +222,7 @@ module MRuby
:libs => library_flags.join(' ') } :libs => library_flags.join(' ') }
else else
_run link_options, { :flags => all_flags(_library_paths, _flags), _run link_options, { :flags => all_flags(_library_paths, _flags),
:outfile => filename(outfile) , :objs => filename(objfiles).join(' '), :outfile => filename(outfile) , :objs => filename(objfiles).map{|f| %Q["#{f}"]}.join(' '),
:flags_before_libraries => [flags_before_libraries, _flags_before_libraries].flatten.join(' '), :flags_before_libraries => [flags_before_libraries, _flags_before_libraries].flatten.join(' '),
:flags_after_libraries => [flags_after_libraries, _flags_after_libraries].flatten.join(' '), :flags_after_libraries => [flags_after_libraries, _flags_after_libraries].flatten.join(' '),
:libs => library_flags.join(' ') } :libs => library_flags.join(' ') }
...@@ -231,16 +236,16 @@ module MRuby ...@@ -231,16 +236,16 @@ module MRuby
def initialize(build) def initialize(build)
super super
@command = ENV['AR'] || 'ar' @command = ENV['AR'] || 'ar'
@archive_options = 'rs %{outfile} %{objs}' @archive_options = 'rs "%{outfile}" %{objs}'
end end
def run(outfile, objfiles) def run(outfile, objfiles)
mkdir_p File.dirname(outfile) mkdir_p File.dirname(outfile)
_pp "AR", outfile.relative_path _pp "AR", outfile.relative_path
if MRUBY_BUILD_HOST_IS_CYGWIN if MRUBY_BUILD_HOST_IS_CYGWIN
_run archive_options, { :outfile => cygwin_filename(outfile), :objs => cygwin_filename(objfiles).join(' ') } _run archive_options, { :outfile => cygwin_filename(outfile), :objs => cygwin_filename(objfiles).map{|f| %Q["#{f}"]}.join(' ') }
else else
_run archive_options, { :outfile => filename(outfile), :objs => filename(objfiles).join(' ') } _run archive_options, { :outfile => filename(outfile), :objs => filename(objfiles).map{|f| %Q["#{f}"]}.join(' ') }
end end
end end
end end
...@@ -251,7 +256,7 @@ module MRuby ...@@ -251,7 +256,7 @@ module MRuby
def initialize(build) def initialize(build)
super super
@command = 'bison' @command = 'bison'
@compile_options = '-o %{outfile} %{infile}' @compile_options = %q[-o "%{outfile}" "%{infile}"]
end end
def run(outfile, infile) def run(outfile, infile)
...@@ -267,7 +272,7 @@ module MRuby ...@@ -267,7 +272,7 @@ module MRuby
def initialize(build) def initialize(build)
super super
@command = 'gperf' @command = 'gperf'
@compile_options = '-L ANSI-C -C -p -j1 -i 1 -g -o -t -N mrb_reserved_word -k"1,3,$" %{infile} > %{outfile}' @compile_options = %q[-L ANSI-C -C -p -j1 -i 1 -g -o -t -N mrb_reserved_word -k"1,3,$" "%{infile}" > "%{outfile}"]
end end
def run(outfile, infile) def run(outfile, infile)
...@@ -341,7 +346,7 @@ module MRuby ...@@ -341,7 +346,7 @@ module MRuby
infiles.each do |f| infiles.each do |f|
_pp "MRBC", f.relative_path, nil, :indent => 2 _pp "MRBC", f.relative_path, nil, :indent => 2
end end
cmd = "#{filename @command} #{@compile_options % {:funcname => funcname}} #{filename(infiles).join(' ')}" cmd = %Q["#{filename @command}" #{@compile_options % {:funcname => funcname}} #{filename(infiles).map{|f| %Q["#{f}"]}.join(' ')}]
puts cmd if Rake.verbose puts cmd if Rake.verbose
IO.popen(cmd, 'r+') do |io| IO.popen(cmd, 'r+') do |io|
out.puts io.read out.puts io.read
......
...@@ -12,9 +12,9 @@ MRuby::Toolchain.new(:gcc) do |conf, params| ...@@ -12,9 +12,9 @@ MRuby::Toolchain.new(:gcc) do |conf, params|
compiler.command = ENV['CC'] || default_command compiler.command = ENV['CC'] || default_command
compiler.flags = [c_mandatory_flags, ENV['CFLAGS'] || [compiler_flags, cxx_invalid_flags, %w(-Wwrite-strings)]] compiler.flags = [c_mandatory_flags, ENV['CFLAGS'] || [compiler_flags, cxx_invalid_flags, %w(-Wwrite-strings)]]
end end
compiler.option_include_path = '-I%s' compiler.option_include_path = %q[-I"%s"]
compiler.option_define = '-D%s' compiler.option_define = '-D%s'
compiler.compile_options = '%{flags} -MMD -o %{outfile} -c %{infile}' compiler.compile_options = %q[%{flags} -MMD -o "%{outfile}" -c "%{infile}"]
compiler.cxx_compile_flag = '-x c++ -std=gnu++03' compiler.cxx_compile_flag = '-x c++ -std=gnu++03'
compiler.cxx_exception_flag = '-fexceptions' compiler.cxx_exception_flag = '-fexceptions'
compiler.cxx_invalid_flags = c_mandatory_flags + cxx_invalid_flags compiler.cxx_invalid_flags = c_mandatory_flags + cxx_invalid_flags
...@@ -27,7 +27,7 @@ MRuby::Toolchain.new(:gcc) do |conf, params| ...@@ -27,7 +27,7 @@ MRuby::Toolchain.new(:gcc) do |conf, params|
linker.library_paths = [] linker.library_paths = []
linker.option_library = '-l%s' linker.option_library = '-l%s'
linker.option_library_path = '-L%s' linker.option_library_path = '-L%s'
linker.link_options = '%{flags} -o %{outfile} %{objs} %{flags_before_libraries} %{libs} %{flags_after_libraries}' linker.link_options = '%{flags} -o "%{outfile}" %{objs} %{flags_before_libraries} %{libs} %{flags_after_libraries}'
end end
[[conf.cc, 'c'], [conf.cxx, 'c++']].each do |cc, lang| [[conf.cc, 'c'], [conf.cxx, 'c++']].each do |cc, lang|
......
...@@ -5,18 +5,18 @@ MRuby::Toolchain.new(:openwrt) do |conf| ...@@ -5,18 +5,18 @@ MRuby::Toolchain.new(:openwrt) do |conf|
cc.command = ENV['TARGET_CC'] cc.command = ENV['TARGET_CC']
cc.flags = ENV['TARGET_CFLAGS'] cc.flags = ENV['TARGET_CFLAGS']
cc.include_paths = ["#{MRUBY_ROOT}/include"] cc.include_paths = ["#{MRUBY_ROOT}/include"]
cc.option_include_path = '-I%s' cc.option_include_path = %q[-I"%s"]
cc.option_define = '-D%s' cc.option_define = '-D%s'
cc.compile_options = '%{flags} -MMD -o %{outfile} -c %{infile}' cc.compile_options = %q[%{flags} -MMD -o "%{outfile}" -c "%{infile}"]
end end
[conf.cxx].each do |cxx| [conf.cxx].each do |cxx|
cxx.command = ENV['TARGET_CXX'] cxx.command = ENV['TARGET_CXX']
cxx.flags = ENV['TARGET_CXXFLAGS'] cxx.flags = ENV['TARGET_CXXFLAGS']
cxx.include_paths = ["#{MRUBY_ROOT}/include"] cxx.include_paths = ["#{MRUBY_ROOT}/include"]
cxx.option_include_path = '-I%s' cxx.option_include_path = %q[-I"%s"]
cxx.option_define = '-D%s' cxx.option_define = '-D%s'
cxx.compile_options = '%{flags} -MMD -o %{outfile} -c %{infile}' cxx.compile_options = %q[%{flags} -MMD -o "%{outfile}" -c "%{infile}"]
end end
conf.linker do |linker| conf.linker do |linker|
...@@ -26,11 +26,11 @@ MRuby::Toolchain.new(:openwrt) do |conf| ...@@ -26,11 +26,11 @@ MRuby::Toolchain.new(:openwrt) do |conf|
linker.library_paths = [] linker.library_paths = []
linker.option_library = '-l%s' linker.option_library = '-l%s'
linker.option_library_path = '-L%s' linker.option_library_path = '-L%s'
linker.link_options = '%{flags} -o %{outfile} %{objs} %{flags_before_libraries} %{libs} %{flags_after_libraries}' linker.link_options = '%{flags} -o "%{outfile}" %{objs} %{flags_before_libraries} %{libs} %{flags_after_libraries}'
end end
conf.archiver do |archiver| conf.archiver do |archiver|
archiver.command = ENV['TARGET_AR'] archiver.command = ENV['TARGET_AR']
archiver.archive_options = 'rs %{outfile} %{objs}' archiver.archive_options = 'rs "%{outfile}" %{objs}'
end end
end end
...@@ -4,9 +4,9 @@ MRuby::Toolchain.new(:visualcpp) do |conf, _params| ...@@ -4,9 +4,9 @@ MRuby::Toolchain.new(:visualcpp) do |conf, _params|
# C4013: implicit function declaration # C4013: implicit function declaration
cc.flags = [ENV['CFLAGS'] || %w(/c /nologo /W3 /we4013 /Zi /MD /O2 /D_CRT_SECURE_NO_WARNINGS)] cc.flags = [ENV['CFLAGS'] || %w(/c /nologo /W3 /we4013 /Zi /MD /O2 /D_CRT_SECURE_NO_WARNINGS)]
cc.defines = %w(MRB_STACK_EXTEND_DOUBLING) cc.defines = %w(MRB_STACK_EXTEND_DOUBLING)
cc.option_include_path = '/I%s' cc.option_include_path = %q[/I"%s"]
cc.option_define = '/D%s' cc.option_define = '/D%s'
cc.compile_options = "%{flags} /Fo%{outfile} %{infile}" cc.compile_options = %Q[%{flags} /Fo"%{outfile}" "%{infile}"]
cc.cxx_compile_flag = '/TP' cc.cxx_compile_flag = '/TP'
cc.cxx_exception_flag = '/EHs' cc.cxx_exception_flag = '/EHs'
end end
...@@ -15,9 +15,9 @@ MRuby::Toolchain.new(:visualcpp) do |conf, _params| ...@@ -15,9 +15,9 @@ MRuby::Toolchain.new(:visualcpp) do |conf, _params|
cxx.command = ENV['CXX'] || 'cl.exe' 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.flags = [ENV['CXXFLAGS'] || ENV['CFLAGS'] || %w(/c /nologo /W3 /Zi /MD /O2 /EHs /D_CRT_SECURE_NO_WARNINGS)]
cxx.defines = %w(MRB_STACK_EXTEND_DOUBLING) cxx.defines = %w(MRB_STACK_EXTEND_DOUBLING)
cxx.option_include_path = '/I%s' cxx.option_include_path = %q[/I"%s"]
cxx.option_define = '/D%s' cxx.option_define = '/D%s'
cxx.compile_options = "%{flags} /Fo%{outfile} %{infile}" cxx.compile_options = %Q[%{flags} /Fo"%{outfile}" "%{infile}"]
cxx.cxx_compile_flag = '/TP' cxx.cxx_compile_flag = '/TP'
cxx.cxx_exception_flag = '/EHs' cxx.cxx_exception_flag = '/EHs'
end end
...@@ -29,22 +29,22 @@ MRuby::Toolchain.new(:visualcpp) do |conf, _params| ...@@ -29,22 +29,22 @@ MRuby::Toolchain.new(:visualcpp) do |conf, _params|
linker.library_paths = %w() linker.library_paths = %w()
linker.option_library = '%s.lib' linker.option_library = '%s.lib'
linker.option_library_path = '/LIBPATH:%s' linker.option_library_path = '/LIBPATH:%s'
linker.link_options = "%{flags} /OUT:%{outfile} %{objs} %{flags_before_libraries} %{libs} %{flags_after_libraries}" linker.link_options = %Q[%{flags} /OUT:"%{outfile}" %{objs} %{flags_before_libraries} %{libs} %{flags_after_libraries}]
end end
conf.archiver do |archiver| conf.archiver do |archiver|
archiver.command = ENV['AR'] || 'lib.exe' archiver.command = ENV['AR'] || 'lib.exe'
archiver.archive_options = '/nologo /OUT:%{outfile} %{objs}' archiver.archive_options = '/nologo /OUT:"%{outfile}" %{objs}'
end end
conf.yacc do |yacc| conf.yacc do |yacc|
yacc.command = ENV['YACC'] || 'bison.exe' yacc.command = ENV['YACC'] || 'bison.exe'
yacc.compile_options = '-o %{outfile} %{infile}' yacc.compile_options = %q[-o "%{outfile}" "%{infile}"]
end end
conf.gperf do |gperf| conf.gperf do |gperf|
gperf.command = 'gperf.exe' gperf.command = 'gperf.exe'
gperf.compile_options = '-L ANSI-C -C -p -j1 -i 1 -g -o -t -N mrb_reserved_word -k"1,3,$" %{infile} > %{outfile}' gperf.compile_options = %q[-L ANSI-C -C -p -j1 -i 1 -g -o -t -N mrb_reserved_word -k"1,3,$" "%{infile}" > "%{outfile}"]
end end
conf.exts do |exts| conf.exts do |exts|
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment