VPS_Linux / build_wasm.sh
darkfire514's picture
Upload 5 files
d3f40ae verified
#!/bin/bash
# 这是一个辅助脚本,用于在终端中手动编译 OpenClaw 为 WASM
# 用法: ./build_wasm.sh
# 确保 Emscripten 环境已激活
source "/opt/emsdk/emsdk_env.sh"
echo "Downloading OpenClaw source..."
git clone https://github.com/pjasicek/OpenClaw.git
cd OpenClaw
# 简单的 Hello World 验证 (可选)
# echo "int main() { return 0; }" > test.c
# emcc test.c -o test.html
# OpenClaw 编译尝试 (这只是一个起点,通常需要修改源码)
# 注意: OpenClaw 依赖 SDL2, SDL2_image, SDL2_mixer, SDL2_ttf
# Emscripten 内置了 SDL2 (-s USE_SDL=2),但其他库需要 port
mkdir -p build_wasm
cd build_wasm
echo "Configuring CMake for WASM..."
emcmake cmake .. \
-DPLATFORM=EMSCRIPTEN \
-DCMAKE_BUILD_TYPE=Release
echo "Building..."
emmake make -j$(nproc)
# 如果编译成功,将结果复制到 Nginx 目录
if [ -f "OpenClaw.html" ]; then
echo "Build successful! Deploying to /var/www/html/game..."
cp OpenClaw.html /var/www/html/game/index.html
cp OpenClaw.js /var/www/html/game/
cp OpenClaw.wasm /var/www/html/game/
cp OpenClaw.data /var/www/html/game/ 2>/dev/null || true
else
echo "Build failed or output file not found."
fi