add the rest of the slides for the build system
authorrobert <robert>
Sun, 22 Mar 2009 01:31:51 +0000 (01:31 +0000)
committerrobert <robert>
Sun, 22 Mar 2009 01:31:51 +0000 (01:31 +0000)
13 files changed:
maow-berlin2009-build/notes.txt [deleted file]
maow-berlin2009-build/slide_appfiles.html [new file with mode: 0644]
maow-berlin2009-build/slide_buildapp.html [new file with mode: 0644]
maow-berlin2009-build/slide_docs.html [new file with mode: 0644]
maow-berlin2009-build/slide_end.html
maow-berlin2009-build/slide_getstarted.html [new file with mode: 0644]
maow-berlin2009-build/slide_introduction.html
maow-berlin2009-build/slide_jarmaker.html [new file with mode: 0644]
maow-berlin2009-build/slide_makefiles.html [new file with mode: 0644]
maow-berlin2009-build/slide_mozconfig.html [new file with mode: 0644]
maow-berlin2009-build/slide_reasons.html [new file with mode: 0644]
maow-berlin2009-build/slide_thesystem.html [new file with mode: 0644]
maow-berlin2009-sm2/notes.txt

diff --git a/maow-berlin2009-build/notes.txt b/maow-berlin2009-build/notes.txt
deleted file mode 100644 (file)
index ca334b4..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-surman-freedom-foto:
-http://www.flickr.com/photos/28959625@N04/3324030644/in/set-72157614734249362/
\ No newline at end of file
diff --git a/maow-berlin2009-build/slide_appfiles.html b/maow-berlin2009-build/slide_appfiles.html
new file mode 100644 (file)
index 0000000..0f4111f
--- /dev/null
@@ -0,0 +1,54 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
+  <meta name="Author" content="KaiRo - Robert Kaiser">
+  <title>Das Mozilla-Build-System - Anwendungs-Dateien</title>
+  <link rel="stylesheet" type="text/css" href="slides.css">
+  <script type="text/javascript" src="slides.js"></script>
+  <link rel="contents" href="index.html" title="&Uuml;bersicht">
+  <link rel="index" href="toc.html" title="Inhalt">
+  <link rel="start" href="index.html" title="Beginn">
+  <link rel="first" href="slide_introduction.html" title="Erste Seite">
+  <link rel="previous" href="slide_jarmaker.html" title="Vorige Seite">
+  <link rel="next" href="slide_docs.html" title="N&auml;chste Seite">
+  <link rel="last" href="slide_end.html" title="Letzte Seite">
+</head>
+<body>
+<div id="header"><div id="header-text">Das Mozilla-Build-System</div>
+  <img id="headerlogo" src="template/header-logo.png" alt="">
+</div>
+<div id="slidenav"><div id="subheader-text">MAOW Berlin 2009</div>
+  <a href="toc.html" accesskey="h">Inhalt</a> ||
+  <a href="index.html" accesskey="B">Beginn</a> ||
+  <a href="slide_jarmaker.html" accesskey="Z">&lt; Zur&uuml;ck</a> |
+  <a href="slide_docs.html" id="goNext" accesskey="W">Weiter &gt;</a>
+</div>
+
+<h1>Dateien, die eine Anwendung implementieren muss</h1>
+
+<div class="simplebox">
+<ul>
+  <li>Genaue Details dazu w&uuml;rden den Rahmen hier sprengen, gute Beispiele
+    liefern Fennec sowie die anderen Mozilla-Anwendungen</li>
+  <li>Alle Dateien sind in <code>mozilla-central/testapp/</code></li>
+  <li><code>Makefile.in</code> ist das Haupt-Makefile, &uuml;blicherweise mit
+    einem <code>app</code>-Unterverzeichnis als letztes Element in DIRS</li>
+  <li><code>build.mk</code> wird in das Haupt-Makefile des ganzen Build-Systems
+    eingebunden und setzt einige grundlegende Variablen wie <code>TIERS</code>
+    sowie Make-Ziele auf oberster Ebene des Systems</li>
+  <li><code>confvars.sh</code> gibt Variablen f&uuml;r das
+    <code>configure</code>-Skript an</li>
+  <li><code>makefiles.sh</code> enth&auml;lt eine Liste von Makefiles, die von
+    <code>configure</code> fr&uuml;hzeitig generiert werden, was viel Zeit spart
+    (auch in <code>extensions/testext/</code> unterst&uuml;tzt)</li>
+  <li><code>app/Makefile.in</code> mit Befehlen zur Erstellung der
+    ausf&uuml;hrbaren Anwendungsdatei und des Mac-dmg-Pakets, das alle Dateien
+    der Anwendung enth&auml;lt (daher am Ende der Liste, alles nachher landet
+    nicht im dmg!)</li>
+</ul>
+</div>
+</div>
+
+</body>
+</html>
diff --git a/maow-berlin2009-build/slide_buildapp.html b/maow-berlin2009-build/slide_buildapp.html
new file mode 100644 (file)
index 0000000..6abd4d4
--- /dev/null
@@ -0,0 +1,62 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
+  <meta name="Author" content="KaiRo - Robert Kaiser">
+  <title>Das Mozilla-Build-System - Anwendung bauen</title>
+  <link rel="stylesheet" type="text/css" href="slides.css">
+  <script type="text/javascript" src="slides.js"></script>
+  <link rel="contents" href="index.html" title="&Uuml;bersicht">
+  <link rel="index" href="toc.html" title="Inhalt">
+  <link rel="start" href="index.html" title="Beginn">
+  <link rel="first" href="slide_introduction.html" title="Erste Seite">
+  <link rel="previous" href="slide_mozconfig.html" title="Vorige Seite">
+  <link rel="next" href="slide_makefiles.html" title="N&auml;chste Seite">
+  <link rel="last" href="slide_end.html" title="Letzte Seite">
+</head>
+<body>
+<div id="header"><div id="header-text">Das Mozilla-Build-System</div>
+  <img id="headerlogo" src="template/header-logo.png" alt="">
+</div>
+<div id="slidenav"><div id="subheader-text">MAOW Berlin 2009</div>
+  <a href="toc.html" accesskey="h">Inhalt</a> ||
+  <a href="index.html" accesskey="B">Beginn</a> ||
+  <a href="slide_mozconfig.html" accesskey="Z">&lt; Zur&uuml;ck</a> |
+  <a href="slide_makefiles.html" id="goNext" accesskey="W">Weiter &gt;</a>
+</div>
+
+<h1>XULRunner-Anwendung mit Extra-Erweiterung bauen</h1>
+
+<div class="simplebox">
+<ul>
+  <li><code>mozconfig</code>:
+    <pre># 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</pre>
+    </li>
+  <li>Unsere Anwendung liegt in <code>mozilla-central/testapp/</code></li>
+  <li>Unsere Erweiterung liegt in <code>mozilla-central/extensions/testext/</code></li>
+  <li>Befehle zum "Bauen":
+    <pre>cd mozilla-central
+MOZCONFIG=../mozconfig-testapp make -f client.mk build</pre>
+    </li>
+  <li>XULRunner findet sich in <code>objdir-testapp/xulrunner/dist/bin/</code>,
+    die ausf&uuml;hrbare Anwendung findet sich in
+    <code>objdir-testapp/testapp/dist/bin/</code>, inklusive der
+    vorinstallierten Erweiterung</li>
+  <li><a href="http://hg.mozilla.org/mobile-browser">mobile-browser</a> (Fennec)
+    ist ein gutes Beispiel f&uuml;r eine XULRunner-Anwendung, die das
+    Build-System verwendet</li>
+</ul>
+</div>
+</div>
+
+</body>
+</html>
diff --git a/maow-berlin2009-build/slide_docs.html b/maow-berlin2009-build/slide_docs.html
new file mode 100644 (file)
index 0000000..fc3bdf7
--- /dev/null
@@ -0,0 +1,60 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
+  <meta name="Author" content="KaiRo - Robert Kaiser">
+  <title>Das Mozilla-Build-System - Dokumente</title>
+  <link rel="stylesheet" type="text/css" href="slides.css">
+  <script type="text/javascript" src="slides.js"></script>
+  <link rel="contents" href="index.html" title="&Uuml;bersicht">
+  <link rel="index" href="toc.html" title="Inhalt">
+  <link rel="start" href="index.html" title="Beginn">
+  <link rel="first" href="slide_introduction.html" title="Erste Seite">
+  <link rel="previous" href="slide_appfiles.html" title="Vorige Seite">
+  <link rel="next" href="slide_end.html" title="N&auml;chste Seite">
+  <link rel="last" href="slide_end.html" title="Letzte Seite">
+</head>
+<body>
+<div id="header"><div id="header-text">Das Mozilla-Build-System</div>
+  <img id="headerlogo" src="template/header-logo.png" alt="">
+</div>
+<div id="slidenav"><div id="subheader-text">MAOW Berlin 2009</div>
+  <a href="toc.html" accesskey="h">Inhalt</a> ||
+  <a href="index.html" accesskey="B">Beginn</a> ||
+  <a href="slide_appfiles.html" accesskey="Z">&lt; Zur&uuml;ck</a> |
+  <a href="slide_end.html" id="goNext" accesskey="W">Weiter &gt;</a>
+</div>
+
+<h1>Dokumente/Links zum Build-System</h1>
+
+<div class="simplebox">
+<ul>
+  <li>(Fast) alle hier aufgef&uuml;hrten Dokumente sind Englisch</li>
+  <li><a href="https://developer.mozilla.org/en/Build_Documentation">MDC:
+    Build_Documentation</a> - &Uuml;bersicht und erste Anlaufstellen f&uuml;r
+    Build-Dokumentation</li>
+  <li>MDC: Wie das Build System in
+    <a href="https://developer.mozilla.org/en/How_Mozilla's_build_system_works">Mozilla</a>
+    und <a href="https://developer.mozilla.org/en/How_comm-central's_build_system_works">comm-central</a>
+    funktioniert - einige Spezialit&auml;ten unserer Systeme
+  <li><a href="https://developer.mozilla.org/en/Creating_Custom_Firefox_Extensions_with_the_Mozilla_Build_System">MDC:
+    Firefox-Erweiterungen mit dem Build-System</a> - an sich gut, aber etwas
+    veraltet (noch CVS, Firefox 1.5)</li>
+  <li><a href="https://developer.mozilla.org/en/Creating_XULRunner_Apps_with_the_Mozilla_Build_System">MDC:
+    XULRunner-Erweiterungen mit dem Build-System</a> - etwas neuer, aber auch
+    noch mit CVS, mehr Details zu Dingen auf meiner vorigen Folie</li>
+  <li><a href="http://zenit.senecac.on.ca/wiki/index.php/How_the_Build_Works">How
+    the Build Works</a> - noch etwas &auml;lterer Gastvortrag in der
+    Open-Source-Ausbildung am Seneca-Collage</li>
+  <li><a href="news://news.mozilla.org/mozilla.dev.builds">mozilla.dev.builds
+    auf news.mozilla.org</a> und
+    <a href="irc://irc.mozilla.org/developers">#developers auf irc.mozilla.org</a>
+    f&uuml;r Fragen</li>
+  <li>Auf Deutsch: <a href="http://jh.junetz.de/mozilla/mozbuild.php4">SeaMonkey
+    selbst gebaut</a> von Jens Hatlak</li>
+</ul>
+</div>
+</div>
+
+</body>
+</html>
index b81a21e5b258813ae6db76320ed8590df36b8dda..9b0598effde2ea0cd280d6595c96ca9a1c720b34 100755 (executable)
@@ -10,7 +10,7 @@
   <link rel="index" href="toc.html" title="Inhalt">
   <link rel="start" href="index.html" title="Beginn">
   <link rel="first" href="slide_introduction.html" title="Erste Seite">
-  <link rel="previous" href="slide_introduction.html" title="Vorige Seite">
+  <link rel="previous" href="slide_docs.html" title="Vorige Seite">
   <!-- link rel="next" href="slide_xxx.html" title="N&auml;chste Seite" -->
   <link rel="last" href="slide_end.html" title="Letzte Seite">
 </head>
 <div id="slidenav"><div id="subheader-text">MAOW Berlin 2009</div>
   <a href="toc.html" accesskey="h">Inhalt</a> ||
   <a href="index.html" accesskey="B">Beginn</a> ||
-  <a href="slide_introduction.html" accesskey="Z">&lt; Zur&uuml;ck</a> |
+  <a href="slide_docs.html" accesskey="Z">&lt; Zur&uuml;ck</a> |
   <span class="nolink">Weiter &gt;</span>
 </div>
 
-<h1>Offene Diskussion</h1>
+<h1>Demo &amp; Offene Diskussion</h1>
 
 <div class="captionedbox">
 <p class="captionedbox-caption">Danke f&uuml;r Ihre Aufmerksamkeit!</p>
@@ -41,8 +41,9 @@ Es bleibt etwas Zeit f&uuml; eine Diskussion.
 </div>
 
 <div class="simplebox">
-Verbreiten Sie das Mozilla-Manifest!
-<br><span class="hilite"><a href="http://www.mozilla.org/about/manifesto">http://www.mozilla.org/about/manifesto</a></span>
+Zum Schluss:
+<br>Auch wenn es manchmal kompliziert scheint -
+<br><span style="font-size:larger">(: DON'T PANIC! :)</span>
 </div>
 
 </body>
diff --git a/maow-berlin2009-build/slide_getstarted.html b/maow-berlin2009-build/slide_getstarted.html
new file mode 100644 (file)
index 0000000..4030ee8
--- /dev/null
@@ -0,0 +1,59 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
+  <meta name="Author" content="KaiRo - Robert Kaiser">
+  <title>Das Mozilla-Build-System - Einsteig</title>
+  <link rel="stylesheet" type="text/css" href="slides.css">
+  <script type="text/javascript" src="slides.js"></script>
+  <link rel="contents" href="index.html" title="&Uuml;bersicht">
+  <link rel="index" href="toc.html" title="Inhalt">
+  <link rel="start" href="index.html" title="Beginn">
+  <link rel="first" href="slide_introduction.html" title="Erste Seite">
+  <link rel="previous" href="slide_reasons.html" title="Vorige Seite">
+  <link rel="next" href="slide_mozconfig.html" title="N&auml;chste Seite">
+  <link rel="last" href="slide_end.html" title="Letzte Seite">
+</head>
+<body>
+<div id="header"><div id="header-text">Das Mozilla-Build-System</div>
+  <img id="headerlogo" src="template/header-logo.png" alt="">
+</div>
+<div id="slidenav"><div id="subheader-text">MAOW Berlin 2009</div>
+  <a href="toc.html" accesskey="h">Inhalt</a> ||
+  <a href="index.html" accesskey="B">Beginn</a> ||
+  <a href="slide_reasons.html" accesskey="Z">&lt; Zur&uuml;ck</a> |
+  <a href="slide_mozconfig.html" id="goNext" accesskey="W">Weiter &gt;</a>
+</div>
+
+<h1>Einstieg ins Build-System</h1>
+
+<div class="simplebox">
+<ul>
+  <li>DOM-Inspector, Venkman und ChatZilla sind gute Beispiel-Erweiterungen
+    f&uuml;r die Build-System-Einbindung</li>
+  <li>Verschiedene <a href="https://developer.mozilla.org/en/Build_Documentation#Build_prerequisites">Werkzeuge</a>
+    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</li>
+  <li>Ein Compiler (gcc bzw. unter Windows MSVC, auch in der Gratis-Version)
+    wird f&uuml;r C/C++-Code usw. ben&ouml;tigt, das Packen einer reinen
+    XUL/JS-Erweiterung funktioniert auch ohne</li>
+  <li>Ein <a href="https://developer.mozilla.org/en/Mozilla_Source_Code_%28Mercurial%29">Mozilla-Code-Baum</a>
+    ist notwendig (ca. 450 MB auf der Festplatte!):
+    <pre>hg pull http://hg.mozilla.org/mozilla-central</pre>
+    alternativ dazu ein
+    <a href="http://developer.mozilla.org/en/Comm-central_source_code_%28Mercurial%29">comm-central-Baum</a>
+    (SeaMonkey/Thunderbird/Sunbird, ca. 520 MB):
+    <pre>hg pull http://hg.mozilla.org/comm-central
+cd comm-central
+python client.py checkout</pre>
+    </li>
+  <li>Will man Mozilla-Anwendungen kompilieren, nochmal 230-300 MB pro Anwendung
+    (mit einem Code-Baum k&ouml;nnen mehrere Anwendungen kompiliert werden)</li>
+</ul>
+</div>
+</div>
+
+</body>
+</html>
index 58bc882bfea04764a7e23d553be5b7d266959405..d932f873b0951a83250ba163c699f27fddc47e32 100644 (file)
@@ -11,7 +11,7 @@
   <link rel="start" href="index.html" title="Beginn">
   <link rel="first" href="slide_introduction.html" title="Erste Seite">
   <link rel="previous" href="index.html" title="Vorige Seite">
-  <link rel="next" href="slide_end.html" title="N&auml;chste Seite">
+  <link rel="next" href="slide_thesystem.html" title="N&auml;chste Seite">
   <link rel="last" href="slide_end.html" title="Letzte Seite">
 </head>
 <body>
@@ -22,7 +22,7 @@
   <a href="toc.html" accesskey="h">Inhalt</a> ||
   <a href="index.html" accesskey="B">Beginn</a> ||
   <a href="index.html" accesskey="Z">&lt; Zur&uuml;ck</a> |
-  <a href="slide_end.html" id="goNext" accesskey="W">Weiter &gt;</a>
+  <a href="slide_thesystem.html" id="goNext" accesskey="W">Weiter &gt;</a>
 </div>
 
 <h1>Vorstellung</h1>
diff --git a/maow-berlin2009-build/slide_jarmaker.html b/maow-berlin2009-build/slide_jarmaker.html
new file mode 100644 (file)
index 0000000..3425331
--- /dev/null
@@ -0,0 +1,61 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
+  <meta name="Author" content="KaiRo - Robert Kaiser">
+  <title>Das Mozilla-Build-System - JAR-Maker</title>
+  <link rel="stylesheet" type="text/css" href="slides.css">
+  <script type="text/javascript" src="slides.js"></script>
+  <link rel="contents" href="index.html" title="&Uuml;bersicht">
+  <link rel="index" href="toc.html" title="Inhalt">
+  <link rel="start" href="index.html" title="Beginn">
+  <link rel="first" href="slide_introduction.html" title="Erste Seite">
+  <link rel="previous" href="slide_makefiles.html" title="Vorige Seite">
+  <link rel="next" href="slide_appfiles.html" title="N&auml;chste Seite">
+  <link rel="last" href="slide_end.html" title="Letzte Seite">
+</head>
+<body>
+<div id="header"><div id="header-text">Das Mozilla-Build-System</div>
+  <img id="headerlogo" src="template/header-logo.png" alt="">
+</div>
+<div id="slidenav"><div id="subheader-text">MAOW Berlin 2009</div>
+  <a href="toc.html" accesskey="h">Inhalt</a> ||
+  <a href="index.html" accesskey="B">Beginn</a> ||
+  <a href="slide_makefiles.html" accesskey="Z">&lt; Zur&uuml;ck</a> |
+  <a href="slide_appfiles.html" id="goNext" accesskey="W">Weiter &gt;</a>
+</div>
+
+<h1>Der JAR-Maker und jar.mn-Dateien</h1>
+
+<div class="simplebox">
+<ul>
+  <li>Liegt parallel zu einem Makefile eine <code>jar.mn</code>-Datei
+    (<a href="https://developer.mozilla.org/En/JAR_Manifests">JAR-Manifest</a>)
+    vor, wird sie automatisch abgearbeitet</li>
+  <li><code>mozilla-central/extensions/testext/jar.mn</code>:
+    <pre>testext.jar:
+# Zeilen, die mit % beginnen, werden in chrome.manifest geschrieben
+# Weitere %-Zeichen darin werden durch URL zur .jar-Datei ersetzt
+% content testext %content/testext/ xpcnativewrappers=yes
+% overlay chrome://browser/content/browser.xul chrome://testext/content/testextOverlay.xul
+# Datei aus dem lokalen Verzeichnis an den angegeben Ort in der .jar schreiben
+  content/testext/testext.xul
+# Zeilen, die mit * beginnen, lassen Dateien durch einen <a href="https://developer.mozilla.org/en/Build/Text_Preprocessor">Text-Pr&auml;prozessor</a> laufen
+* content/testext/testext.js
+# Datei aus einem Unterverzeichnis (oder mit anderm Namen) beziehen
+  content/testext/testextOverlay.xul        (overlays/testextOverlay.xul)
+% skin testext classic/1.0 %skin/testext/
+  skin/testext/testext.css                  (skin/classic/testext.css)
+</pre>
+    </li>
+  <li>Der Text-Pr&auml;prozessor kann an vielen Stellen im Build-System
+    eingesetzt werden, um Variablen in div. Dateien zu schleusen, beim Bauen auf
+    verschiedenen Plattformen verschiedenen Code zu aktivieren, usw.</li>
+  <li><code>locales</code> funktionieren genauso, aber ich hatte im Makefile auf
+    der letzten Folie ein Unterverzeichnis daf&uuml;r angegeben</li>
+</ul>
+</div>
+</div>
+
+</body>
+</html>
diff --git a/maow-berlin2009-build/slide_makefiles.html b/maow-berlin2009-build/slide_makefiles.html
new file mode 100644 (file)
index 0000000..8c51d7b
--- /dev/null
@@ -0,0 +1,74 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
+  <meta name="Author" content="KaiRo - Robert Kaiser">
+  <title>Das Mozilla-Build-System - Makefiles</title>
+  <link rel="stylesheet" type="text/css" href="slides.css">
+  <script type="text/javascript" src="slides.js"></script>
+  <link rel="contents" href="index.html" title="&Uuml;bersicht">
+  <link rel="index" href="toc.html" title="Inhalt">
+  <link rel="start" href="index.html" title="Beginn">
+  <link rel="first" href="slide_introduction.html" title="Erste Seite">
+  <link rel="previous" href="slide_buildapp.html" title="Vorige Seite">
+  <link rel="next" href="slide_jarmaker.html" title="N&auml;chste Seite">
+  <link rel="last" href="slide_end.html" title="Letzte Seite">
+</head>
+<body>
+<div id="header"><div id="header-text">Das Mozilla-Build-System</div>
+  <img id="headerlogo" src="template/header-logo.png" alt="">
+</div>
+<div id="slidenav"><div id="subheader-text">MAOW Berlin 2009</div>
+  <a href="toc.html" accesskey="h">Inhalt</a> ||
+  <a href="index.html" accesskey="B">Beginn</a> ||
+  <a href="slide_buildapp.html" accesskey="Z">&lt; Zur&uuml;ck</a> |
+  <a href="slide_jarmaker.html" id="goNext" accesskey="W">Weiter &gt;</a>
+</div>
+
+<h1>Makefile-Regeln, der Kern der Sache</h1>
+
+<div class="simplebox">
+<ul>
+  <li>Makefiles enthalten die Regeln f&uuml;r den Bau jeglichen Codes (Makefile
+    im "objdir" wird aus Makefile.in in Quellcode-Verzeichnis erzeugt)</li>
+  <li><code>mozilla-central/extensions/testext/Makefile.in</code>:
+    <pre># [...Lizenz-Kopf...]
+DEPTH=../..
+topsrcdir=@top_srcdir@
+srcdir=@srcdir@
+VPATH=@srcdir@
+
+# Allgemeine Konfigurations-Variablen importieren
+include $(DEPTH)/config/autoconf.mk
+
+# Build-System-interner Name des Moduls (der Erweiterung)
+MODULE                 = testext
+# Name des Verzeichnisses in xpi-stage/ (normalerweise gleich wie MODULE)
+XPI_NAME               = testext
+# Eintr&auml;ge aus paralleler jar.mn kommen in Erweiterungs-eigenes chrome.manifest
+USE_EXTENSION_MANIFEST = 1
+# Haupt-Makefile der Erweiterung mit dieser ID (wie in install.rdf angegeben)
+INSTALL_EXTENSION_ID   = testext@example.org
+# Dateiname der fertigen XPI-Datei in xpi-stage
+XPI_PKGNAME            = testext-$(MOZ_APP_VERSION)
+
+# Dateien, die in das XPI-Paket kopiert werden sollen
+DIST_FILES = install.rdf
+
+# Unterverzeichnisse, in denen weitere Makefiles enthalten sind
+DIRS = locales subtest
+
+# zu installierende XPCOM-Komponenten
+EXTRA_COMPONENTS = components/testext-service.js
+
+# rules.mk verwendet die Variablen und macht die eigentliche Arbeit
+include $(topsrcdir)/config/rules.mk</pre>
+    </li>
+  <li><code>MODULE</code> und <code>XPI_NAME</code> sollten in jedem Makefile
+   der Erweiterung angegeben werden, damit Datieen im XPI landen</li>
+</ul>
+</div>
+</div>
+
+</body>
+</html>
diff --git a/maow-berlin2009-build/slide_mozconfig.html b/maow-berlin2009-build/slide_mozconfig.html
new file mode 100644 (file)
index 0000000..9f22147
--- /dev/null
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
+  <meta name="Author" content="KaiRo - Robert Kaiser">
+  <title>Das Mozilla-Build-System - mozconfig</title>
+  <link rel="stylesheet" type="text/css" href="slides.css">
+  <script type="text/javascript" src="slides.js"></script>
+  <link rel="contents" href="index.html" title="&Uuml;bersicht">
+  <link rel="index" href="toc.html" title="Inhalt">
+  <link rel="start" href="index.html" title="Beginn">
+  <link rel="first" href="slide_introduction.html" title="Erste Seite">
+  <link rel="previous" href="slide_getstarted.html" title="Vorige Seite">
+  <link rel="next" href="slide_buildapp.html" title="N&auml;chste Seite">
+  <link rel="last" href="slide_end.html" title="Letzte Seite">
+</head>
+<body>
+<div id="header"><div id="header-text">Das Mozilla-Build-System</div>
+  <img id="headerlogo" src="template/header-logo.png" alt="">
+</div>
+<div id="slidenav"><div id="subheader-text">MAOW Berlin 2009</div>
+  <a href="toc.html" accesskey="h">Inhalt</a> ||
+  <a href="index.html" accesskey="B">Beginn</a> ||
+  <a href="slide_getstarted.html" accesskey="Z">&lt; Zur&uuml;ck</a> |
+  <a href="slide_buildapp.html" id="goNext" accesskey="W">Weiter &gt;</a>
+</div>
+
+<h1>Die Einstellungen - mozconfig</h1>
+
+<div class="simplebox">
+<ul>
+  <li>Eine <code>mozconfig</code>-Datei enth&auml;lt alle Einstellungen f&uuml;r
+    einen Build-System-Durchlauf:
+    <pre># mozconfig-testext
+# objdir setzten, relativ zum Quellcode
+mk_add_options MOZ_OBJDIR=../objdir-testext
+# nur testext-Erweiterung bauen
+ac_add_options --enable-application=extensions
+ac_add_options --enable-extensions=testext
+# Dieses Beispiel braucht keinen Compiler
+ac_add_options --disable-compile-environment</pre>
+    </li>
+  <li>Unsere Erweiterung liegt in <code>mozilla-central/extensions/testext/</code></li>
+  <li>Befehle zum "Bauen":
+    <pre>cd mozilla-central
+MOZCONFIG=../mozconfig-testext make -f client.mk configure
+cd ../objdir-testext
+make -C extensions</pre>
+    </li>
+  <li>Das fertige XPI-Paket findet sich in
+    <code>objdir-testext/dist/xpi-stage/</code> und eine "vorinstallierte"
+    Version in <code>objdir-testext/dist/bin/extensions</code></li>
+</ul>
+</div>
+</div>
+
+</body>
+</html>
diff --git a/maow-berlin2009-build/slide_reasons.html b/maow-berlin2009-build/slide_reasons.html
new file mode 100644 (file)
index 0000000..0fb0654
--- /dev/null
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
+  <meta name="Author" content="KaiRo - Robert Kaiser">
+  <title>Das Mozilla-Build-System - Gr&uuml;nde;</title>
+  <link rel="stylesheet" type="text/css" href="slides.css">
+  <script type="text/javascript" src="slides.js"></script>
+  <link rel="contents" href="index.html" title="&Uuml;bersicht">
+  <link rel="index" href="toc.html" title="Inhalt">
+  <link rel="start" href="index.html" title="Beginn">
+  <link rel="first" href="slide_introduction.html" title="Erste Seite">
+  <link rel="previous" href="slide_thesystem.html" title="Vorige Seite">
+  <link rel="next" href="slide_getstarted.html" title="N&auml;chste Seite">
+  <link rel="last" href="slide_end.html" title="Letzte Seite">
+</head>
+<body>
+<div id="header"><div id="header-text">Das Mozilla-Build-System</div>
+  <img id="headerlogo" src="template/header-logo.png" alt="">
+</div>
+<div id="slidenav"><div id="subheader-text">MAOW Berlin 2009</div>
+  <a href="toc.html" accesskey="h">Inhalt</a> ||
+  <a href="index.html" accesskey="B">Beginn</a> ||
+  <a href="slide_thesystem.html" accesskey="Z">&lt; Zur&uuml;ck</a> |
+  <a href="slide_getstarted.html" id="goNext" accesskey="W">Weiter &gt;</a>
+</div>
+
+<h1>Erweiterungen/XULapps &amp; Build-System</h1>
+
+<div class="captionedbox">
+<p class="captionedbox-caption">Warum das Build-System f&uuml;r Erweiterungen
+  oder XULRunner-Anwendungen verwenden?</p>
+<div class="captionedbox-content">
+<ul>
+  <li>Falls C++-Komponenten vorhanden sind oder ben&ouml;tigt werden (sollten
+    aber vermieden werden)</li>
+  <li>Erweiterungen k&ouml;nnen sich in selbstkompilierte Anwendung
+    vorinstallieren</li>
+  <li>XULRunner-Anwendungen k&ouml;nnen direkt ausf&uuml;hrbare Dateien oder sogar
+    Installationsprogramme erstellen</li>
+  <li>Nutzen der gleichen Verfahren, die Mozilla-Anwendungen verwenden</li>
+  <li>Erlaubt Zugriff auf eine Menge von Funktionen/Skripten, die man nicht
+    selbst schreiben oder warten muss</li>
+  <li>Erlaubt einfachen Einbau der Erweiterungsfunktionalit&auml;ten in eine
+    komplette Mozilla-Anwendung, z.B. wenn man eine ver&auml;nderte (und
+    umbenannte) Version von Firefox zusammenstellen will oder die Erweiterung
+    als Bestandteil in SeaMonkey eingebaut werden soll.</li>
+</ul>
+</div>
+</div>
+
+</body>
+</html>
diff --git a/maow-berlin2009-build/slide_thesystem.html b/maow-berlin2009-build/slide_thesystem.html
new file mode 100644 (file)
index 0000000..72d677f
--- /dev/null
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
+  <meta name="Author" content="KaiRo - Robert Kaiser">
+  <title>Das Mozilla-Build-System - Das System</title>
+  <link rel="stylesheet" type="text/css" href="slides.css">
+  <script type="text/javascript" src="slides.js"></script>
+  <link rel="contents" href="index.html" title="&Uuml;bersicht">
+  <link rel="index" href="toc.html" title="Inhalt">
+  <link rel="start" href="index.html" title="Beginn">
+  <link rel="first" href="slide_introduction.html" title="Erste Seite">
+  <link rel="previous" href="slide_introduction.html" title="Vorige Seite">
+  <link rel="next" href="slide_reasons.html" title="N&auml;chste Seite">
+  <link rel="last" href="slide_end.html" title="Letzte Seite">
+</head>
+<body>
+<div id="header"><div id="header-text">Das Mozilla-Build-System</div>
+  <img id="headerlogo" src="template/header-logo.png" alt="">
+</div>
+<div id="slidenav"><div id="subheader-text">MAOW Berlin 2009</div>
+  <a href="toc.html" accesskey="h">Inhalt</a> ||
+  <a href="index.html" accesskey="B">Beginn</a> ||
+  <a href="slide_introduction.html" accesskey="Z">&lt; Zur&uuml;ck</a> |
+  <a href="slide_reasons.html" id="goNext" accesskey="W">Weiter &gt;</a>
+</div>
+
+<h1>Das Build-System</h1>
+
+<div class="simplebox">
+<ul>
+  <li>"Baut" eine gesamte Mozilla-basierende Anwendung (Firefox, Thunderbird,
+    SeaMonkey, usw.) inklusive "eingebauter" Erweiterungen, wenn vorhanden</li>
+  <li>Gleiches System auf allen Plattformen, die Mozilla unterst&uuml;tzt (Windows,
+    MacOS X, Linux, OS/2, Solaris, ...)</li>
+  <li>Derzeit gro&szlig;teils auf GNU make aufgebaut, inkl. Unix-Shell-Kommandos,
+    etwas autoconf (2.13!), einige Perl- und Python-Skripte</li>
+  <li>Schlechte Dokumentation der Interna, eine Menge sehr komplexer Skripte und
+    alter Code, niemand versteht alle Teile</li>
+  <li>DON'T PANIC! - Man muss nicht alle Details verstehen, um es zu verwenden,
+    die Bedienung ist (meist) durchaus verst&auml;ndlich</li>
+  <li>Aktuelle Entwicklung: <a href="http://benjamin.smedbergs.us/pymake/">pymake</a>,
+    soll alles auf Python-Basis vereinheitlichen und vereinfachen</li>
+</ul>
+</div>
+
+</body>
+</html>
index ca334b41928fb32fd8b59013e4955b40e4be30be..aef00c6de6cad76406accaad8260b181dbf5d8d0 100644 (file)
@@ -1,2 +1 @@
-surman-freedom-foto:
-http://www.flickr.com/photos/28959625@N04/3324030644/in/set-72157614734249362/
\ No newline at end of file
+https://developer.mozilla.org/en/Extensions_support_in_SeaMonkey_2
\ No newline at end of file