tags 621946 patch
user ubuntu-de...@lists.ubuntu.com
usertags 621946 ubuntu-patch origin-ubuntu natty
user vor...@debian.org
usertags multiarch
thanks

Hi Daniel,

The attached patch addresses this build failure, and also a subsequent build
failure that occurs when trying to build gamgi in a multiarch environment. 
The gamgi upstream build rules should not hard-code these paths to header
files; the GTK stack uses pkg-config as a standard interface for finding the
necessary compiler and linker flags for a given library.  This also removes
the need to hard-code paths for libraries such as atk and pango, which gamgi
is *not* using directly - these will be pulled in automatically via
pkg-config if they're needed.

Please consider applying this patch to the Debian package.

Thanks,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slanga...@ubuntu.com                                     vor...@debian.org
Index: gamgi-0.15/src/make_local
===================================================================
--- gamgi-0.15.orig/src/make_local
+++ gamgi-0.15/src/make_local
@@ -19,26 +19,20 @@
 
#===============================================================================
 
 PATH_EXPAT_H = -I/usr/include
-PATH_FREETYPE_H = -I/usr/include/freetype2
-PATH_X_H = -I/usr/include/X11
-PATH_GLIB_H = -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-PATH_CAIRO_H = -I/usr/include/cairo
-PATH_PANGO_H = -I/usr/include/pango-1.0
-PATH_ATK_H = -I/usr/include/atk-1.0
-PATH_GTK_H =  -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include
+PATH_FREETYPE_H = $(shell pkg-config --cflags freetype2)
+PATH_X_H = $(shell pkg-config --cflags x11)
+PATH_GLIB_H = $(shell pkg-config --cflags glib-2.0)
+PATH_GTK_H =  $(shell pkg-config --cflags gtk+-2.0)
 PATH_MESA_H = -I/usr/include
-PATH_GTKGL_H = -I/usr/include/gtkglext-1.0 -I/usr/lib/gtkglext-1.0/include
+PATH_GTKGL_H = $(shell pkg-config --cflags gtkglext-x11-1.0)
 
 PATH_EXPAT_L = -L/usr/lib
 PATH_FREETYPE_L = -L/usr/lib
 PATH_X_L = -L/usr/lib
-PATH_GLIB_L = -L/usr/lib
-PATH_CAIRO_L = -L/usr/lib
-PATH_PANGO_L = -L/usr/lib
-PATH_ATK_L = -L/usr/lib
-PATH_GTK_L =  -L/usr/lib
+PATH_GLIB_L = $(shell pkg-config --libs-only-L glib-2.0)
+PATH_GTK_L =  $(shell pkg-config --libs-only-L gtk+-2.0)
 PATH_MESA_L = -L/usr/lib
-PATH_GTKGL_L =-L/usr/lib
+PATH_GTKGL_L =$(shell pkg-config --libs-only-L gtkglext-x11-1.0)
 
 #============================== Linux amd64 
====================================
 #             Fedora 8.0, Ubuntu 7.10, Suse 10.3, Mandriva 2008
@@ -48,9 +42,6 @@
 # PATH_FREETYPE_H = -I/usr/include/freetype2
 # PATH_X_H = -I/usr/include/X11
 # PATH_GLIB_H = -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
-# PATH_CAIRO_H = -I/usr/include/cairo
-# PATH_PANGO_H = -I/usr/include/pango-1.0
-# PATH_ATK_H = -I/usr/include/atk-1.0
 # PATH_GTK_H =  -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include
 # PATH_MESA_H = -I/usr/include
 # PATH_GTKGL_H = -I/usr/include/gtkglext-1.0 -I/usr/lib64/gtkglext-1.0/include
@@ -59,9 +50,6 @@
 # PATH_FREETYPE_L = -L/usr/lib64
 # PATH_X_L = -L/usr/lib64
 # PATH_GLIB_L = -L/usr/lib64
-# PATH_CAIRO_L = -L/usr/lib64
-# PATH_PANGO_L = -L/usr/lib64
-# PATH_ATK_L = -L/usr/lib64
 # PATH_GTK_L =  -L/usr/lib64
 # PATH_MESA_L = -L/usr/lib64
 # PATH_GTKGL_L =-L/usr/lib64
@@ -72,9 +60,6 @@
 # PATH_FREETYPE_H = -I/usr/X11R6/include/freetype2
 # PATH_X_H = -I/usr/X11R6/include
 # PATH_GLIB_H = I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include
-# PATH_CAIRO_H = -I/usr/local/include/cairo
-# PATH_PANGO_H = -I/usr/local/include/pango-2.0
-# PATH_ATK_H = -I/usr/local/include/atk-2.0
 # PATH_GTK_H =  -I/usr/local/include/gtk-2.0 -I/usr/local/lib/gtk-2.0/include
 # PATH_MESA_H = -I/usr/X11R6/include/GL
 # PATH_GTKGL_H = -I/usr/local/include/gtkglext-1.0 \
@@ -84,9 +69,6 @@
 # PATH_FREETYPE_L = -L/usr/X11R6/lib
 # PATH_X_L = -L/usr/X11R6/lib
 # PATH_GLIB_L = -L/usr/local/lib
-# PATH_CAIRO_L = -L/usr/local/lib
-# PATH_PANGO_L = -L/usr/local/lib
-# PATH_ATK_L = -L/usr/local/lib
 # PATH_GTK_L = -L/usr/local/lib
 # PATH_MESA_L = -L/usr/X11R6/lib
 # PATH_GTKGL_L = -L/usr/local/lib
Index: gamgi-0.15/src/make_rules
===================================================================
--- gamgi-0.15.orig/src/make_rules
+++ gamgi-0.15/src/make_rules
@@ -34,21 +34,18 @@
 
 #================================ shared libs ==============================
 
-LIBS = -lgtkglext-x11-1.0 -lgdkglext-x11-1.0 -lGLU -lGL -lgtk-x11-2.0 \
-       -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 \
-       -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 \
-       -lXext -lX11 -lXi -lXmu -lfreetype -lexpat -lm -ldl
+LIBS = $(shell pkg-config --libs-only-l gtkglext-x11-1.0 gtk+-2.0 glib-2.0 \
+                       freetype2) \
+       -lXext -lX11 -lXi -lXmu -lexpat -lm -ldl
 
 #================================ full paths ===============================
 
 PATH_H = $(PATH_GAMGI_H) \
-       $(PATH_GTKGL_H) $(PATH_MESA_H) $(PATH_GTK_H) $(PATH_ATK_H) \
-       $(PATH_PANGO_H) $(PATH_CAIRO_H) $(PATH_GLIB_H) $(PATH_X_H) \
-       $(PATH_FREETYPE_H) $(PATH_EXPAT_H)
-
-PATH_L = $(PATH_GTKGL_L) $(PATH_MESA_L) $(PATH_GTK_L) $(PATH_ATK_L) \
-       $(PATH_PANGO_L) $(PATH_CAIRO_L) $(PATH_GLIB_L) $(PATH_X_L) \
-       $(PATH_FREETYPE_L) $(PATH_EXPAT_L)
+       $(PATH_GTKGL_H) $(PATH_MESA_H) $(PATH_GTK_H) $(PATH_GLIB_H) \
+       $(PATH_X_H) $(PATH_FREETYPE_H) $(PATH_EXPAT_H)
+
+PATH_L = $(PATH_GTKGL_L) $(PATH_MESA_L) $(PATH_GTK_L) $(PATH_GLIB_L) \
+       $(PATH_X_L) $(PATH_FREETYPE_L) $(PATH_EXPAT_L)
 
 #============================== compile all ================================
 

Attachment: signature.asc
Description: Digital signature

Reply via email to