From a128ee85889373f1ccb0cf22cf274d0a99f33175 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Wed, 2 Apr 2008 17:32:17 +0000 Subject: [PATCH] Update autoconf for GTK 2. We now check for both GTK2 and GTK1, and in the presence of GTK 2 we also check to see whether we have a prehistoric Pango (since Pango itself helpfully doesn't provide that functionality, bah). [originally from svn r7964] --- unix/GTK2.TODO | 20 ++++---------------- unix/configure.ac | 24 +++++++++++++++++++++++- 2 files changed, 27 insertions(+), 17 deletions(-) diff --git a/unix/GTK2.TODO b/unix/GTK2.TODO index 0453c475..a0183c96 100644 --- a/unix/GTK2.TODO +++ b/unix/GTK2.TODO @@ -1,25 +1,13 @@ TODO for PuTTY GTK2 port before merging back into main trunk code ----------------------------------------------------------------- -Things to do before deciding a merge is feasible: - - - Update the autoconf build. Richard B says he had to replace - AM_PATH_GTK([1.2.0], - with - AM_PATH_GTK_2_0([2.0.0], - + also I'll need to detect early Pangoi and enable my magic - switches in gtkfont.c. - + and I'll probably also want to detect GTK2 vs GTK1 - automatically - _and_ provide a command line switch on - configure to select one manually. - -Things to do once GTK2 development is complete: +Things left to do: - Make sure we haven't broken GTK1. + In particular, I know I _have_ broken GTK1 by taking out all the GTK1-style list box code. Put it all back in under ifdefs, which will be unpleasant but necessary. -Things to do at point of actual merge: - - - Mention Colin in the website's licence page. + - Merge to trunk. Colin is already mentioned in the licence in all + the branched copies, but mention him in the _website's_ licence + page too. diff --git a/unix/configure.ac b/unix/configure.ac index 5b0c0c9e..846a35cd 100644 --- a/unix/configure.ac +++ b/unix/configure.ac @@ -18,7 +18,23 @@ AC_CHECK_HEADERS([utmpx.h sys/select.h],,,[ #include #include ]) -AM_PATH_GTK([1.2.0], [all_targets="all-cli all-gtk"], [all_targets="all-cli"]) +# Look for both GTK 1 and GTK 2. +AM_PATH_GTK([1.2.0], [gtk=1], [gtk=none]) +AM_PATH_GTK_2_0([2.0.0], [gtk=2], []) +if test "$gtk" = "none"; then + all_targets="all-cli" +else + all_targets="all-cli all-gtk" +fi +if test "$gtk" = "2"; then + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $GTK_CFLAGS" + LIBS="$GTK_LIBS $LIBS" + AC_CHECK_FUNCS([pango_font_family_is_monospace pango_font_map_list_families]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" +fi AC_SUBST([all_targets]) AC_SEARCH_LIBS([socket], [xnet]) @@ -48,4 +64,10 @@ AH_BOTTOM([ #ifndef HAVE_SYS_SELECT_H # define HAVE_NO_SYS_SELECT_H #endif +#ifndef HAVE_PANGO_FONT_FAMILY_IS_MONOSPACE +# define PANGO_PRE_1POINT4 +#endif +#ifndef HAVE_PANGO_FONT_MAP_LIST_FAMILIES +# define PANGO_PRE_1POINT6 +#endif ]) -- 2.45.2