====== 3.3 Build WASM per Blazor ====== Questa guida spiega come compilare OpenSSL per Blazor WebAssembly. ---- ===== Cos'è WebAssembly? ===== **WebAssembly (WASM)** è un formato binario che funziona nel browser. Permette: * Codice ad alte prestazioni nel browser * Usare linguaggi come C/C++ sul web * Applicazioni Blazor WebAssembly **Quando ho bisogno di WASM?** | Tipo di Applicazione | WASM necessario? | |----------------------|------------------| | Blazor WebAssembly | **Sì** | | Blazor Server | No (usa build Windows/Linux) | | ASP.NET Core API | No | | App Desktop (.NET) | No | ---- ===== Prerequisiti ===== Oltre agli strumenti standard serve: * ☑ [[.:..vorbereitung:wsl-einrichten|WSL2 con Ubuntu/Fedora]] * ☑ [[.:..vorbereitung:emscripten|Emscripten SDK]] I build WASM sono possibili solo sotto Linux/WSL, non direttamente sotto Windows! ---- ===== Passi di Compilazione ===== ==== Passo 1: Aprire WSL ==== wsl ==== Passo 2: Attivare Emscripten ==== source /opt/emsdk/emsdk_env.sh # Verificare emcc --version ==== Passo 3: Preparare la Directory di Build ==== mkdir -p /mnt/d/Projects/openssl-3.6.0/wasm-build mkdir -p /mnt/d/Projects/openssl-3.6.0/wasm-install cd /mnt/d/Projects/openssl-3.6.0/wasm-build ==== Passo 4: Configurare OpenSSL per WASM ==== emconfigure /mnt/d/Projects/openssl-3.6.0/src/Configure \ linux-generic32 \ --prefix=/mnt/d/Projects/openssl-3.6.0/wasm-install \ no-asm \ no-threads \ no-shared \ no-sock \ no-tests \ no-apps \ CC=emcc \ AR=emar \ RANLIB=emranlib ==== Passo 5: Compilare ==== emmake make -j$(nproc) build_libs ==== Passo 6: Installare ==== emmake make install_sw ---- ===== Risultato ===== Dopo la compilazione: wasm-build/ ├── openssl.js # JavaScript Loader (~150 KB) └── openssl.wasm # Modulo WebAssembly (~2 MB) ---- ===== Continua con ===== * [[.:vorbereitung:emscripten|Installare Emscripten SDK]] * [[.:build:start|Torna alla panoramica build]] ---- //Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//