Genaue Details dazu würden den Rahmen hier sprengen, gute Beispiele
+ liefern Fennec sowie die anderen Mozilla-Anwendungen
+
Alle Dateien sind in mozilla-central/testapp/
+
Makefile.in ist das Haupt-Makefile, üblicherweise mit
+ einem app-Unterverzeichnis als letztes Element in DIRS
+
build.mk wird in das Haupt-Makefile des ganzen Build-Systems
+ eingebunden und setzt einige grundlegende Variablen wie TIERS
+ sowie Make-Ziele auf oberster Ebene des Systems
+
confvars.sh gibt Variablen für das
+ configure-Skript an
+
makefiles.sh enthält eine Liste von Makefiles, die von
+ configure frühzeitig generiert werden, was viel Zeit spart
+ (auch in extensions/testext/ unterstützt)
+
app/Makefile.in mit Befehlen zur Erstellung der
+ ausführbaren Anwendungsdatei und des Mac-dmg-Pakets, das alle Dateien
+ der Anwendung enthält (daher am Ende der Liste, alles nachher landet
+ nicht im dmg!)
# mozconfig-testapp
+# objdir setzten, relativ zum Quellcode
+mk_add_options MOZ_OBJDIR=../objdir-testapp
+# zwei Projekte bauen: XULRunner und unser Anwendung
+mk_add_options MOZ_BUILD_PROJECTS="xulrunner testapp"
+ac_add_app_options xulrunner --enable-application=xulrunner
+ac_add_app_options testapp --enable-application=testapp
+ac_add_app_options testapp --with-libxul-sdk=../xulrunner/dist
+# Standard-Erweiterungen plus testext bauen
+ac_add_app_options testapp --enable-extensions=default,testext
+
+
Unsere Anwendung liegt in mozilla-central/testapp/
+
Unsere Erweiterung liegt in mozilla-central/extensions/testext/
+
Befehle zum "Bauen":
+
cd mozilla-central
+MOZCONFIG=../mozconfig-testapp make -f client.mk build
+
+
XULRunner findet sich in objdir-testapp/xulrunner/dist/bin/,
+ die ausführbare Anwendung findet sich in
+ objdir-testapp/testapp/dist/bin/, inklusive der
+ vorinstallierten Erweiterung
+
mobile-browser (Fennec)
+ ist ein gutes Beispiel für eine XULRunner-Anwendung, die das
+ Build-System verwendet
@@ -41,8 +41,9 @@ Es bleibt etwas Zeit fü eine Diskussion.
-Verbreiten Sie das Mozilla-Manifest!
- http://www.mozilla.org/about/manifesto
+Zum Schluss:
+ Auch wenn es manchmal kompliziert scheint -
+ (: DON'T PANIC! :)
DOM-Inspector, Venkman und ChatZilla sind gute Beispiel-Erweiterungen
+ für die Build-System-Einbindung
+
Verschiedene Werkzeuge
+ werden vorausgesetzt: MozillaBuild und Windows SDK(s) auf Windows;
+ Xcode, Mercurial, libIDL, autoconf213 auf Mac OS X und
+ div. Entwicklerpakete, inkl. autoconf 2.13, Python, Mercurial, GNU make usw.
+ auf Linux
+
Ein Compiler (gcc bzw. unter Windows MSVC, auch in der Gratis-Version)
+ wird für C/C++-Code usw. benötigt, das Packen einer reinen
+ XUL/JS-Erweiterung funktioniert auch ohne
+
Ein Mozilla-Code-Baum
+ ist notwendig (ca. 450 MB auf der Festplatte!):
+
hg pull http://hg.mozilla.org/mozilla-central
+ alternativ dazu ein
+ comm-central-Baum
+ (SeaMonkey/Thunderbird/Sunbird, ca. 520 MB):
+