diff options
| author | Daniel Bovensiepen <[email protected]> | 2016-02-11 21:32:42 +0800 |
|---|---|---|
| committer | Daniel Bovensiepen <[email protected]> | 2016-02-11 21:32:42 +0800 |
| commit | fcbaafaa2cc8e40913c6075c768cda8c0c79eacd (patch) | |
| tree | ccda4c9a3ce9ec13eab9b76c8dcebf02f18eb97a /tasks/toolchains | |
| parent | 18870428bc4489d25ec89c973fe1d8e67250c29c (diff) | |
| download | mruby-fcbaafaa2cc8e40913c6075c768cda8c0c79eacd.tar.gz mruby-fcbaafaa2cc8e40913c6075c768cda8c0c79eacd.zip | |
Add toolchain support for OpenWRT
Diffstat (limited to 'tasks/toolchains')
| -rw-r--r-- | tasks/toolchains/openwrt.rake | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/tasks/toolchains/openwrt.rake b/tasks/toolchains/openwrt.rake new file mode 100644 index 000000000..1637f6d91 --- /dev/null +++ b/tasks/toolchains/openwrt.rake @@ -0,0 +1,38 @@ +# usage of environmental variables to set the +# cross compiling toolchain proper +MRuby::Toolchain.new(:openwrt) do |conf| + [conf.cc, conf.objc, conf.asm].each do |cc| + cc.command = ENV['TARGET_CC'] + cc.flags = ENV['TARGET_CFLAGS'] + cc.include_paths = ["#{MRUBY_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 + + [conf.cxx].each do |cxx| + cxx.command = ENV['TARGET_CXX'] + cxx.flags = ENV['TARGET_CXXFLAGS'] + cxx.include_paths = ["#{MRUBY_ROOT}/include"] + cxx.defines = %w(DISABLE_GEMS) + cxx.option_include_path = '-I%s' + cxx.option_define = '-D%s' + cxx.compile_options = '%{flags} -MMD -o %{outfile} -c %{infile}' + end + + conf.linker do |linker| + linker.command = ENV['TARGET_CC'] + linker.flags = ENV['TARGET_LDFLAGS'] + linker.libraries = %w(m) + linker.library_paths = [] + linker.option_library = '-l%s' + linker.option_library_path = '-L%s' + linker.link_options = '%{flags} -o %{outfile} %{objs} %{flags_before_libraries} %{libs} %{flags_after_libraries}' + end + + conf.archiver do |archiver| + archiver.command = ENV['TARGET_AR'] + archiver.archive_options = 'rs %{outfile} %{objs}' + end +end |
