Small improvement to build Pango with uninstalled GLib.

View: New views
2 Messages — Rating Filter:   Alert me  

Small improvement to build Pango with uninstalled GLib.

by mpsuzuki :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

Recently I'm trying to build Gtk+-related components
with the libraries that are built but not installed
yet ("uninstalled" in pkg-config terminology).
I propose a small improvement to build Pango with
uninstalled GLib.

In pango-x.y.z/pango/Makefile.am, glib-mkenums is
invoked directly. It is not found in PATH when GLib
is built but uninstalled. The path to uninstalled
glib-mkenums can be obtained by

        pkg-config --variable=glib_mkenums glib-2.0

or AM_PATH_GLIB_2_0() macro in configure.in setups
the make variable GLIB_MKENUMS (and other GLib commands).

It seems that Pango configure.in setups GLib-related
CFLAGS carefully for thread-safety, so I don't use
AM_PATH_GLIB_2_0() and set only GLIB_MKENUMS by pkg-config
in attached patch.

Behdad, could you review the patch?

Regards,
mpsuzuki


diff --git a/configure.in b/configure.in
index 0879b14..493f86b 100644
--- a/configure.in
+++ b/configure.in
@@ -472,6 +472,10 @@ PKG_CHECK_MODULES(GLIB, $GLIB_MODULES, :,
 *** Glib $GLIB_REQUIRED_VERSION or better is required. The latest version of
 *** Glib is always available from ftp://ftp.gtk.org/.]))
 
+# Setup GLIB_MKENUMS to use glib-mkenums even if GLib is uninstalled.
+GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
+AC_SUBST(GLIB_MKENUMS)
+
 # Add in gthread-2.0 to CFLAGS but not to LIBS so we get any
 # necesary defines for thread-safety.
 GLIB_CFLAGS=`$PKG_CONFIG --cflags $GLIB_MODULES gthread-2.0`
diff --git a/pango/Makefile.am b/pango/Makefile.am
index bce92c4..f4ee060 100644
--- a/pango/Makefile.am
+++ b/pango/Makefile.am
@@ -130,10 +130,11 @@ pangoinclude_HEADERS =   \
  pango-features.h   \
  pango-enum-types.h
 
+GLIB_MKENUMS = @GLIB_MKENUMS@
 pango-enum-types.h: s-enum-types-h
  $(AM_V_GEN) true
 s-enum-types-h: @REBUILD@ $(pango_headers) Makefile
- $(AM_V_GEN) ( cd $(srcdir) && glib-mkenums \
+ $(AM_V_GEN) ( cd $(srcdir) && $(GLIB_MKENUMS) \
  --fhead "#ifndef __PANGO_ENUM_TYPES_H__\n#define __PANGO_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
  --fprod "/* enumerations from \"@filename@\" */\n" \
  --vhead "GType @enum_name@_get_type (void);\n#define @ENUMPREFIX@_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
@@ -146,7 +147,7 @@ s-enum-types-h: @REBUILD@ $(pango_headers) Makefile
 pango-enum-types.c: s-enum-types-c
  $(AM_V_GEN) true
 s-enum-types-c: @REBUILD@ $(pango_headers) Makefile
- $(AM_V_GEN) ( cd $(srcdir) && glib-mkenums \
+ $(AM_V_GEN) ( cd $(srcdir) && $(GLIB_MKENUMS) \
  --fhead "#include <pango.h>" \
  --fprod "\n/* enumerations from \"@filename@\" */" \
  --vhead "GType\n@enum_name@_get_type (void)\n{\n  static GType etype = 0;\n  if (etype == 0) {\n    static const G@Type@Value values[] = {" \
_______________________________________________
gtk-i18n-list mailing list
gtk-i18n-list@...
http://mail.gnome.org/mailman/listinfo/gtk-i18n-list

Re: Small improvement to build Pango with uninstalled GLib.

by Behdad Esfahbod-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks again.  Pushed to master with minor modification.

behdad

On 10/09/2009 01:50 PM, mpsuzuki@... wrote:

> Hi,
>
> Recently I'm trying to build Gtk+-related components
> with the libraries that are built but not installed
> yet ("uninstalled" in pkg-config terminology).
> I propose a small improvement to build Pango with
> uninstalled GLib.
>
> In pango-x.y.z/pango/Makefile.am, glib-mkenums is
> invoked directly. It is not found in PATH when GLib
> is built but uninstalled. The path to uninstalled
> glib-mkenums can be obtained by
>
> pkg-config --variable=glib_mkenums glib-2.0
>
> or AM_PATH_GLIB_2_0() macro in configure.in setups
> the make variable GLIB_MKENUMS (and other GLib commands).
>
> It seems that Pango configure.in setups GLib-related
> CFLAGS carefully for thread-safety, so I don't use
> AM_PATH_GLIB_2_0() and set only GLIB_MKENUMS by pkg-config
> in attached patch.
>
> Behdad, could you review the patch?
>
> Regards,
> mpsuzuki
>
>
> diff --git a/configure.in b/configure.in
> index 0879b14..493f86b 100644
> --- a/configure.in
> +++ b/configure.in
> @@ -472,6 +472,10 @@ PKG_CHECK_MODULES(GLIB, $GLIB_MODULES, :,
>   *** Glib $GLIB_REQUIRED_VERSION or better is required. The latest version of
>   *** Glib is always available from ftp://ftp.gtk.org/.]))
>
> +# Setup GLIB_MKENUMS to use glib-mkenums even if GLib is uninstalled.
> +GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
> +AC_SUBST(GLIB_MKENUMS)
> +
>   # Add in gthread-2.0 to CFLAGS but not to LIBS so we get any
>   # necesary defines for thread-safety.
>   GLIB_CFLAGS=`$PKG_CONFIG --cflags $GLIB_MODULES gthread-2.0`
> diff --git a/pango/Makefile.am b/pango/Makefile.am
> index bce92c4..f4ee060 100644
> --- a/pango/Makefile.am
> +++ b/pango/Makefile.am
> @@ -130,10 +130,11 @@ pangoinclude_HEADERS =   \
>   pango-features.h   \
>   pango-enum-types.h
>
> +GLIB_MKENUMS = @GLIB_MKENUMS@
>   pango-enum-types.h: s-enum-types-h
>   $(AM_V_GEN) true
>   s-enum-types-h: @REBUILD@ $(pango_headers) Makefile
> - $(AM_V_GEN) ( cd $(srcdir)&&  glib-mkenums \
> + $(AM_V_GEN) ( cd $(srcdir)&&  $(GLIB_MKENUMS) \
>   --fhead "#ifndef __PANGO_ENUM_TYPES_H__\n#define __PANGO_ENUM_TYPES_H__\n\n#include<glib-object.h>\n\nG_BEGIN_DECLS\n" \
>   --fprod "/* enumerations from \"@filename@\" */\n" \
>   --vhead "GType @enum_name@_get_type (void);\n#define @ENUMPREFIX@_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
> @@ -146,7 +147,7 @@ s-enum-types-h: @REBUILD@ $(pango_headers) Makefile
>   pango-enum-types.c: s-enum-types-c
>   $(AM_V_GEN) true
>   s-enum-types-c: @REBUILD@ $(pango_headers) Makefile
> - $(AM_V_GEN) ( cd $(srcdir)&&  glib-mkenums \
> + $(AM_V_GEN) ( cd $(srcdir)&&  $(GLIB_MKENUMS) \
>   --fhead "#include<pango.h>" \
>   --fprod "\n/* enumerations from \"@filename@\" */" \
>   --vhead "GType\n@enum_name@_get_type (void)\n{\n  static GType etype = 0;\n  if (etype == 0) {\n    static const G@Type@Value values[] = {" \
>
_______________________________________________
gtk-i18n-list mailing list
gtk-i18n-list@...
http://mail.gnome.org/mailman/listinfo/gtk-i18n-list