comparison src/configure.in @ 8218:3456e2ebebd4 v7.4.1402

commit https://github.com/vim/vim/commit/9892189d2e7ab94b750f99e6da4cbfc3c8014517 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Feb 23 17:14:37 2016 +0100 patch 7.4.1402 Problem: GTK 3 is not supported. Solution: Add GTK 3 support. (Kazunobu Kuriyama)
author Christian Brabandt <cb@256bit.org>
date Tue, 23 Feb 2016 17:15:05 +0100
parents 265bcedffc15
children a777ff826523
comparison
equal deleted inserted replaced
8217:c52abf35df88 8218:3456e2ebebd4
211 dnl If Carbon is found, assume we don't want X11 211 dnl If Carbon is found, assume we don't want X11
212 dnl unless it was specifically asked for (--with-x) 212 dnl unless it was specifically asked for (--with-x)
213 dnl or Motif, Athena or GTK GUI is used. 213 dnl or Motif, Athena or GTK GUI is used.
214 AC_CHECK_HEADER(Carbon/Carbon.h, CARBON=yes) 214 AC_CHECK_HEADER(Carbon/Carbon.h, CARBON=yes)
215 if test "x$CARBON" = "xyes"; then 215 if test "x$CARBON" = "xyes"; then
216 if test -z "$with_x" -a "X$enable_gui" != Xmotif -a "X$enable_gui" != Xathena -a "X$enable_gui" != Xgtk2; then 216 if test -z "$with_x" -a "X$enable_gui" != Xmotif -a "X$enable_gui" != Xathena -a "X$enable_gui" != Xgtk2 -a "X$enable_gui" != Xgtk3; then
217 with_x=no 217 with_x=no
218 fi 218 fi
219 fi 219 fi
220 fi 220 fi
221 221
2196 2196
2197 test "x$with_x" = xno -a "x$MACOSX" != "xyes" -a "x$QNX" != "xyes" && enable_gui=no 2197 test "x$with_x" = xno -a "x$MACOSX" != "xyes" -a "x$QNX" != "xyes" && enable_gui=no
2198 2198
2199 AC_MSG_CHECKING(--enable-gui argument) 2199 AC_MSG_CHECKING(--enable-gui argument)
2200 AC_ARG_ENABLE(gui, 2200 AC_ARG_ENABLE(gui,
2201 [ --enable-gui[=OPTS] X11 GUI [default=auto] [OPTS=auto/no/gtk2/gnome2/motif/athena/neXtaw/photon/carbon]], , enable_gui="auto") 2201 [ --enable-gui[=OPTS] X11 GUI [default=auto] [OPTS=auto/no/gtk2/gnome2/gtk3/motif/athena/neXtaw/photon/carbon]], , enable_gui="auto")
2202 2202
2203 dnl Canonicalize the --enable-gui= argument so that it can be easily compared. 2203 dnl Canonicalize the --enable-gui= argument so that it can be easily compared.
2204 dnl Do not use character classes for portability with old tools. 2204 dnl Do not use character classes for portability with old tools.
2205 enable_gui_canon=`echo "_$enable_gui" | \ 2205 enable_gui_canon=`echo "_$enable_gui" | \
2206 sed 's/[[ _+-]]//g;y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` 2206 sed 's/[[ _+-]]//g;y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
2254 gtk2) AC_MSG_RESULT(GTK+ 2.x GUI support) 2254 gtk2) AC_MSG_RESULT(GTK+ 2.x GUI support)
2255 SKIP_GTK2=;; 2255 SKIP_GTK2=;;
2256 gnome2) AC_MSG_RESULT(GNOME 2.x GUI support) 2256 gnome2) AC_MSG_RESULT(GNOME 2.x GUI support)
2257 SKIP_GNOME= 2257 SKIP_GNOME=
2258 SKIP_GTK2=;; 2258 SKIP_GTK2=;;
2259 gtk3) AC_MSG_RESULT(GTK+ 3.x GUI support)
2260 SKIP_GTK3=;;
2259 motif) AC_MSG_RESULT(Motif GUI support) 2261 motif) AC_MSG_RESULT(Motif GUI support)
2260 SKIP_MOTIF=;; 2262 SKIP_MOTIF=;;
2261 athena) AC_MSG_RESULT(Athena GUI support) 2263 athena) AC_MSG_RESULT(Athena GUI support)
2262 SKIP_ATHENA=;; 2264 SKIP_ATHENA=;;
2263 nextaw) AC_MSG_RESULT(neXtaw GUI support) 2265 nextaw) AC_MSG_RESULT(neXtaw GUI support)
2289 if test "x$enable_gnome_check" = "xno"; then 2291 if test "x$enable_gnome_check" = "xno"; then
2290 SKIP_GNOME=YES 2292 SKIP_GNOME=YES
2291 fi 2293 fi
2292 fi 2294 fi
2293 2295
2296 if test "x$SKIP_GTK3" != "xYES" -a "$enable_gui_canon" != "gtk3"; then
2297 AC_MSG_CHECKING(whether or not to look for GTK+ 3)
2298 AC_ARG_ENABLE(gtk3-check,
2299 [ --enable-gtk3-check If auto-select GUI, check for GTK+ 3 [default=yes]],
2300 , enable_gtk3_check="yes")
2301 AC_MSG_RESULT($enable_gtk3_check)
2302 if test "x$enable_gtk3_check" = "xno"; then
2303 SKIP_GTK3=YES
2304 fi
2305 fi
2306
2294 if test "x$SKIP_MOTIF" != "xYES" -a "$enable_gui_canon" != "motif"; then 2307 if test "x$SKIP_MOTIF" != "xYES" -a "$enable_gui_canon" != "motif"; then
2295 AC_MSG_CHECKING(whether or not to look for Motif) 2308 AC_MSG_CHECKING(whether or not to look for Motif)
2296 AC_ARG_ENABLE(motif-check, 2309 AC_ARG_ENABLE(motif-check,
2297 [ --enable-motif-check If auto-select GUI, check for Motif [default=yes]], 2310 [ --enable-motif-check If auto-select GUI, check for Motif [default=yes]],
2298 , enable_motif_check="yes") 2311 , enable_motif_check="yes")
2377 dnl 2390 dnl
2378 AC_DEFUN(AM_PATH_GTK, 2391 AC_DEFUN(AM_PATH_GTK,
2379 [ 2392 [
2380 if test "X$GTK_CONFIG" != "Xno" -o "X$PKG_CONFIG" != "Xno"; then 2393 if test "X$GTK_CONFIG" != "Xno" -o "X$PKG_CONFIG" != "Xno"; then
2381 { 2394 {
2382 min_gtk_version=ifelse([$1], ,2.2.0,$1)
2383 AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
2384 no_gtk="" 2395 no_gtk=""
2385 if (test "X$SKIP_GTK2" != "XYES" -a "X$PKG_CONFIG" != "Xno") \ 2396 if (test "X$SKIP_GTK2" != "XYES" -a "X$PKG_CONFIG" != "Xno") \
2386 && $PKG_CONFIG --exists gtk+-2.0; then 2397 && $PKG_CONFIG --exists gtk+-2.0; then
2387 { 2398 {
2399 min_gtk_version=ifelse([$1], ,2.2.0,$1)
2400 AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
2388 dnl We should be using PKG_CHECK_MODULES() instead of this hack. 2401 dnl We should be using PKG_CHECK_MODULES() instead of this hack.
2389 dnl But I guess the dependency on pkgconfig.m4 is not wanted or 2402 dnl But I guess the dependency on pkgconfig.m4 is not wanted or
2390 dnl something like that. 2403 dnl something like that.
2391 GTK_CFLAGS=`$PKG_CONFIG --cflags gtk+-2.0` 2404 GTK_CFLAGS=`$PKG_CONFIG --cflags gtk+-2.0`
2392 GTK_LIBDIR=`$PKG_CONFIG --libs-only-L gtk+-2.0` 2405 GTK_LIBDIR=`$PKG_CONFIG --libs-only-L gtk+-2.0`
2394 gtk_major_version=`$PKG_CONFIG --modversion gtk+-2.0 | \ 2407 gtk_major_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
2395 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` 2408 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
2396 gtk_minor_version=`$PKG_CONFIG --modversion gtk+-2.0 | \ 2409 gtk_minor_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
2397 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` 2410 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
2398 gtk_micro_version=`$PKG_CONFIG --modversion gtk+-2.0 | \ 2411 gtk_micro_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
2412 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
2413 }
2414 elif (test "X$SKIP_GTK3" != "XYES" -a "X$PKG_CONFIG" != "Xno") \
2415 && $PKG_CONFIG --exists gtk+-3.0; then
2416 {
2417 min_gtk_version=ifelse([$1], ,3.0.0,$1)
2418 AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
2419
2420 GTK_CFLAGS=`$PKG_CONFIG --cflags gtk+-3.0`
2421 GTK_LIBDIR=`$PKG_CONFIG --libs-only-L gtk+-3.0`
2422 GTK_LIBS=`$PKG_CONFIG --libs gtk+-3.0`
2423 gtk_major_version=`$PKG_CONFIG --modversion gtk+-3.0 | \
2424 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
2425 gtk_minor_version=`$PKG_CONFIG --modversion gtk+-3.0 | \
2426 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
2427 gtk_micro_version=`$PKG_CONFIG --modversion gtk+-3.0 | \
2399 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` 2428 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
2400 } 2429 }
2401 else 2430 else
2402 no_gtk=yes 2431 no_gtk=yes
2403 fi 2432 fi
2571 AM_PATH_GTK(2.2.0, 2600 AM_PATH_GTK(2.2.0,
2572 [GUI_LIB_LOC="$GTK_LIBDIR" 2601 [GUI_LIB_LOC="$GTK_LIBDIR"
2573 GTK_LIBNAME="$GTK_LIBS" 2602 GTK_LIBNAME="$GTK_LIBS"
2574 GUI_INC_LOC="$GTK_CFLAGS"], ) 2603 GUI_INC_LOC="$GTK_CFLAGS"], )
2575 if test "x$GTK_CFLAGS" != "x"; then 2604 if test "x$GTK_CFLAGS" != "x"; then
2605 SKIP_GTK3=YES
2576 SKIP_ATHENA=YES 2606 SKIP_ATHENA=YES
2577 SKIP_NEXTAW=YES 2607 SKIP_NEXTAW=YES
2578 SKIP_MOTIF=YES 2608 SKIP_MOTIF=YES
2579 GUITYPE=GTK 2609 GUITYPE=GTK
2580 AC_SUBST(GTK_LIBNAME) 2610 AC_SUBST(GTK_LIBNAME)
2595 AC_DEFINE(FEAT_GUI_GNOME) 2625 AC_DEFINE(FEAT_GUI_GNOME)
2596 GUI_INC_LOC="$GUI_INC_LOC $GNOME_INCLUDEDIR" 2626 GUI_INC_LOC="$GUI_INC_LOC $GNOME_INCLUDEDIR"
2597 GTK_LIBNAME="$GTK_LIBNAME $GNOME_LIBDIR $GNOME_LIBS" 2627 GTK_LIBNAME="$GTK_LIBNAME $GNOME_LIBDIR $GNOME_LIBS"
2598 fi 2628 fi
2599 } 2629 }
2630 fi
2631 fi
2632 fi
2633
2634
2635 dnl ---------------------------------------------------------------------------
2636 dnl Check for GTK3.
2637 dnl ---------------------------------------------------------------------------
2638 if test -z "$SKIP_GTK3"; then
2639
2640 AC_MSG_CHECKING(--disable-gtktest argument)
2641 AC_ARG_ENABLE(gtktest, [ --disable-gtktest Do not try to compile and run a test GTK program],
2642 , enable_gtktest=yes)
2643 if test "x$enable_gtktest" = "xyes" ; then
2644 AC_MSG_RESULT(gtk test enabled)
2645 else
2646 AC_MSG_RESULT(gtk test disabled)
2647 fi
2648
2649 if test "X$PKG_CONFIG" = "X"; then
2650 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
2651 fi
2652
2653 if test "x$PKG_CONFIG" != "xno"; then
2654 AM_PATH_GTK(3.0.0,
2655 [GUI_LIB_LOC="$GTK_LIBDIR"
2656 GTK_LIBNAME="$GTK_LIBS"
2657 GUI_INC_LOC="$GTK_CFLAGS"], )
2658 if test "x$GTK_CFLAGS" != "x"; then
2659 SKIP_GTK2=YES
2660 SKIP_GNOME=YES
2661 SKIP_ATHENA=YES
2662 SKIP_NEXTAW=YES
2663 SKIP_MOTIF=YES
2664 GUITYPE=GTK
2665 AC_SUBST(GTK_LIBNAME)
2666 AC_DEFINE(HAVE_GTK_MULTIHEAD)
2667 AC_DEFINE(USE_GTK3)
2600 fi 2668 fi
2601 fi 2669 fi
2602 fi 2670 fi
2603 2671
2604 dnl Check the version of Gdk-Pixbuf. If the version is 2.31 or later and 2672 dnl Check the version of Gdk-Pixbuf. If the version is 2.31 or later and
2821 AC_CHECK_HEADERS(X11/SM/SMlib.h) 2889 AC_CHECK_HEADERS(X11/SM/SMlib.h)
2822 CPPFLAGS=$cppflags_save 2890 CPPFLAGS=$cppflags_save
2823 fi 2891 fi
2824 2892
2825 2893
2826 if test -z "$SKIP_ATHENA" -o -z "$SKIP_NEXTAW" -o -z "$SKIP_MOTIF" -o -z "$SKIP_GTK2"; then 2894 if test -z "$SKIP_ATHENA" -o -z "$SKIP_NEXTAW" -o -z "$SKIP_MOTIF" -o -z "$SKIP_GTK2" -o -z "$SKIP_GTK3"; then
2827 dnl Check for X11/xpm.h and X11/Sunkeysym.h with the GUI include path 2895 dnl Check for X11/xpm.h and X11/Sunkeysym.h with the GUI include path
2828 cppflags_save=$CPPFLAGS 2896 cppflags_save=$CPPFLAGS
2829 CPPFLAGS="$CPPFLAGS $X_CFLAGS" 2897 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
2830 AC_CHECK_HEADERS(X11/xpm.h X11/Sunkeysym.h) 2898 AC_CHECK_HEADERS(X11/xpm.h X11/Sunkeysym.h)
2831 2899