Preliminary Haiku port

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Preliminary Haiku port

François Revol
Hello,
last year I started porting Gambas to Haiku <https://www.haiku-os.org/>.
I tried sending a mail back then but it seems it didn't get through as I
wasn't subscribed. I didn't do much yet but I'm keeping it up to date.

Here is my current patch, you might want to merge some of it:

https://github.com/haikuports/haikuports/commit/5c55a5bfe63739abe2f1e47a43ece05725c1d90c


Some notes:

- we don't have a "libc" proper, it's implicit (through libroot),

- pthread is also included in libroot, linked to by default,

- libm is also an integral part of libroot,

- our filesystem is laid out quite differently from *nix, no /usr, and
"include" subdirs are actually named "headers". Also, on the official
version we have to use the secondary arch to build because we need gcc2,
so we need "headers/x86" and "lib/x86".
For now I patched GB_FIND to avoid having to change all those /usr
around, but it's quite as ugly... it seems to solve most of the tests
though.

- we lack quite a lot of "old" calls from BSD and other
non-POSIX-specified things (like wait4 or statfs. I added checks for the
POSIX versions.

- some BSD-specific things need _{GNU,BSD}_SOURCE and -lbsd. (I could
probably drop the #ifdef HAVE_DAEMON though.)

- we don't have {get,set}priority() yet, we have our own API for those
things. I might implement them someday as they are part of POSIX.

- we don't #define all the various signals around (mostly synonymous for
others anyway).

- some modules like Qt4/5 or SDL also require X11 stuff, which we don't
have as we have our own GUI. Likely there's a way to replace those
dependencies in some way and get those built...

For now we're missing:

|| THESE COMPONENTS ARE DISABLED:
|| - gb.cairo
|| - gb.crypt
|| - gb.db.mysql
|| - gb.db.odbc
|| - gb.db.postgresql
|| - gb.db.sqlite2
|| - gb.dbus
|| - gb.desktop.gnome.keyring
|| - gb.desktop.x11
|| - gb.gmp
|| - gb.gsl
|| - gb.gtk
|| - gb.gtk.opengl
|| - gb.gtk3
|| - gb.image.imlib
|| - gb.image.io
|| - gb.jit
|| - gb.media
|| - gb.mime
|| - gb.openal
|| - gb.opengl
|| - gb.opengl.glsl
|| - gb.opengl.glu
|| - gb.opengl.sge
|| - gb.pdf
|| - gb.qt4
|| - gb.qt4.ext
|| - gb.qt4.opengl
|| - gb.qt4.webkit
|| - gb.qt5
|| - gb.qt5.ext
|| - gb.qt5.opengl
|| - gb.qt5.webkit
|| - gb.sdl
|| - gb.sdl.sound
|| - gb.sdl2
|| - gb.sdl2.audio
|| - gb.v4l


Cheers,
François.

------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Gambas-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gambas-devel