summaryrefslogtreecommitdiffhomepage
path: root/tasks
diff options
context:
space:
mode:
Diffstat (limited to 'tasks')
-rw-r--r--tasks/libmruby.rake6
-rw-r--r--tasks/mruby_build.rake8
-rw-r--r--tasks/mruby_build_gem.rake6
-rw-r--r--tasks/toolchains/clang.rake4
-rw-r--r--tasks/toolchains/gcc.rake2
-rw-r--r--tasks/toolchains/vs2012.rake2
6 files changed, 16 insertions, 12 deletions
diff --git a/tasks/libmruby.rake b/tasks/libmruby.rake
index 108f42f59..6f84937fd 100644
--- a/tasks/libmruby.rake
+++ b/tasks/libmruby.rake
@@ -2,14 +2,14 @@ MRuby.each_target do
file libfile("#{build_dir}/lib/libmruby") => libmruby.flatten do |t|
archiver.run t.name, t.prerequisites
open("#{build_dir}/lib/libmruby.flags.mak", 'w') do |f|
- f.puts 'CFLAGS = "%s"' % cc.all_flags.gsub('"', '\\"')
+ f.puts 'MRUBY_CFLAGS = "%s"' % cc.all_flags.gsub('"', '\\"')
gem_flags = gems.map { |g| g.linker.flags }
gem_library_paths = gems.map { |g| g.linker.library_paths }
- f.puts 'LDFLAGS = "%s"' % linker.all_flags(gem_library_paths, gem_flags).gsub('"', '\\"')
+ f.puts 'MRUBY_LDFLAGS = "%s"' % linker.all_flags(gem_library_paths, gem_flags).gsub('"', '\\"')
gem_libraries = gems.map { |g| g.linker.libraries }
- f.puts 'LIBS = "%s"' % linker.library_flags(gem_libraries).gsub('"', '\\"')
+ f.puts 'MRUBY_LIBS = "%s"' % linker.library_flags(gem_libraries).gsub('"', '\\"')
end
end
end
diff --git a/tasks/mruby_build.rake b/tasks/mruby_build.rake
index b9e0d2749..711f7f024 100644
--- a/tasks/mruby_build.rake
+++ b/tasks/mruby_build.rake
@@ -29,10 +29,6 @@ module MRuby
conf.instance_eval(&@initializer)
end
- def toolchain(name)
- @@toolchains[name.to_s].setup(self)
- end
-
def self.load
Dir.glob("#{File.dirname(__FILE__)}/toolchains/*.rake").each do |file|
Kernel.load file
@@ -93,7 +89,9 @@ module MRuby
end
def toolchain(name)
- Toolchain.toolchains[name.to_s].setup(self)
+ tc = Toolchain.toolchains[name.to_s]
+ fail "Unknown #{name} toolchain" unless tc
+ tc.setup(self)
end
def build_dir
diff --git a/tasks/mruby_build_gem.rake b/tasks/mruby_build_gem.rake
index ae0a79447..80990773d 100644
--- a/tasks/mruby_build_gem.rake
+++ b/tasks/mruby_build_gem.rake
@@ -2,7 +2,11 @@ module MRuby
module LoadGems
def gem(gemdir, &block)
gemdir = load_external_gem(gemdir) if gemdir.is_a?(Hash)
- load File.join(gemdir, "mrbgem.rake")
+ gemrake = File.join(gemdir, "mrbgem.rake")
+
+ fail "Can't find #{gemrake}" unless File.exists?(gemrake)
+ load gemrake
+
Gem.current.dir = gemdir
Gem.current.build = MRuby::Build.current
Gem.current.build_config_initializer = block
diff --git a/tasks/toolchains/clang.rake b/tasks/toolchains/clang.rake
index 01dd5f234..1785c4c79 100644
--- a/tasks/toolchains/clang.rake
+++ b/tasks/toolchains/clang.rake
@@ -1,6 +1,8 @@
MRuby::Toolchain.new(:clang) do |conf|
toolchain :gcc
- conf.cc.command = ENV['CC'] || 'clang'
+ [conf.cc, conf.cxx, conf.objc].each do |cc|
+ cc.command = ENV['CC'] || 'clang'
+ end
conf.linker.command = ENV['LD'] || 'clang'
end
diff --git a/tasks/toolchains/gcc.rake b/tasks/toolchains/gcc.rake
index c624c8fc9..54fd3ecd8 100644
--- a/tasks/toolchains/gcc.rake
+++ b/tasks/toolchains/gcc.rake
@@ -1,5 +1,5 @@
MRuby::Toolchain.new(:gcc) do |conf|
- conf.cc do |cc|
+ [conf.cc, conf.cxx, conf.objc].each do |cc|
cc.command = ENV['CC'] || 'gcc'
cc.flags = [ENV['CFLAGS'] || %w(-g -O3 -Wall -Werror-implicit-function-declaration)]
cc.include_paths = ["#{root}/include"]
diff --git a/tasks/toolchains/vs2012.rake b/tasks/toolchains/vs2012.rake
index c3599a59b..b5d2298c2 100644
--- a/tasks/toolchains/vs2012.rake
+++ b/tasks/toolchains/vs2012.rake
@@ -1,5 +1,5 @@
MRuby::Toolchain.new(:vs2012) do |conf|
- conf.cc do |cc|
+ [conf.cc, conf.cxx].each do |cc|
cc.command = ENV['CC'] || 'cl.exe'
cc.flags = [ENV['CFLAGS'] || %w(/c /nologo /W3 /D_DEBUG /MDd /Zi /Od /RTC1 /DDISABLE_GEMS /DHAVE_STRING_H /DNO_GETTIMEOFDAY /D_CRT_SECURE_NO_WARNINGS)]
cc.include_paths = ["#{root}/include"]