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