====== 1.3 Emscripten SDK ======
Emscripten je kompilator koji kompilira C/C++ u WebAssembly (WASM).
----
===== Što je Emscripten? =====
**Emscripten** prevodi:
* C/C++ kod → WebAssembly
* Sistemske API-je → JavaScript ekvivalente
* OpenGL → WebGL
**Zašto nam treba Emscripten?**
Za WASM kompilaciju OpenSSL-a koja radi u Blazor WebAssembly.
----
===== Preduvjeti =====
* ☑ [[.:wsl-einrichten|WSL2 instaliran]]
* ☑ Git dostupan
----
===== Instalacija u WSL-u =====
==== Korak 1: Otvorite WSL ====
wsl
==== Korak 2: Klonirajte Emscripten SDK ====
# U opt direktorij (sistemski)
cd /opt
# Klonirajte kao root
sudo git clone https://github.com/emscripten-core/emsdk.git
sudo chown -R $USER:$USER /opt/emsdk
==== Korak 3: Instalirajte najnoviju verziju ====
cd /opt/emsdk
# Instalirajte najnoviju stabilnu verziju
./emsdk install latest
# Aktivirajte
./emsdk activate latest
==== Korak 4: Postavite varijable okruženja ====
**Privremeno (samo ova sesija):**
source /opt/emsdk/emsdk_env.sh
**Trajno (u .bashrc):**
echo 'source /opt/emsdk/emsdk_env.sh' >> ~/.bashrc
----
===== Provjera =====
# Emscripten Kompilator
emcc --version
Očekivani izlaz:
emcc (Emscripten gcc/clang-like replacement) 3.1.xx
----
===== Za OpenSSL Kompilaciju =====
Za WASM kompilaciju OpenSSL-a koriste se ovi Emscripten alati:
| Alat | Uporaba |
|------|---------|
| ''emcc'' | C kompilator (zamjenjuje gcc) |
| ''emar'' | Archiver (zamjenjuje ar) |
| ''emranlib'' | Ranlib (zamjenjuje ranlib) |
| ''emconfigure'' | Wrapper za ./Configure |
| ''emmake'' | Wrapper za make |
----
===== Nastavite na =====
* [[.:build:wasm-blazor|WASM/Blazor kompilacija]]
* [[.:vorbereitung:start|Povratak na pripremu]]
----
//Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//