]> granicus.if.org Git - transmission/commitdiff
(trunk) #4550 "no way to build with GTK+ 3" -- fixed. We now use GTK+ 3 if available...
authorJordan Lee <jordan@transmissionbt.com>
Tue, 11 Oct 2011 04:17:54 +0000 (04:17 +0000)
committerJordan Lee <jordan@transmissionbt.com>
Tue, 11 Oct 2011 04:17:54 +0000 (04:17 +0000)
configure.ac

index 632786ed88f292cb6b05772180ab76d1a312e587..58d6d85907c4cdbba1aa6115bca719e15a18a896 100644 (file)
@@ -50,8 +50,11 @@ AC_SUBST(OPENSSL_MINIMUM)
 ##   MANDATORY for the GTK+ client
 ##
 ##
-GTK_MINIMUM=2.22.0
-AC_SUBST(GTK_MINIMUM)
+
+GTK2_MINIMUM=2.22.0
+AC_SUBST(GTK2_MINIMUM)
+GTK3_MINIMUM=3.2.0
+AC_SUBST(GTK3_MINIMUM)
 GLIB_MINIMUM=2.28.0
 AC_SUBST(GLIB_MINIMUM)
 GIO_MINIMUM=2.26.0
@@ -310,59 +313,64 @@ dnl ----------------------------------------------------------------------------
 dnl
 dnl  detection for the GTK+ client
 
-PKG_CHECK_MODULES(GTK,
-                  [gtk+-2.0 >= $GTK_MINIMUM
-                   glib-2.0 >= $GLIB_MINIMUM
-                   gio-2.0 >= $GIO_MINIMUM,
-                   gmodule-2.0 >= $GLIB_MINIMUM
-                   gthread-2.0 >= $GLIB_MINIMUM],
-                  [have_gtk=yes],
-                  [have_gtk=no])
-AC_ARG_ENABLE([gtk],
-              AS_HELP_STRING([--enable-gtk],[build gtk client]),
-              [want_gtk=${enableval}],
-              [want_gtk=${have_gtk}])
-build_gtk=no
+
+gtk_version="none"
+with_gtk_default="no"
+PKG_CHECK_MODULES([GTK2],[gtk+-2.0 >= $GTK2_MINIMUM],[gtk_version="2" with_gtk_default="yes"])
+PKG_CHECK_MODULES([GTK3],[gtk+-3.0 >= $GTK3_MINIMUM],[gtk_version="3" with_gtk_default="yes"])
+AC_ARG_WITH([gtk], AC_HELP_STRING([--with-gtk],[with Gtk]),
+            [with_gtk=$withval],
+            [with_gtk=$with_gtk_default])
+AC_ARG_ENABLE([nls], 
+              [AS_HELP_STRING([--enable-nls],[enable native language support])],,
+              [enable_nls=yes])
+AM_CONDITIONAL([BUILD_GTK],[test "x$with_gtk" = "xyes"])
 use_libappindicator=no
-if test "x$want_gtk" = "xyes" ; then
-    if test "x$have_gtk" = "xyes"; then
-      build_gtk=yes
-    else
-      AC_MSG_ERROR("GTK+ not found!")
+if test "x$with_gtk" = "xyes" ; then
+
+    if test "x$gtk_version" = "xnone" ; then
+        AC_MSG_ERROR("GTK+ not found!")
     fi
-fi
-AM_CONDITIONAL([BUILD_GTK],[test "x$build_gtk" = "xyes"])
+    if test "x$enable_nls" = "xno" ; then
+        AC_MSG_ERROR("The gtk client cannot be built without nls support.  Try adding either --enable-nls or --disable-gtk" )
+    fi
+
+    if test "x$gtk_version" = "x3"; then
+
+        PKG_CHECK_MODULES([GTK], [gtk+-3.0 >= $GTK3_MINIMUM
+                                  glib-2.0 >= $GLIB_MINIMUM
+                                  gio-2.0 >= $GIO_MINIMUM,
+                                  gmodule-2.0 >= $GLIB_MINIMUM
+                                  gthread-2.0 >= $GLIB_MINIMUM])
+        PKG_CHECK_MODULES([LIBAPPINDICATOR],
+                          [appindicator3-0.1 >= $LIBAPPINDICATOR_MINIMUM],
+                          [have_libappindicator=yes],
+                          [have_libappindicator=no])
+        AC_MSG_NOTICE([using GTK+ 3])
+    else
 
-if test "x$build_gtk" = "xyes"; then
+        PKG_CHECK_MODULES([GTK], [gtk+-2.0 >= $GTK2_MINIMUM
+                                  glib-2.0 >= $GLIB_MINIMUM
+                                  gio-2.0 >= $GIO_MINIMUM,
+                                  gmodule-2.0 >= $GLIB_MINIMUM
+                                  gthread-2.0 >= $GLIB_MINIMUM])
+        PKG_CHECK_MODULES([LIBAPPINDICATOR],
+                          [appindicator-0.1 >= $LIBAPPINDICATOR_MINIMUM],
+                          [have_libappindicator=yes],
+                          [have_libappindicator=no])
+        AC_MSG_NOTICE([using GTK+ 2])
 
-    PKG_CHECK_MODULES([LIBAPPINDICATOR],
-                      [appindicator-0.1 >= $LIBAPPINDICATOR_MINIMUM],
-                      [have_libappindicator=yes],
-                      [have_libappindicator=no])
+    fi
 
-    AC_ARG_ENABLE([libappindicator], 
-                  AS_HELP_STRING([--enable-libappindicator],[enable AppIndicator support]),, 
-                  [enable_libappindicator=yes])
-    use_libappindicator=no
     if test "x$have_libappindicator" = "xyes"; then
-        if test "x$enable_libappindicator" = "xyes" ; then
-            use_libappindicator=yes
-            AC_DEFINE([HAVE_LIBAPPINDICATOR], 1) 
-        else
-            LIBAPPINDICATOR_CFLAGS=
-            LIBAPPINDICATOR_LIBS=
-        fi
+        use_libappindicator=yes
+        AC_DEFINE([HAVE_LIBAPPINDICATOR], 1) 
+    else
+        LIBAPPINDICATOR_CFLAGS=
+        LIBAPPINDICATOR_LIBS=
     fi
 fi
 
-AC_ARG_ENABLE([nls], 
-              AS_HELP_STRING([--enable-nls],[enable native language support]),,
-              [enable_nls=yes])
-
-if test "x$build_gtk" = "xyes" -a  "x$enable_nls" = "xno" ; then
-    AC_MSG_ERROR("The gtk client cannot be built without nls support.  Try adding either --enable-nls or --disable-gtk" )
-fi
-
 dnl This section is only used for internationalization.
 dnl If you don't need translations and this section gives you trouble --
 dnl such as if you're building for a headless system --
@@ -512,7 +520,7 @@ Configuration:
 
    Build Command-Line client:                         ${build_cli}
 
-   Build GTK+ client:                                 ${build_gtk}
+   Build GTK+ client:                                 ${with_gtk}
       * libappindicator for an Ubuntu-style tray:     ${use_libappindicator}
 
    Build Daemon:                                      ${build_daemon}