@@ -11,7 +11,7 @@ BUILD_SOURCES = [
11
11
} ,
12
12
]
13
13
14
- FULL_EXTS = "bigdecimal,cgi/escape,continuation,coverage,date,dbm,digest/bubblebabble,digest,digest/md5,digest/rmd160,digest/sha1,digest/sha2,etc,fcntl,fiber,gdbm,json,json/generator,json/parser,nkf,objspace,pathname,psych,racc/cparse,rbconfig/sizeof,ripper,stringio,strscan,monitor"
14
+ FULL_EXTS = "bigdecimal,cgi/escape,continuation,coverage,date,dbm,digest/bubblebabble,digest,digest/md5,digest/rmd160,digest/sha1,digest/sha2,etc,fcntl,fiber,gdbm,json,json/generator,json/parser,nkf,objspace,pathname,psych,racc/cparse,rbconfig/sizeof,ripper,stringio,strscan,monitor,zlib "
15
15
16
16
BUILD_PROFILES = {
17
17
"minimal" => { debug : false , default_exts : "" , user_exts : [ ] } ,
@@ -115,7 +115,7 @@ class BuildPlan
115
115
116
116
def dep_tasks
117
117
return [ baseruby_name ] if @params [ :profile ] == "minimal"
118
- [ baseruby_name , "deps:libyaml-#{ @params [ :target ] } " ]
118
+ [ baseruby_name , "deps:libyaml-#{ @params [ :target ] } " , "deps:zlib- #{ @params [ :target ] } " ]
119
119
end
120
120
121
121
def check_deps
@@ -157,6 +157,7 @@ class BuildPlan
157
157
args << "--with-static-linked-ext"
158
158
args << %Q(--with-ext="#{ default_exts } ")
159
159
args << %Q(--with-libyaml-dir="#{ deps_install_dir } /libyaml/usr/local")
160
+ args << %Q(--with-zlib-dir="#{ deps_install_dir } /zlib")
160
161
args << %Q(--with-baseruby="#{ baseruby_path } ")
161
162
162
163
case target
@@ -216,6 +217,30 @@ namespace :deps do
216
217
sh "./configure #{ configure_args . join ( " " ) } " , chdir : build_dir
217
218
sh "make install DESTDIR=#{ install_dir } /libyaml" , chdir : build_dir
218
219
end
220
+
221
+ zlib_version = "1.2.12"
222
+ desc "build zlib #{ zlib_version } for #{ target } "
223
+ task "zlib-#{ target } " do
224
+ next if Dir . exist? ( "#{ install_dir } /zlib" )
225
+
226
+ build_dir = File . join ( Dir . pwd , "/build/deps/#{ target } /zlib-#{ zlib_version } " )
227
+ mkdir_p File . dirname ( build_dir )
228
+ rm_rf build_dir
229
+
230
+ sh "curl -L https://zlib.net/zlib-#{ zlib_version } .tar.gz | tar xz" , chdir : File . dirname ( build_dir )
231
+
232
+ configure_args = [ ]
233
+ case target
234
+ when "wasm32-unknown-wasi"
235
+ configure_args . concat ( %W( CC=#{ ENV [ "WASI_SDK_PATH" ] } /bin/clang RANLIB=#{ ENV [ "WASI_SDK_PATH" ] } /bin/llvm-ranlib AR=#{ ENV [ "WASI_SDK_PATH" ] } /bin/llvm-ar ) )
236
+ when "wasm32-unknown-emscripten"
237
+ configure_args . concat ( %W( CC=emcc RANLIB=emranlib AR=emar ) )
238
+ else
239
+ raise "unknown target: #{ target } "
240
+ end
241
+ sh "#{ configure_args . join ( " " ) } ./configure --prefix=#{ install_dir } /zlib --static" , chdir : build_dir
242
+ sh "make install" , chdir : build_dir
243
+ end
219
244
end
220
245
end
221
246
0 commit comments