On Sat, 2008-11-29 at 13:33 -0500, Ross Mellgren wrote: > > The approach I took for whole modules that were deprecated was to > AM_PARAMETER(DISABLE_DEPRECATED) into Makefile.am, and not add them to > the sources list in that case, and modify hierarchy.list similarly. > I'm not sure if this is the approach you would take, but I figured > that it seems the semantic meaning of --disable-deprecated is to > compile something that has no deprecated APIs, either in Gtk2hs > directly or the underlying Gtk+/Glib/Gdk.
Um. As I've explained in my previous mail, I though of --disable-deprecated as a flag to exclude anything in Gtk2Hs that we think shouldn't be used anymore. To also pass this flag to CPP when compiling the Gtk+ headers was probably the original intend and maybe a sensible one. I guess it depends on why one wants to use this flag for which the answer is probably "Developers want to know that they use the latest features.". However, the developer might want to know that they use features of Gtk2Hs that won't go away anytime soon (my interpretation) or they want to use the latest and most bug-free features of Gtk+ (your interpretation). My interpretation is a must for anyone who wants his/her code to compile with future versions of Gtk2Hs since we're removing deprecated features with increasing versions (until we reach version 1.0). Gtk+ never removes any functions until the next major version (3.x). You interpretation implies more work, but is easy to check (since compilation will fall over). My interpretation is useful to generate documentation (as it allows us to exclude all functions that are deprecated). Maybe we should have different flags. But that's even more work. I'm currently undecided about this, so comments welcome. Cheers, Axel. > Here's the versions of the Gtk related stuff, so you know what version > of the library I was compiling against (and got build errors due to > missing symbols from headers): > > [EMAIL > PROTECTED]:/Library/Frameworks/Gtk.framework/Resources/dev/lib/pkgconfig > $ grep Version *.pc > atk.pc:Version: 1.24.0 > gdk-2.0.pc:Version: 2.14.3 > gdk-pixbuf-2.0.pc:Version: 2.14.3 > gdk-quartz-2.0.pc:Version: 2.14.3 > gtk+-2.0.pc:Version: 2.14.3 > gtk+-quartz-2.0.pc:Version: 2.14.3 > gtk+-unix-print-2.0.pc:Version: 2.14.3 > ige-mac-integration.pc:Version: 0.8.2 > pango.pc:Version: 1.22.0 > pangocairo.pc:Version: 1.22.0 > > [EMAIL > PROTECTED]:/Library/Frameworks/GLib.framework/Resources/dev/lib/pkgconfig > $ grep Version *.pc > gio-2.0.pc:Version: 2.18.1 > gio-unix-2.0.pc:Version: 2.18.1 > glib-2.0.pc:Version: 2.18.1 > gmodule-2.0.pc:Version: 2.18.1 > gmodule-export-2.0.pc:Version: 2.18.1 > gmodule-no-export-2.0.pc:Version: 2.18.1 > gobject-2.0.pc:Version: 2.18.1 > gthread-2.0.pc:Version: 2.18.1 > > [EMAIL PROTECTED]:/Library/Frameworks/Cairo.framework/Resources/dev/lib/ > pkgconfig$ grep Version *.pc > cairo-pdf.pc:Version: 1.7.6 > cairo-png.pc:Version: 1.7.6 > cairo-ps.pc:Version: 1.7.6 > cairo-quartz-font.pc:Version: 1.7.6 > cairo-quartz.pc:Version: 1.7.6 > cairo-svg.pc:Version: 1.7.6 > cairo.pc:Version: 1.7.6 > pixman-1.pc:Version: 0.12.0 > > > Thanks for taking a look! > -Ross > > On Nov 28, 2008, at 7:47 AM, Axel Simon wrote: > > > On Thu, 2008-11-27 at 14:03 -0500, Ross Mellgren wrote: > >> I spent a night trying to get --disable-deprecated to work, but I > >> didn't > >> have success. There were a bunch of places where the > >> *_DISABLE_DEPRECATED defines cause Gtk+ and the other libraries to > >> cease > >> exporting things, such as Tooltips. > >> > >> I can send you the patch I stashed before giving up on it, if you're > >> interested. > > > > Yes, that'd be helpful! > > > > Thanks, > > Axel. > >> -Ross > >> > >> > >> Axel Simon wrote: > >>> On Tue, 2008-11-25 at 21:03 -0500, Ross Mellgren wrote: > >>>> Hi all, > >>>> > >>>> I tried to build my gtk2hs kit with --disable-deprecated, since I > >>>> saw > >>>> that the previous event hook functions I had been using such as > >>>> onButtonPress had been deprecated and I have no reason to develop > >>>> against the old interfaces. > >>>> > >>>> However, it turns out that gtk2hs didn't build once I had > >>>> configured > >>>> with --disable-deprecated for two reasons (and I won't go into > >>>> how long > >>>> it took me to nail it down to this -- it's embarrassing): > >>>> > >>>> - FileSelection is omitted from Gtk when GTK_DISABLE_DEPRECATED is > >>>> defined, which --disable-deprecated does (among others). > >>>> - Same with Tooltips. > >>>> > >>>> FileSelection apparently has been replaced with FileChooser and > >>>> has a > >>>> binding in gtk2hs, and it looks like Tooltips (plural) should be > >>>> replaced with Tooltip (singular), but there is apparently no > >>>> binding > >>>> (yet?) for Tooltip. > >>>> > >>>> My question, then, is twofold... what is the policy on > >>>> --disable-deprecated (should I give up on it early), and does > >>>> anyone > >>>> have a binding of Tooltip hanging around, or is one already in > >>>> there > >>>> that I didn't see? I can easily make the deprecated modules in > >>>> gtk2hs > >>>> not be built with --disable-deprecated, but without a replacement > >>>> for > >>>> Tooltips it seems like a bad idea. > >>> > >>> I haven't tested the DISABLE_DEPRECATED variant in a long time. > >>> I'll try > >>> to get it to work again. > >>> > >>> With respect to Tooltip vs Tooltips: I don't think we have any > >>> code yet > >>> that is marked as deprecated starting from a certain version > >>> number of > >>> Gtk+. So far, the --disable-deprecated option was merely meant to > >>> disable parts of the Gtk2Hs API that has been superseded by other > >>> functionality. Thus, an API that exists in Gtk+ and in Gtk2Hs but is > >>> superseded by an new API in Gtk+ remains in Gtk2Hs as long as it > >>> remains > >>> in Gtk+. That was a bit of a mouth full. In a nutshell: We shall not > >>> remove APIs from Gtk2Hs just because they have been marked as > >>> deprecated > >>> in Gtk+. > >>> > >>> Hope this helps, > >>> Axel. > >>> > >>> > >>> > >>> > >>>> -Ross > >>>> > >>>> > >>>> ------------------------------------------------------------------------- > >>>> This SF.Net email is sponsored by the Moblin Your Move > >>>> Developer's challenge > >>>> Build the coolest Linux based applications with Moblin SDK & win > >>>> great prizes > >>>> Grand prize is a trip for two to an Open Source event anywhere in > >>>> the world > >>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ > >>>> _______________________________________________ > >>>> Gtk2hs-devel mailing list > >>>> Gtk2hs-devel@lists.sourceforge.net > >>>> https://lists.sourceforge.net/lists/listinfo/gtk2hs-devel > >>> > > > ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Gtk2hs-devel mailing list Gtk2hs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gtk2hs-devel