
Anton Reinauer na grupie dyskusyjnej projektu
AmiZilla oraz na portalach informacyjnych zamieścił raport ze stanu prac. Oryginalna treść informacji oraz tłumaczenie znajduje się poniżej.
Sorry for the long time since the last update- I wrote one several months ago, but never released it, as the students were coming to the end of their projects, and needed a lot of help with them. Also, I had time free to try and get AmiZilla compiling- so wanted to go hard on that first, to try and have something more concrete to announce- see below for my endeavours, such as they are!
The students have finished their projects, but they didn't end up with much concrete work. For the most part, it wasn't really their fault, as the projects were quite hard for their level of experience, and I was expecting the AmiZilla team to be able to provide more help than they did in the end. You also have to remember, the students had a huge amount of things to get familiar with first- from learning to use Bash and it's commands, then GCC, and setting up a cross-compiling environment, before they could even start with Configure and Make for AmiZilla (which can be scary for the first time!).
What was achieved though, was some documentation, and they sorted out a lot of little problems compiling the NSPR! Captain Moo-Moo and one of his students, tracked down lots of missing non-standard Amiga GCC libs, and commented out a2ixlibrary calls (as we're going back to creating one static exe first, to simplify things)- this has helped with compiling the NSPR.
And because of all the research done for and by them, we now have a reasonable idea of how everything is structured, and what needs doing. Most of the code is platform independent- we really only have to worry about the areas that contact the underlying OS. The three main areas where this happens, is the NSPR, XPCOM and XUL.
So far the NSPR is basically complete- it may need some extra work tweaking or adding to it. XPCOM needs platform specific code done in assembler, mainly specifying how an OS passes it's parameters to functions- I have some assembler experience, so with a little help it shouldn't be too hard. The other major hurdle is the GUI- oli's GTK-MUI project would require a lot of extra work to provide all the GTK and GDK functions AmiZilla needs (as it requires hundreds!). But what we'll try first, is to compile AmiZilla with the GTK GUI option, use an X-Server and create GTK/GDK libs from the Linux code, and see if that works. A developer has used some basic GTK programs to test the X11/GTK on OS4, and reports that the system runs well, and at a good speed. We could later look at doing a native XUL layer using MUI/Reaction; but as V3 of Firefox will dump the XUL GUI layer in favor of using Cairo, and having inbuilt gadgets/widgets, we may just work towards getting our code into the V3 code base instead.
We'll be using oli's port of GLib to AROS within AmiZilla- a couple of other devs have ported it to OS4 and MorphOS- they're in the process of restructuring the headers, so it will fit into one source tree- but we'll still need to port it to OS3.
Currently, we have one experienced developer (George Livingston), playing around with the source code, trying to get bits to compile under OS4. He's got the NSPR compiling, but the tests aren't working yet- so some debugging will be involved, but it's great to get it to this stage! I'm currently attempting to compile a Linux exe of Firefox, just to get familiar with the process, before trying to cross-compile it for OS3. So far I've managed to compile the NSPR and test it- I haven't been able to fully compile a Linux version of Firefox yet, as I suspect the version of GCC I'm using has a bug in it (the C++ code it doesn't like, is a quite complex combination of a Template, Namespace and an Iterator!). Soon, I intend to work on the AmiZilla website, with a new design, and lots of developer documentation.
If we can get the NSPR passing the tests, then it shouldn't take long to get it running with a GTK GUI, using an native X11 server. But as it could take awhile to get it running properly (along with XPCom), I can't give you any definite time frames on a Beta just yet (it may take 1-3 months, possibly more).
Any developers are welcome to join the project- to join the AmiZilla list, either send an email to
amizilla-subscribe@yahoogroups.com, or go to the
Yahoo AmiZilla website (but you need to create a Yahoo account, to do it this way).
Also, donations to help encourage more developers, are most welcome too! :)
-
DiscreetFX's AmiZilla donation page.
-
AmiZilla home page
Ants
Coordinator
Amizilla Team
--------
Tłumaczenie:
Przepraszam za długą przerwę jaka minęła od czasu ostatnich informacji.
Kilka miesięcy temu napisałem raport ze stanu prac, lecz nie opublikowałem
go, głównie dlatego, że studenci kończyli swoje projekty i potrzebowali
przy nich pomocy. Ponadto, miałem trochę wolnego czasu, aby spróbować
skompilować AmiZillę, a to mogło mi pozwolić przedstawić bardziej konkretne informacje
do ogłoszenia. Poniżej znajduje się opis tego, co z tych prób wynikło.
Studenci ukończyli swoje projekty, lecz nie zakończyło się to niczym konkretnym.
W głównej mierze to nie była ich wina. Projekty były dosyć trudne jak na
ich poziom zaawansowania i doświadczenia. Spodziewałem się także, że
AmiZilla Team będzie w stanie zaoferować znacznie większą pomoc. Należy
pamiętać, że studenci zanim mogli przystąpić do przysłowiowego Configure & Make, musieli przyswoić i zaznajomić się z mnóstwem
nowych dla nich rzeczy - nauka Basha i jego komend, później GCC, skonfigurowanie
środowiska do cross-kompilacji (na początek można się tego wystraszyć!).
Niemniej to, co osiągnięto to sporządzenie pewnej części dokumentacji oraz rozwiązano
kilka problemów wynikających z kompilacji NSPR! Kapitan Moo-Moo i jeden
z jego studentów namierzyli dużo brakujących niestandardowych bibliotek amigowego GCC
i "wykomentowali" w kodzie wywołania biblioteki a2ixlibrary (na początek zamierzamy stworzyć statyczny
plik wykonywalny, aby ułatwić sobie trochę spraw) co pomogło przy kompilacji NSPR.
Z uwagi na sporą część pracy "badawczej" poczynionej dla nich i przez nich
posiadamy całkiem składny obraz tego w jaki sposób wszystko jest skonstruowane
i co musi być zrobione. Większa część kodu jest niezależna od platformy.
Jedno czym musimy się martwić to obszary, w których następują odwołania do
systemu. Trzy najważniejsze, gdzie to się odbywa to NSPR, XPCOM i XUL.
Jak na razie NSPR jest praktycznie ukończone. Może co najwyżej wymagać
drobnych szlifów lub dodania kilku elementów. XPCOM wymaga konkretnego
kodu napisanego w asemblerze, który będzie określał w jaki sposób system
przekazuje parametry funkcjom. Posiadam doświadczenie w tej materii, tak
więc z niewielką pomocą nie powinno być to trudne. Kolejny problem to
GUI. Projekt GTK-MUI Olivera wymaga jeszcze sporo dodatkowej pracy, aby
zapewnić obsługę wszystkich niezbędnych dla AmiZilli funkcji GTK i GDK (wymaga ona ich setki).
Na początek jednak spróbujemy skompilować AmiZillę z opcją GTK GUI, wykorzystamy
X-Server i stworzymy biblioteki GTK/GDK z linuksowego kodu. Zobaczymy jak
to się spisze. Programista wykorzystał kilka prostych programów wykorzystujących
GTK, aby przetestować X11/GTK dla AmigaOS 4.0. Działa to dobrze i z akceptowalną
prędkością. Później być może postaramy się stworzyć natywną wersję warstwy
XUL korzystając przy tym z MUI/Reaction. Niemniej trzecia wersja Firefoksa
porzuci wykorzystanie XUL GUI na korzyść Cairo wraz z wbudowanymi gadżetami/widgetami.
Być może zamiast tego nasze prace zostaną oparte na kodzie w wersji
trzeciej.
Skorzystamy z arosowego portu Glib napisanego przez Olivera. Kilku innych programistów
przeportowało go dla AmigaOS 4.0 i MorphOS-a - są w trakcie przebudowywania
nagłówków, tak więc wpasuje się to w drzewo źródeł. Nadal jednak istnieje
potrzeba przeportowania tego pod AmigaOS 3.x.
Obecnie mamy jednego doświadczonego programistę (George Livingston), który
bawi się kodem źródłowym i stara się go skompilować dla AmigaOS 4.0.
Skompilował NSPR, lecz testy jeszcze nie wypadły pomyślnie. Potrzeba
dołożyć debug. Cieszymy się jednak, że osiągnęliśmy już ten poziom!
Osobiście próbuję skompilować linuksowy plik wykonywalny Firefoksa. Głównie
dlatego, aby zaznajomić się z przebiegiem tego procesu zanim zacznę
cross-kompilację dla AmigaOS 3.x. Udało mi się skompilować NSPR i przetestować. Nie mogę jednak przekompilować całej linuksowej wersji Firefoksa. Podejrzewam, że GCC, z którego korzystam posiada błąd (nie lubi kodu C++).
Wkrótce zamierzam popracować nieco nad stroną AmiZilli. Będzie nowy wygląd
i dużo informacji dla deweloperów.
Jeżeli uda nam się przebrnąć przez testy NSPR, nie powinno zająć dużo czasu
uruchomienie go z GTK GUI przy wykorzystaniu serwera X11. Z racji, że może
zająć trochę czasu właściwe jego uruchomienie (wraz z XPCom), nie jestem
w stanie podać terminu wypuszczenia wersji beta (może to potrwać 1 miesiąc, a może 3
lub dłużej).
Każdy programista zainteresowany dołączeniem do projektu jest mile widziany.
Aby dołączyć do listy dyskusyjnej AmiZilla albo wyślij maila na adres
amizilla-subscribe@yahoogroups.com, albo wejdź na stronę
grupy na Yahoo!
(w tym wypadku musisz mieć swoje konto na Yahoo!).
Dotacje, które mogą zmotywować programistów również są mile widziane! :)
-
strona DiscreetFX, na której można wnosić dotacje na AmiZillę.
-
strona AmiZilla
Ants
Koordynator
Amizilla Team