xref: /OK3568_Linux_fs/buildroot/package/libgtk2/0001-reduce-dependencies.patch (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunHack the configure.in file to add a "none" gdktarget which removes
2*4882a593Smuzhiyundependencies on graphic backends such as X.org or DirectFB. Gtk does
3*4882a593Smuzhiyunnot fully build in this mode, but it builds sufficiently to build the
4*4882a593Smuzhiyunhost tools that are needed to build the target Gtk.
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunChanges:
7*4882a593Smuzhiyun	Ported to 2.24.18
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunSigned-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
10*4882a593SmuzhiyunSigned-off-by: Spenser Gilliland <spenser@gillilanding.com>
11*4882a593Smuzhiyun---
12*4882a593SmuzhiyunIndex: libgtk2-2.24.18/configure.ac
13*4882a593Smuzhiyun===================================================================
14*4882a593Smuzhiyun--- libgtk2-2.24.18.orig/configure.ac	2013-05-13 07:02:44.000000000 -0500
15*4882a593Smuzhiyun+++ libgtk2-2.24.18/configure.ac	2013-05-27 02:12:09.947030335 -0500
16*4882a593Smuzhiyun@@ -258,12 +258,12 @@
17*4882a593Smuzhiyun   gdktarget=x11
18*4882a593Smuzhiyun fi
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun-AC_ARG_WITH(gdktarget, [  --with-gdktarget=[[x11/win32/quartz/directfb]] select non-default GDK target],
21*4882a593Smuzhiyun+AC_ARG_WITH(gdktarget, [  --with-gdktarget=[[x11/win32/quartz/directfb/none]] select non-default GDK target],
22*4882a593Smuzhiyun 	gdktarget=$with_gdktarget)
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun AC_SUBST(gdktarget)
25*4882a593Smuzhiyun case $gdktarget in
26*4882a593Smuzhiyun-  x11|win32|quartz|directfb) ;;
27*4882a593Smuzhiyun+  x11|win32|quartz|directfb|none) ;;
28*4882a593Smuzhiyun   *) AC_MSG_ERROR([Invalid target for GDK: use x11, quartz, directfb or win32.]);;
29*4882a593Smuzhiyun esac
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun@@ -372,11 +373,15 @@
32*4882a593Smuzhiyun ## annoying to construct
33*4882a593Smuzhiyun PKG_CHECK_MODULES(BASE_DEPENDENCIES,
34*4882a593Smuzhiyun   [glib-2.0 >= glib_required_version dnl
35*4882a593Smuzhiyun-   atk >= atk_required_version dnl
36*4882a593Smuzhiyun-   pango >= pango_required_version dnl
37*4882a593Smuzhiyun-   cairo >= cairo_required_version dnl
38*4882a593Smuzhiyun    gdk-pixbuf-2.0 >= gdk_pixbuf_required_version])
39*4882a593Smuzhiyun
40*4882a593Smuzhiyun+if test "x$gdktarget" != "xnone"; then
41*4882a593Smuzhiyun+   PKG_CHECK_MODULES(BASE_DEPENDENCIES,
42*4882a593Smuzhiyun+	[atk >= atk_required_version dnl
43*4882a593Smuzhiyun+	 pango >= pango_required_version dnl
44*4882a593Smuzhiyun+	 cairo >= cairo_required_version])
45*4882a593Smuzhiyun+fi
46*4882a593Smuzhiyun+
47*4882a593Smuzhiyun ## In addition to checking that cairo is present, we also need to
48*4882a593Smuzhiyun ## check that the correct cairo backend is there. E.g. if the GDK
49*4882a593Smuzhiyun ## target is win32 we need the cairo-win32 backend and so on.
50*4882a593Smuzhiyun@@ -387,8 +392,11 @@
51*4882a593Smuzhiyun if test "x$cairo_backend" = "xx11"; then
52*4882a593Smuzhiyun    cairo_backend=xlib
53*4882a593Smuzhiyun fi
54*4882a593Smuzhiyun-PKG_CHECK_MODULES(CAIRO_BACKEND,
55*4882a593Smuzhiyun-  [cairo-$cairo_backend >= cairo_required_version])
56*4882a593Smuzhiyun+
57*4882a593Smuzhiyun+if test "x$gdktarget" != "xnone"; then
58*4882a593Smuzhiyun+   PKG_CHECK_MODULES(CAIRO_BACKEND,
59*4882a593Smuzhiyun+	[cairo-$cairo_backend >= cairo_required_version])
60*4882a593Smuzhiyun+fi
61*4882a593Smuzhiyun
62*4882a593Smuzhiyun PKG_CHECK_MODULES(GMODULE, [gmodule-2.0])
63*4882a593Smuzhiyun
64*4882a593Smuzhiyun@@ -1279,6 +1287,7 @@
65*4882a593Smuzhiyun   AM_CONDITIONAL(USE_DIRECTFB, false)
66*4882a593Smuzhiyun fi
67*4882a593Smuzhiyun
68*4882a593Smuzhiyun+if test "x$gdktarget" != "xnone"; then
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun # Check for Pango flags
71*4882a593Smuzhiyun
72*4882a593Smuzhiyun@@ -1324,6 +1333,8 @@
73*4882a593Smuzhiyun   GDK_PACKAGES="$PANGO_PACKAGES gio-2.0 gdk-pixbuf-2.0 cairo-$cairo_backend"
74*4882a593Smuzhiyun fi
75*4882a593Smuzhiyun
76*4882a593Smuzhiyun+fi # gdktarget != none
77*4882a593Smuzhiyun+
78*4882a593Smuzhiyun GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PACKAGES` $MATH_LIB"
79*4882a593Smuzhiyun GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PACKAGES` $GDK_EXTRA_CFLAGS"
80*4882a593Smuzhiyun #
81*4882a593Smuzhiyun@@ -1341,6 +1352,7 @@
82*4882a593Smuzhiyun AC_SUBST(GDK_DEP_LIBS)
83*4882a593Smuzhiyun AC_SUBST(GDK_DEP_CFLAGS)
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun+if test "x$gdktarget" != "xnone"; then
86*4882a593Smuzhiyun
87*4882a593Smuzhiyun ########################################
88*4882a593Smuzhiyun # Check for Accessibility Toolkit flags
89*4882a593Smuzhiyun@@ -1372,6 +1384,10 @@
90*4882a593Smuzhiyun fi
91*4882a593Smuzhiyun
92*4882a593Smuzhiyun GTK_PACKAGES="atk cairo gdk-pixbuf-2.0 gio-2.0"
93*4882a593Smuzhiyun+else # gdktarget != none
94*4882a593Smuzhiyun+GTK_PACKAGES="gdk-pixbuf-2.0"
95*4882a593Smuzhiyun+fi # gdktarget != none
96*4882a593Smuzhiyun+
97*4882a593Smuzhiyun if test "x$gdktarget" = "xx11"; then
98*4882a593Smuzhiyun   GTK_PACKAGES="$GTK_PACKAGES pangoft2"
99*4882a593Smuzhiyun fi
100*4882a593Smuzhiyun@@ -1533,6 +1549,8 @@
101*4882a593Smuzhiyun gtk_save_cppflags="$CPPFLAGS"
102*4882a593Smuzhiyun CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS $GDK_DEP_CFLAGS"
103*4882a593Smuzhiyun
104*4882a593Smuzhiyun+if test "x$gdktarget" != "xnone"; then
105*4882a593Smuzhiyun+
106*4882a593Smuzhiyun AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([
107*4882a593Smuzhiyun *** Can't find cairo-pdf.h. You must build Cairo with the pdf
108*4882a593Smuzhiyun *** backend enabled.]))
109*4882a593Smuzhiyun@@ -1547,6 +1565,8 @@
110*4882a593Smuzhiyun *** svg backend enabled.]))
111*4882a593Smuzhiyun fi
112*4882a593Smuzhiyun
113*4882a593Smuzhiyun+fi # gdktarget != none
114*4882a593Smuzhiyun+
115*4882a593Smuzhiyun CPPFLAGS="$gtk_save_cppflags"
116*4882a593Smuzhiyun
117*4882a593Smuzhiyun
118