From: Duncan C. <dun...@wo...> - 2004-12-07 14:28:48
|
On Sun, 2004-12-05 at 11:04 +0000, Axel Simon wrote: > On Sat, 2004-12-04 at 13:28, Duncan Coutts wrote: > > Sorry I've not been very active the past two weeks. I've been very busy > > with teaching and project work (getting viva'ed). > > Uh! Good luck. Thankfully I've passed! :-) > > I made some changes to the Makefile.am for the other packages (glade, > > mogul, etc). That was about a week ago, so I'll need to resync it first > > (unless you've already got the other packages working and I didn't > > notice the cvs commit). > Your additions probably are out-of-sync. But if you have the lists of > files, I could do it (next weekend). Here's an issue I've run into: I've added stuff to Makefile.am to build mogul & glade, following the style of the gtk package. Now what's happening is that some .chs.pp -> .chs conversions are being done in the context of the wrong $(NAME). The only package that currently has .chs.pp files is the gtk package so $(NAME) should always be libgtk2hs_a for these however: Preprocessing for libglade_a gcc -E -x c -traditional-cpp -P -I/usr/include/libglade-2.0 -I/usr/include/libxml2 -include config.h gtk/glib/GError.chs.pp -o gtk/glib/GError.chs In file included from <command line>:4: config.h:4: gtk/gtkversion.h: No such file or directory It's being done with $(NAME) = libglade_a and the libglade_a_CPPFLAGS does not have the gtk include directories and so gtk/gtkversion.h cannot be found. Actually I notice that as soon as I add the glade or mogul bits, the $(NAME) variable gets messed up. For example the hook generator gets linked with $(NAME) = libmogul_a and so uses a -package gtk2hs which of course does not exist at that point during the build. I can't see what I'm doing wrong. It follows the same pattern as the gtk2hs package. The gtk include directories not being in libglade_a_C[PP]FLAGS causes problems too. I see in configure.ac strips out everything that is in GTK_CFLAGS. There are various places where we'd have to use $(GTK_CFLAGS) $(GLADE_CFLAGS) but only one place where we combine all the CFLAGS together so I wonder if it wouldn't be easier to do the removing duplicates in that place. We could use either the builtin gmake 'sort' function which removes duplicates (is order important?). The next issue is that the other packages depend on the gtk package so they need to use some local package file. Since all the .pkg files are generated at ./configure time they can all be stuffed into a localpackage.conf file right at the beginning of the build. The import_dirs/library_dirs needs to be different for the local package file compared to the installed package file. Duncan |