[glade--]Re: Gnomemm-2 support in glade--

On Mon, 2002-11-04 at 11:48, Christof Petig wrote:
> Peter Wainwright wrote:
> > Hi, Christof
> > 
> > I'm posting my latest patches to try to get gnomemm2 support.
> Well done. Actually you understood a lot of glademm's internals. Wow.
> I only disagree in two points:
> - I do not like the environment variable. I'd propose to default to 
> gnome1 on glade-1 files and gnome2 on glade-2 files. But since I do not 
> have a better solution, I took yours.
> - You unconditionally overwrite configure.in, Makefile.am, autogen.sh 
> and the like (patch to Cxx.cc). That's not how it's supposed to be. I'd 
> like the user to delete the files to get them recreated. This way user 
> changes to these files are preserved. Perhaps I should spend another 
> option to overwrite these files.

1. I don't like the environment variable either: I only put it in
as a temporary measure (read KLUDGE) while I was feeling my way
around. I guess "Configuration.glade2" is the flag which tells us
which version of the .glade file has been detected? If you don't
feel like correcting my patches yourself, I can provide a better
solution when I have time...

2. I don't think I unconditionally overwrite the build files.
There are lines such as autogen_name=FileNameByType(File_AUTOGEN_SH),
and it seems that these return the filenames with a "_new" postfix if
they already exist. Its up to the user to copy those to autogen.sh, etc.
if they want to - I thought that was the idea (correct me if
I'm wrong)?

I'm still working on some more patches (presently trying to learn
about the internal BonoboDock/BonoboDockItem widgets which crop
up in Gnome2 Apps) - I'll probably have some more patches in a
week or so...


> > I have set myself the task of getting a Gnome App widget working.
> > It's a challenge...
> It had been a challenge when gnome 1.0 was there, too. If you have any 
> questions, please ask.
> > A number of issues occur to me.
> > First and foremost, how to support different Gnome versions?
> > 
> > In Gnome 2, the "gnomemm" libraries have been split considerably.
> > There is libgnomemm, libgnomeuimm, libbonobomm, libbonobouimm,
> > libgnomecanvasmm, gconfmm - at least; as well as gtkmm itself.
> > 
> > This makes sense from the developer's perspective. However, if
> > glade-- is to automatically determine its target, we have to
> > cope with the situation when the user has inconsistent versions
> > of the libraries installed. It comes back to the question often
> > asked "how do i find out what version of GNOME I have installed"...
> > There is no simple answer when each library has its own versioning
> > scheme.
> Hmm. I'd say: If gnomemm2 is detected, stay with it. If gnomemm2 is 
> missing, we have a glade-1 file and we still detect gnomemm1, stay with it.
> > I see that the first routine called in glade-- is "call_gtkmm_config".
> > I split this into two parts, one which uses "pkg-config" style checks
> > as in Gnome 2; the other using "gtk-config" and "gnome-config" checks
> > as in Gnome 1. At present an environment variable GLADEMM_GNOME_VERSION
> > is used to select which of these sections is executed. If you set
> > GLADEMM_GNOME_VERSION to 0 both sections are executed, and the latest
> > version of each package is detected. This may leave you with
> > inconsistent versions - however at this stage we don't know if this
> > is a problem. For example, the user may be building a GTK-only
> > application, and then it doesn't matter if he has GTK 2 with Gnome 1.
> > 
> > The Gnome 2 detection however will become increasingly messy if we
> > add checks for all the new component libraries... Maybe we need to
> > simplify with a simple Gnome2/Gnome1 option - I'd really appreciate your
> > thoughts on the way you want to go with this.
> Did I make my thoughts clear enough? (Please erase any sharp undertone 
> propably found here) If not please ask.
> It's not uncommon to have gtkmm2 and gnome-1 installed (I still do not 
> have/need gnomemm). I'd vote for using gnome-2 even if it is missing if 
> gtkmm2 is selected (not the default even if detected if passed a glade-1 
> file, see glade--.cc). The user should be able to figure out the missing 
> packages to build his new app once configure complains.
> > BTW, there's also a patch in here I called "glademm.utsname.patch".
> > This is a configure problem I had with the code which tries to
> > get utsname by #defining _GNU_SOURCE or __USE_GNU.
> > (I'm using Red Hat 7.2 with updates).
> already applied. But shouldn't we add -D_GNU_SOURCE to cflags to really 
> support it?
> > Sometimes autoconf drives me mad...
> I learned to need it. And it does it's job well ... unless you try to do 
> things in unforeseen ways (which is easily done).
> Thank you very much for your patch
>     Christof
       Home:                           Work:
Email: prw wainpr demon co uk          peter wainwright nrpb org
Fax:   +44-870-0523185                 +44-1235-822656
Web:   http://www.wainpr.demon.co.uk   http://www.nrpb.org

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]