Re: AM_GSETTINGS (was Re: GLib 2.25.2 released



On 04/23/2010 10:04 AM, Matthias Clasen wrote:

>> -> Rename to GLIB_GSETTINGS or something.
> 
> Fine with me. Lets get the name right while this is still unstable.
> Can you fix the things you raised ? Otherwise, I'll try to get it done
> before the next release, but I might forget...

I can.  It may be a good time to step back and design what m4 macros glib
should provide.  I can code whatever we decide.

So far I see three in m4macros:

  - glib-2.0.m4: The finding part is deprecated in favor of pkg-config.  The
rest is defining the following:

  AC_SUBST(GLIB_GENMARSHAL)
  AC_SUBST(GOBJECT_QUERY)
  AC_SUBST(GLIB_MKENUMS)


  - glib-gettext.m4: Does a bunch of stuff.  Needs to stay it seems.  But can
use renaming and new API.

  - gsettings.m4: Exports AC_SUBST(gschema_compile) and a make snippet.  And a
--disable arg.



Also, gobject-introspection does:

    AC_SUBST(INTROSPECTION_SCANNER)
    AC_SUBST(INTROSPECTION_COMPILER)
    AC_SUBST(INTROSPECTION_GENERATE)
    AC_SUBST(INTROSPECTION_GIRDIR)
    AC_SUBST(INTROSPECTION_TYPELIBDIR)
    AC_SUBST(INTROSPECTION_CFLAGS)
    AC_SUBST(INTROSPECTION_LIBS)
    AC_SUBST(INTROSPECTION_MAKEFILE)

These definitely need to be prefixed by GOBJECT_.
Also defines a --disable arg.


So here's what I suggest:

  - I know gsettings is included in gio, but I suggest providing a separate
.pc file for it.  And please, don't clutter the gschema namespace.  Use
gsettings-schemas, gsettings-schema-compile, etc.

  - Have on GLIB_INIT macro that does:

    * For all binaries shipped with glib, define a macro in their uppercase
name.  If backward compatibility is not an issue, I would suggest just
exporting the glib bindir and let users do $GLIB_BINDIR)/glib-mkenums instead.

    * For anything else, generate for features requested.

    * Do a version check also?

So, one would do something like:

GLIB_INIT (gettext settings introspection)



behdad


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