mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
This commit is contained in:
+1
-1
@@ -162,7 +162,7 @@ module MRuby
|
||||
compilers.each { |c|
|
||||
c.defines += %w(MRB_ENABLE_CXX_EXCEPTION MRB_ENABLE_CXX_ABI)
|
||||
c.flags << c.cxx_compile_flag
|
||||
c.flags.delete('-std=gnu99')
|
||||
c.flags = c.flags.flatten - c.cxx_invalid_flags.flatten
|
||||
}
|
||||
linker.command = cxx.command if toolchains.find { |v| v == 'gcc' }
|
||||
@cxx_abi_enabled = true
|
||||
|
||||
@@ -41,7 +41,7 @@ module MRuby
|
||||
class Command::Compiler < Command
|
||||
attr_accessor :flags, :include_paths, :defines, :source_exts
|
||||
attr_accessor :compile_options, :option_define, :option_include_path, :out_ext
|
||||
attr_accessor :cxx_compile_flag, :cxx_exception_flag
|
||||
attr_accessor :cxx_compile_flag, :cxx_exception_flag, :cxx_invalid_flags
|
||||
|
||||
def initialize(build, source_exts=[])
|
||||
super(build)
|
||||
@@ -53,6 +53,7 @@ module MRuby
|
||||
@option_include_path = '-I%s'
|
||||
@option_define = '-D%s'
|
||||
@compile_options = '%{flags} -o %{outfile} -c %{infile}'
|
||||
@cxx_invalid_flags = []
|
||||
end
|
||||
|
||||
alias header_search_paths include_paths
|
||||
|
||||
@@ -1,20 +1,23 @@
|
||||
MRuby::Toolchain.new(:gcc) do |conf, params|
|
||||
default_command = params[:default_command] || 'gcc'
|
||||
compile_flags = %w(-g -O3 -Wall -Wundef -Werror-implicit-function-declaration)
|
||||
compiler_flags = %w(-g -O3 -Wall -Wundef)
|
||||
c_mandatory_flags = %w(-std=gnu99)
|
||||
cxx_invalid_flags = %w(-Wdeclaration-after-statement -Werror-implicit-function-declaration)
|
||||
|
||||
[conf.cc, conf.objc, conf.asm, conf.cxx].each do |compiler|
|
||||
if compiler == conf.cxx
|
||||
compiler.command = ENV['CXX'] || default_command.sub(/cc|$/, '++')
|
||||
compiler.flags = [ENV['CXXFLAGS'] || ENV['CFLAGS'] || compile_flags]
|
||||
compiler.flags = [ENV['CXXFLAGS'] || ENV['CFLAGS'] || compiler_flags]
|
||||
else
|
||||
compiler.command = ENV['CC'] || default_command
|
||||
compiler.flags = ['-std=gnu99', ENV['CFLAGS'] || [compile_flags, %w(-Wdeclaration-after-statement -Wwrite-strings)]]
|
||||
compiler.flags = [c_mandatory_flags, ENV['CFLAGS'] || [compiler_flags, cxx_invalid_flags, %w(-Wwrite-strings)]]
|
||||
end
|
||||
compiler.option_include_path = '-I%s'
|
||||
compiler.option_define = '-D%s'
|
||||
compiler.compile_options = '%{flags} -MMD -o %{outfile} -c %{infile}'
|
||||
compiler.cxx_compile_flag = '-x c++ -std=c++03'
|
||||
compiler.cxx_exception_flag = '-fexceptions'
|
||||
compiler.cxx_invalid_flags = c_mandatory_flags + cxx_invalid_flags
|
||||
end
|
||||
|
||||
conf.linker do |linker|
|
||||
|
||||
+1
-1
@@ -40,7 +40,7 @@ MRuby::Build.new('cxx_abi') do |conf|
|
||||
toolchain :gcc
|
||||
|
||||
conf.gembox 'full-core'
|
||||
conf.cc.flags += %w(-Werror=declaration-after-statement -fpermissive)
|
||||
conf.cc.flags += %w(-fpermissive)
|
||||
conf.compilers.each do |c|
|
||||
c.defines += %w(MRB_GC_FIXED_ARENA)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user