summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--Rakefile8
-rw-r--r--psych.gemspec1
3 files changed, 10 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index 11c9ee3..3d433c1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,3 +12,4 @@
/pkg/
/spec/reports/
/tmp/
+/vendor
diff --git a/Rakefile b/Rakefile
index a72ca50..c5d78f2 100644
--- a/Rakefile
+++ b/Rakefile
@@ -27,7 +27,15 @@ else
require 'rake/extensiontask'
Rake::ExtensionTask.new("psych") do |ext|
ext.lib_dir = File.join(*['lib', ENV['FAT_DIR']].compact)
+ ext.cross_compile = true
+ ext.cross_platform = %w[x86-mingw32 x64-mingw32]
end
end
+task 'gem:native' do
+ require 'rake_compiler_dock'
+ sh "bundle package" # Avoid repeated downloads of gems by using gem files from the host.
+ RakeCompilerDock.sh "bundle --local && rake cross native gem"
+end
+
task :default => [:compile, :test]
diff --git a/psych.gemspec b/psych.gemspec
index d1764b2..1875782 100644
--- a/psych.gemspec
+++ b/psych.gemspec
@@ -46,6 +46,7 @@ DESCRIPTION
s.required_rubygems_version = Gem::Requirement.new(">= 0")
s.add_development_dependency 'rake-compiler', ">= 0.4.1"
+ s.add_development_dependency 'rake-compiler-dock', ">= 0.6.1"
s.add_development_dependency 'minitest', "~> 5.0"
if RUBY_ENGINE == 'jruby'