summaryrefslogtreecommitdiffhomepage
path: root/build_config/host-shared.rb
diff options
context:
space:
mode:
authorKOBAYASHI Shuji <[email protected]>2020-10-19 15:03:22 +0900
committerKOBAYASHI Shuji <[email protected]>2020-10-19 15:03:22 +0900
commit81c21088196fd92d08c253efc2feb8dbead88acf (patch)
tree8429a165026b2335dd1d994fca790906e1721ce4 /build_config/host-shared.rb
parent27492e53a0440aee7c411d5e72b6f092cf85d6a1 (diff)
downloadmruby-81c21088196fd92d08c253efc2feb8dbead88acf.tar.gz
mruby-81c21088196fd92d08c253efc2feb8dbead88acf.zip
Revert `MRUBY_TARGET` mechanism; ref #5096
* In explanation of mruby, the expression `build_config.rb` is frequently used including official documents, so I think that it will not make sense if the file is no longer used. * The `MRUBY_TARGET` mechanism seems to have little improvement, so I don't think it should be changed to avoid unnecessary confusion. * `MRUBY_TARGET` and `MRuby.targets` represent somewhat different things, so using the same term "target" is a bit confusing. The mechanism that can be written short when using a file under `build_config` (renamed from `target`) directory remains (`build_config/${MRUBY_CONFIG}.rb` is used if the path specified in `MRUBY_CONFIG` doesn't exist).
Diffstat (limited to 'build_config/host-shared.rb')
-rw-r--r--build_config/host-shared.rb36
1 files changed, 36 insertions, 0 deletions
diff --git a/build_config/host-shared.rb b/build_config/host-shared.rb
new file mode 100644
index 000000000..8b5028837
--- /dev/null
+++ b/build_config/host-shared.rb
@@ -0,0 +1,36 @@
+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
+
+ # include the GEM box
+ conf.gembox 'default'
+
+ # C compiler settings
+ conf.cc do |cc|
+ cc.flags = '-fPIC'
+ end
+
+ conf.archiver do |archiver|
+ archiver.command = 'gcc'
+ archiver.archive_options = '-shared -o %{outfile} %{objs}'
+ end
+
+ # file extensions
+ conf.exts do |exts|
+ exts.library = '.so'
+ end
+
+ # file separetor
+ # conf.file_separator = '/'
+
+ # Turn on `enable_debug` for better debugging
+ enable_debug
+ conf.enable_bintest
+ conf.enable_test
+end