state of the gtk3.x branch

Maxence Guesdon <[email protected]> Tue, 5 Feb 2013 15:50:48 +0100
Newsgroups gmane.comp.lang.ocaml.lib.gtk
Organization INRIA
Message-ID <20130205155048.3a4a67e6@alcazar>
Hello,

Here are some news about what I did until now.

I created a new branch, gtk3.x, which contains the commits from gtk3 and
master.

In this branch, the configure script now looks for gtk3 libraries (only
base libraries, by now, no glade, rsvg, etc.), in addition to gtk2
libs, as before.

The compilation process first compiles in src3, then src.

In src3, the first thing to do, is to run "make stubs" to generate stub
code in the stubs/ directory, using /usr/share/gir-1.0 files and the
additional information from data/ . The stubs are not yet in git, so
you must have gir1.2-gtk-3.0 package installed (this is its name on
debian).

This extraction is done with the extracts_stubs tool. Its sources are
in /tools/extract_stubs.ml. If it does not exists, it is compiled when
running "make stubs" in src3/ . This tool now uses Xmlm rather than
Xml-light. (This is the tool developed by Valentin, it was previously
in src3/introspection). I made various changes to improve the generated
code, but it already worked fine. Bravo !

In src3/, "make all" or "make byte opt" create the lablgtk.cm[x]a
libraries (with corresponding dlllablgtk3.so and liblablgtk3.a).

"make tests" will compile the hello world examples in
tests/hello_world.ml to tests/hello_world .

This example uses the generated low-level code.

I started a src3/Problems.txt files to keep some notes about possible
problems.

I will now start adding the OO layer, by copying lablgtk2 gX.ml
(gWindow, gMisc, ...) modules and updating them to the new API.

Cheers,

Maxence