Re: GTK+ on windows



On Sat, Oct 17, 2009 at 02:59:37AM -0600, Ted Bullock wrote:
> >> Also, #include "config.h" should be wrapped in HAVE_CONFIG_H
> >> everywhere....
> >
> > No it should not. It simply is not supposed to be meaningful or
> > possible to build glib or gtk+ without a config.h, so it is pointless
> > to use HAVE_CONFIG_H, they just clutter the code.
> >
> 
> I thought that was what glibconfig.h would be used for.  If not, why
> have two config files?

Funny you are trying to make our own Gtk+ distro without knowing what
config.h and glibconfig.h are for...

config.h contains system information/configuration used to build the
package (glib here).  It is a private header.  Some programs can compile
without config.h even though they have configure but these are either
simple (wrt system dependencies) or were very carefully written to have
some `reasonable' default for anything system-dependent.  Glib
definitely isn't the former and the latter is not always possible.  You
are expected to create a static config.h for a system where automatic
configuration is not possible[*].

glibconfig.h is a public header and it contains information about
configuration of glib on that system that is necessary to build programs
using glib.  It is placed in lib/lib64/lib32 instead of include because
the configuration can (and do) differ between 32bit and 64bit versions
(for instance) while include is, in theory, shareable even among
different systems.  You are expected to create a static config.h for a
system where automatic configuration is not possible[*].

Some information might be present in both headers (typically not in the
same form though), anyway, you cannot have only glibconfg.h and make
everything public because that would expose private stuff that should
not be exposed, neither you can have only the private config.h because
then programs using glib couldn't get any system dependent information
about glib.

[*] glib provides these static headers for win32.

Yeti



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