summaryrefslogtreecommitdiffstats
path: root/web/server/h2o/libh2o/deps/mruby/tasks/toolchains/openwrt.rake
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--web/server/h2o/libh2o/deps/mruby/tasks/toolchains/openwrt.rake38
1 files changed, 38 insertions, 0 deletions
diff --git a/web/server/h2o/libh2o/deps/mruby/tasks/toolchains/openwrt.rake b/web/server/h2o/libh2o/deps/mruby/tasks/toolchains/openwrt.rake
new file mode 100644
index 00000000..1637f6d9
--- /dev/null
+++ b/web/server/h2o/libh2o/deps/mruby/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