Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[Caml-list] [ANN] lablwebkit, generated with cowboy/glib
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Adrien <camaradetux@g...>
Subject: [Caml-list] [ANN] lablwebkit, generated with cowboy/glib

Following the preview release of cowboy, I am happy to announce
cowboy/glib[1] and its first output: bindings to webkit-gtk.

cowboy/glib is a generator using facilities from cowboy. The goal is not
to replace lablgtk2: it actually relies on it a lot. It was named
"glib" because it generates bindings for glib-based libraries which
follow glib-like conventions.

Last year, I released "ocaml-gir" which used gobject-introspection[2]
(GI) to generate bindings. GI is hopefully two things: a program
outputting an xml description of a glib library, but also the annotation
of these libraries in order to ease the creation of bindings. This
second part can be used by anyone.
I wasn't pleased with the gobject-introspection program (it's very
complex and not documented) but also with my own code. This new project
currently handles most of webkit-gtk: functions, signals, properties
while being cleaner.

The bindings to webkit-gtk are working fairly well and are installed
through findlib, which means they can be easily test and uninstalled.
I've generated sources for webkit-gtk 1.2.3[3] (latest stable) and
1.3.3[4] (latest non-stable).
Of course, it's also possible to generate the bindings on your own
machine (see doc/webkit_gtk).

You'll also need an additional (trivial) wrapper around g_thread_init()
which webkit-gtk requires to be called and which is currently not in
lablgtk2[5] (simply run 'make && make install').

You will find a small test named '' in the 'misc' folder
of cowboy. Its compilation command is given in the comments.

Of course, I will continue working on this project in order to increase
the compatibility with other glib-based libraries.



Adrien Nader