• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1def config(conf)
2  toolchain :clang if ENV['MRUBY_CC'].include? "clang"
3  toolchain :gcc if ENV['MRUBY_CC'].include? "gcc"
4
5  conf.cc.command = ENV['MRUBY_CC']
6  conf.cxx.command = ENV['MRUBY_CXX']
7
8  if ENV['MRUBY_LD']
9    conf.linker.command = ENV['MRUBY_LD']
10  end
11  if ENV['MRUBY_AR']
12    conf.archiver.command = ENV['MRUBY_AR']
13  end
14
15  # C++ project needs this.  Without this, mruby exception does not
16  # properly destroy C++ object allocated on stack.
17  conf.enable_cxx_exception
18
19  conf.build_dir = ENV['BUILD_DIR']
20
21  # Here is the mruby gems included in default.gembox minus
22  # mruby-bin-debugger which causes the application to crash.
23  conf.gembox "stdlib"
24  conf.gembox "stdlib-ext"
25  conf.gembox "stdlib-io"
26  conf.gembox "math"
27  conf.gembox "metaprog"
28
29  # Generate mrbc command
30  conf.gem :core => "mruby-bin-mrbc"
31
32  # Generate mirb command
33  conf.gem :core => "mruby-bin-mirb"
34
35  # Generate mruby command
36  conf.gem :core => "mruby-bin-mruby"
37
38  # Generate mruby-strip command
39  conf.gem :core => "mruby-bin-strip"
40
41  # Generate mruby-config command
42  conf.gem :core => "mruby-bin-config"
43
44  # Added by nghttp2 project
45  conf.gem :core => 'mruby-eval'
46end
47
48if ENV['BUILD'] == ENV['HOST'] then
49  MRuby::Build.new do |conf|
50    config(conf)
51  end
52else
53  MRuby::CrossBuild.new(ENV['HOST']) do |conf|
54    config(conf)
55  end
56end
57