====== 1.3 Emscripten SDK ====== Emscripten è un compilatore che compila C/C++ in WebAssembly (WASM). ---- ===== Cos'è Emscripten? ===== **Emscripten** traduce: * Codice C/C++ → WebAssembly * API di sistema → Equivalenti JavaScript * OpenGL → WebGL **Perché ci serve Emscripten?** Per il build WASM di OpenSSL che funziona in Blazor WebAssembly. ---- ===== Prerequisiti ===== * ☑ [[.:wsl-einrichten|WSL2 installato]] * ☑ Git disponibile ---- ===== Installazione in WSL ===== ==== Passo 1: Aprire WSL ==== wsl ==== Passo 2: Clonare Emscripten SDK ==== # Nella directory opt (a livello di sistema) cd /opt # Clonare come root sudo git clone https://github.com/emscripten-core/emsdk.git sudo chown -R $USER:$USER /opt/emsdk ==== Passo 3: Installare l'ultima versione ==== cd /opt/emsdk # Installare l'ultima versione stabile ./emsdk install latest # Attivare ./emsdk activate latest ==== Passo 4: Impostare le variabili d'ambiente ==== **Temporaneo (solo questa sessione):** source /opt/emsdk/emsdk_env.sh **Permanente (in .bashrc):** echo 'source /opt/emsdk/emsdk_env.sh' >> ~/.bashrc ---- ===== Verifica ===== # Compilatore Emscripten emcc --version Output atteso: emcc (Emscripten gcc/clang-like replacement) 3.1.xx ---- ===== Per il Build OpenSSL ===== Per il build WASM di OpenSSL vengono utilizzati questi strumenti Emscripten: | Strumento | Utilizzo | |-----------|----------| | ''emcc'' | Compilatore C (sostituisce gcc) | | ''emar'' | Archiver (sostituisce ar) | | ''emranlib'' | Ranlib (sostituisce ranlib) | | ''emconfigure'' | Wrapper per ./Configure | | ''emmake'' | Wrapper per make | ---- ===== Continua con ===== * [[.:build:wasm-blazor|Build WASM/Blazor]] * [[.:vorbereitung:start|Torna alla preparazione]] ---- //Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//