
On Mon, Mar 26, 2007 at 11:15:34AM -0700, Bryce Harrington wrote:
On Mon, Mar 26, 2007 at 07:20:49PM +0200, Gustav Broberg wrote:
[...]
I realize that it would be better to do this without an additional library, but right now I think gdl is the best option assuming that we want a dockable interface.
If it works as a reasonably standalone library, with dependencies only on libraries we already depend on (gtkmm, glib, etc.) then this is probably a good choice. If it depends on libraries we don't already have in the codebase, then that could be a problem, as it increases our "weight" on windows, non-GNOME platforms, and so on.
This could be made optional in autoconf, as we do with inkboard, etc. However, this feature is something that probably should be implemented in a way that allows us to use it universally.
Can you please investigate the dependent libraries, and especially look for ways to "trim" the dependencies down? The nautilus dependency is especially worrisome.
Compiling gdl with --disable-gnome will require you to have libglade2, libxml2 (and gtk, obviously :). Stripping away its gdl-dock-layout part, which is used for serializing/parsing dock layouts to/from XML, will leave us with gtk as the only dependency.
So that's a good thing. I've uploaded a new patch which includes the stripped down gdl (svn head version) merged with the Inkscape tree. Linking gdl statically increases the 'inkscape' binary size with about 800 kB (total size is 51 MB) on my system.
Other than that, the patch is pretty much the same. On the other hand some substantial changes have been made to gdl lately, which is nice to see.
The patch is here: http://sourceforge.net/tracker/index.php?func=detail&aid=1688508&gro...
Then I have a question about compiler warnings. Compiling gdl with our gcc flags gives a lot of warnings about unused parameters (they are unused params in callback functions, so the warnings don't really apply here). Is there an easy way to suppress them just for this directory using the current build system? There's a trick mentioned in configure.ac:684 that suggest that removing the parameter name would fix this, but I'm getting an "error: parameter name omitted" when trying it? Is it perhaps valid C++, but invalid C?
-- Gustav