It's been a long time, so here's an update on Netsurf's development. I've been writing some C level libraries / bindings for assembly code for the past few months / weeks and tried writing a cross compiler as well (but dropped in favour of Serge's already existing newlib based toolchain for now).
I created a kolibrios
directory in Netsurf source.
Wrote a build script which builds all the libraries required by netsurf : Build Script
All libCURL related parts have been removed and stubbed.
All the functionality has been stubbed which is not supported by KolibriOS.
Removed some parts related to Linux / Windows not supported on KolibriOS.
Set up netsurf core tables according to KolibriOS frontend.
Wrote a kolibriOS specific make file for building netsurf for KolibriOS : Makefile.target
Migrate / Create some parts like kolibri_filesystem.c and kolibri_regex.c to expose functions used in most FOSS code but not available in KOS.
Problems / Current Status:
The main problem is understanding the Netsurf source code and how the functionality is split and decoupling core parts (as we do not have access to stuff that Linux/Windows have in terms of libraries)...but screw it : )
Getting stuff to build without a proper cross compiler is problematic. I'm trying to use the newlib toolchain (and Serge has been very helpful so far, Thank you!) but there are obvious problems along the way.
I guess this is it for now. If someone is interested in contributing to this, feel free to join this project. I've tried to keep the code base as clean as possible and as standard and Netsurf-compliant as possible till now so that we can put this port in Official Netsurf ports list.
Check out the Netsurf
Web Browser for KolibriOS.
Read the wiki and happy hacking with KolibriOS!