+bin_PROGRAMS = xboard
+
### if we are compiling with ZIPPY we need some extra source files
if ZIPPY
ZPY =
endif
-bin_PROGRAMS = xboard
-xboard_SOURCES = backend.c backend.h backendz.h \
+### define sources for the front-end and backend
+
+GTKsources = xboard.c xevalgraph.c xgamelist.c \
+ xhistory.c xoptions.c xboard.h \
+ xengineoutput.c xevalgraph.h xgamelist.h \
+ xhistory.h
+
+Xsources = xaw/xboard.c xaw/xboard.h \
+ xaw/xedittags.c xaw/xedittags.h \
+ xaw/xengineoutput.c \
+ xaw/xevalgraph.c xaw/xevalgraph.h \
+ xaw/xgamelist.c xaw/xgamelist.h \
+ xaw/xhistory.c xaw/xhistory.h \
+ xaw/xoptions.c
+
+
+backendsources = backend.c backend.h backendz.h \
book.c \
childio.c childio.h \
common.h \
parser.c parser.h \
pgntags.c \
uci.c \
- xaw/xboard.c xaw/xboard.h args.h menus.c menus.h \
+ args.h \
+ board.c board.h \
draw.c draw.h \
+ dialogs.c dialogs.h \
+ engineoutput.c nengineoutput.c engineoutput.h \
+ evalgraph.c evalgraph.h \
+ history.c \
+ menus.c menus.h \
usounds.c usystem.c usystem.h \
- board.c board.h \
- xaw/xedittags.c xaw/xedittags.h \
- engineoutput.c engineoutput.h \
- nengineoutput.c xaw/xengineoutput.c \
- evalgraph.c evalgraph.h xaw/xevalgraph.c xaw/xevalgraph.h\
- xaw/xgamelist.c xaw/xgamelist.h\
- history.c xaw/xhistory.c xaw/xhistory.h \
- xaw/xoptions.c dialogs.c dialogs.h \
$(ZPY)
+
+### combine sources depending on front-end
+
+if withGTK
+ xboard_SOURCES = $(backendsources) $(GTKsources)
+endif
+if withXaw
+ xboard_SOURCES = $(backendsources) $(Xsources)
+ headers = -I xaw
+endif
+
+###
+
SUBDIRS = po
-xboard_LDADD = -lm @XAW_LIBS@ @X_LIBS@ @LIBINTL@ @CAIRO_LIBS@
-EXTRA_DIST = pixmaps shogi sounds winboard bitmaps\
+xboard_LDADD = -lm @X_LIBS@ @LIBINTL@ @FRONTEND_LIBS@ @CAIRO_LIBS@
+
+EXTRA_DIST = pixmaps shogi png sounds winboard \
xboard.texi gpl.texinfo texi2man texinfo.tex xboard.man xboard.desktop \
xboard-fen-viewer.desktop xboard-pgn-viewer.desktop xboard-tourney.desktop xboard.xml \
COPYRIGHT FAQ.html engine-intf.html ics-parsing.txt readme.htm zippy.README \
DISTCLEANFILES = stamp-h
-AM_CPPFLAGS=-DINFODIR='"$(infodir)"' @CAIRO_CFLAGS@ @X_CFLAGS@ -DSYSCONFDIR='"$(sysconfdir)"' \
- -DLOCALEDIR='"$(localedir)"' -DSVGDIR='"$(svgdir)"' -I xaw
+AM_CPPFLAGS=-DINFODIR='"$(infodir)"' @CAIRO_CFLAGS@ @FRONTEND_CFLAGS@ -DSYSCONFDIR='"$(sysconfdir)"' \
+ -DLOCALEDIR='"$(localedir)"' -DSVGDIR='"$(svgdir)"' $(headers)
ACLOCAL_AMFLAGS = -I m4
sysconf_DATA = xboard.conf
-
### icon files
icondir = $(datadir)/icons/hicolor/48x48/apps
### directory and files for pngs
pngdir = $(datadir)/games/xboard/themes/textures
-dist_png_DATA = png/hatch.png png/wood_d.png png/wood_l.png
+dist_png_DATA = png/hatch.png png/wood_d.png png/wood_l.png png/xqboard.png
### directory and files for sound files
dnl| the standard version of xboard.
dnl| define second argument as VERSION.PATCHLEVEL. e.g. 4.4.0j
-AC_INIT([xboard],[master-20121021],[bug-xboard@gnu.org])
+AC_INIT([xboard],[master-20120930],[bug-xboard@gnu.org])
dnl| need this to be able to compile some files in a subdir (filebrowser)
AM_INIT_AUTOMAKE([subdir-objects])
AC_MSG_RESULT(no)
CFLAGS="$SAVE_CFLAGS")
+dnl | check for cairo and librsvg
-dnl | check for X-libraries
-AC_PATH_XTRA
-if test -n "$no_x" ; then
- echo $PACKAGE requires the X Window System header files and libraries!
- echo They were not found on your system. See FAQ topic C.2.
- echo configure failed
- exit 1
-fi
-
-save_cflags="$CFLAGS"
-save_cppflags="$CPPFLAGS"
-CFLAGS="$CFLAGS $X_CFLAGS"
-CPPFLAGS="$CPPFLAGS $X_CFLAGS"
-AC_CHECK_HEADER(X11/Intrinsic.h,xt="yes",xt="no")
-CFLAGS="$save_cflags"
-CPPFLAGS="$save_cppflags"
+PKG_CHECK_MODULES([CAIRO], [ cairo >= 1.2.0 librsvg-2.0 >= 2.14.0 ])
+AC_SUBST(CAIRO_CFLAGS)
+AC_SUBST(CAIRO_LIBS)
-if test "$xt" = "no" ; then
- echo Xt headers not found
- exit 1
-fi
+dnl | check which front end to use
+dnl | first check for gtk
+dnl | then for Xaw3d
+dnl | and then for Xaw
+FRONTEND_CFLAGS=""
+FRONTEND_LIBS=""
-dnl | test if user wants ot use Xaw3d or Xaw
+AC_ARG_WITH([gtk],
+ [AS_HELP_STRING([--with-gtk],[use GTK front-end (experimental)])],
+ [with_GTK=yes],
+ [with_GTK=no])
-dnl | add configure option for Xaw3d
AC_ARG_WITH([Xaw3d],
- [AS_HELP_STRING([--with-Xaw3d],[use Xaw3d instead of Xaw])],
- [],
+ [AS_HELP_STRING([--with-Xaw3d],[use Xaw3d front-end (not fully supported anymore)])],
+ [with_Xaw3d=yes],
[with_Xaw3d=no])
+AC_ARG_WITH([Xaw],
+ [AS_HELP_STRING([--with-Xaw],[use Xaw front-end (default)])],
+ [with_Xaw=yes],
+ [with_Xaw=no])
+
+dnl | make results available in Makefile.am
+AM_CONDITIONAL([withGTK], [test x"$with_GTK" = x"yes"])
+AM_CONDITIONAL([withXaw], [test x"$with_Xaw3d" = x"yes"])
+AM_CONDITIONAL([withXaw], [test x"$with_Xaw" = x"yes"])
+
+dnl | check for libraries
+if test x"$with_GTK" = x"yes" ; then
+ PKG_CHECK_MODULES([GTK], [ gtk+-2.0 >= 2.16.0 gmodule-2.0 ])
+ FRONTEND_CFLAGS=$GTK_CFLAGS
+ FRONTEND_LIBS=$GTK_LIBS
+fi
+
+if test x"$with_GTK" = x"no" ; then
+
+dnl | general check for Xaw and Xaw3d
+ AC_PATH_XTRA
+ if test -n "$no_x" ; then
+ AC_MSG_ERROR([ " $PACKAGE requires the X Window System header files and libraries!
+ They were not found on your system. See FAQ topic C.2.
+ configure failed"])
+ fi
+
+ save_cflags="$CFLAGS"
+ save_cppflags="$CPPFLAGS"
+ CFLAGS="$CFLAGS $X_CFLAGS"
+ CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+ AC_CHECK_HEADER([X11/Intrinsic.h],[xt="yes"],[xt="no"])
+ CFLAGS="$save_cflags"
+ CPPFLAGS="$save_cppflags"
+
+ if test "$xt" = "no" ; then
+ AC_MSG_ERROR([Xt headers not found. Please install the X11 packages.])
+ fi
+
dnl | check availability of Xaw3d
-XAW_LIBS=
-AS_IF([test x"$with_Xaw3d" != x"no"],
- [AC_CHECK_LIB([Xaw3d],
+ FRONTEND_LIBS=
+ AS_IF([test x"$with_Xaw3d" != x"no"],
+ [AC_CHECK_LIB([Xaw3d],
[XawTextReplace],
- [AC_SUBST([XAW_LIBS],["-lXaw3d"])
- AC_DEFINE([USE_XAW3D], [1],
- [Define if you want to use Xaw3d])],
+ [ FRONTEND_LIBS="-lXaw3d"
+ AC_DEFINE([USE_XAW3D], [1], [Define if you want to use Xaw3d])],
[AC_MSG_ERROR([--with-Xaw3d was given, but test for Xaw3d failed. Make sure that you have Xaw3d installed, else you might want to try the configure option --without-Xaw3d])],
[-lXaw])])
-dnl | no Xaw3d, check for Xaw
-if test x"$with_Xaw3d" = x"no" ; then
- save_cflags="$CFLAGS"
- save_cppflags="$CPPFLAGS"
- CFLAGS="$CFLAGS $X_CFLAGS"
- CPPFLAGS="$CPPFLAGS $X_CFLAGS"
- AC_CHECK_HEADER(X11/Xaw/Dialog.h,xaw_headers="yes", xaw_headers="no")
- CFLAGS="$save_cflags"
- CPPFLAGS="$save_cppflags"
- if test x"$xaw_headers" = x"no" ; then
- AC_MSG_ERROR([Xaw headers not found. Please install the Xaw package and headers.])
- fi
- XAW_LIBS="-lXaw"
-fi
-AC_SUBST(XAW_LIBS)
-dnl | end Xaw/Xaw3d test
+dnl | no Xaw3d, check for Xaw
+ if test x"$with_Xaw3d" = x"no" ; then
+ save_cflags="$CFLAGS"
+ save_cppflags="$CPPFLAGS"
+ CFLAGS="$CFLAGS $X_CFLAGS"
+ CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+ AC_CHECK_HEADER([X11/Xaw/Dialog.h],[xaw_headers="yes"], [xaw_headers="no"])
+ CFLAGS="$save_cflags"
+ CPPFLAGS="$save_cppflags"
+
+ if test x"$xaw_headers" = x"no" ; then
+ AC_MSG_ERROR([Xaw headers not found. Please install the Xaw package and headers.])
+ fi
+
+ FRONTEND_LIBS="-lXaw"
+ fi
-dnl | check for cairo and librsvg
-CAIRO_REQUIRED=1.2.0
-LIBRSVG_REQUIRED=2.14.0
+fi
+AC_SUBST(FRONTEND_CFLAGS)
+AC_SUBST(FRONTEND_LIBS)
-PKG_CHECK_MODULES(CAIRO, cairo >= $CAIRO_REQUIRED librsvg-2.0 >= $LIBRSVG_REQUIRED)
-AC_SUBST(CAIRO_CFLAGS)
-AC_SUBST(CAIRO_LIBS)
+dnl | end Front-end check
AC_CANONICAL_HOST
echo ""
echo " NLS support: $USE_NLS"
echo ""
+echo " GTK: $with_GTK"
echo " Xaw3d: $with_Xaw3d"
+echo " Xaw: $with_Xaw"
echo ""
echo " xpm: $enable_xpm"
echo " ptys: $enable_ptys"