Home
» Emscripten aus dem Quellcode erstellen
Emscripten selbst zu erstellen ist eine Alternative zum Bezug der Binärdateien über das emsdk.
Emscripten selbst ist in Python und JavaScript geschrieben und muss daher nicht kompiliert werden. Nach dem Checkout müssen Sie jedoch verschiedene Schritte ausführen, bevor es verwendet werden kann (z. B. npm install). Das Skript bootstrap auf der obersten Ebene des Repositorys kümmert sich um die Ausführung dieser Schritte, und emcc wird einen Fehler ausgeben, wenn es feststellt, dass bootstrap ausgeführt werden muss.
Zusätzlich zum Haupt-Emscripten-Repository müssen Sie auch LLVM und Binaryen auschecken und erstellen (wie unten beschrieben). Nach dem Kompilieren müssen Sie Ihre Datei .emscripten bearbeiten, um auf deren entsprechende Speicherorte zu verweisen.
Verwenden Sie die main-Branches jedes dieser Repositorys, oder überprüfen Sie die Verpackungsanweisungen, um die genauen Commits zu identifizieren, die in einer bestimmten Version verwendet werden.
Erstellen Sie LLVM aus dem Git-Repo. Fügen Sie Clang und wasm-ld hinzu (mit etwas wie -DLLVM_ENABLE_PROJECTS='lld;clang') und das Wasm-Backend (das standardmäßig enthalten ist; deaktivieren Sie es einfach nicht), gemäß den Anweisungen dieses Projekts. Zum Beispiel kann etwas Ähnliches funktionieren
mkdir build cd build/ cmake ../llvm -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS='lld;clang' -DLLVM_TARGETS_TO_BUILD="host;WebAssembly" -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF # -DLLVM_ENABLE_ASSERTIONS=ON cmake --build .
Setzen Sie dann die Umgebungsvariable EM_LLVM_ROOT auf <llvm_src>/build/bin (keine Installation erforderlich).
Wenn Sie die emsdk-Versionen von LLVM abgleichen müssen, lesen Sie die emscripten-release Build- und Testskripte. Insbesondere src/build.py.
Weitere Details entnehmen Sie bitte den Upstream-Dokumenten.
Siehe die Binaryen-Build-Anweisungen.