configure.ac: default to GTK3, fall back to GTK2

the gtk3 port will be compiled if gtk3 is available

use --enable-gtk2 or --disable-gtk3 to compile the gtk2 port
This commit is contained in:
wdlkmpx 2021-01-20 21:30:37 +08:00
parent 26d4fb47c6
commit f59d31c5a4
1 changed files with 41 additions and 21 deletions

View File

@ -8,16 +8,13 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
m4_ifdef([AM_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
LT_INIT
AC_ISC_POSIX
AC_PROG_CC
AC_HEADER_DIRENT
AC_HEADER_STDC
AC_ARG_ENABLE(debug,
[ --enable-debug=[no/yes] Debugging information == no <--> optimization == yes],[],
enable_debug=no)
if [ ! test "x$enable_debug" != "xyes"]; then
if [ ! test "x$enable_debug" != xyes]; then
CFLAGS="-g -DDEBUG"
fi
@ -29,26 +26,46 @@ if [ ! test "x$enable_mtrace" != "xyes"]; then
CFLAGS="$CFLAGS -DMTRACE"
fi
#========================================================================
GTK3_CHECK="gtk+-3.0 >= 3.0.0"
GTK2_CHECK="gtk+-2.0 >= 2.14.0"
AC_ARG_ENABLE(gtk3,
AS_HELP_STRING([--enable-gtk3],[enable to use gtk-3.0 instead of gtk-2.0]),
[case "${enableval}" in
yes) enable_gtk3=yes ;;
no) enable_gtk3=no ;;
*) AC_MSG_ERROR([bad value "${enableval}" for --enable-gtk3, use "yes" (default) or "no".]) ;;
esac],[])
AS_HELP_STRING([--disable-gtk3],[build with GTK3 (Autodetect)]),[],
[enable_gtk3=check])
if test "x$enable_gtk3" = "xyes" ; then
gtk_modules="gtk+-3.0 >= 3.0.0"
else
gtk_modules="gtk+-2.0 >= 2.14.0"
CPPFLAGS="$CPPFLAGS -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_DEPRECATED -DGTK_DISABLE_SINGLE_INCLUDES"
fi
PKG_CHECK_MODULES(GTK, [$gtk_modules])
AC_SUBST(GTK_CFLAGS)
AC_SUBST(GTK_LIBS)
AC_ARG_ENABLE(gtk2,
AS_HELP_STRING([--enable-gtk2],[build with GTK2 (Autodetect)]),[],
[enable_gtk2=check])
PREFIX=${prefix}
AC_SUBST(PREFIX)
AS_IF([test "x$enable_gtk3" = xyes],
[enable_gtk2=no])
AS_IF([test "x$enable_gtk2" = xyes],
[enable_gtk3=no])
AS_IF([test "x$enable_gtk3" = xcheck],
[PKG_CHECK_MODULES([GTK],[$GTK3_CHECK],
[enable_gtk3=yes],[enable_gtk3=no])])
AS_IF([test "x$enable_gtk3" = xyes],
[
gtk_modules="$GTK3_CHECK"
gtk_version="gtk+-3.0"
errmsg="GTK3 is not installed, use --enable-gtk2 to build with GTK2"
],
[
gtk_modules="$GTK2_CHECK"
gtk_version="gtk+-2.0"
errmsg="GTK2 is not installed, use --enable-gtk3 to build with GTK3"
CPPFLAGS="$CPPFLAGS -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_DEPRECATED -DGTK_DISABLE_SINGLE_INCLUDES"
])
PKG_CHECK_MODULES([GTK], [$gtk_modules], [], [AC_ERROR([$errmsg])])
AC_SUBST([GTK_CFLAGS])
AC_SUBST([GTK_LIBS])
#========================================================================
case "$CC" in
gcc*) CPPFLAGS="$CPPFLAGS -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers" ;;
@ -61,3 +78,6 @@ data/Makefile
src/Makefile
])
echo
echo "GTK Version: $(pkg-config --modversion $gtk_version)"
echo