@@ -14,10 +14,10 @@ BUILD_SOURCES = [
14
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"
15
15
16
16
BUILD_PROFILES = {
17
- "minimal" => { default_exts : "" , user_exts : [ ] } ,
18
- "minimal-js" => { default_exts : "" , user_exts : [ "js" , "witapi" ] } ,
19
- "full" => { default_exts : FULL_EXTS , user_exts : [ ] } ,
20
- "full-js" => { default_exts : FULL_EXTS , user_exts : [ "js" , "witapi" ] } ,
17
+ "minimal" => { debug : false , default_exts : "" , user_exts : [ ] } ,
18
+ "minimal-js" => { debug : false , default_exts : "" , user_exts : [ "js" , "witapi" ] } ,
19
+ "full" => { debug : false , default_exts : FULL_EXTS , user_exts : [ ] } ,
20
+ "full-js" => { debug : false , default_exts : FULL_EXTS , user_exts : [ "js" , "witapi" ] } ,
21
21
}
22
22
23
23
BUILDS = [
@@ -128,7 +128,13 @@ class BuildPlan
128
128
default_exts = profile [ :default_exts ]
129
129
user_exts = profile [ :user_exts ]
130
130
131
- ldflags = %w( -Xlinker -zstack-size=16777216 )
131
+ ldflags = if profile [ :debug ]
132
+ # use --stack-first to detect stack overflow easily
133
+ %w( -Xlinker --stack-first -Xlinker -z -Xlinker stack-size=16777216 )
134
+ else
135
+ %w( -Xlinker -zstack-size=16777216 )
136
+ end
137
+
132
138
xldflags = [ ]
133
139
134
140
args = [ "--host" , target , "--build" , build_triple ]
@@ -153,7 +159,12 @@ class BuildPlan
153
159
154
160
args << %Q(LDFLAGS="#{ ldflags . join ( " " ) } ")
155
161
args << %Q(XLDFLAGS="#{ xldflags . join ( " " ) } ")
156
- args << %Q(debugflags="-g0")
162
+ if profile [ :debug ]
163
+ args << %Q(debugflags="-g")
164
+ args << %Q(wasmoptflags="-O2 -g")
165
+ else
166
+ args << %Q(debugflags="-g0")
167
+ end
157
168
args << "--disable-install-doc"
158
169
args
159
170
end
0 commit comments