while adapting make and export definition files for the
win32 build of Gimp 1.3, there where some questions ariseing :
- what are the supposed dependency between all the libgimp*
libraries ?
what I have at the moment is (gimp.exe works, but most
plug-ins do not yet) :
gimp.exe plug-ins
+ gimpcolor.dll + gimp.dll
+ gimpwidgets.dll + gimpui.dll
+ gimpcolor.dll | + gimpwidgets
+ gimpmath.dll | + gimpcolor.dll
| + gimpmath.dll
+ gimpcolor.dll
+ gimpmath.dll
+ gimpwidgets.dll
all the above resolves fine except libgimwidgets dependcies,
because there are the functions listed below, which need
(and have) different implementations in Gimps and Plug-Ins
context. Currently I'm linking gimpwidgets.dll against
the functions exported by Gimp, but this probably is the
reason why most plug-ins aren't running ...
I could hack up a windoze specific version for those functions,
to dynamically detect, if they are running in Gimp's or Plug-In's
context, but does anyone now of a proper cross platform sollution ?
critical functions:
gimp_palette_get_background
gimp_palette_get_foreground
gimp_standard_help_func
gimp_unit_get_abbreviation
gimp_unit_get_digits
gimp_unit_get_factor
gimp_unit_get_number_of_built_in_units
gimp_unit_get_number_of_units
gimp_unit_get_plural
gimp_unit_get_singular
gimp_unit_get_symbol
Second question:
- to make Gimp compile again I needed to include some headers
in other headers again (see attached patch). Yes, I've read the
docs, which say not to do so, but is it really wanted to get
a header order dependency ?
As you may notice there is an other problem with header inclusion
order. Currently the G_OS_WIN32 defintion comes from <glib.h>,
not config.h. As a result of it, sometimes the order of inclusion
needs some tweaking ...
(To keep the attached patch small, it does not include
the windoze specific makefile.msc and export definition (*.def)
changes. Would it be ok to commit these changes to cvs ?)
Thanks in advance,
Hans
gimp-2001-04-02-hb.zip
-------- Hans "at" Breuer "dot" Org -----------
Tell me what you need, and I'll tell you how to
get along without it. -- Dilbert