Race for new functions

Gtk is kicking my rear... I can compile iconv, gettext, zlib, libjpegm freetype and even annoying fontconfig (with a few patches) with both msvc and mingw and drop them anywhere and have them run properly, and I can compile glib and gtk with mingw perfectly, and php5 with php-gtk2 with msvc perfectly. But I can't seem to get them all compiling on the same thing with the same runtime. Php is REALLY not set up for a mingw compile and I'm not sure I want to dive into that fun, and although I can compile glib with msvc, something is broken because i get strange error messages with boxes and question marks.

In any case, I've taken a break from that (after all I do have a runtime that works as long as they don't decide to have a fit about one using mscvrt.dll and one using the new 80 version) and moved on to getting some new definitions for additional features for php-gtk2. Andrei would love everyone to work on the currently missing items so 2.6 is complete, but quite frankly the items that aren't done yet are usually pretty hard and require some deep knowledge of php, gtk, C or all of the above. I'm missing all three requirements. I can change a glist to a php array.....and think I'm cool.

I downloaded pygtk's source, dropped the 2.10 def files into place, altered a couple spots in the gtk.def file to include them, and in the generator for additional enums...and voila, most of the new 2.10 stuff works right out of the box, no alteration necessary. For my next trick, I'll be tackling the items that DIDN'T cooperate. I like the way pygtk split out the 2.10 stuff. I think I'll try doing that with 2.8 stuff as well, and messing around with the generator and/or configure so that php-gtk2 could compile against 2.6, 2.8 or 2.10 simply by only using the defs for things the compiler's gtk supports. In any case, I'm off to write some more tests for the new stuff I added (tests is such a lose word...more like useless examples) and try to get some overrides written. Maybe I'll send some patches when I get this working.


Be the first to write a comment!

Post a Reply