diff options
Diffstat (limited to 'core/mruby_build_host.rb')
| -rw-r--r-- | core/mruby_build_host.rb | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/core/mruby_build_host.rb b/core/mruby_build_host.rb new file mode 100644 index 0000000..7e0b77c --- /dev/null +++ b/core/mruby_build_host.rb @@ -0,0 +1,94 @@ +configure_project_root = File.expand_path('../..') +configure_mrbgem_dir = File.expand_path("#{configure_project_root}/mrbgems") + + +MRuby::Build.new do |conf| + # load specific toolchain settings + conf.toolchain :clang + #conf.toolchain + + disable_lock # disables being stuck on a single commit + + # -- CORE GEMS -- + conf.gembox "stdlib" + conf.gembox "stdlib-ext" + conf.gembox "math" + conf.gembox "metaprog" + #conf.gembox "stdlib-io" + + # Use standard IO/File class + conf.gem :core => "mruby-io" + + # TODO: this gem doesnt current work + # with windows export + #conf.gem :core => "mruby-socket" + + # Use standard print/puts/p + conf.gem :core => "mruby-print" + + # Generate mrbc command + conf.gem :core => "mruby-bin-mrbc" + + # Generate mirb command + conf.gem :core => "mruby-bin-mirb" + + # Generate mruby command + conf.gem :core => "mruby-bin-mruby" + + # Generate mruby-strip command + conf.gem :core => "mruby-bin-strip" + + # Generate mruby-config command + conf.gem :core => "mruby-bin-config" + + # -- POTENTIAL GEMS -- + # gems that we may want incorperated + + # Simple Http + #conf.gem :git => 'https://github.com/matsumotory/mruby-simplehttp' + + # Memory Profiler + #conf.gem :git => 'https://github.com/iij/mruby-memprof' + + # Testing Framework + #conf.gem :git => 'https://github.com/iij/mruby-mtest' + + # Regex + #conf.gem :git => 'https://github.com/iij/mruby-regexp-pcre' + + # JSON + #conf.gem :git => 'https://github.com/iij/mruby-iijson' + + # Dir + #conf.gem :git => 'https://github.com/iij/mruby-dir' + + # -- YOUR GEMS -- + # gems added into the mrbgems directory + + Dir.each_child(configure_mrbgem_dir) do |mrb_gem| + conf.gem "#{configure_mrbgem_dir}/#{mrb_gem}" + end + + # --- + + # C compiler settings + conf.cc do |cc| + cc.command = 'zig cc -target native -O2' + cc.include_paths << ["#{configure_project_root}/vendor/tux/include"] + end + + # Linker settings + conf.linker do |linker| + #linker.command = ENV['LD'] || 'gcc' + linker.command = 'zig c++ -target native -O2' + linker.flags << ['-lraylib -lGL -lm -lpthread -ldl -lrt -lX11'] + linker.library_paths << ["#{configure_project_root}/vendor/tux/lib"] + end + + conf.cxx.command = 'zig c++ -target native -O2' + + # Turn on `enable_debug` for better debugging + # conf.enable_debug + conf.enable_bintest + conf.enable_test +end |
