amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

[Login] [Registrieren] [Passwort vergessen?]

< Nächste MeldungVorige Meldung >
28.Jun.2005
Anton Reinauer (E-Mail)


Status-Update zum AmiZilla- sowie zum GTK-Wrapper-Projekt
Okay, manche Leute scheinen zu denken, dass das AmiZilla-Projekt tot sei - nun, dies ist nachvollziehbar, da hierüber schon seit langem keine neuen Informationen veröffentlicht worden sind. Daher habe ich mir gedacht, ein Status-Update zu veröffentlichen, damit jedermann sehen kann, dass es vorangeht!

Zunächst einmal ist das NSPR (Netscape Portable Runtime) prinzipiell komplett funktional - hierbei handelt es sich um die Basis-Betriebssystemsabstraktionsschicht (für Bereiche wie TCP/IP, etc.) - und XPCOM (Cross Platform Component Object Model) scheint größtenteils bereits ebenfalls zu funktionieren. Letzteres erlaubt es den Einzelkomponenten Mozillas, miteinander zu kommunizieren und sowie beispielsweise auf jeder Plattform auf Dateien zuzugreifen.

Einige Entwickler konnten den Quellcode mit diesen Layern bereits kompilieren, was in einer ausführbaren Datei von rund 500 MB (einschließlich Debug-Informationen) mündete, die lief und sich sauber beendete, jedoch einen X11-Server als Screen-Device benötigte. Inzwischen sind wir anstelle der statischen Monsterdatei zu einer bibliotheksbasierten Version übergegangen (a2ixlibrary), konnten damit aber bisher noch kein vollständiges Kompilat erzeugen.

Wir arbeiten an einer hilfreichen Dokumentation, die etwa beschreibt, welche Dateien benötigt werden, wie eine ausführbare Datei kompiliert wird oder wie eine Cross-Compiler-Umgebung unter Linux und Windows eingerichtet werden kann. Letzterem kommt insbesondere dadurch Bedeutung zu, dass man ohne vielleicht eine Dragon-Turbokarte AmiZilla nicht auf einem 68k-Amiga kompilieren kann, da schlicht nicht genügend Arbeitsspeicher vorhanden ist (benötigt werden mindestens 256 - 512 MB RAM, von der Kompilierungszeit für 200 MB Quellcode auf einem 68k-Prozessor ganz zu schweigen). Mit einem AmigaOne oder Pegasos sollte es allerdings möglich sein.

Von noch breiterem Interesse aber ist, dass ein paar Entwickler an einem GTK->MUI(Zune)/ReAction-Layer arbeiten - primär zwar für das AmiZilla-Projekt, aber zusätzlich wird auch eine Nutzung für andere GTK-Programme möglich sein.

Wahrscheinlich werden wir zunächst versuchen, Firefox zum Laufen zu bringen, bevor wir uns - falls die Allgemeinheit es wünschen sollte - eventuell das gesamte Mozilla-Paket vornehmen (was möglicherweise unnötig ist; jedenfalls bedarf es lediglich eines einfachen Compiler-Switches, entweder Firefox oder Mozilla zu kompilieren).

Wir beabsichtigen, es zunächst unter 68k/MUI zum Laufen zu bekommen, und hoffentlich läuft dann ja auch diese 68k-Version bereits unverändert ebenfalls unter AmigaOS4 und MorphOS.

Danach können wir dann die nativen Portierungen für MorphOS, AmigaOS4 und AROS in Angriff nehmen. Für die MorphOS-Portierung bräuchten wir allerdings wohl eine aktuelle GCC-Version, also 3.x, um Amizilla kompilieren zu können.

Der GTK->MUI/ReAction-Layer wird als ein separates Projekt fertig gestellt werden, um die Unterstützung vieler Betriebssysteme (AmigaOS 3.x, AmigaOS4, MorphOS und AROS) zu erleichtern, aber das Ausgangsziel wird sein, Firefox unter AmigaOS 3.x zum Laufen zu bringen.

In diesem Zusammenhang ist ein AROS-Bounty-Projekt für einen GTK->MUI(Zune)-Layer initiiert worden, so dass dieser dann leicht an jedes andere der Amiga-Betriebssysteme angepasst werden kann (sofern noch nicht geschehen). Und auch im Rahmen des MorphZone-Bountyprogramms wird derzeit überlegt, entweder ebenfalls ein entsprechendes Bounty-Projekt zu starten oder einfach zur AROS-Version zu verweisen.

Umgesetzt werden wird der GTK-Layer voraussichtlich in Form zweier shared libraries: glib.library und gtk.library.

Bislang sieht die Umlenkung von GTK zu MUI ganz überschaubar aus, da MUI ziemlich flexibel und auch strukturell relativ ähnlich zu GTK ist - beide nutzen ein Objekt-Modell (im Sinne der Nutzung von Objekten wie Fenstern, Knöpfen, etc., nicht in jenem objekt-orientierter Programmierung unter C++ oder Java), welche Objekte von GTK mittels Funktionen manipuliert werden, anstatt direkt in den eigenen Datenstrukturen herumzustochern.

Wir haben eine grundlegende, funktionierende Beispielversion erstellt, die GTK-Funktionen nutzt und GTK initialisiert (in Wirklichkeit MUI), ein Fenster mit Schaltfläche öffnet, es wieder schließt und das System (MUI) wieder beendet. Auch wurden die Beispielprogramme helloworld und helloworld2 aus dem GTK-Entwicklerpaket ohne Modifikation des Quellcodes erfolgreich kompiliert.

Ein kleineres Problem ist hierbei, dass MUI bei seiner Initialisierung einen Pointer zurückliefert, GTK aber nicht. Daher müssen wir den Pointer in der Struktur der GTK-Library applikationsweise speichern, wenn ein Programm sie erstmals öffnet.

Auf Sourceforge.net wurden zwischenzeitlich bereits Screenshots des GTK-MUI-Wrappers unter AmigaOS 3.1, AROS und MorphOS bereitgestellt sowie auch Beispiel-Quellcodes und fertige 68k-Kompilate (Download, 33 KB).

Was GDK anbelangt - eine betriebssystemunabhängige Videoabstraktionsschicht für GTK, die von Letzterem aufgerufen wird und dann das zugrundeliegende System anspricht (im Falle etwa von Linux X-Windows) -, so haben wir uns damit zwar noch nicht vollständig befasst, müssen uns diesbezüglich aber wohl keine Sorgen machen. Denn nur GTK ruft GDK auf, weshalb Firefox keine direkten Aufrufe vornehmen sollte - und da die GTK-Aufrufe von uns durch MUI/ReAction-Aufrufe ersetzt werden, würde dann auch GDK nicht aufgerufen werden.

Eine größere Herausforderung hingegen wird GLib - wir untersuchen derzeit, in welchem Ausmaß Firefox hiervon Gebrauch macht, da ein Teil von GLib sehr einfach ist und schlicht eine Neukompilierung erfordern würde, aber andere Bereiche, wie Events, Signals und Threads, sich als problematischer erweisen könnten und möglicherweise durch MUI/ReAction-Aufrufe ersetzt werden müssen.

Weitere Entwickler, die zu uns stoßen möchten, sind jederzeit willkommen - je größer unsere Ressourcen, desto schneller werden wir fertig! Um an der AmiZilla-Mailingliste teilzunehmen, senden Sie entweder eine E-Mail oder rufen Sie die zugehörige Webseite auf (für Letzteres benötigen Sie allerdings einen Yahoo-Account). Und Spenden, um weitere Entwickler für die beiden Projekte zu gewinnen, sind natürlich ebenfalls höchst willkommen!

Anton Reinauer
AmiZilla-Projekt (snx)

[Meldung: 28. Jun. 2005, 09:17] [Kommentare: 28 - 29. Jun. 2005, 09:18]
[Per E-Mail versenden]  [Druck-Version]  [ASCII-Version]
< Nächste MeldungVorige Meldung >

.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.