Created
February 20, 2015 09:07
-
-
Save crimsonwoods/68090c14d6453901bf59 to your computer and use it in GitHub Desktop.
Sample build script for custom mruby based on "1.1.0" (multi-threading supported version)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
MRuby::Build.new do |conf| | |
# load specific toolchain settings | |
# Gets set by the VS command prompts. | |
if ENV['VisualStudioVersion'] || ENV['VSINSTALLDIR'] | |
toolchain :visualcpp | |
else | |
toolchain :gcc | |
end | |
enable_debug | |
# Use mrbgems | |
# conf.gem 'examples/mrbgems/ruby_extension_example' | |
# conf.gem 'examples/mrbgems/c_extension_example' do |g| | |
# g.cc.flags << '-g' # append cflags in this gem | |
# end | |
# conf.gem 'examples/mrbgems/c_and_ruby_extension_example' | |
# conf.gem :github => 'masuidrive/mrbgems-example', :checksum_hash => '76518e8aecd131d047378448ac8055fa29d974a9' | |
# conf.gem :git => 'git@github.com:masuidrive/mrbgems-example.git', :branch => 'master', :options => '-v' | |
conf.gem 'mrbgems/mruby-thread' | |
# include the default GEMs | |
conf.gembox 'default' | |
conf.cc.defines << %w(MRB_USE_MUTEX_API MRB_USE_GVL_API MRB_USE_THREAD_API) | |
conf.linker.libraries << %w(pthread) | |
# C compiler settings | |
# conf.cc do |cc| | |
# cc.command = ENV['CC'] || 'gcc' | |
# cc.flags = [ENV['CFLAGS'] || %w()] | |
# cc.include_paths = ["#{root}/include"] | |
# cc.defines = %w(DISABLE_GEMS) | |
# cc.option_include_path = '-I%s' | |
# cc.option_define = '-D%s' | |
# cc.compile_options = "%{flags} -MMD -o %{outfile} -c %{infile}" | |
# end | |
# mrbc settings | |
# conf.mrbc do |mrbc| | |
# mrbc.compile_options = "-g -B%{funcname} -o-" # The -g option is required for line numbers | |
# end | |
# Linker settings | |
# conf.linker do |linker| | |
# linker.command = ENV['LD'] || 'gcc' | |
# linker.flags = [ENV['LDFLAGS'] || []] | |
# linker.flags_before_libraries = [] | |
# linker.libraries = %w() | |
# linker.flags_after_libraries = [] | |
# linker.library_paths = [] | |
# linker.option_library = '-l%s' | |
# linker.option_library_path = '-L%s' | |
# linker.link_options = "%{flags} -o %{outfile} %{objs} %{libs}" | |
# end | |
# Archiver settings | |
# conf.archiver do |archiver| | |
# archiver.command = ENV['AR'] || 'ar' | |
# archiver.archive_options = 'rs %{outfile} %{objs}' | |
# end | |
# Parser generator settings | |
# conf.yacc do |yacc| | |
# yacc.command = ENV['YACC'] || 'bison' | |
# yacc.compile_options = '-o %{outfile} %{infile}' | |
# end | |
# gperf settings | |
# conf.gperf do |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}' | |
# end | |
# file extensions | |
# conf.exts do |exts| | |
# exts.object = '.o' | |
# exts.executable = '' # '.exe' if Windows | |
# exts.library = '.a' | |
# end | |
# file separetor | |
# conf.file_separator = '/' | |
# bintest | |
# conf.enable_bintest | |
end | |
MRuby::Build.new('host-debug') do |conf| | |
# load specific toolchain settings | |
# Gets set by the VS command prompts. | |
if ENV['VisualStudioVersion'] || ENV['VSINSTALLDIR'] | |
toolchain :visualcpp | |
else | |
toolchain :gcc | |
end | |
enable_debug | |
conf.gem 'mrbgems/mruby-thread' | |
# include the default GEMs | |
conf.gembox 'default' | |
# C compiler settings | |
conf.cc.defines = %w(ENABLE_DEBUG) | |
conf.cc.defines << %w(MRB_USE_MUTEX_API MRB_USE_GVL_API MRB_USE_THREAD_API) | |
conf.linker.libraries << %w(pthread) | |
# Generate mruby debugger command (require mruby-eval) | |
conf.gem :core => "mruby-bin-debugger" | |
# bintest | |
# conf.enable_bintest | |
end | |
# Define cross build settings | |
# MRuby::CrossBuild.new('32bit') do |conf| | |
# toolchain :gcc | |
# | |
# conf.cc.flags << "-m32" | |
# conf.linker.flags << "-m32" | |
# | |
# conf.build_mrbtest_lib_only | |
# | |
# conf.gem 'examples/mrbgems/c_and_ruby_extension_example' | |
# | |
# conf.test_runner.command = 'env' | |
# | |
# end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment