Index: configure.ac =================================================================== RCS file: /home/freeciv/CVS/freeciv/configure.ac,v retrieving revision 1.94 diff -u -u -r1.94 configure.ac --- freeciv-cvs.orig/configure.ac 2 Feb 2005 06:55:06 -0000 1.94 +++ freeciv-cvs/configure.ac 8 Mar 2005 02:02:35 -0000 @@ -59,7 +59,7 @@ dnl no=do not compile client, yes=guess it, *=use this client or error AC_ARG_ENABLE(client, -[ --enable-client[=no/yes/xaw3d/xaw/gtk/gtk2/win32/sdl/ftwl] +[ --enable-client[=no/yes/xaw3d/xaw/gtk/gtk2/win32/sdl/ftwl/qpe] compile a client [default=yes] (if yes, guess type)], [case "${enableval}" in yes) client=yes ;; @@ -400,6 +400,9 @@ dnl Win32-specific overrides FC_WIN32_CLIENT + dnl QPE-specific overrides + FC_QPE_CLIENT + dnl Stub-specific overrides if test "$client" = stub ; then found_client=yes @@ -442,6 +445,7 @@ AM_CONDITIONAL(CLIENT_GUI_STUB, test "$gui_sources" = "gui-stub") AM_CONDITIONAL(CLIENT_GUI_WIN32, test "$gui_sources" = "gui-win32") AM_CONDITIONAL(CLIENT_GUI_FTWL, test "$gui_sources" = "gui-ftwl") +AM_CONDITIONAL(CLIENT_GUI_QPE, test "$gui_sources" = "gui-qpe") AM_CONDITIONAL(FTWL, test "$ftwl" != "no") AM_CONDITIONAL(FTWL_X11, test "$ftwl" = "x11") AM_CONDITIONAL(FTWL_SDL, test "$ftwl" = "sdl") @@ -678,6 +682,8 @@ client/gui-xaw/Makefile client/gui-win32/Makefile client/gui-ftwl/Makefile + client/gui-qpe/Makefile + client/gui-qpe/classes/Makefile client/gui-stub/Makefile server/Makefile server/generator/Makefile Index: client/Makefile.am =================================================================== RCS file: /home/freeciv/CVS/freeciv/client/Makefile.am,v retrieving revision 1.61 diff -u -u -r1.61 Makefile.am --- freeciv-cvs.orig/client/Makefile.am 24 Sep 2004 15:33:31 -0000 1.61 +++ freeciv-cvs/client/Makefile.am 8 Mar 2005 02:02:36 -0000 @@ -29,6 +29,9 @@ GUI_SUBDIR = gui-ftwl LIBFTWL = ../utility/ftwl/libftwl.a endif +if CLIENT_GUI_QPE +GUI_SUBDIR = gui-qpe +endif ALL_ESD_FILES=audio_esd.c audio_esd.h ALL_SDL_FILES=audio_sdl.c audio_sdl.h --- freeciv-cvs.orig/m4/qt.m4 1969-12-31 19:00:00.000000000 -0500 +++ freeciv-cvs/m4/qt.m4 2004-11-30 16:00:48.000000000 -0500 @@ -0,0 +1,261 @@ +dnl +dnl AC_PATH_QT([minimum-version], [action-if-found], [action-if-not-found]) +dnl +dnl Sets QT_CXXFLAGS and QT_LDADD +dnl Also sets $QTDIR and $QT_EMBEDDED +dnl Defines QT_EMBEDDED +dnl +AC_DEFUN([AC_PATH_QT_CHECKLIB_UNIX], +[ + if test -z "$qt_lib"; then + if test "`ls $QTDIR/lib/lib$1.* 2> /dev/null`"; then + qt_lib="-l$1" + qt_mt="$2" + qt_embedded="$3" + fi + fi +]) +AC_DEFUN([AC_PATH_QT_CHECKLIB_WIN], +[ + if test -z "$qt_lib"; then + if test -f "$QTDIR/lib/$1"; then + qt_lib="$1" + qt_static="$2" + qt_mt="$3" + fi + fi +]) +AC_DEFUN([AC_PATH_QT], +[ +AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([AC_PATH_X]) + +AC_ARG_WITH([qt-prefix], + [ --with-qt-prefix=DIR Qt installation directory], + [QTDIR="$withval"], + [QTDIR=yes]) + +AC_MSG_CHECKING([for Qt header files]) +if test "$QTDIR" = yes ; then + QTDIR=no + QT_SEARCH="/usr/lib/qt31 /usr/local/qt31 /usr/lib/qt3 /usr/local/qt3 /usr/lib/qt2 /usr/local/qt2 /usr/lib/qt /usr/local/qt /usr/share/qt31 /usr/share/qt3 /usr/share/qt2 /usr/share/qt /usr/share/qte31 /usr/share/qte3 /usr/share/qte2 /usr/share/qte" + for i in $QT_SEARCH; do + if test -f "$i/include/qglobal.h"; then + QTDIR="$i" + break + fi + done +fi +if test "$QTDIR" != no; then + if test ! -f "$QTDIR/include/qglobal.h"; then + QTDIR=no + fi +fi +if test "$QTDIR" = no; then + AC_MSG_RESULT([no]) + QTDIR= +fi +if test "$QTDIR"; then + AC_MSG_RESULT([yes]) + AC_MSG_CHECKING([Qt version]) + qt_version=`grep 'define.*QT_VERSION_STR\W' $QTDIR/include/qglobal.h | \ + sed 's/[[^0-9]]*//g'` + case "$qt_version" in + 2*) + qt_major="2" + ;; + 3*) + qt_major="3" + ;; + *) + qt_major= + ;; + esac + if test "$qt_major"; then + AC_MSG_RESULT([$qt_version ($qt_major)]) + if test "$1"; then + AC_MSG_CHECKING([for Qt - version >= $1]) + if test "$1" -le "$qt_version"; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + QTDIR= + fi + fi + else + AC_MSG_RESULT([unknown]) + QTDIR= + fi +fi +if test "$QTDIR"; then + AC_MSG_CHECKING([Qt libraries]) + case "${host}" in + *-cygwin) + dnl AC_DEFINE([WIN32]) + AC_PATH_QT_CHECKLIB_WIN([qt.lib], [yes], [no]) + AC_PATH_QT_CHECKLIB_WIN([qt-mt.lib], [yes], [yes]) + AC_PATH_QT_CHECKLIB_WIN([qt$qt_version.lib], [no], [no]) + AC_PATH_QT_CHECKLIB_WIN([qt-mt$qt_version.lib], [no], [yes]) + qt_embedded=no + ;; + *) + if test "`ls $QTDIR/lib/*.a 2> /dev/null`"; then + qt_static="yes" + elif test "`ls $QTDIR/lib/*.so 2> /dev/null`"; then + qt_static="no" + fi + AC_PATH_QT_CHECKLIB_UNIX([qt], [no], [no]) + AC_PATH_QT_CHECKLIB_UNIX([qt-mt], [yes], [no]) + AC_PATH_QT_CHECKLIB_UNIX([qte], [no], [yes]) + AC_PATH_QT_CHECKLIB_UNIX([qte-mt], [yes], [yes]) + ;; + esac + if test "$qt_static"; then + AC_MSG_RESULT([yes (static: $qt_static, multithreaded: $qt_mt, embedded: $qt_embedded]) + else + AC_MSG_RESULT([no]) + QTDIR= + fi +fi +QT_CXXFLAGS= +QT_LDADD= +QT_EMBEDDED= +if test "$QTDIR"; then + QT_CXXFLAGS="-I$QTDIR/include" + QT_LDADD="$qt_lib" + case "${host}" in + *irix*) + if test "$qt_static" = yes ; then + QT_LDADD="$QT_LDADD -L$x_libraries -lXext -lX11 -lm -lSM -lICE" + fi + ;; + *linux*) + if test "$qt_static" = yes -a "$qt_embedded" = no; then + QT_LDADD="$QT_LDADD -L$x_libraries -lXext -lX11 -lm -lSM -lICE -ldl -ljpeg" + fi + ;; + *osf*) + # Digital Unix (aka DGUX aka Tru64) + if test "$qt_static" = yes ; then + QT_LDADD="$QT_LDADD -L$x_libraries -lXext -lX11 -lm -lSM -lICE" + fi + ;; + *solaris*) + if test "$qt_static" = yes ; then + QT_LDADD="$QT_LDADD -L$x_libraries -lXext -lX11 -lm -lSM -lICE -lresolv -lsocket -lnsl" + fi + ;; + *win*) + QT_LDADD= + if test "$qt_major" = 3 ; then + if test "$qt_mt" = yes ; then + QT_LDADD="/nodefaultlib:libcmt" + else + QT_LDADD="/nodefaultlib:libc" + fi + fi + if test "$qt_static" = yes ; then + QT_LDADD="$QT_LDADD $qt_lib kernel32.lib user32.lib gdi32.lib comdlg32.lib ole32.lib shell32.lib imm32.lib advapi32.lib wsock32.lib winspool.lib winmm.lib netapi32.lib" + if test "$qt_major" = 3 ; then + QT_LDADD="$QT_LDADD qtmain.lib" + fi + else + QT_LDADD="$QT_LDADD $qt_lib" + if test "$qt_major" = 3 ; then + QT_CXXFLAGS="$QT_CXXFLAGS -DQT_DLL" + QT_LDADD="$QT_LDADD qtmain.lib qui.lib user32.lib netapi32.lib" + fi + fi + ;; + esac + if test "$qt_embedded" = yes ; then + AC_DEFINE([QT_EMBEDDED], 1, [Qt/Embedded]) + QT_EMBEDDED=yes + QT_CXXFLAGS="-DQWS $QT_CXXFLAGS" + fi + if test "$qt_mt" = yes ; then + QT_CXXFLAGS="$QT_CXXFLAGS -D_REENTRANT -DQT_THREAD_SUPPORT" + fi + QT_LDADD="-L$QTDIR/lib $QT_LDADD" + dnl if test x$QT_IS_STATIC = xyes ; then + dnl OLDLIBS="$LIBS" + dnl LIBS="$QT_LDADD" + dnl AC_CHECK_LIB(Xft, XftFontOpen, QT_LDADD="$QT_LDADD -lXft") + dnl LIBS="$LIBS" + dnl fi +fi +AC_SUBST(QT_CXXFLAGS) +AC_SUBST(QT_LDADD) +if test "$QTDIR"; then + ifelse([$2], , :, [$2]) +else + ifelse([$3], , :, [$3]) +fi +]) +dnl +dnl AC_PATH_QT_UIC([action-if-found], [action-if-not-found]) +dnl +AC_DEFUN([AC_PATH_QT_UIC], +[ + AC_MSG_CHECKING([Qt user interface compiler]) + AC_ARG_WITH([qt-uic], + [ --with-qt-uic=PROGRAM Qt user interface compiler pathname (optional)], + [UIC="$withval"], + [UIC=]) + if test "$UIC" = ""; then + if test -x "$QTDIR/bin/uic"; then + UIC="$QTDIR/bin/uic" + else + AC_CHECK_PROG([UIC], [uic], [uic]) + fi + else + if test ! -x "$UIC"; then + UIC= + fi + fi + if test "$UIC"; then + AC_MSG_RESULT([yes]) + ifelse([$1], , :, [$1]) + else + AC_MSG_RESULT([no]) + ifelse([$2], , :, [$2]) + fi + AC_SUBST([UIC]) +]) +dnl +dnl AC_PATH_QT_MOC([action-if-found], [action-if-not-found]) +dnl +AC_DEFUN([AC_PATH_QT_MOC], +[ + AC_MSG_CHECKING([Qt meta object compiler]) + AC_ARG_WITH([qt-moc], + [ --with-qt-moc=PROGRAM Qt meta object compiler pathname (optional)], + [MOC="$withval"], + [MOC=]) + if test "$MOC" = ""; then + if test -x "$QTDIR/bin/moc"; then + MOC="$QTDIR/bin/moc" + else + AC_CHECK_PROG([MOC], [moc], [moc]) + fi + else + if test ! -x "$MOC"; then + MOC= + fi + fi + if test "$MOC"; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + if test "$MOC"; then + ifelse([$1], , :, [$1]) + else + ifelse([$2], , :, [$2]) + fi + AC_SUBST([MOC]) +]) +dnl # qembed is the Qt data embedding utility. +dnl # It is located in $QTDIR/tools/qembed, and must be compiled and installed +dnl # manually, we'll let it slide if it isn't present +dnl AC_CHECK_PROG(QEMBED, qembed, qembed) --- freeciv-cvs.orig/m4/qpe.m4 1969-12-31 19:00:00.000000000 -0500 +++ freeciv-cvs/m4/qpe.m4 2004-11-30 16:05:22.000000000 -0500 @@ -0,0 +1,45 @@ +dnl +dnl AC_PATH_QPE([minimum-version], [action-if-found], [action-if-not-found]) +dnl +dnl Sets QPE_CXXFLAGS and QPE_LDADD +dnl Defines HAVE_QPE +dnl +AC_DEFUN([AC_PATH_QPE], +[ +AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([AC_PATH_X]) + +AC_ARG_WITH([qpe-prefix], + [ --with-qpe-prefix=DIR QPE installation directory], + [qpe_prefix="$withval"], + [qpe_prefix=yes]) + +AC_MSG_CHECKING([for QPE header files]) +if test "$qpe_prefix" = yes ; then + qpe_prefix=no + for DIR in /usr /usr/local; do + if test -f "$DIR/include/qpe/qpeapplication.h"; then + qpe_prefix="$DIR" + break + fi + done +fi +if test "$qpe_prefix" != no; then + if test ! -f "$qpe_prefix/include/qpe/qpeapplication.h"; then + qpe_prefix=no + fi +fi +QPE_CXXFLAGS= +QPE_LDADD= +if test "$qpe_prefix" = no; then + AC_MSG_RESULT([no]) + ifelse([$3], , :, [$3]) +else + AC_MSG_RESULT([yes]) + AC_DEFINE(HAVE_QPE, 1, [Qt Palmtop Environment]) + QPE_LDADD="-lqpe" + ifelse([$2], , :, [$2]) +fi +AC_SUBST(QPE_CXXFLAGS) +AC_SUBST(QPE_LDADD) +]) --- freeciv-cvs.orig/m4/qpe-client.m4 1969-12-31 19:00:00.000000000 -0500 +++ freeciv-cvs/m4/qpe-client.m4 2005-03-07 01:14:10.000000000 -0500 @@ -0,0 +1,39 @@ +# Try to configure the QPE client (gui-qpe) + +# FC_QPE_CLIENT +# Test for Qt libraries needed for gui-qpe + +AC_DEFUN([FC_QPE_CLIENT], +[ + AC_REQUIRE([AC_HEADER_STDBOOL]) + if test "$client" = qpe || test "$client" = yes ; then + AC_PATH_QT(200, + [ + AC_PATH_QT_UIC( + [ + AC_PATH_QT_MOC( + [ + if test "$ac_cv_header_stdbool_h" != yes; then + AC_MSG_WARN([Building the QPE client requires a C99-compliant ]) + else + client=qpe + CLIENT_CXXFLAGS="$QT_CXXFLAGS -fno-rtti -fno-short-enums" + CLIENT_LIBS="-lstdc++ $QT_LDADD" + if test "$QT_EMBEDDED"; then + AC_DEFINE(ALWAYS_ROOT, 1, + [QPE-specific setting - root]) + AC_PATH_QPE([], + [ + CLIENT_CXXFLAGS="$CLIENT_CXXFLAGS $QPE_CXXFLAGS" + CLIENT_LIBS="$CLIENT_LIBS $QPE_LDADD" + ], + [ + AC_MSG_WARN([Building a Qt/Embedded client without QPE is not recommended]) + ]) + fi + fi + ], [ FC_NO_CLIENT([qpe], [Couldn't find Qt moc]) ]) + ], [ FC_NO_CLIENT([qpe], [Couldn't find Qt uic]) ]) + ], [ FC_NO_CLIENT([qpe], [Qt libraries not found]) ]) + fi +])