1dnl checks for the GTK version to build against (2 or 3) 2dnl defines GP_GTK_PACKAGE (e.g. "gtk+-2.0"), GP_GTK_VERSION (e.g. "2.24") and 3dnl GP_GTK_VERSION_MAJOR (e.g. "2"); and defines the GP_GTK3 AM conditional 4AC_DEFUN([GP_CHECK_GTK_VERSION], 5[ 6 AC_REQUIRE([AC_PROG_AWK]) 7 AC_REQUIRE([AC_PROG_SED]) 8 AC_REQUIRE([PKG_PROG_PKG_CONFIG]) 9 10 GP_GEANY_PKG_CONFIG_PATH_PUSH 11 12 _gtk_req=$(${PKG_CONFIG} --print-requires geany | ${AWK} '/^gtk\+-/{print}') 13 GP_GTK_PACKAGE=$(echo ${_gtk_req} | ${SED} 's/ *[[><=]].*$//') 14 GP_GTK_VERSION=$(echo ${_gtk_req} | ${SED} 's/^.*[[><=]] *//') 15 GP_GTK_VERSION_MAJOR=$(echo ${GP_GTK_VERSION} | cut -d. -f1) 16 AC_SUBST([GP_GTK_PACKAGE]) 17 AC_SUBST([GP_GTK_VERSION]) 18 AC_SUBST([GP_GTK_VERSION_MAJOR]) 19 20 AM_CONDITIONAL([GP_GTK3], [test "x$GP_GTK_VERSION_MAJOR" = x3]) 21 22 GP_GEANY_PKG_CONFIG_PATH_POP 23]) 24 25dnl executes $1 if GTK3 is used, and $2 otherwise 26AC_DEFUN([GP_CHECK_GTK3], 27[ 28 AC_REQUIRE([GP_CHECK_GTK_VERSION]) 29 AS_IF([test ${GP_GTK_VERSION_MAJOR} = 3],[$1],[$2]) 30]) 31 32dnl GP_CHECK_PLUGIN_GTKN_ONLY pluginname gtkversion 33AC_DEFUN([GP_CHECK_PLUGIN_GTKN_ONLY], 34[ 35 AC_REQUIRE([GP_CHECK_GTK_VERSION]) 36 37 AS_IF([test "$m4_tolower(AS_TR_SH(enable_$1))" = no],[], 38 [AC_MSG_CHECKING([whether the GTK version in use is compatible with plugin $1]) 39 AS_IF([test ${GP_GTK_VERSION_MAJOR} = $2], 40 [AC_MSG_RESULT([yes])], 41 [AC_MSG_RESULT([no]) 42 AS_IF([test "$m4_tolower(AS_TR_SH(enable_$1))" = yes], 43 [AC_MSG_ERROR([$1 is not compatible with the GTK version in use])], 44 [test "$m4_tolower(AS_TR_SH(enable_$1))" = auto], 45 [m4_tolower(AS_TR_SH(enable_$1))=no])])]) 46]) 47 48dnl GP_CHECK_PLUGIN_GTK2_ONLY pluginname 49AC_DEFUN([GP_CHECK_PLUGIN_GTK2_ONLY], 50[ 51 GP_CHECK_PLUGIN_GTKN_ONLY([$1], [2]) 52]) 53 54dnl GP_CHECK_PLUGIN_GTK3_ONLY pluginname 55AC_DEFUN([GP_CHECK_PLUGIN_GTK3_ONLY], 56[ 57 GP_CHECK_PLUGIN_GTKN_ONLY([$1], [3]) 58]) 59