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