Skip to content

Commit 3eda5ee

Browse files
wasi build
1 parent b72e686 commit 3eda5ee

File tree

7 files changed

+54
-3
lines changed

7 files changed

+54
-3
lines changed

.devcontainer/devcontainer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"postCreateCommand": "/workspaces/wasm-git/.devcontainer/post-create.sh",
33
"customizations": {
44
"vscode": {
5-
"extensions": []
5+
"extensions": ["dtsvet.vscode-wasm","ms-vscode.cpptools-extension-pack"]
66
}
77
}
88
}

.devcontainer/post-create.sh

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/bin/bash
2-
2+
curl https://wasmtime.dev/install.sh -sSf | bash
33
npm install
44
sh setup.sh
55

@@ -9,3 +9,21 @@ git pull
99
./emsdk install latest
1010
./emsdk activate latest
1111
cd ..
12+
13+
sudo apt update
14+
sudo apt install -y clang-12
15+
sudo apt install -y lld-12
16+
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-12 100
17+
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-12 100
18+
19+
sudo ln -s /usr/bin/wasm-ld-12 /usr/bin/wasm-ld
20+
21+
cd wasibuild
22+
23+
wget https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-20/wasi-sdk-20.0-linux.tar.gz
24+
tar -xvzf wasi-sdk-20.0-linux.tar.gz
25+
sudo cp -r wasi-sdk-20.0/lib/clang/16/lib/wasi /usr/lib/llvm-12/lib/clang/12.0.0/lib/
26+
27+
cd ..
28+
29+
curl https://wasmtime.dev/install.sh -sSf | bash

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ package
1010
.idea
1111
emsdk
1212
nodefsclonetest
13-
google-chrome-stable_current_amd64.deb
13+
google-chrome-stable_current_amd64.deb

setup.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
#!/bin/bash
2+
13
curl -L https://github.com/libgit2/libgit2/archive/refs/tags/v1.7.1.tar.gz --output libgit2.tar.gz
24
tar -xzf libgit2.tar.gz
35
mv libgit2-1.7.1 libgit2

setup_wasi.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/bin/bash
2+
3+
curl -L https://github.com/libgit2/libgit2/archive/refs/tags/v1.7.1.tar.gz --output libgit2.tar.gz
4+
tar -xzf libgit2.tar.gz
5+
mv libgit2-1.7.1 libgit2
6+
rm libgit2.tar.gz

wasibuild/.gitignore

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
CMake*
2+
src
3+
deps
4+
examples
5+
libgit2*
6+
include
7+
Makefile
8+
*.cmake
9+
*.a
10+
tests
11+
wasi-sdk*

wasibuild/build.sh

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/bin/bash
2+
BUILD_TYPE=Debug
3+
4+
# Set build type to Release for release
5+
if [ "$1" == "Release" ]; then
6+
BUILD_TYPE=Release
7+
EXTRA_CMAKE_C_FLAGS="-Oz"
8+
fi
9+
10+
cmake -D CMAKE_C_COMPILER=clang -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_C_FLAGS="--target=wasm32-wasi --sysroot=wasi-sdk-20.0/share/wasi-sysroot $EXTRA_CMAKE_C_FLAGS" -DREGEX_BACKEND=regcomp -DSONAME=OFF -DUSE_HTTPS=OpenSSL -DBUILD_SHARED_LIBS=OFF -DTHREADSAFE=OFF -DUSE_SSH=OFF -DBUILD_CLAR=OFF -DBUILD_EXAMPLES=ON ../libgit2
11+
make lg2 VERBOSE=1
12+
13+
14+
cd /workspaces/wasm-git/wasibuild/src/util && /usr/bin/clang -DOPENSSL_API_COMPAT=0x10100000L -DSHA1DC_CUSTOM_INCLUDE_SHA1_C=\"git2_util.h\" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C=\"git2_util.h\" -DSHA1DC_NO_STANDARD_INCLUDES=1 -I/workspaces/wasm-git/wasibuild/src/util -I/workspaces/wasm-git/wasibuild/include -I/workspaces/wasm-git/libgit2/src/util -I/workspaces/wasm-git/libgit2/include -I/workspaces/wasm-git/libgit2/deps/http-parser -I/workspaces/wasm-git/libgit2/deps/xdiff -I/workspaces/wasm-git/libgit2/deps/ntlmclient -D_GNU_SOURCE -Wall -Wextra -Wdocumentation -Wno-documentation-deprecated-sync -Wno-missing-field-initializers -Wmissing-declarations -Wstrict-aliasing -Wstrict-prototypes -Wdeclaration-after-statement -Wshift-count-overflow -Wunused-const-variable -Wunused-function -Wint-conversion -Wc11-extensions -Wformat -Wformat-security -g -D_DEBUG -O0 -std=gnu90 -o CMakeFiles/util.dir/alloc.c.o -c /workspaces/wasm-git/libgit2/src/util/alloc.c

0 commit comments

Comments
 (0)