Feature #1674 ยป 0008-Drop-autotools-support-for-gtk4x-client.patch
Makefile.am | ||
---|---|---|
m4/gettimeofday.m4 \
|
||
m4/gtk3.22-client.m4 \
|
||
m4/gtk4-client.m4 \
|
||
m4/gtk5-client.m4 \
|
||
m4/host-cpu-c-abi.m4 \
|
||
m4/iconv.m4 \
|
||
m4/intl.m4 \
|
bootstrap/Makefile.am | ||
---|---|---|
langstat_ruledit.txt \
|
||
org.freeciv.gtk322.desktop \
|
||
org.freeciv.gtk4.desktop \
|
||
org.freeciv.gtk4x.desktop \
|
||
org.freeciv.sdl2.desktop \
|
||
org.freeciv.sdl3.desktop \
|
||
org.freeciv.qt.desktop \
|
||
org.freeciv.server.desktop \
|
||
org.freeciv.gtk3.mp.desktop \
|
||
org.freeciv.gtk4.mp.desktop \
|
||
org.freeciv.gtk4x.mp.desktop \
|
||
org.freeciv.qt.mp.desktop \
|
||
org.freeciv.ruledit.desktop \
|
||
org.freeciv.gtk322.metainfo.xml.in \
|
||
org.freeciv.gtk4.metainfo.xml.in \
|
||
org.freeciv.gtk4x.metainfo.xml.in \
|
||
org.freeciv.sdl2.metainfo.xml.in \
|
||
org.freeciv.sdl3.metainfo.xml.in \
|
||
org.freeciv.qt.metainfo.xml.in \
|
||
org.freeciv.server.metainfo.xml.in \
|
||
org.freeciv.gtk3.mp.metainfo.xml.in \
|
||
org.freeciv.gtk4.mp.metainfo.xml.in \
|
||
org.freeciv.gtk4x.mp.metainfo.xml.in \
|
||
org.freeciv.qt.mp.metainfo.xml.in \
|
||
org.freeciv.ruledit.metainfo.xml.in \
|
||
config.rpath \
|
||
... | ... | |
desktopfile_DATA += org.freeciv.gtk4.desktop
|
||
endif
|
||
if CLIENT_GUI_GTK_5
|
||
metainfofile_DATA += org.freeciv.gtk4x.metainfo.xml
|
||
desktopfile_DATA += org.freeciv.gtk4x.desktop
|
||
endif
|
||
if CLIENT_GUI_QT
|
||
metainfofile_DATA += org.freeciv.qt.metainfo.xml
|
||
desktopfile_DATA += org.freeciv.qt.desktop
|
client/Makefile.am | ||
---|---|---|
GUI_SUBDIRS += gui-gtk-4.0
|
||
endif
|
||
if CLIENT_GUI_GTK_5
|
||
GUI_SUBDIRS += gui-gtk-5.0
|
||
endif
|
||
if CLIENT_GUI_QT
|
||
GUI_SUBDIRS += gui-qt
|
||
endif
|
||
... | ... | |
$(gui_gtk4_libs)
|
||
endif
|
||
if CLIENT_GUI_GTK_5
|
||
bin_PROGRAMS += freeciv-gtk4x
|
||
noinst_LTLIBRARIES += libfcgui-gtk5.la
|
||
libfcgui_gtk5_la_SOURCES = $(freeciv_client_src)
|
||
libfcgui_gtk5_la_LIBADD = gui-gtk-5.0/libgui-gtk5.la $(clientlibs)
|
||
freeciv_gtk4x_SOURCES = dummy.c
|
||
freeciv_gtk4x_LDFLAGS = $(gui_gtk4_ldflags)
|
||
freeciv_gtk4x_LDADD = \
|
||
libfcgui-gtk5.la $(SOUND_LIBS) gui-gtk-5.0/gui_main.lo \
|
||
$(top_builddir)/common/libfreeciv.la \
|
||
$(INTLLIBS) $(CLIENT_LIBS) $(CLIENTICON) \
|
||
$(TINYCTHR_LIBS) $(MAPIMG_WAND_LIBS) \
|
||
$(gui_gtk5_libs)
|
||
endif
|
||
if CLIENT_GUI_SDL2
|
||
bin_PROGRAMS += freeciv-sdl2
|
||
noinst_LTLIBRARIES += libfcgui-sdl2.la
|
configure.ac | ||
---|---|---|
done
|
||
AC_ARG_ENABLE([fcmp],
|
||
AS_HELP_STRING([--enable-fcmp=no/yes/gtk3/gtk4/gtk4x/qt/cli/all/auto], [build freeciv-modpack-program [auto]]),
|
||
AS_HELP_STRING([--enable-fcmp=no/yes/gtk3/gtk4/qt/cli/all/auto], [build freeciv-modpack-program [auto]]),
|
||
[fc_mp=${enableval}],
|
||
[fc_mp=auto])
|
||
fcmp_cli=no
|
||
fcmp_gtk3=no
|
||
fcmp_gtk4=no
|
||
fcmp_gtk5=no
|
||
fcmp_qt=no
|
||
fcmp_list=
|
||
... | ... | |
req_fcmp_gtk3=yes
|
||
elif test "x$mp" = "xgtk4" ; then
|
||
req_fcmp_gtk4=yes
|
||
elif test "x$mp" = "xgtk4x" ; then
|
||
req_fcmp_gtk5=yes
|
||
elif test "x$mp" = "xqt" ; then
|
||
req_fcmp_qt=yes
|
||
elif test "x$mp" = "xcli" ; then
|
||
... | ... | |
dnl all: Autodetect as many as possible.
|
||
dnl comma-separated-list: Detect these or abort.
|
||
AC_ARG_ENABLE([client],
|
||
AS_HELP_STRING([--enable-client=auto/all/gtk3.22/sdl2/qt/gtk4/gtk4x/stub],
|
||
AS_HELP_STRING([--enable-client=auto/all/gtk3.22/sdl2/qt/gtk4/stub],
|
||
[clients to compile [auto](list for multiple)]),
|
||
[clients=${enableval}],
|
||
[client=auto])
|
||
gui_gtk3_22=no
|
||
gui_gtk4=no
|
||
gui_gtk5=no
|
||
gui_sdl2=no
|
||
gui_qt=no
|
||
gui_stub=no
|
||
... | ... | |
gui_gtk3_22=yes
|
||
elif test "x$gui" = "xgtk4" ; then
|
||
gui_gtk4=yes
|
||
elif test "x$gui" = "xgtk4x" ; then
|
||
gui_gtk5=yes
|
||
elif test "x$gui" = "xgtk" ; then
|
||
AC_MSG_WARN([for requested client 'gtk' enabled gtk3.22-client, that has changed since earlier versions and will change again in the future])
|
||
gui_gtk3_22=yes
|
||
... | ... | |
dnl SDL2-specific overrides
|
||
FC_SDL2_CLIENT
|
||
dnl Gtk-5.0-specific overrides
|
||
FC_GTK5_CLIENT
|
||
dnl Stub-specific overrides
|
||
if test "x$gui_stub" = "xyes" || test "x$client" = "xall" ; then
|
||
gui_stub=yes
|
||
... | ... | |
if test "x$client" = "xall" ; then
|
||
if test "x$gui_gtk3_22" = "xyes" ||
|
||
test "x$gui_gtk4" = "xyes" ||
|
||
test "x$gui_gtk5" = "xyes" ||
|
||
test "x$gui_sdl2" = "xyes" ||
|
||
test "x$gui_qt" = "xyes" ||
|
||
test "x$gui_stub" = "xyes" ; then
|
||
... | ... | |
Maybe another --with-qtver value would help?])
|
||
fi
|
||
if test "x$req_fcmp_gtk5" = "xyes" ||
|
||
test "x$modinst" = "xall" || test "x$modinst" = "xauto" ; then
|
||
PKG_CHECK_MODULES([GTK5_MP], [gtk4 >= 4.14.0],
|
||
[
|
||
GTK5_MP_CFLAGS="$GTK5_MP_CFLAGS -DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_4_14"
|
||
GTK5_MP_CFLAGS="$GTK5_MP_CFLAGS -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_76"
|
||
PKG_CHECK_MODULES([GTHREAD_GTK5], [gthread-2.0],
|
||
[
|
||
fcmp_gtk5=yes
|
||
fcmp_list="$fcmp_list gtk4x"
|
||
mp_gtk5_cflags="$GTK5_MP_CFLAGS $GTHREAD_GTK5_CFLAGS"
|
||
mp_gtk5_libs="$GTK5_MP_LIBS $GTHREAD_GTK5_LIBS"
|
||
if test "x$MINGW" = "xyes"; then
|
||
dnl Required to compile gtk5 on Windows platform
|
||
mp_gtk5_cflags="$mp_gtk5_cflags -mms-bitfields"
|
||
mp_gtk5_ldflags="$mp_gtk5_ldflags $MWINDOWS_FLAG"
|
||
fi
|
||
if test "x$modinst" = "xauto" ; then
|
||
modinst=found
|
||
fi
|
||
], [fcmp_gtk5=no])], [fcmp_gtk5=no])
|
||
fi
|
||
if test "x$req_fcmp_gtk5" = "xyes" && test "x$fcmp_gtk5" != "xyes" ; then
|
||
AC_MSG_ERROR([Cannot build gtk4x-version of freeciv-modpack as requested])
|
||
fi
|
||
dnl Cli does not satisfy --enable-fcmp=auto as it's not an gui.
|
||
if test "x$req_fcmp_cli" = "xyes" || test "x$modinst" = "xall" ; then
|
||
fcmp_cli=yes
|
||
... | ... | |
test "x$modinst" != "xcli" &&
|
||
test "x$fcmp_gtk3" != "xyes" &&
|
||
test "x$fcmp_gtk4" != "xyes" &&
|
||
test "x$fcmp_gtk5" != "xyes" &&
|
||
test "x$fcmp_qt" != "xyes" ;then
|
||
AC_MSG_ERROR([Cannot build modpack installer with any gui])
|
||
fi
|
||
... | ... | |
dnl Hack to get a run-time icon -- not needed on Windows
|
||
mp_gtk3_cflags="$mp_gtk3_cflags -DMPICON_PATH=\"\\\"$datadir/freeciv/misc/mpicon.png\\\"\""
|
||
mp_gtk4_cflags="$mp_gtk4_cflags -DMPICON_PATH=\"\\\"$datadir/freeciv/misc/mpicon.png\\\"\""
|
||
mp_gtk5_cflags="$mp_gtk5_cflags -DMPICON_PATH=\"\\\"$datadir/freeciv/misc/mpicon.png\\\"\""
|
||
fi
|
||
if test "x$fcmp_list" = "x" ; then
|
||
... | ... | |
AM_CONDITIONAL([MODINST], [test "x$modinst" != "xno"])
|
||
AM_CONDITIONAL([MODINST_GTK3], [test "x$fcmp_gtk3" = "xyes"])
|
||
AM_CONDITIONAL([MODINST_GTK4], [test "x$fcmp_gtk4" = "xyes"])
|
||
AM_CONDITIONAL([MODINST_GTK5], [test "x$fcmp_gtk5" = "xyes"])
|
||
AM_CONDITIONAL([MODINST_QT], [test "x$fcmp_qt" = "xyes"])
|
||
AM_CONDITIONAL([MODINST_CLI], [test "x$fcmp_cli" = "xyes"])
|
||
... | ... | |
AC_SUBST([gui_gtk4_cflags])
|
||
AC_SUBST([gui_gtk4_libs])
|
||
AC_SUBST([gui_gtk4_ldflags])
|
||
AC_SUBST([gui_gtk5_cflags])
|
||
AC_SUBST([gui_gtk5_libs])
|
||
AC_SUBST([gui_gtk5_ldflags])
|
||
AC_SUBST([gui_sdl2_cflags])
|
||
AC_SUBST([gui_sdl2_libs])
|
||
AC_SUBST([gui_sdl2_ldflags])
|
||
... | ... | |
AC_SUBST([mp_gtk4_cflags])
|
||
AC_SUBST([mp_gtk4_libs])
|
||
AC_SUBST([mp_gtk4_ldflags])
|
||
AC_SUBST([mp_gtk5_cflags])
|
||
AC_SUBST([mp_gtk5_libs])
|
||
AC_SUBST([mp_gtk5_ldflags])
|
||
AC_SUBST([mp_qt_cppflags])
|
||
AC_SUBST([mp_qt_cxxflags])
|
||
AC_SUBST([mp_qt_libs])
|
||
... | ... | |
AM_CONDITIONAL(CLIENT_GUI_SDL2, test "x$gui_sdl2" = "xyes")
|
||
AM_CONDITIONAL(CLIENT_GUI_GTK_3_22, test "x$gui_gtk3_22" = "xyes")
|
||
AM_CONDITIONAL(CLIENT_GUI_GTK_4, test "x$gui_gtk4" = "xyes")
|
||
AM_CONDITIONAL(CLIENT_GUI_GTK_5, test "x$gui_gtk5" = "xyes")
|
||
AM_CONDITIONAL(CLIENT_GUI_QT, test "x$gui_qt" = "xyes")
|
||
AM_CONDITIONAL(CLIENT_GUI_STUB, test "x$gui_stub" = "xyes")
|
||
AM_CONDITIONAL(MINGW, test x"$MINGW" = "xyes")
|
||
... | ... | |
SDL2: $gui_sdl2
|
||
Stub: $gui_stub
|
||
In-development client frontends:
|
||
(these are not yet ready for general use)
|
||
Gtk-4.x: $gui_gtk5
|
||
== Server ==
|
||
Build freeciv server: $server
|
||
AI modules support: $enable_aimodules
|
data/themes/Makefile.am | ||
---|---|---|
if CLIENT_GUI_GTK_4
|
||
SUBDIRS += gtk4
|
||
else
|
||
if CLIENT_GUI_GTK_5
|
||
SUBDIRS += gtk4
|
||
endif
|
||
endif
|
||
if CLIENT_GUI_SDL2
|
m4/gtk5-client.m4 | ||
---|---|---|
# Try to configure the GTK-4.x client (gui-gtk-5.0)
|
||
# FC_GTK5_CLIENT
|
||
# Test for GTK-5.0 libraries needed for gui-gtk-4.x
|
||
AC_DEFUN([FC_GTK5_CLIENT],
|
||
[
|
||
if test "x$gui_gtk5" = "xyes" ||
|
||
test "x$client" = "xall" || test "x$client" = "xauto" ; then
|
||
PKG_CHECK_MODULES([GTK5], [gtk4 >= 4.14.0],
|
||
[
|
||
GTK5_CFLAGS="$GTK5_CFLAGS -DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_4_8"
|
||
GTK5_CFLAGS="$GTK5_CFLAGS -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_76"
|
||
gui_gtk5=yes
|
||
if test "x$client" = "xauto" ; then
|
||
client=yes
|
||
fi
|
||
gui_gtk5_cflags="$GTK5_CFLAGS"
|
||
gui_gtk5_libs="$GTK5_LIBS"
|
||
if test "x$MINGW" = "xyes"; then
|
||
dnl Required to compile gtk5 on Windows platform
|
||
gui_gtk5_cflags="$gui_gtk5_cflags -mms-bitfields"
|
||
gui_gtk5_ldflags="$gui_gtk5_ldflags $MWINDOWS_FLAG"
|
||
fi
|
||
],
|
||
[
|
||
FC_NO_CLIENT([gtk4x], [GTK-4.x libraries not found])
|
||
])
|
||
fi
|
||
])
|
tools/fcmp/Makefile.am | ||
---|---|---|
if MODINST_GTK4
|
||
bin_PROGRAMS += freeciv-mp-gtk4
|
||
endif
|
||
if MODINST_GTK5
|
||
bin_PROGRAMS += freeciv-mp-gtk4x
|
||
endif
|
||
if MODINST_QT
|
||
bin_PROGRAMS += freeciv-mp-qt
|
||
endif
|
||
... | ... | |
$(MPICON)
|
||
endif
|
||
if MODINST_GTK5
|
||
freeciv_mp_gtk4x_CPPFLAGS = $(common_cppflags) $(mp_gtk5_cflags)
|
||
freeciv_mp_gtk4x_SOURCES = mpgui_gtk5.c
|
||
freeciv_mp_gtk4x_LDFLAGS = $(mp_gtk5_ldflags)
|
||
freeciv_mp_gtk4x_LDADD = \
|
||
libfcmp.la \
|
||
$(top_builddir)/dependencies/cvercmp/libcvercmp.la \
|
||
$(top_builddir)/common/libfreeciv.la \
|
||
$(TINYCTHR_LIBS) $(MAPIMG_WAND_LIBS) \
|
||
$(mp_gtk5_libs) -lsqlite3 \
|
||
$(MPICON)
|
||
endif
|
||
if MODINST_QT
|
||
MOC_FILES = \
|
||
... | ... | |
$(mp_qt_libs) -lsqlite3 \
|
||
$(MPICON)
|
||
endif
|
||
EXTRA_DIST = mpgui_gtk5.c
|