Author: cazfi Date: Sat May 14 08:13:05 2016 New Revision: 32696 URL: http://svn.gna.org/viewcvs/freeciv?rev=32696&view=rev Log: Allow one to select gtk3x gui also to modpack installer.
See patch #7220 Modified: trunk/configure.ac trunk/tools/Makefile.am trunk/tools/mpgui_gtk3.c Modified: trunk/configure.ac URL: http://svn.gna.org/viewcvs/freeciv/trunk/configure.ac?rev=32696&r1=32695&r2=32696&view=diff ============================================================================== --- trunk/configure.ac (original) +++ trunk/configure.ac Sat May 14 08:13:05 2016 @@ -995,13 +995,14 @@ dnl freeciv-modpack checks AC_ARG_ENABLE([fcmp], - AS_HELP_STRING([--enable-fcmp=no/yes/gtk2/gtk3/qt/cli/all/auto], [build freeciv-modpack-program [auto]]), + AS_HELP_STRING([--enable-fcmp=no/yes/gtk2/gtk3/gtk3x/qt/cli/all/auto], [build freeciv-modpack-program [auto]]), [fc_mp=${enableval}], [fc_mp=auto]) fcmp_cli=no fcmp_gtk2=no fcmp_gtk3=no +fcmp_gtk3x=no fcmp_qt=no fcmp_list= @@ -1027,6 +1028,8 @@ test "x$mp" = "xgtk30" || test "x$mp" = "xgtk-3.0" ; then req_fcmp_gtk3=yes + elif test "x$mp" = "xgtk3x" ; then + req_fcmp_gtk3x=yes elif test "x$mp" = "xqt" ; then req_fcmp_qt=yes elif test "x$mp" = "xcli" ; then @@ -1065,6 +1068,34 @@ AC_MSG_ERROR([Cannot build gtk3-version of freeciv-modpack as requested]) fi +if test "x$req_fcmp_gtk3x" = "xyes" || + test "x$modinst" = "xall" || test "x$modinst" = "xauto" ; then + PKG_CHECK_MODULES([GTK3X_MP], [gtk+-3.0 >= 3.18.0], +[ + GTK3X_MP_CFLAGS="$GTK3X_MP_CFLAGS -DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_3_18" + GTK3X_MP_CFLAGS="$GTK3X_MP_CFLAGS -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_46" + PKG_CHECK_MODULES([GTHREAD_GTK3X], [gthread-2.0], +[ + fcmp_gtk3x=yes + fcmp_list="$fcmp_list gtk3x" + mp_gtk3x_cflags="$GTK3X_MP_CFLAGS $GHTREAD_GTK3X_CFLAGS" + mp_gtk3x_libs="$GTK3X_MP_LIBS $GTHREAD_GTK3X_LIBS" + if test "x$MINGW32" = "xyes"; then + dnl Required to compile gtk3 on Windows platform + mp_gtk3x_cflags="$mp_gtk3x_cflags -mms-bitfields" + mp_gtk3x_ldflags="$mp_gtk3x_ldflags -mwindows" + fi + + if test "x$modinst" = "xauto" ; then + modinst=found + fi +], [])], []) +fi + +if test "x$req_fcmp_gtk3x" = "xyes" && test "x$fcmp_gtk3x" != "xyes" ; then + AC_MSG_ERROR([Cannot build gtk3x-version of freeciv-modpack as requested]) +fi + if test "x$req_fcmp_gtk2" = "xyes" || test "x$modinst" = "xall" ; then AM_PATH_GTK_2_0([2.12.0], @@ -1127,6 +1158,7 @@ test "x$modinst" != "xno" && test "x$modinst" != "xcli" && test "x$fcmp_gtk3" != "xyes" && + test "x$fcmp_gtk3x" != "xyes" && test "x$fcmp_gtk2" != "xyes" && test "x$fcmp_qt" != "xyes" ;then AC_MSG_ERROR([Cannot build modpack installer with any gui]) @@ -1136,6 +1168,7 @@ dnl Hack to get a run-time icon -- not needed on Windows mp_gtk2_cflags="$mp_gtk2_cflags -DMPICON_PATH=\"\\\"$datadir/freeciv/misc/mpicon.png\\\"\"" mp_gtk3_cflags="$mp_gtk3_cflags -DMPICON_PATH=\"\\\"$datadir/freeciv/misc/mpicon.png\\\"\"" + mp_gtk3x_cflags="$mp_gtk3x_cflags -DMPICON_PATH=\"\\\"$datadir/freeciv/misc/mpicon.png\\\"\"" fi if test "x$fcmp_list" = "x" ; then @@ -1144,6 +1177,7 @@ AM_CONDITIONAL([MODINST], [test "x$modinst" != "xno"]) AM_CONDITIONAL([MODINST_GTK3], [test "x$fcmp_gtk3" = "xyes"]) +AM_CONDITIONAL([MODINST_GTK3X], [test "x$fcmp_gtk3x" = "xyes"]) AM_CONDITIONAL([MODINST_GTK2], [test "x$fcmp_gtk2" = "xyes"]) AM_CONDITIONAL([MODINST_QT], [test "x$fcmp_qt" = "xyes"]) AM_CONDITIONAL([MODINST_CLI], [test "x$fcmp_cli" = "xyes"]) @@ -1211,6 +1245,9 @@ AC_SUBST([mp_gtk3_cflags]) AC_SUBST([mp_gtk3_libs]) AC_SUBST([mp_gtk3_ldflags]) +AC_SUBST([mp_gtk3x_cflags]) +AC_SUBST([mp_gtk3x_libs]) +AC_SUBST([mp_gtk3x_ldflags]) AC_SUBST([mp_qt_cppflags]) AC_SUBST([mp_qt_cxxflags]) AC_SUBST([mp_qt_libs]) Modified: trunk/tools/Makefile.am URL: http://svn.gna.org/viewcvs/freeciv/trunk/tools/Makefile.am?rev=32696&r1=32695&r2=32696&view=diff ============================================================================== --- trunk/tools/Makefile.am (original) +++ trunk/tools/Makefile.am Sat May 14 08:13:05 2016 @@ -28,6 +28,9 @@ endif if MODINST_GTK3 bin_PROGRAMS += freeciv-mp-gtk3 +endif +if MODINST_GTK3X +bin_PROGRAMS += freeciv-mp-gtk3x endif if MODINST_QT bin_PROGRAMS += freeciv-mp-qt @@ -164,6 +167,28 @@ $(MPICON) endif +if MODINST_GTK3X +freeciv_mp_gtk3x_CPPFLAGS = $(common_cppflags) $(mp_gtk3x_cflags) -DGTK3XMP + +# For the time being gtk3 gui sources are ok in respect to gtk3x +# requirements - there's no deprecated functions used. +# The only difference is in the name the binary prints out - that's what +# -DGTK3XMP in the freeciv_mp_gtk3x_CPPFLAGS is for. +# Instead of maintaining two files, use the same one until there +# comes real reason to make them differ. +freeciv_mp_gtk3x_SOURCES = mpgui_gtk3.c + +freeciv_mp_gtk3x_LDFLAGS = $(mp_gtk3x_ldflags) + +freeciv_mp_gtk3x_LDADD = \ + libfcmp.la \ + $(top_builddir)/dependencies/cvercmp/libcvercmp.la \ + $(top_builddir)/common/libfreeciv.la \ + $(TINYCTHR_LIBS) $(MAPIMG_WAND_LIBS) \ + $(mp_gtk3x_libs) \ + $(MPICON) +endif + if MODINST_QT MOC_FILES = \ Modified: trunk/tools/mpgui_gtk3.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/tools/mpgui_gtk3.c?rev=32696&r1=32695&r2=32696&view=diff ============================================================================== --- trunk/tools/mpgui_gtk3.c (original) +++ trunk/tools/mpgui_gtk3.c Sat May 14 08:13:05 2016 @@ -1,4 +1,4 @@ -/********************************************************************** +/*********************************************************************** Freeciv - Copyright (C) 1996 - A Kjeldberg, L Gregersen, P Unold This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -602,19 +602,25 @@ gtk_widget_realize(toplevel); gtk_widget_set_name(toplevel, "Freeciv-modpack"); +#ifndef GTK3XMP gtk_window_set_title(GTK_WINDOW(toplevel), _("Freeciv modpack installer (gtk3)")); +#else /* GTK3XMP */ + gtk_window_set_title(GTK_WINDOW(toplevel), + _("Freeciv modpack installer (gtk3x)")); +#endif /* GTK3XMP */ /* Keep the icon of the executable on Windows */ -#ifndef WIN32_NATIVE +#ifndef FREECIV_MSWINDOWS { /* Unlike main client, this only works if installed. Ignore any * errors loading the icon. */ GError *err; + (void) gtk_window_set_icon_from_file(GTK_WINDOW(toplevel), MPICON_PATH, &err); } -#endif /* WIN32_NATIVE */ +#endif /* FREECIV_MSWINDOWS */ g_signal_connect(toplevel, "delete_event", G_CALLBACK(quit_dialog_callback), NULL); _______________________________________________ Freeciv-commits mailing list Freeciv-commits@gna.org https://mail.gna.org/listinfo/freeciv-commits