| Hack the configure.in file to add a "none" gdktarget which removes |
| dependencies on graphic backends such as X.org or DirectFB. Gtk does |
| not fully build in this mode, but it builds sufficiently to build the |
| host tools that are needed to build the target Gtk. |
| |
| Changes: |
| Ported to 2.24.18 |
| |
| Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
| Signed-off-by: Spenser Gilliland <spenser@gillilanding.com> |
| --- |
| Index: libgtk2-2.24.18/configure.ac |
| =================================================================== |
| --- libgtk2-2.24.18.orig/configure.ac 2013-05-13 07:02:44.000000000 -0500 |
| +++ libgtk2-2.24.18/configure.ac 2013-05-27 02:12:09.947030335 -0500 |
| @@ -258,12 +258,12 @@ |
| gdktarget=x11 |
| fi |
| |
| -AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/win32/quartz/directfb]] select non-default GDK target], |
| +AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/win32/quartz/directfb/none]] select non-default GDK target], |
| gdktarget=$with_gdktarget) |
| |
| AC_SUBST(gdktarget) |
| case $gdktarget in |
| - x11|win32|quartz|directfb) ;; |
| + x11|win32|quartz|directfb|none) ;; |
| *) AC_MSG_ERROR([Invalid target for GDK: use x11, quartz, directfb or win32.]);; |
| esac |
| |
| @@ -372,11 +373,15 @@ |
| ## annoying to construct |
| PKG_CHECK_MODULES(BASE_DEPENDENCIES, |
| [glib-2.0 >= glib_required_version dnl |
| - atk >= atk_required_version dnl |
| - pango >= pango_required_version dnl |
| - cairo >= cairo_required_version dnl |
| gdk-pixbuf-2.0 >= gdk_pixbuf_required_version]) |
| |
| +if test "x$gdktarget" != "xnone"; then |
| + PKG_CHECK_MODULES(BASE_DEPENDENCIES, |
| + [atk >= atk_required_version dnl |
| + pango >= pango_required_version dnl |
| + cairo >= cairo_required_version]) |
| +fi |
| + |
| ## In addition to checking that cairo is present, we also need to |
| ## check that the correct cairo backend is there. E.g. if the GDK |
| ## target is win32 we need the cairo-win32 backend and so on. |
| @@ -387,8 +392,11 @@ |
| if test "x$cairo_backend" = "xx11"; then |
| cairo_backend=xlib |
| fi |
| -PKG_CHECK_MODULES(CAIRO_BACKEND, |
| - [cairo-$cairo_backend >= cairo_required_version]) |
| + |
| +if test "x$gdktarget" != "xnone"; then |
| + PKG_CHECK_MODULES(CAIRO_BACKEND, |
| + [cairo-$cairo_backend >= cairo_required_version]) |
| +fi |
| |
| PKG_CHECK_MODULES(GMODULE, [gmodule-2.0]) |
| |
| @@ -1279,6 +1287,7 @@ |
| AM_CONDITIONAL(USE_DIRECTFB, false) |
| fi |
| |
| +if test "x$gdktarget" != "xnone"; then |
| |
| # Check for Pango flags |
| |
| @@ -1324,6 +1333,8 @@ |
| GDK_PACKAGES="$PANGO_PACKAGES gio-2.0 gdk-pixbuf-2.0 cairo-$cairo_backend" |
| fi |
| |
| +fi # gdktarget != none |
| + |
| GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PACKAGES` $MATH_LIB" |
| GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PACKAGES` $GDK_EXTRA_CFLAGS" |
| # |
| @@ -1341,6 +1352,7 @@ |
| AC_SUBST(GDK_DEP_LIBS) |
| AC_SUBST(GDK_DEP_CFLAGS) |
| |
| +if test "x$gdktarget" != "xnone"; then |
| |
| ######################################## |
| # Check for Accessibility Toolkit flags |
| @@ -1372,6 +1384,10 @@ |
| fi |
| |
| GTK_PACKAGES="atk cairo gdk-pixbuf-2.0 gio-2.0" |
| +else # gdktarget != none |
| +GTK_PACKAGES="gdk-pixbuf-2.0" |
| +fi # gdktarget != none |
| + |
| if test "x$gdktarget" = "xx11"; then |
| GTK_PACKAGES="$GTK_PACKAGES pangoft2" |
| fi |
| @@ -1533,6 +1549,8 @@ |
| gtk_save_cppflags="$CPPFLAGS" |
| CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS $GDK_DEP_CFLAGS" |
| |
| +if test "x$gdktarget" != "xnone"; then |
| + |
| AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([ |
| *** Can't find cairo-pdf.h. You must build Cairo with the pdf |
| *** backend enabled.])) |
| @@ -1547,6 +1565,8 @@ |
| *** svg backend enabled.])) |
| fi |
| |
| +fi # gdktarget != none |
| + |
| CPPFLAGS="$gtk_save_cppflags" |
| |
| |