Hardware Anforderungen
Mozilla braucht Zeit zum Kompilieren. Sie brauchen daher ein Entwickler-System:
- Einen schnellen Prozessor, am besten einen Multi-Core-Prozessor
- Mindestens 2GB RAM, 4GB oder mehr empfohlen
- 1.5 GB NTFS oder 3 GB FAT Speicher oder mehr
- Windows Vista oder höher empfohlen (der resultierende Build sollte aber auch auf Windows XP funktionieren)
Übersicht
Der Mozilla Build-Prozess erfordert einige Tools, die auf den meisten Windows-Systemen nicht vorhanden sind. Zusätzlich zu Visual Studio muss MozillaBuild, ein Softwarepaket mit den richtigen Versionen von bash, GNU make, autoconf, Mercurial und vielen weiterem.
Dieses Dokument liefert einige Informationen zur MozillaBuild Umgebung, welche mit den folgenden Versionen der Mozilla Codebase funktioniert:
Es funktioniert mit den folgenden Compilern ("Official" bedeutet, dass wir das für die Firefox Builds benutzen, die wir als Firefox Produkt ausliefern):
VC8 (Visual Studio 2005) | VC9 (Visual Studio 2008) | VC10 (Visual Studio 2010) | VC11 (Visual Studio 2012) | |
---|---|---|---|---|
Firefox und andere Mozilla-Anwendungen | Ja | Ja | Ja (offiziell) | Ja |
Falls Visual Studio 2010 and 2012 parallel installiert sind, kann es zu Problemen kommen. Auch ein .NET Framework 4.5, das parallel zu Visual Studio 2010 installiert wird, kann zu Problemen führen. Die Lösung dafür ist das Visual Studio 2010 SP1 zu installieren (siehe https://support.microsoft.com/kb/2757355).
Software Anforderungen
Die folgende Software muss für einen Standard-Build installiert sein:
- Microsoft Visual C++ Tools
- Microsoft Windows SDK(s)
- MozillaBuild
- DirectX SDK
Mozilla kann unter Umständen nicht kompiliert werden, wenn einige Tools in einem Verzeichnis installiert sind, welches Leerzeichen oder andere Unterbrechungszeichen wie Plus, Anführungszeichen oder andere Meta-Zeichen enthält. Die Visual C++ Tools können allerdings auch in solchen Verzeichnissen installiert werden (das Standardverzeichnis wird jedoch empfohlen). Es muss die Juni 2010 DirectX SDK Version des DirectX SDK installiert werden, andere Versionen funktionieren nicht. Falls Sie sich den Download des großen SDKs sparen wollen, müssen Sie WebGL mit der Anweisung ac_add_options --disable-webgl
in ihrer .mozconfig Datei deaktivieren.
Microsoft Visual C++ (MSVC)
Abhängig davon, was Sie kompilieren wollen, müssen Sie eventuell eine verfügbare Version von Microsoft Visual C++ (MSVC) und/oder Microsoft Visual Studio verwenden. Siehe in der Tabelle am Anfang dieser Seite, um zu überprüfen, welche Version kompatibel mit dem Branch ist, den Sie kompilieren wollen.
- Visual Studio 2012 for Windows Desktop Pro oder Express. Die Express-Version ist bei Microsoft kostenlos erhältlich: https://www.microsoft.com/visualstudio/eng/downloads
- Visual C++ 2010 Pro oder Express. Die Express-Version ist bei Microsoft kostenlos erhältlich: https://go.microsoft.com/?linkid=9709949
- Visual C++ 9 von Microsoft ist als Teil der Visual C++ 2008 Express Edition SP1 frei verfügbar (stellen Sie sicher, dass Sie die richtige Version mit SP1 erhalten). Sie brauchen die Silverlight Runtime oder die SQL Server 2008 Express Edition nicht installieren, wenn dies angeboten wird.
- Der Visual C++ 8 Kommandozeilen Compiler ist in der Vista SDK enthalten, enthält aber keinen Debugger. Falls Sie den Express Edition Debugger nicht downloaden wollen, können Sie alternativ auch den WinDbg Debugger verwenden.
- Gecko 1.9.0 oder später kompilieren
- Projekte, die auf Gecko 1.9.0 (wie etwa Firefox 3.0) aufbauen, erfordern eine Verwendung von Visual C++ 8 (Visual Studio 2005) oder höher.
make -jN
funktionieren nicht unter Windows. Mit pymake (Engl.) sind parallele Builds aber möglich.Microsoft Windows SDK
Siehe Windows SDK Versionen.
MozillaBuild
Das MozillaBuild Paket erfordert weitere Software, die für die Kompilierung von Mozilla nötig sind. Darunter die MSYS Entwicklungsumgebung, Mercurial, CVS, Python, YASM, NSIS und UPX sowie optionale/nützliche Tools wie wget, autoconf-2.13 oder emacs.
Das aktuelle MozillaBuild Paket herunterladen
Standardmäßig wird das Paket nach c:\mozilla-build
installiert. Es wird empfohlen diesen Pfad beizubehalten. Der Installer ändert nichts an der Windows Registry.
Erwartete Einstellungen: Beachten Sie, dass die "UNIX-ähnliche" Umgebung von MozillaBuild nur wirklich nützlich für das Kompilieren und Einreichen von Mozilla Quellcode ist. Viele Kommandozeilen-Tools, die Sie in einer modernen Linux Distribution erwarten sind nicht vorhanden und die Tools, die bereit gestellt werden können älter als ein Jahrzehnt sein (speziell MSYS). Es sind meist die alten Tools, die Probleme verursachen können, weil Sie sich oft nicht so veralten wie erwartet, sie fehlerhaft sind oder keine Argumente unterstützen, die seit Jahren zum Standard gehören. Zum Beispiel, das Kopieren eines Verzeichnisses über cp -rf src1 src2
funktioniert aufgrund einer alten Version von cp nicht richtig (für einige Dateien kommt es zum Fehler: "cp: will not create hard link"). MozillaBuild bietet essentielle Entwicklerinteraktionen mit dem Mozilla Code, aber sobald Sie weiter gehen, sollten Sie nicht überrascht sein, wenn Sie auf einmal auf dem ein oder anderem Irrweg landen.
Eingabeaufforderung für das Kompilieren erhalten
Nachdem die Voraussetzungen installiert worden sind, starten Sie eine der folgenden Batch-Dateien aus dem c:\mozilla-build
Verzeichnis:
start-msvc8.bat (VS 2005)
start-msvc9.bat (VS 2008)
start-msvc10.bat (VS 2010)
start-msvc11.bat (VS 2012)
Selbst wenn Sie 64-bit Windows benutzen, verwenden Sie nicht die start-msvcX-x64.bat
Dateien (wenn Sie nicht wissen, was Sie tun). Diese Dateien sind experimentell und nicht unterstützt. Siehe Build:MozillaBuild For x64.
Die batch-Datei wird automatisch ein MSYS Kommandozeilenfenster mit allen zugehörigen Umgebungsvariablen öffnen, vorausgesetzt es sind alle erforderlichen Programme installiert. Unter Windows erscheint das msys Fenster nicht wie das standardmäßige msys Fenster, sondern eher wie die standardmäßige Windows Eingabeaufforderung. Alle weitere Befehle sollten in dieser Umgebung ausgeführt werden. Um etwas einzufügen, müssen Sie auf die Titelleiste mit einem Rechts-Klick klicken.
Wenn Sie cygwin installiert haben, gehen Sie sicher, dass die MozillaBuild Verzeichnisse vor jedem cygwin Verzeichnis im Suchpfad kommen (echo $PATH).
Bekannte Probleme, Hinweise und Einschränkungen
- FAQ: Mozilla unter Windows debuggen: Tipps zum Debuggen von Mozilla unter Windows.
- Das Kompilieren kann fehlschlagen, wenn Ihre PATH Umgebungsvariable Anführungszeichen (") enthält. Anführungszeichen werden nicht richtig übersetzt, wenn sie in die MozillaBuild Sub-Shells gelangen. Die Anführungszeichen werden normalerweise nicht benötigt, sie können als entfernt werden.
- OBJDIR kann nicht innerhalb des MSYS Verzeichnisses vorhanden sein.
- Das Kompilieren kann fehlschlagen, wenn Sie cygwin installiert haben. Stellen Sie sicher, dass die MozillaBuild Verzeichnisse (
c:\mozilla-build
und Unterverzeichnisse) vor jedem cygwin Verzeichnis in Ihrer PATH Umgebungsvariable steht. Falls das nicht hilft, löschen Sie die cygwin Verzeichnisse aus PATH oder versuchen Sie auf einem PC ohne cygwin zu kompilieren. - Das Kompilieren mit anderen NSIS Versionen als die neuste, unterstützte Version mit MozillaBuild wird nicht unterstützt und wird daher fehlschlagen.
- Falls Sie mit VS2005 kompilieren und ein Build mit dem Fehler: "C2118: negative subscript" unter win_util.cc fehlschlägt, müssen Sie das VS2005 Service Pack 1 installieren. Falls Sie die Meldung "LNK1103: debugging information corrupt" erhalten, versuchen Sie diesen Hotfix: https://support.microsoft.com/kb/949009
- Wenn Sie vorhaben Ihr Build mit anderen zu teilen und Sie nicht mit
--enable-jemalloc
kompiliert haben, müssen SieWIN32_REDIST_DIR=$VCINSTALLDIR\redist\x86\Microsoft.VC80.CRT
in Ihrer Mozconfig festlegen, um die Microsoft CRT DLLs verpackt zu bekommen.
Achtung: Wenn Sie dem Rat unterhalb folgen, ist Ihr Computer nicht gegen Attacken geschützt.Treffen Sie daher die erforderlichen Vorkehrungen.
- Fall Sie immer noch zufällige Abstürze bei MAKE erhalten, beeinträchtigten unter Umständen die Windows Sicherheitsupdates, die ordnungsgemäße Ausführung. In diesem Fall, wenn Sie unter Windows XP arbeiten, sollten Sie die Windows XP Security Updates KB933729 und KB970238 mit den Hinzufügen oder Entfernen Programmen des Control Panels deinstallieren. Das erste Security Update ist auch im Windows XP Service Pack 3 (KB936929) enthalten, wenn SP3 also schon installiert ist, muss es deinstalliert werden und Service Pack 2, mit allen Windows Updates (AUßER KB933729, KB936929 und KB970238) installiert werden. Um zu verhindern, dass diese automatisch installiert werden, wählen Sie "Notify me but don't automatically download or install them" im "Automatic Updates" Dialog des Control Panels. Wählen Sie diese auch nicht aus, wenn sie in der Liste der empfohlen Updates erscheinen und, wenn Sie gefragt werden, geben Sie an, dass Sie in Zukunft nicht wieder danach gefragt werden wollen.