Skip to content

Commit 06a9e8e

Browse files
Remove rake dependency from ruby_source product
1 parent e29081b commit 06a9e8e

File tree

4 files changed

+18
-23
lines changed

4 files changed

+18
-23
lines changed

lib/ruby_wasm/build_system/product/baseruby.rb

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
require "rake"
21
require_relative "./product"
32

43
module RubyWasm
@@ -25,7 +24,7 @@ def name
2524

2625
def build
2726
FileUtils.mkdir_p product_build_dir
28-
Rake::Task[source.configure_file].invoke
27+
@source.build
2928
return if Dir.exist?(install_dir)
3029
Dir.chdir(product_build_dir) do
3130
system "#{source.configure_file} --prefix=#{install_dir} --disable-install-doc"

lib/ruby_wasm/build_system/product/crossruby.rb

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ def do_extconf(crossruby)
6464
]
6565
# Clear RUBYOPT to avoid loading unrelated bundle setup
6666
system ({ "RUBYOPT" => "" }),
67-
"#{crossruby.baseruby_path} #{extconf_args.join(" ")}",
68-
chdir: objdir
67+
"#{crossruby.baseruby_path} #{extconf_args.join(" ")}",
68+
chdir: objdir
6969
end
7070

7171
def do_install_rb(crossruby)
@@ -115,8 +115,7 @@ def initialize(
115115
def configure(reconfigure: false)
116116
if !File.exist?("#{build_dir}/Makefile") || reconfigure
117117
args = configure_args(RbConfig::CONFIG["host"], toolchain)
118-
system "#{source.configure_file} #{args.join(" ")}",
119-
chdir: build_dir
118+
system "#{source.configure_file} #{args.join(" ")}", chdir: build_dir
120119
end
121120
# NOTE: we need rbconfig.rb at configuration time to build user given extensions with mkmf
122121
system "make rbconfig.rb", chdir: build_dir
@@ -131,8 +130,7 @@ def build_exts
131130
def build(remake: false, reconfigure: false)
132131
FileUtils.mkdir_p dest_dir
133132
FileUtils.mkdir_p build_dir
134-
Rake::Task[source.configure_file].invoke
135-
@baseruby.build
133+
[@source, @baseruby].each(&:build)
136134
dep_tasks.each(&:invoke)
137135
configure(reconfigure: reconfigure)
138136
build_exts

lib/ruby_wasm/build_system/product/ruby_source.rb

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
require "rake"
21
require_relative "./product"
32

43
module RubyWasm
@@ -24,24 +23,23 @@ def fetch
2423
case @params[:type]
2524
when "github"
2625
repo_url = "https://github.com/#{@params[:repo]}.git"
27-
mkdir_p src_dir
28-
sh "git init", chdir: src_dir
29-
sh "git remote add origin #{repo_url}", chdir: src_dir
30-
sh "git fetch --depth 1 origin #{@params[:rev]}", chdir: src_dir
31-
sh "git checkout #{@params[:rev]}", chdir: src_dir
26+
FileUtils.mkdir_p src_dir
27+
system "git init", chdir: src_dir
28+
system "git remote add origin #{repo_url}", chdir: src_dir
29+
system "git fetch --depth 1 origin #{@params[:rev]}", chdir: src_dir
30+
system "git checkout #{@params[:rev]}", chdir: src_dir
3231
else
3332
raise "unknown source type: #{@params[:type]}"
3433
end
3534
end
3635

37-
def define_task
38-
directory src_dir do
39-
fetch
40-
end
41-
file configure_file => [src_dir] do
42-
sh "ruby tool/downloader.rb -d tool -e gnu config.guess config.sub",
43-
chdir: src_dir
44-
sh "./autogen.sh", chdir: src_dir
36+
def build
37+
fetch unless File.exist?(src_dir)
38+
unless File.exist?(configure_file)
39+
Dir.chdir(src_dir) do
40+
system "ruby tool/downloader.rb -d tool -e gnu config.guess config.sub"
41+
system "./autogen.sh"
42+
end
4543
end
4644
end
4745
end

lib/ruby_wasm/rake_task.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ def initialize(
4848
@zlib =
4949
add_product RubyWasm::ZlibProduct.new(@build_dir, @target, @toolchain)
5050
@wasi_vfs = add_product RubyWasm::WasiVfsProduct.new(@build_dir)
51-
@source = add_product RubyWasm::BuildSource.new(src, @build_dir)
51+
@source = RubyWasm::BuildSource.new(src, @build_dir)
5252
@baseruby = RubyWasm::BaseRubyProduct.new(@build_dir, @source)
5353

5454
build_params =

0 commit comments

Comments
 (0)