Skip to content

Commit 22dc92a

Browse files
Add option to build with debug info
1 parent 27b1c14 commit 22dc92a

File tree

2 files changed

+23
-7
lines changed

2 files changed

+23
-7
lines changed

Rakefile

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ BUILD_SOURCES = [
1414
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"
1515

1616
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"] },
2121
}
2222

2323
BUILDS = [
@@ -128,7 +128,13 @@ class BuildPlan
128128
default_exts = profile[:default_exts]
129129
user_exts = profile[:user_exts]
130130

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+
132138
xldflags = []
133139

134140
args = ["--host", target, "--build", build_triple]
@@ -153,7 +159,12 @@ class BuildPlan
153159

154160
args << %Q(LDFLAGS="#{ldflags.join(" ")}")
155161
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
157168
args << "--disable-install-doc"
158169
args
159170
end

packages/npm-packages/ruby-wasm-wasi/build-package.sh

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ ruby_root="$1"
1414
package_dir="$(cd "$(dirname "$0")" && pwd)"
1515
dist_dir="$package_dir/dist"
1616
repo_dir="$package_dir/../../../"
17+
BUILD_WITH_DEBUG="${BUILD_WITH_DEBUG-""}"
1718

1819
rm -rf "$dist_dir"
1920

@@ -28,7 +29,11 @@ wit-bindgen js \
2829
npx tsc --build
2930
)
3031

31-
wasm-opt --strip-debug "$ruby_root/usr/local/bin/ruby" -o "$dist_dir/ruby.wasm"
32+
if [ -z "$BUILD_WITH_DEBUG" ]; then
33+
wasm-opt --strip-debug "$ruby_root/usr/local/bin/ruby" -o "$dist_dir/ruby.wasm"
34+
else
35+
cp "$ruby_root/usr/local/bin/ruby" "$dist_dir/ruby.wasm"
36+
fi
3237

3338
mkdir "$dist_dir/bindgen"
3439
cp $(find "$package_dir/src/bindgen" -name "*.js" -or -name "*.d.ts") "$dist_dir/bindgen"

0 commit comments

Comments
 (0)