====== 3.3 WASM Kompilacija za Blazor ======
Ovaj vodič objašnjava kako kompilirati OpenSSL za Blazor WebAssembly.
----
===== Što je WebAssembly? =====
**WebAssembly (WASM)** je binarni format koji radi u pregledniku. Omogućuje:
* Kod visoke performanse u pregledniku
* Korištenje jezika poput C/C++ na webu
* Blazor WebAssembly aplikacije
**Kada mi treba WASM?**
| Tip Aplikacije | WASM potreban? |
|----------------|----------------|
| Blazor WebAssembly | **Da** |
| Blazor Server | Ne (koristi Windows/Linux kompilaciju) |
| ASP.NET Core API | Ne |
| Desktop App (.NET) | Ne |
----
===== Preduvjeti =====
Uz standardne alate trebate:
* ☑ [[.:..vorbereitung:wsl-einrichten|WSL2 s Ubuntu/Fedora]]
* ☑ [[.:..vorbereitung:emscripten|Emscripten SDK]]
WASM kompilacije su moguće samo pod Linux/WSL, ne izravno pod Windowsom!
----
===== Koraci Kompilacije =====
==== Korak 1: Otvorite WSL ====
wsl
==== Korak 2: Aktivirajte Emscripten ====
source /opt/emsdk/emsdk_env.sh
# Provjerite
emcc --version
==== Korak 3: Pripremite Build Direktorij ====
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
==== Korak 4: Konfigurirajte OpenSSL za 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
==== Korak 5: Kompilirajte ====
emmake make -j$(nproc) build_libs
==== Korak 6: Instalirajte ====
emmake make install_sw
----
===== Rezultat =====
Nakon kompilacije:
wasm-build/
├── openssl.js # JavaScript Loader (~150 KB)
└── openssl.wasm # WebAssembly Modul (~2 MB)
----
===== Nastavite na =====
* [[.:vorbereitung:emscripten|Instalacija Emscripten SDK-a]]
* [[.:build:start|Povratak na pregled kompilacije]]
----
//Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//