In case you do not follow our progress, rjd324 worked hard the previous weeks and brought us a necessary fix to our gcc 11 compiler, which is for the long-standing issue at https://github.com/sba1/adtools/issues/82 and has to do with the call_once().
That something ! Nice to see such an important progress in this area.
I also do check a bit your progress page, etc, and find out that you meet with morphos specific changes in the core of webkit (there a little bit of them, but still), and in most cases (at least in Odyssey) i do use the same code, with just adding __USE_INLINE__ to avoid me adding interfaces in the face of os3-kind functions.
And you go right route when firstly build webkit core for x86/linux and pass the tests. In terms of webkit itself port to os4 was (At least with odyssey again), almost with no changes , most of issues and changes were in GUI part. So, as far as you will build only core to make it as class or as shared library it should be not very hard. Then just some simple native test-window to render something by this class/shared library, and browser almost ready :)
What jacadcaps said that you need some 12 core machine with 32 gb memory to even compile WebKit. I don't have even that heavy Windows machines.
Things may have changed a lot in the past about 10 years, but I used an Amiga (initially an AmigaOne XE with 750FX CPU, later even a Sam440ep, none of them had more than 256 MB RAM) to build OWB natively, I never used a cross compiler for it. Requirements very likely did increase, but not that much.
@SinanSam460 Quote:
I guess the port will be clib2 based ?
Wont work, way too much is still missing in it. Current versions of newlib.library probably aren't usable anymore either, but creating a new and usable port of newlib is, as it always was, very easy...
With OWB porting the browser itself, incl. implementing an AmigaOS GUI for, was only about 5% of the work, 95% of the work was porting the required libraries to AmigaOS. When I ported OWB to AmigaOS 3.x/m68k and 4.x/PPC at least half of those libraries were already available, partially in too old versions but easy to update, but I guess now at most 10% of the required libraries are available in usable versions. Before even starting such a browser project first you have to get the required libraries ported, but I very much doubt there are still enough AmigaOS developers left for that work.
@afxgroup Quote:
Maybe you can compile it natively on OS4.. But it will took 4 years..
For OWB it took me at most 4 days to build it natively on OS4
Edited by joerg on 2022/10/19 18:22:46 Edited by joerg on 2022/10/19 18:29:53 Edited by joerg on 2022/10/19 18:32:46 Edited by joerg on 2022/10/19 18:33:09 Edited by joerg on 2022/10/19 18:40:29
You for sure know that most of those libs was just about make and compile with little or none modifications needed, and they were already ported when the work of OWB and then Odyssey started.
If as you said 95% of the real work is just about porting the required libraries to AmigaOS, then maybe we are already pretty close to have Wayfarer...
Thanks everyone for your interest and for this discussion.
Quote:
Wont work, way too much is still missing in it. Current versions of newlib.library probably aren't usable anymore either, but creating a new and usable port of newlib is, as it always was, very easy...
We have cross compiling dev environments with both the new clib2 and the latest newlib. I plan to compile it for both and if something works on one and not on the other, that knowledge or issue will be shared with the maintainers. Having afxgroup on the team I am confident that if something is needed, we will be able to add it.
Quote:
Before even starting such a browser project first you have to get the required libraries ported, but I very much doubt there are still enough AmigaOS developers left for that work.
I agree that this needs to be addressed first, and that's what we actually do (https://github.com/walkero-gr/webkitty/issues/4) by porting the libICU. I also spoke with salass00 about his port of libCairo which we will use for a start and maybe later we might proceed with porting the latest version of it, which will benefit us all.
But we are still in our first steps. We need to familiarize ourselves with the project and do the work. It will take some time. I hope we will come up with something that will be useful and set the base for something great.
clib2 (newest version) has almost all glibc functions (except the usual one.. fork, waitpid and so on) and if someone find something missing it can be added (if possible). It supports also shared objects (even if they needs to be debugged heavily) so even the problem to have a single monolith exe is not a problem.
For OWB it took me at most 4 days to build it natively on OS4
Yes I know.. :) it was just a way to tell that it is crazy.. And if you change an include file most probably you have to recompile everything all the time..
The main problems in my opinion are gcc/exec/elf. But while the first one can be patched if something is missing or needed in the two other one, we have to wait forever.. Another problem could be your missing.. :D but if you have some spare time (even 10 minutes a day) would be great.. :)
Another problem could be your missing.. :D but if you have some spare time (even 10 minutes a day) would be great.. :)
I would like to double on that. When the time comes, I am sure we will need experienced people like joerg.
But also, if we discuss that we need a c library free from anyone, contributing to the new clib2, or even the old one, is the way to get rid of the newlib and move forward. So if anyone has time to contribute, there is plenty of space to do so.
I also spoke with salass00 about his port of libCairo which we will use for a start
Is Cairo still enough? AmigaOS graphics.library functions and Cairo, with OWB optionally even SDL, was enough when Pleyo created OBW, but for example Chromium uses Skia.
Quote:
But also, if we discuss that we need a c library free from anyone, contributing to the new clib2, or even the old one, is the way to get rid of the newlib and move forward.
Doesn't make any sense, newlib is free software. Unless you want to get rid of updates, bugfixes, etc., from non-AmigaOS developers (Linux, Windows, etc. which use newlib as well) and do everything yourself instead, in that case using clib2 is better, and much more work, than creating a new newlib port In any case you need a C library with IPv6 support, and of course a new TCP/IP stack with IPv6 support in case there is none for AmigaOS 4.x yet.
For OWB it took me at most 4 days to build it natively on OS4
Yes I know.. :) it was just a way to tell that it is crazy.. And if you change an include file most probably you have to recompile everything all the time..
It was very crazy using an A1XE, and even worse with the Sam440ep which took several days for a complete rebuild (about 5-10 of the source files needed a lot of RAM, much more than the A1XE and Sam440ep had, and using the pager instead took several hours compiling each of them), but a X1000 or X5000 with 4 GB RAM should be able to rebuild it completely in less than a day.
There are probably only 2 programs that use ExtMem Sketchblock and Rave. I don't know if it could be used for a Web browser, but 4GB would be very useful for today's heavy sites.
@Raziel What Trixie mean, that if you want to use ExtMem functionality, SDK already provide you with everything. But as it matter of writing special code to handle extMem for every case, it mean that if programms did not rewriten to use it, then it will be not used.
So to answer : of course no one add support of extMem to gcc tools, gmake or to linker. That hell of work, and we should be happy anyone ever fix someting even simple in gcc , taking aside adding of extMem :)
@all Not only Rave and Sketchblock use extMem : as i aware MultiViewer/MiltiEdit did use it (can be wrong if both, but one of them for sure).