@@ -68,28 +68,14 @@ BUILD_PROFILES = {
6868 }
6969}
7070
71- BUILDS = [
72- { src : "head" , target : "wasm32-unknown-wasi" , profile : "minimal" } ,
73- { src : "head" , target : "wasm32-unknown-wasi" , profile : "minimal-debug" } ,
74- { src : "head" , target : "wasm32-unknown-wasi" , profile : "minimal-js" } ,
75- { src : "head" , target : "wasm32-unknown-wasi" , profile : "minimal-js-debug" } ,
76- { src : "head" , target : "wasm32-unknown-wasi" , profile : "full" } ,
77- { src : "head" , target : "wasm32-unknown-wasi" , profile : "full-debug" } ,
78- { src : "head" , target : "wasm32-unknown-wasi" , profile : "full-js" } ,
79- { src : "head" , target : "wasm32-unknown-wasi" , profile : "full-js-debug" } ,
80- { src : "head" , target : "wasm32-unknown-emscripten" , profile : "minimal" } ,
81- { src : "head" , target : "wasm32-unknown-emscripten" , profile : "full" } ,
82- { src : "3_2" , target : "wasm32-unknown-wasi" , profile : "minimal" } ,
83- { src : "3_2" , target : "wasm32-unknown-wasi" , profile : "minimal-debug" } ,
84- { src : "3_2" , target : "wasm32-unknown-wasi" , profile : "minimal-js" } ,
85- { src : "3_2" , target : "wasm32-unknown-wasi" , profile : "minimal-js-debug" } ,
86- { src : "3_2" , target : "wasm32-unknown-wasi" , profile : "full" } ,
87- { src : "3_2" , target : "wasm32-unknown-wasi" , profile : "full-debug" } ,
88- { src : "3_2" , target : "wasm32-unknown-wasi" , profile : "full-js" } ,
89- { src : "3_2" , target : "wasm32-unknown-wasi" , profile : "full-js-debug" } ,
90- { src : "3_2" , target : "wasm32-unknown-emscripten" , profile : "minimal" } ,
91- { src : "3_2" , target : "wasm32-unknown-emscripten" , profile : "full" }
92- ]
71+ BUILDS =
72+ BUILD_SOURCES . keys . flat_map do |src |
73+ %w[ wasm32-unknown-wasi wasm32-unknown-emscripten ] . flat_map do |target |
74+ BUILD_PROFILES . keys . map do |profile |
75+ { src : src , target : target , profile : profile }
76+ end
77+ end
78+ end
9379
9480LIB_ROOT = File . dirname ( __FILE__ )
9581
@@ -99,11 +85,13 @@ namespace :build do
9985 BUILDS . each do |params |
10086 name = "#{ params [ :src ] } -#{ params [ :target ] } -#{ params [ :profile ] } "
10187 source = BUILD_SOURCES [ params [ :src ] ] . merge ( name : params [ :src ] )
102- options = params . merge ( BUILD_PROFILES [ params [ :profile ] ] ) . merge ( src : source )
103- debug = options [ :debug ]
104- options . delete :profile
105- options . delete :user_exts
106- options . delete :debug
88+ profile = BUILD_PROFILES [ params [ :profile ] ]
89+ options = {
90+ src : source ,
91+ target : params [ :target ] ,
92+ default_exts : profile [ :default_exts ]
93+ }
94+ debug = profile [ :debug ]
10795 RubyWasm ::BuildTask . new ( name , **options ) do |t |
10896 if debug
10997 t . crossruby . debugflags = %w[ -g ]
@@ -123,7 +111,7 @@ namespace :build do
123111
124112 toolchain = t . toolchain
125113 t . crossruby . user_exts =
126- BUILD_PROFILES [ params [ : profile] ] [ :user_exts ] . map do |ext |
114+ profile [ :user_exts ] . map do |ext |
127115 srcdir = File . join ( LIB_ROOT , "ext" , ext )
128116 RubyWasm ::CrossRubyExtProduct . new ( srcdir , toolchain )
129117 end
0 commit comments